:root {
    --navy: #12283f;
    --navy-2: #193a5a;
    --blue: #1f65a8;
    --blue-soft: #edf5ff;
    --green: #1d7b5b;
    --green-soft: #eaf7f2;
    --amber: #a86800;
    --amber-soft: #fff5df;
    --red: #b64848;
    --bg: #f4f7fa;
    --surface: #ffffff;
    --text: #182331;
    --muted: #6d7b8c;
    --border: #dde5ed;
    --shadow: 0 8px 30px rgba(18, 40, 63, .07);
    --radius: 16px;
}

/* SaaS multitenant V8 */
.login-link{display:block;margin-top:12px;text-align:center;color:var(--blue,#155ca2);font-weight:700;text-decoration:none}
.standalone-admin{width:min(1440px,calc(100% - 32px));margin:24px auto;display:grid;gap:16px}
.standalone-admin>.results-toolbar{background:#fff;border:1px solid #dbe4ec;border-radius:16px;padding:18px 22px}
.standalone-admin>.results-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.saas-company{padding:20px}.saas-company>header,.permission-card>header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.saas-inline-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:12px;align-items:end;margin:18px 0;padding:16px;background:#f6f9fc;border-radius:12px}
.saas-inline-form label,.permission-card label{display:grid;gap:6px;font-size:12px;font-weight:700}
.saas-inline-form input,.saas-inline-form select,.permission-card select{min-height:40px;border:1px solid #cbd8e5;border-radius:8px;padding:8px;background:#fff}
.permission-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;margin-top:16px}
.permission-card{border:1px solid #dbe4ec;border-radius:12px;padding:16px;display:grid;gap:14px}.permission-card small{display:block;color:#63758a;margin-top:3px}
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-grid label{display:flex;align-items:flex-start;gap:8px;font-weight:500}.permission-grid input{margin-top:2px}
.audit-panel{overflow:hidden}.danger-zone{border-color:#efb7b7}.btn-danger{background:#a51f2d!important;color:#fff!important;border-color:#a51f2d!important}
@media(max-width:800px){.saas-inline-form{grid-template-columns:1fr 1fr}.permission-users{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    margin: 0;
    background: var(--bg);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
a { color: inherit; }
.hidden { display: none !important; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0,1fr); }
.sidebar {
    position: sticky; top: 0; height: 100vh; align-self: start;
    background: var(--navy); color: white; padding: 26px 18px;
    display: flex; flex-direction: column; z-index: 20;
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 26px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-mark { width: 40px; height: 40px; border-radius: 12px; display:grid; place-items:center; font-weight:800; font-size:22px; background:white; color:var(--navy); }
.brand strong { display:block; letter-spacing:.06em; font-size:16px; }
.brand span { display:block; margin-top:2px; color:#b8c8d8; font-size:12px; }
.side-nav { padding: 24px 0; display:flex; flex-direction:column; gap:6px; }
.side-nav a { text-decoration:none; color:#c3d0dd; padding:11px 12px; border-radius:10px; font-size:14px; display:flex; align-items:center; gap:11px; }
.side-nav a span { width:20px; text-align:center; font-size:17px; }
.side-nav a:hover, .side-nav a.active { background:rgba(255,255,255,.1); color:white; }
.sidebar-status { margin-top:auto; display:flex; align-items:flex-start; gap:10px; padding:14px 10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:12px; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#7f8c99; margin-top:5px; box-shadow:0 0 0 3px rgba(255,255,255,.06); flex:0 0 auto; }
.status-dot.ok { background:#43c58d; } .status-dot.warning { background:#f2b84b; }
.sidebar-status small, .sidebar-status span { display:block; color:#aebfce; font-size:11px; line-height:1.4; }
.sidebar-status strong { display:block; font-size:12px; margin:2px 0; }

.app-content { min-width:0; }
.modern-topbar { min-height:88px; background:rgba(255,255,255,.93); border-bottom:1px solid var(--border); padding:16px 34px; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:15; backdrop-filter:blur(12px); }
.modern-topbar h1 { margin:2px 0 0; font-size:20px; letter-spacing:-.02em; }
.eyebrow { margin:0; color:var(--blue); font-weight:800; font-size:10px; letter-spacing:.13em; }
.user-box { display:flex; align-items:center; gap:10px; font-size:12px; }
.user-box strong { display:block; font-size:13px; }
.user-box a { color:var(--muted); text-decoration:none; font-size:11px; }
.user-avatar { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; color:white; background:var(--navy-2); font-weight:700; }

main { max-width: 1540px; margin: 0 auto; padding: 28px 34px 90px; }
.panel { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); }
.panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.panel-heading h2, .results-toolbar h2, .method-card h2, .edital-card h2 { margin:4px 0 6px; font-size:20px; letter-spacing:-.025em; }
.panel-heading p, .results-toolbar p { margin:0; color:var(--muted); font-size:13px; }
.section-kicker { color:var(--blue); text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.11em; }
.source-badge, .history-source { display:inline-flex; align-items:center; white-space:nowrap; padding:7px 10px; border-radius:999px; font-size:11px; font-weight:700; color:var(--green); background:var(--green-soft); }

.search-card { padding:24px; margin-bottom:18px; }
.main-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-top:22px; }
.search-input-wrap { position:relative; }
.search-input-wrap input { width:100%; height:52px; border:1px solid #cfd9e3; border-radius:12px; padding:0 16px 0 46px; font-size:15px; background:#fbfcfe; outline:none; transition:.18s; }
.search-input-wrap input:focus { border-color:#6da1d1; box-shadow:0 0 0 3px rgba(31,101,168,.1); background:white; }
.search-icon { position:absolute; left:17px; top:13px; font-size:24px; color:#70879b; }
.btn { border:none; border-radius:10px; padding:10px 15px; font-weight:700; font-size:12px; text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:.15s; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--navy); color:white; }
.btn-primary:hover { background:var(--navy-2); }
.btn-search { min-width:160px; }
.btn-secondary { background:white; border:1px solid var(--border); color:var(--navy); }
.btn-secondary:hover { border-color:#afbdca; }
.btn-ghost { background:transparent; color:var(--muted); }
.btn.disabled { pointer-events:none; opacity:.45; }

.quick-filters { display:grid; grid-template-columns:1fr 1.25fr .65fr 1.75fr; gap:12px; margin-top:14px; }
label > span, .quick-filters label > span { display:block; color:#586879; font-size:11px; font-weight:700; margin:0 0 6px 2px; }
input[type=text], input[type=number], input[type=date], input[type=email], input[type=password], select { width:100%; height:39px; padding:0 10px; border:1px solid #d2dce5; border-radius:9px; background:white; color:var(--text); outline:none; font-size:12px; }
input:focus, select:focus { border-color:#72a6d5; box-shadow:0 0 0 3px rgba(31,101,168,.08); }
input:disabled { background:#f1f3f5; color:#9aa5af; }
.date-pair { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:7px; }
.date-pair > span { color:var(--muted); font-size:11px; }
.advanced-filters { margin-top:14px; border-top:1px solid #edf1f5; }
.advanced-filters summary { cursor:pointer; list-style:none; padding:13px 2px 0; color:var(--blue); font-size:12px; font-weight:700; display:flex; align-items:center; gap:7px; width:max-content; }
.advanced-filters summary::-webkit-details-marker { display:none; }
.advanced-filters[open] summary span { transform:rotate(45deg); }
.advanced-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; padding:14px; background:#f8fafc; border-radius:12px; }
.search-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:14px; }
.price-rule { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; line-height:1.45; }
.info-icon { width:19px; height:19px; border-radius:50%; display:grid; place-items:center; background:var(--blue-soft); color:var(--blue); font-weight:800; flex:0 0 auto; }

.stats-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.stat-card { min-width:0; background:white; border:1px solid var(--border); border-radius:14px; padding:16px; box-shadow:0 5px 18px rgba(18,40,63,.045); }
.stat-card.highlight { background:linear-gradient(145deg,var(--navy),#1d496e); color:white; border-color:transparent; }
.stat-label { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.highlight .stat-label { color:#c3d7e8; }
.stat-value { margin-top:8px; font-size:21px; font-weight:800; letter-spacing:-.025em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stat-value.compact { font-size:14px; padding-top:5px; }
.stat-note { margin-top:5px; color:#8390a0; font-size:10px; line-height:1.35; }
.highlight .stat-note { color:#b9cddd; }

.quality-alert { margin:-4px 0 18px; padding:13px 16px; border:1px solid #ead5a9; background:#fffaf0; border-radius:12px; color:#72521d; display:flex; align-items:flex-start; gap:16px; font-size:11px; }
.quality-alert strong { white-space:nowrap; }
.quality-alert div { display:flex; flex-wrap:wrap; gap:7px 18px; }
.quality-alert div span::before { content:'•'; margin-right:6px; }

.results-panel { overflow:hidden; margin-bottom:18px; }
.results-toolbar { padding:20px 22px 16px; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; border-bottom:1px solid var(--border); }
.report-actions { display:flex; align-items:center; gap:7px; }
.page-size-control { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:10px; font-weight:800; white-space:nowrap; }
.page-size-control select { width:auto; min-width:66px; padding:8px 28px 8px 9px; }
.report-actions input { width:220px; height:35px; }
.table-wrap { overflow:auto; max-height:650px; }
table { width:100%; border-collapse:separate; border-spacing:0; min-width:1320px; }
th { position:sticky; top:0; z-index:2; background:#f6f8fa; color:#5b6a79; text-transform:uppercase; letter-spacing:.045em; font-size:9px; padding:10px; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap; }
td { padding:11px 10px; border-bottom:1px solid #edf1f4; font-size:11px; vertical-align:top; }
tbody tr:hover { background:#fbfdff; }
.numeric { text-align:right; }
.check-col { width:34px; text-align:center; }
.item-cell { width:320px; }
.item-cell strong { display:block; color:#203040; line-height:1.35; }
.item-cell > span { display:block; color:var(--muted); margin-top:4px; line-height:1.3; }
.item-cell small { display:block; margin-top:5px; color:#8a98a7; }
.muted, .muted-block { color:#8592a0; }
.muted-block { display:block; margin-top:3px; font-size:10px; }
.source-link { color:var(--blue); text-decoration:none; margin-left:4px; }
.price-main { font-size:12px; color:#183d2f; }
.price-muted { color:#788696; }
.price-badge { display:block; width:max-content; margin:4px 0 0 auto; padding:2px 5px; border-radius:5px; font-size:8px; font-weight:800; text-transform:uppercase; }
.price-badge.homologated { color:var(--green); background:var(--green-soft); }
.price-badge.estimated { color:var(--amber); background:var(--amber-soft); }
.variation-down { color:var(--green); font-weight:800; } .variation-up { color:var(--red); font-weight:800; }
.empty-row td, .loading-row td { text-align:center; padding:46px; color:var(--muted); font-size:12px; line-height:1.8; }
.error-state td { color:#8e3c3c; background:#fff7f7; }
.loader { width:18px; height:18px; border:2px solid #d7e0e8; border-top-color:var(--blue); border-radius:50%; display:inline-block; vertical-align:middle; margin-right:8px; animation:spin .75s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.pagination { min-height:54px; padding:10px 18px; display:flex; align-items:center; justify-content:flex-end; gap:5px; }
.pagination button { min-width:32px; height:32px; border:1px solid var(--border); border-radius:8px; background:white; color:#526273; cursor:pointer; }
.pagination-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:5px; }
.pagination-buttons button { min-width:34px; height:34px; padding:0 9px; border:1px solid var(--border); border-radius:8px; background:#fff; color:#526273; font-weight:700; cursor:pointer; }
.pagination-buttons button.active { background:var(--navy); border-color:var(--navy); color:#fff; }
.pagination-buttons button:disabled { opacity:.45; cursor:not-allowed; }
.pagination-buttons span { color:var(--muted); padding:0 2px; }
.pagination button.active { background:var(--navy); color:white; border-color:var(--navy); }
.pagination button:disabled { opacity:.35; cursor:default; }
.pagination > span:not(.page-total) { color:#94a0ac; }
.page-total { margin-right:auto; color:var(--muted); font-size:11px; }

.history-panel { padding:20px 22px 22px; margin-bottom:18px; }
.compact-heading { align-items:center; }
.history-chart { height:260px; display:flex; position:relative; margin-top:22px; border-top:1px dashed #dfe6ec; border-bottom:1px solid #e7edf2; }
.empty-chart { display:grid; place-items:center; color:var(--muted); background:#fafbfc; border-radius:10px; border:1px dashed var(--border); height:180px; }
.chart-axis { width:72px; padding:0 10px 20px 0; display:flex; flex-direction:column; justify-content:space-between; color:#95a1ad; font-size:9px; text-align:right; }
.chart-bars { flex:1; min-width:0; display:flex; align-items:stretch; gap:4px; }
.chart-column { flex:1; min-width:18px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; position:relative; }
.chart-value { opacity:0; position:absolute; top:2px; font-size:8px; color:var(--navy); background:white; border:1px solid var(--border); padding:3px 5px; border-radius:5px; white-space:nowrap; z-index:2; transition:.15s; }
.chart-column:hover .chart-value { opacity:1; }
.chart-bar-track { width:70%; max-width:26px; height:210px; display:flex; align-items:flex-end; background:linear-gradient(to top, rgba(31,101,168,.035), transparent); border-radius:5px 5px 0 0; }
.chart-bar { width:100%; background:linear-gradient(to top,#215b8d,#5a9ad0); border-radius:5px 5px 0 0; min-height:4px; }
.chart-column > span { height:20px; padding-top:5px; color:#8996a4; font-size:8px; white-space:nowrap; }

.method-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; }
.method-card, .edital-card { padding:22px; }
.method-card p { color:var(--muted); font-size:12px; line-height:1.65; max-width:760px; }
.method-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:16px; }
.method-steps span { padding:10px; background:#f5f8fb; border:1px solid #e5ebf0; border-radius:9px; color:#4f6071; font-size:10px; font-weight:700; }
.edital-card ul { margin:12px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:9px 16px; }
.edital-card li { color:#526171; font-size:11px; line-height:1.45; padding-left:20px; position:relative; }
.edital-card li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:900; }

.selection-bar { position:fixed; bottom:20px; left:calc(250px + 50%); transform:translateX(-50%); z-index:50; width:min(760px,calc(100vw - 290px)); padding:10px 12px 10px 18px; background:#10263b; color:white; border-radius:14px; box-shadow:0 15px 45px rgba(6,22,37,.3); display:flex; align-items:center; gap:10px; font-size:12px; }
.selection-bar > div { margin-right:auto; }
.selection-bar .btn-primary { background:white; color:var(--navy); }
.btn-ghost.light { color:#c5d2dd; }

.comparison-dialog { width:min(900px,92vw); max-height:82vh; border:none; border-radius:18px; padding:0; box-shadow:0 24px 80px rgba(9,28,45,.28); color:var(--text); }
.comparison-dialog::backdrop { background:rgba(12,26,39,.55); backdrop-filter:blur(2px); }
.dialog-head { display:flex; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid var(--border); }
.dialog-head h2 { margin:4px 0 0; font-size:19px; }
.dialog-close { width:34px; height:34px; border:none; border-radius:50%; background:#eef2f6; font-size:22px; cursor:pointer; }
.comparison-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:18px 22px; }
.comparison-summary div { padding:12px; border:1px solid var(--border); border-radius:10px; }
.comparison-summary span { display:block; color:var(--muted); font-size:9px; text-transform:uppercase; font-weight:800; }
.comparison-summary strong { display:block; margin-top:5px; font-size:15px; }
.comparison-warning { margin:0 22px 14px; padding:10px 12px; border-radius:9px; background:var(--amber-soft); color:#79581f; font-size:11px; }
.comparison-list { padding:0 22px 22px; max-height:390px; overflow:auto; }
.comparison-item { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid #edf1f4; }
.comparison-item strong { display:block; font-size:11px; }
.comparison-item span { display:block; color:var(--muted); font-size:9px; margin-top:3px; }
.comparison-item > div:last-child { text-align:right; white-space:nowrap; }

/* Login */
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,#edf3f8,#f9fbfd); }
.login-box { width:min(390px,100%); background:white; border:1px solid var(--border); border-radius:18px; padding:30px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:15px; }
.login-box h1 { margin:0; font-size:21px; text-align:center; }
.login-box label { font-size:11px; font-weight:700; color:#596979; }
.login-box input { margin-top:6px; height:43px; }
.login-box button { height:43px; background:var(--navy); color:white; border:none; border-radius:10px; font-weight:700; cursor:pointer; }
.erro { color:#a83e3e; background:#fff3f3; border:1px solid #f0cccc; padding:9px; border-radius:8px; font-size:11px; }

@media (max-width: 1250px) {
    .stats-grid { grid-template-columns:repeat(3,1fr); }
    .quick-filters { grid-template-columns:1fr 1fr; }
    .advanced-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 900px) {
    .app-shell { display:block; }
    .sidebar { position:relative; height:auto; padding:14px 16px; flex-direction:row; align-items:center; }
    .brand { padding:0; border:0; }
    .brand span { display:none; }
    .side-nav { display:none; }
    .sidebar-status { margin:0 0 0 auto; padding:7px 9px; }
    .modern-topbar { position:relative; padding:14px 18px; }
    .modern-topbar h1 { font-size:16px; }
    main { padding:18px 14px 90px; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .advanced-grid { grid-template-columns:repeat(2,1fr); }
    .method-grid { grid-template-columns:1fr; }
    .selection-bar { left:50%; width:calc(100vw - 28px); }
}
@media (max-width: 620px) {
    .user-box > div:not(.user-avatar) { display:none; }
    .panel-heading, .results-toolbar { flex-direction:column; align-items:stretch; }
    .source-badge { width:max-content; }
    .main-search-row { grid-template-columns:1fr; }
    .quick-filters, .advanced-grid, .stats-grid { grid-template-columns:1fr; }
    .search-footer { flex-direction:column; align-items:flex-start; }
    .report-actions { flex-wrap:wrap; }
    .report-actions input { width:100%; }
    .method-steps, .edital-card ul, .comparison-summary { grid-template-columns:1fr 1fr; }
    .selection-bar { flex-wrap:wrap; }
    .selection-bar > div { width:100%; }
}
.login-brand-mark { width:48px; height:48px; margin:0 auto; border-radius:14px; display:grid; place-items:center; background:var(--navy); color:white; font-size:24px; font-weight:800; }
.login-title { text-align:center; }
.login-title > span { display:block; color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.12em; margin-bottom:4px; }
.login-title h1 { margin:0; }
.login-title p { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.login-source { text-align:center; color:#8a97a5; font-size:9px; }

/* =============================================================
   Versão multifonte + pesquisas salvas
   ============================================================= */
.multifonte-filters { grid-template-columns:1fr 1.05fr 1.2fr .55fr 1.7fr; align-items:start; }
.field-help { display:block; margin:5px 2px 0; font-size:9px; line-height:1.3; color:var(--muted); }
.field-help a { color:var(--blue); text-decoration:none; }
.field-help a:hover { text-decoration:underline; }
.data-source-badge { display:inline-flex; align-items:center; width:max-content; padding:4px 7px; border-radius:999px; font-size:8px; line-height:1; font-weight:800; white-space:nowrap; }
.data-source-badge.pncp { color:#245d91; background:#edf5ff; border:1px solid #d6e8fa; }
.data-source-badge.comprasgov { color:#226849; background:#eaf7f2; border:1px solid #d2eee2; }
.price-badge.comprasgov { color:#226849; background:#eaf7f2; }
.btn-success-light { background:#dff4e9; color:#194f39; }
.btn-success-light:hover { background:#cdebdc; }
.btn-danger { background:#fff1f1; color:#9e3636; border:1px solid #efcaca; }
.btn-danger:hover { background:#ffe7e7; }
button:disabled, .btn:disabled { opacity:.55; cursor:not-allowed; transform:none !important; }
textarea { width:100%; min-height:82px; resize:vertical; padding:10px; border:1px solid #d2dce5; border-radius:9px; background:white; color:var(--text); outline:none; font:inherit; font-size:12px; line-height:1.45; }
textarea:focus { border-color:#72a6d5; box-shadow:0 0 0 3px rgba(31,101,168,.08); }
.dialog-subtitle { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.45; max-width:660px; }
.save-dialog { width:min(760px,94vw); }
.save-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:20px 22px 12px; }
.save-form-grid .span-2 { grid-column:1 / -1; }
.save-summary { margin:2px 22px 16px; padding:12px 14px; border:1px solid #dce8f2; background:#f7fbff; border-radius:10px; }
.save-summary strong, .save-summary span { display:block; }
.save-summary strong { font-size:11px; color:var(--navy); }
.save-summary span { margin-top:4px; color:var(--muted); font-size:10px; }
.dialog-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:14px 22px 20px; border-top:1px solid var(--border); }
.dialog-actions .save-message { margin-right:auto; color:var(--muted); font-size:10px; line-height:1.35; }

/* Páginas internas */
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.page-head h2 { margin:4px 0 5px; font-size:24px; letter-spacing:-.03em; }
.page-head p { margin:0; color:var(--muted); font-size:12px; }
.page-message { padding:28px; }
.page-message h2 { margin:5px 0 8px; }
.page-message p { color:var(--muted); margin:0 0 18px; }
.page-message code, .migration-warning code, .command-code { font-family:"Cascadia Code",Consolas,monospace; }
.empty-library { min-height:320px; padding:56px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.empty-library .empty-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; background:var(--blue-soft); color:var(--blue); font-size:25px; }
.empty-library h2 { margin:14px 0 6px; }
.empty-library p { max-width:520px; margin:0 0 18px; color:var(--muted); font-size:12px; }
.research-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.research-card { padding:18px; min-width:0; transition:.15s; }
.research-card:hover { transform:translateY(-2px); box-shadow:0 12px 34px rgba(18,40,63,.1); }
.research-card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.research-card h3 { margin:12px 0 7px; font-size:16px; line-height:1.3; }
.research-card h3 a { text-decoration:none; }
.research-card p { margin:0; min-height:48px; color:var(--muted); font-size:11px; line-height:1.5; }
.research-metrics { display:grid; grid-template-columns:1fr 1.5fr; gap:8px; margin:15px 0; }
.research-metrics span { padding:10px; border:1px solid #e6ebf0; background:#f8fafc; border-radius:9px; color:var(--muted); font-size:9px; }
.research-metrics b { display:block; color:var(--navy); font-size:13px; margin-bottom:3px; }
.research-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:12px; border-top:1px solid #edf1f4; color:var(--muted); font-size:9px; }
.research-footer span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.research-footer a { flex:0 0 auto; color:var(--blue); font-weight:800; text-decoration:none; }
.status-pill { display:inline-flex; align-items:center; width:max-content; padding:4px 7px; border-radius:999px; background:var(--green-soft); color:var(--green); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.status-pill.warning { background:var(--amber-soft); color:var(--amber); }
.status-pill.error { background:#fff1f1; color:var(--red); }
.detail-hero { padding:22px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.detail-hero h2 { margin:5px 0 6px; font-size:24px; letter-spacing:-.03em; }
.detail-hero p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; max-width:900px; }
.detail-actions { display:flex; gap:7px; flex:0 0 auto; }
.snapshot-banner { margin-bottom:14px; padding:11px 14px; display:flex; align-items:center; gap:12px; border-radius:11px; background:#eaf7f2; border:1px solid #d1ecdf; color:#27634b; font-size:10px; }
.snapshot-banner strong { white-space:nowrap; }
.saved-stats { margin-bottom:14px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.meta-card { padding:20px; }
.meta-card h3, .info-card h3, .source-card h3 { margin:4px 0 14px; font-size:17px; }
.meta-list { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.meta-list div { padding:10px 11px; background:#f8fafc; border:1px solid #edf1f4; border-radius:9px; }
.meta-list dt { color:var(--muted); font-size:9px; text-transform:uppercase; font-weight:800; }
.meta-list dd { margin:4px 0 0; font-size:11px; font-weight:700; overflow-wrap:anywhere; }
.notes-box { margin-top:12px; padding:12px; border-left:3px solid #9db9d3; background:#f8fafc; }
.notes-box strong { font-size:10px; }
.notes-box p { margin:5px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.filter-chips { display:flex; flex-wrap:wrap; gap:7px; }
.filter-chips span { display:inline-flex; gap:5px; padding:7px 9px; border-radius:8px; background:#f5f8fb; border:1px solid #e6ebf0; color:#536475; font-size:9px; }
.filter-chips b { color:var(--navy); }
.saved-alerts { margin-top:13px; padding:11px; border:1px solid #ead5a9; background:#fffaf0; border-radius:9px; }
.saved-alerts strong, .saved-alerts span { display:block; }
.saved-alerts strong { font-size:10px; color:#72521d; margin-bottom:5px; }
.saved-alerts span { color:#72521d; font-size:9px; line-height:1.45; padding:3px 0; }
.saved-items-panel { overflow:hidden; }
.saved-table { min-width:1450px; }
.danger-zone { display:flex; align-items:center; gap:12px; justify-content:flex-end; margin-top:14px; }
.danger-zone span { color:var(--red); font-size:10px; }

/* Fontes oficiais */
.source-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.source-card { padding:20px; }
.source-card.accent { border-color:#cfe6da; }
.source-card-head { display:flex; align-items:center; gap:11px; }
.source-card-head .status-pill { margin-left:auto; }
.source-logo { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; font-size:17px; font-weight:900; }
.source-logo.pncp { background:#edf5ff; color:#245d91; }
.source-logo.comprasgov { background:#eaf7f2; color:#226849; }
.source-card-head h3 { margin:2px 0 0; }
.source-card > p { color:var(--muted); font-size:11px; line-height:1.55; min-height:50px; }
.source-stats { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:14px 0 0; }
.source-stats div { padding:10px; border-radius:9px; background:#f8fafc; border:1px solid #edf1f4; }
.source-stats dt { color:var(--muted); font-size:8px; text-transform:uppercase; font-weight:800; }
.source-stats dd { margin:4px 0 0; color:var(--navy); font-size:13px; font-weight:800; }
.migration-warning { margin-bottom:14px; padding:14px 16px; display:flex; flex-direction:column; gap:6px; background:#fffaf0; border-color:#ead5a9; color:#72521d; }
.migration-warning span { font-size:10px; }
.sync-panel { padding:22px; margin-bottom:14px; }
.sync-form { display:grid; grid-template-columns:1.2fr 1fr .55fr 1fr .8fr .8fr; gap:11px; margin-top:19px; align-items:end; }
.check-setting { grid-column:1 / span 3; min-height:48px; display:flex; align-items:flex-start; gap:9px; padding:10px; background:#f8fafc; border:1px solid #e8edf2; border-radius:9px; cursor:pointer; }
.check-setting input { margin-top:2px; }
.check-setting > span { margin:0; }
.check-setting b, .check-setting small { display:block; }
.check-setting b { color:var(--text); font-size:10px; }
.check-setting small { margin-top:3px; color:var(--muted); font-size:9px; font-weight:400; line-height:1.35; }
.sync-action { grid-column:4 / -1; display:flex; justify-content:flex-end; }
.sync-action .btn { min-height:39px; min-width:170px; }
.sync-progress { margin-top:14px; padding:12px 14px; display:flex; align-items:center; gap:10px; border-radius:9px; background:#f7fbff; border:1px solid #dce8f2; }
.sync-progress strong, .sync-progress span { display:block; }
.sync-progress strong { font-size:10px; }
.sync-progress span { color:var(--muted); font-size:9px; margin-top:2px; }
.sync-result { margin-top:14px; padding:12px 14px; border-radius:9px; font-size:10px; line-height:1.5; }
.sync-result strong, .sync-result span, .sync-result small { display:block; }
.sync-result.success { background:#eaf7f2; color:#27634b; border:1px solid #d1ecdf; }
.sync-result.warning { background:#fffaf0; color:#72521d; border:1px solid #ead5a9; }
.sync-result.error { background:#fff3f3; color:#8e3c3c; border:1px solid #f0cccc; }
.sync-result small { margin-top:5px; opacity:.85; }
.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.info-card { padding:18px; }
.info-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.command-code { display:block; margin-top:12px; padding:10px; overflow:auto; white-space:pre-wrap; word-break:break-word; background:#10263b; color:#dceaf5; border-radius:8px; font-size:9px; line-height:1.5; }
.sync-log-panel { overflow:hidden; }
.compact-table-wrap { max-height:440px; }
.compact-table { min-width:950px; }

@media (max-width: 1350px) {
    .multifonte-filters { grid-template-columns:1fr 1fr 1fr; }
    .sync-form { grid-template-columns:repeat(3,1fr); }
    .check-setting { grid-column:1 / span 2; }
    .sync-action { grid-column:3; }
    .research-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .research-grid, .detail-grid, .source-cards, .info-grid { grid-template-columns:1fr; }
    .detail-hero, .page-head { flex-direction:column; align-items:stretch; }
    .detail-actions { flex-wrap:wrap; }
    .sync-form { grid-template-columns:1fr 1fr; }
    .check-setting, .sync-action { grid-column:1 / -1; }
    .sync-action { justify-content:flex-start; }
}
@media (max-width: 620px) {
    .multifonte-filters, .sync-form, .save-form-grid { grid-template-columns:1fr; }
    .save-form-grid .span-2, .check-setting, .sync-action { grid-column:1; }
    .research-grid { grid-template-columns:1fr; }
    .snapshot-banner { align-items:flex-start; flex-direction:column; }
    .meta-list { grid-template-columns:1fr; }
    .dialog-actions { flex-wrap:wrap; }
    .dialog-actions .save-message { width:100%; }
}

/* V6 — refinamento CATMAT/CATSER + Compras DF */
.catalog-assistant { margin:12px 0 2px; padding:15px; border:1px solid #cfe0ef; border-radius:12px; background:#f7fbff; }
.catalog-assistant-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.catalog-assistant-head strong { display:block; margin-top:3px; color:var(--navy); font-size:12px; }
.catalog-assistant > p { margin:8px 0 10px; color:#52677a; font-size:10px; line-height:1.5; }
.catalog-assistant > small { display:block; margin-top:9px; color:var(--muted); font-size:9px; line-height:1.45; }
.catalog-close { border:0; width:30px; height:30px; border-radius:50%; background:#eaf1f7; color:#4b6478; font-size:20px; cursor:pointer; flex:0 0 auto; }
.catalog-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.catalog-option { text-align:left; padding:11px 12px; border:1px solid #d7e3ed; border-radius:10px; background:white; cursor:pointer; transition:.15s; }
.catalog-option:hover { border-color:#80acd1; transform:translateY(-1px); box-shadow:0 5px 16px rgba(23,69,106,.08); }
.catalog-option .catalog-code { display:inline-flex; padding:3px 6px; border-radius:999px; background:#edf5ff; color:#245d91; font-size:8px; font-weight:900; letter-spacing:.03em; }
.catalog-option strong { display:block; margin-top:7px; color:var(--text); font-size:10px; line-height:1.4; }
.catalog-option small { display:block; margin-top:4px; color:var(--muted); font-size:8px; line-height:1.35; }
.catalog-loading { display:flex; align-items:center; gap:8px; min-height:42px; color:var(--muted); font-size:10px; }
.catalog-selected { grid-column:1 / -1; padding:11px; border-radius:9px; background:#eaf7f2; border:1px solid #d1ecdf; }
.catalog-selected strong, .catalog-selected span { display:block; }
.catalog-selected strong { font-size:10px; color:#235e45; }
.catalog-selected span { margin-top:4px; color:#4f7665; font-size:9px; }
.data-source-badge.comprasdf { color:#7a5018; background:#fff7e8; border:1px solid #efd9af; }
.price-badge.comprasdf { color:#7a5018; background:#fff7e8; }
.source-logo.comprasdf { background:#fff7e8; color:#8a5917; }
.source-card.df-accent { border-color:#efd9af; }
.source-cards.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.df-sync-note { color:#6a7785; font-size:9px; line-height:1.45; margin-top:8px; }

@media (max-width: 1250px) {
    .source-cards.three { grid-template-columns:1fr 1fr; }
}
@media (max-width: 900px) {
    .source-cards.three, .catalog-results { grid-template-columns:1fr; }
}

/* V17 - resultado em pagina unica com carregamento continuo */
.results-panel .table-wrap { max-height:72vh; min-height:260px; overflow:auto; scrollbar-gutter:stable both-edges; }
.continuous-status { min-height:46px; padding:11px 18px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; border-top:1px solid var(--border); background:#fbfcfd; color:var(--muted); font-size:10px; }
.continuous-total strong { color:var(--navy); font-size:11px; }
#selecionar-pagina:disabled { opacity:.4; cursor:wait; }

/* V18 — refinamento CATMAT/CATSER opcional e híbrido */
.main-search-row { grid-template-columns:minmax(0,1fr) auto auto; }
.btn-refine { min-height:52px; white-space:nowrap; border-color:#c8d7e4; background:#f7fafc; }
.catalog-head-actions { display:flex; align-items:center; gap:6px; }
.btn-clear-refine { padding:7px 9px; font-size:10px; color:#8a4c35; }
.catalog-selected-code { display:inline-flex !important; width:max-content; margin-bottom:6px; padding:4px 8px; border-radius:999px; background:#d9efe6; color:#1f6b4d !important; font-weight:900; font-size:9px !important; }
@media (max-width: 760px) {
    .main-search-row { grid-template-columns:1fr; }
    .btn-refine, .btn-search { width:100%; min-height:44px; }
}

/* Licitações e oportunidades — banco separado */
.nav-count { margin-left:auto; min-width:20px; height:20px; padding:0 6px; display:grid; place-items:center; border-radius:999px; background:#efb44c; color:#172b40; font-size:10px; }
.setup-panel { padding:26px; max-width:860px; }
.setup-panel h2 { margin:7px 0; }
.setup-panel p, .setup-panel li { color:var(--muted); font-size:12px; line-height:1.6; }
.setup-panel code { background:#edf2f7; padding:3px 6px; border-radius:5px; }
.op-hero { padding:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; background:linear-gradient(135deg,#fff,#f2f8ff); }
.op-hero h2 { margin:5px 0 7px; font-size:24px; }
.op-hero p { margin:0; color:var(--muted); font-size:13px; }
.op-stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
.op-filter-panel { padding:20px; margin-bottom:20px; }
.op-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.op-search-row .search-input-wrap input { height:46px; }
.op-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; }
.check-label { min-height:39px; display:flex; align-items:center; gap:8px; padding:8px 10px; background:#f7f9fb; border:1px solid var(--border); border-radius:9px; }
.check-label input[type=checkbox] { width:16px; height:16px; flex:0 0 auto; }
.check-label > span { margin:0; font-size:11px; line-height:1.35; }
.op-results-head { display:flex; align-items:flex-end; justify-content:space-between; margin:22px 2px 12px; }
.op-results-head h2 { margin:4px 0 0; font-size:20px; }
.op-results-head > span { color:var(--muted); font-size:11px; }
.op-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.op-card { min-width:0; padding:18px; display:flex; flex-direction:column; border-top:3px solid transparent; }
.op-card.engineering { border-top-color:#246ea9; }
.op-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.deadline-pill { padding:5px 8px; color:#875c0c; background:#fff5df; border-radius:999px; font-size:9px; font-weight:800; }
.op-card h3 { margin:13px 0 9px; font-size:15px; line-height:1.42; }
.op-card h3 a { text-decoration:none; }
.op-card h3 a:hover { color:var(--blue); }
.op-org { display:flex; flex-direction:column; min-height:42px; font-size:10px; color:var(--muted); }
.op-org strong { color:#415162; font-size:11px; }
.op-meta { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:13px 0; padding:12px; background:#f7f9fb; border-radius:10px; }
.op-meta span { min-width:0; color:#59697a; font-size:10px; line-height:1.35; }
.op-meta b { display:block; margin-bottom:2px; color:#8793a0; font-size:8px; text-transform:uppercase; letter-spacing:.05em; }
.op-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:13px; }
.op-tags span { padding:4px 7px; border-radius:999px; color:#275b82; background:#edf5ff; font-size:8px; font-weight:700; }
.op-actions { margin-top:auto; padding-top:5px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #edf1f4; }
.op-actions form { margin:0; }
.data-source-badge.novacap { color:#713c83; background:#f8edfb; border:1px solid #ead4f0; }
.empty-op { padding:34px; text-align:center; }
.empty-op h3 { margin:0 0 6px; }
.empty-op p { margin:0; color:var(--muted); font-size:12px; }
.op-pagination { display:flex; justify-content:center; gap:6px; margin-top:20px; }
.op-pagination a { width:36px; height:36px; display:grid; place-items:center; text-decoration:none; border:1px solid var(--border); border-radius:9px; background:white; font-size:11px; font-weight:800; }
.op-pagination a.active { background:var(--navy); color:white; border-color:var(--navy); }
.op-detail-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; padding:24px; margin-bottom:16px; }
.op-detail-hero h2 { max-width:1000px; margin:12px 0 8px; font-size:22px; line-height:1.35; }
.op-detail-hero p { margin:0; color:var(--muted); font-size:12px; }
.op-detail-hero .detail-actions { display:flex; gap:8px; flex:0 0 auto; }
.op-detail-grid { margin-bottom:16px; }
.op-text-panel { padding:20px; margin-bottom:16px; }
.op-text-panel p { color:#526171; line-height:1.65; font-size:12px; }
.op-items-panel { overflow:hidden; }
.op-empty-inline { margin:0; padding:24px; color:var(--muted); font-size:12px; }
.success-message { margin-bottom:14px; padding:12px 15px; color:#1d694f; background:#eaf7f2; border:1px solid #cce9dd; border-radius:10px; font-size:12px; }
.alert-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:16px; margin-bottom:16px; }
.alert-form-card, .alert-list-card { padding:22px; }
.alert-form-card h2, .alert-list-card h2 { margin:5px 0 7px; }
.alert-form-card > p { color:var(--muted); font-size:11px; line-height:1.5; }
.alert-form-card form { display:grid; gap:11px; margin-top:16px; }
.alert-form-card textarea { width:100%; padding:10px; resize:vertical; border:1px solid #d2dce5; border-radius:9px; font:inherit; font-size:12px; }
.alert-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.alert-rules { display:grid; gap:9px; margin-top:15px; }
.alert-rule { display:flex; justify-content:space-between; gap:12px; padding:12px; border:1px solid var(--border); border-radius:10px; }
.alert-rule > div:first-child { min-width:0; }
.alert-rule strong, .alert-rule span { display:block; }
.alert-rule strong { font-size:12px; }
.alert-rule span { margin-top:4px; color:var(--muted); font-size:9px; line-height:1.4; }
.disabled-rule { opacity:.55; background:#f7f8f9; }
.rule-actions { display:flex; align-items:center; }
.rule-actions form { margin:0; }
.notifications-panel { overflow:hidden; }
.notification-list { display:grid; }
.notification-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 18px; border-top:1px solid #edf1f4; text-decoration:none; }
.notification-item.unread { background:#f2f8ff; box-shadow:inset 3px 0 #2472b2; }
.notification-item strong, .notification-item span { display:block; }
.notification-item strong { font-size:11px; line-height:1.4; }
.notification-item span { margin-top:3px; color:var(--muted); font-size:9px; }
.notification-item > b { color:var(--blue); font-size:10px; }

@media (max-width: 1100px) {
    .op-grid { grid-template-columns:1fr 1fr; }
    .op-filter-grid { grid-template-columns:1fr 1fr; }
    .op-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .alert-layout { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
    .op-grid, .op-filter-grid, .alert-form-grid { grid-template-columns:1fr; }
    .op-stats { grid-template-columns:1fr 1fr; }
    .op-search-row { grid-template-columns:1fr; }
    .op-hero, .op-detail-hero { flex-direction:column; }
    .op-detail-hero .detail-actions { width:100%; flex-wrap:wrap; }
    .op-results-head > span { display:none; }
}

/* Licitações V2 — radar regional, fases e cobertura institucional */
.op-stats-v2 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.stat-card.future { border-color:#d9d2f1; background:linear-gradient(145deg,#fff,#f8f5ff); }
.coverage-panel { padding:20px; margin:16px 0; }
.coverage-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.coverage-head h2 { margin:4px 0 0; font-size:18px; }
.coverage-head small { color:var(--muted); font-size:9px; }
.coverage-chips { display:flex; flex-wrap:wrap; gap:8px; }
.coverage-chip { display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid #e1e7ed; border-radius:999px; background:#f8fafc; color:#566575; text-decoration:none; font-size:10px; font-weight:700; }
.coverage-chip b { min-width:21px; height:21px; padding:0 6px; display:grid; place-items:center; border-radius:999px; background:#e8edf2; font-size:9px; }
.coverage-chip.has-data { border-color:#bfd9ca; background:#eff9f4; color:#27644a; }
.coverage-chip.has-data b { background:#d5eee1; color:#1f6648; }
.filter-footer { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-top:14px; }
.filter-footer > a { color:var(--muted); font-size:10px; }
.source-stack { min-width:0; display:flex; align-items:center; gap:7px; }
.source-stack small { max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:8px; }
.phase-label { display:inline-flex; width:max-content; margin-top:10px; padding:4px 8px; border-radius:999px; background:#e9f6ef; color:#236347; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.phase-label.futura, .phase-label.planejamento { background:#f1edff; color:#604c99; }
.phase-label.encerrada { background:#f0f2f4; color:#6f7882; }
.deadline-pill.futura, .deadline-pill.planejamento { background:#f1edff; color:#604c99; }
.phase-futura { border-top-color:#7762b1 !important; }
.detail-badges { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.detail-badges .phase-label { margin-top:0; }
.opportunity-timeline { overflow:hidden; margin-bottom:16px; }
.timeline-list { padding:0 20px 18px; }
.timeline-list article { position:relative; display:grid; grid-template-columns:18px 1fr; gap:10px; padding:10px 0; }
.timeline-list article > span { width:10px; height:10px; margin-top:4px; border:2px solid white; border-radius:50%; background:#2472b2; box-shadow:0 0 0 2px #bdd6ea; }
.timeline-list article:not(:last-child)::before { content:''; position:absolute; left:4px; top:24px; bottom:-5px; width:2px; background:#dce7ef; }
.timeline-list strong { font-size:10px; }
.timeline-list p { margin:3px 0; color:#526171; font-size:10px; line-height:1.45; }
.timeline-list small { color:var(--muted); font-size:8px; }
@media (max-width:1100px) { .op-stats-v2 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .op-stats-v2 { grid-template-columns:1fr 1fr; } .coverage-head { align-items:flex-start; flex-direction:column; } .source-stack small { display:none; } }

/* Licitações V3 — cobertura visual, categorias gerais e alertas explicados */
.coverage-chips { display:flex !important; flex-flow:row wrap !important; align-items:center; gap:9px !important; }
.coverage-chip { display:inline-flex !important; width:auto !important; min-height:38px; align-items:center !important; justify-content:space-between; gap:9px !important; padding:8px 10px 8px 13px !important; border:1px solid #dbe4eb !important; border-radius:999px !important; background:#f7fafc !important; color:#455a6d !important; text-decoration:none !important; line-height:1 !important; box-shadow:0 1px 2px rgba(15,38,59,.04); }
.coverage-chip span { display:block; white-space:nowrap; font-size:10px; font-weight:800; }
.coverage-chip b { min-width:24px !important; height:24px !important; padding:0 7px !important; display:grid !important; place-items:center; border-radius:999px !important; background:#e6edf3 !important; color:#40566a; font-size:9px !important; }
.coverage-chip.has-data { border-color:#bcdaca !important; background:#eff9f4 !important; color:#235f46 !important; }
.coverage-chip.has-data b { background:#d4eddf !important; color:#1e6748 !important; }
.coverage-chip:hover { border-color:#87acc8 !important; transform:translateY(-1px); box-shadow:0 5px 14px rgba(25,69,102,.09); }
.auto-sync-note { margin-right:auto; color:#627384; font-size:10px; line-height:1.4; }
.error-message { margin-bottom:14px; padding:12px 15px; color:#8a3d3d; background:#fff3f3; border:1px solid #efcccc; border-radius:10px; font-size:11px; line-height:1.5; }
.error-message code { padding:2px 5px; border-radius:5px; background:#f8dddd; color:#753030; }
.alert-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.alert-how-card { min-width:0; padding:15px; display:flex; align-items:flex-start; gap:11px; }
.alert-how-card > b { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:#e8f2fa; color:#22689c; font-size:11px; }
.alert-how-card strong, .alert-how-card span { display:block; }
.alert-how-card strong { margin:1px 0 4px; color:var(--navy); font-size:11px; }
.alert-how-card span { color:var(--muted); font-size:9px; line-height:1.45; }
.segment-picker { min-width:0; margin:0; padding:12px; border:1px solid #d9e2e9; border-radius:10px; background:#f9fbfc; }
.segment-picker legend { padding:0 5px; color:#334b60; font-size:10px; font-weight:800; }
.segment-picker legend small { color:var(--muted); font-weight:500; }
.segment-picker > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.segment-picker label { min-width:0; display:flex; align-items:center; gap:7px; padding:7px 8px; border:1px solid #e1e8ee; border-radius:8px; background:white; cursor:pointer; }
.segment-picker label:hover { border-color:#abc7dc; background:#f5faff; }
.segment-picker input { width:15px; height:15px; flex:0 0 auto; }
.segment-picker label span { margin:0; color:#43576a; font-size:9px; font-weight:650; line-height:1.3; }
.btn:disabled { opacity:.55; cursor:not-allowed; }

@media (max-width:900px) {
    .alert-how-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
    .segment-picker > div { grid-template-columns:1fr; }
    .filter-footer { align-items:flex-start; flex-wrap:wrap; }
    .auto-sync-note { width:100%; }
}

/* Licitações V4 — boletins, acompanhamento comercial e análise por IA */
.stat-card.attention { border-color:#efc98a; background:#fff9ee; }
.stat-card.attention .stat-note { color:#8b5b12; font-weight:800; }
.op-card.tracked-change { border-color:#e7b864; box-shadow:0 7px 20px rgba(142,91,15,.12); }
.change-pill { display:inline-flex; width:max-content; margin-top:10px; padding:5px 8px; border-radius:999px; background:#fff0d5; color:#8b5806; font-size:8px; font-weight:900; text-transform:uppercase; }
.tracked-change-banner { margin-bottom:14px; padding:13px 16px; display:flex; flex-direction:column; gap:4px; border:1px solid #edc47d; border-radius:10px; background:#fff8ea; color:#7d510d; }
.tracked-change-banner strong { font-size:12px; }.tracked-change-banner span { font-size:10px; }
.monitoring-badge { padding:5px 8px; border-radius:999px; background:#e8f5ef; color:#216448; font-size:8px; font-weight:900; text-transform:uppercase; }
.btn-ai { color:white; background:linear-gradient(135deg,#6246a4,#3573ae); border-color:#5b4da0; }
.btn-ai:hover { filter:brightness(1.06); }
.digest-settings { margin-bottom:16px; padding:20px; display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:22px; }
.digest-settings h2 { margin:5px 0 6px; }.digest-settings p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.digest-settings form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; align-items:end; }
.digest-settings .check-label { min-height:39px; }
.digest-settings .digest-wide { grid-column:1/-1; }
.digest-settings form > button { justify-self:start; }
.commercial-panel { margin-bottom:16px; padding:20px; }
.commercial-panel > div:first-child h2 { margin:5px 0; }.commercial-panel > div:first-child p { margin:0; color:var(--muted); font-size:10px; }
.commercial-panel > form { margin-top:15px; display:grid; grid-template-columns:220px minmax(0,1fr) auto; gap:11px; align-items:end; }
.commercial-panel textarea { width:100%; padding:10px; border:1px solid #d2dce5; border-radius:9px; resize:vertical; font:inherit; font-size:11px; }
.commercial-history { margin-top:16px; display:grid; gap:8px; }
.commercial-history article { padding:11px 13px; border-left:3px solid #70a0c4; border-radius:0 8px 8px 0; background:#f7fafc; }
.commercial-history b,.commercial-history small { font-size:8px; text-transform:uppercase; color:#53748d; }.commercial-history p { margin:5px 0; font-size:10px; line-height:1.45; }
.ai-panel { margin-bottom:16px; overflow:hidden; }
.ai-provider { padding:6px 9px; border-radius:999px; font-size:8px; font-weight:900; text-transform:uppercase; }.ai-provider.ready { background:#e8f5ef;color:#216448; }.ai-provider.pending { background:#fff1dc;color:#895b14; }
.ai-empty { padding:26px; text-align:center; }.ai-empty strong { font-size:13px; }.ai-empty p { max-width:680px; margin:7px auto 0; color:var(--muted); font-size:10px; line-height:1.55; }
.ai-summary { margin:0 20px 15px; padding:15px; border-radius:10px; background:linear-gradient(135deg,#f6f2ff,#f2f8ff); }
.ai-summary > div { display:flex; align-items:center; gap:9px; }.ai-summary span { color:var(--muted); font-size:9px; text-transform:uppercase; font-weight:800; }.ai-summary strong { padding:5px 8px; border-radius:999px; font-size:9px; }.fit-alta { background:#dff2e8;color:#1e6848; }.fit-media { background:#fff0d5;color:#845409; }.fit-baixa { background:#fde5e5;color:#903c3c; }.fit-indeterminada { background:#e9edf1;color:#596674; }
.ai-summary p { margin:11px 0 5px; font-size:12px; line-height:1.55; }.ai-summary small { color:#5f7080; font-size:9px; line-height:1.45; }
.ai-findings { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 20px 20px; }
.ai-findings section { min-width:0; border:1px solid #e1e7ed; border-radius:10px; overflow:hidden; }.ai-findings h3 { margin:0; padding:10px 12px; background:#f6f8fa; font-size:10px; }
.ai-findings article { padding:11px 12px; border-top:1px solid #edf1f4; }.ai-findings article > div { display:flex; align-items:center; gap:7px; }.ai-findings article strong { font-size:10px; }.ai-findings article p { margin:5px 0; color:#465a6c; font-size:9px; line-height:1.5; }.ai-findings article small { display:block; color:#7a8793; font-size:8px; line-height:1.45; }
.ai-findings article.priority-alta { box-shadow:inset 3px 0 #c96a5c; }.required-pill { padding:3px 5px; border-radius:999px; background:#fde8e5; color:#923f35; font-size:7px; text-transform:uppercase; }
.ai-lists { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:0 20px 20px; }.ai-lists section { padding:13px; border-radius:10px; background:#f7f9fb; }.ai-lists h3 { margin:0 0 8px; font-size:10px; }.ai-lists ul { margin:0; padding-left:17px; }.ai-lists li { margin:5px 0; color:#4f6274; font-size:9px; line-height:1.4; }
.documents-panel { margin-bottom:16px; overflow:hidden; }.document-list { display:grid; }.document-list > a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; padding:12px 18px; border-top:1px solid #edf1f4; text-decoration:none; }.document-list > a > span { width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#fbeaea;color:#974340;font-size:8px;font-weight:900; }.document-list strong,.document-list small { display:block; }.document-list strong { font-size:10px; }.document-list small { margin-top:3px;color:var(--muted);font-size:8px; }.document-list > a > b { color:var(--blue);font-size:9px; }

@media(max-width:1250px){.digest-settings form { grid-template-columns:1fr 1fr; }.digest-settings form > label:first-of-type { grid-column:1/-1; }}
@media(max-width:900px){.digest-settings { grid-template-columns:1fr; }.commercial-panel > form { grid-template-columns:1fr; }.ai-findings,.ai-lists { grid-template-columns:1fr; }}
@media(max-width:620px){.digest-settings form { grid-template-columns:1fr; }.digest-settings form > label:first-of-type { grid-column:auto; }}

/* V5 — administração multitenant */
.source-explainer{margin-bottom:16px;padding:13px 17px;display:flex;gap:12px;align-items:flex-start;border-color:#cddfea;background:#f5faff}.source-explainer strong{white-space:nowrap;color:#174f78;font-size:10px;text-transform:uppercase}.source-explainer span{color:#536b7e;font-size:10px;line-height:1.5}
.automatic-ai-pill{display:inline-flex;align-items:center;padding:9px 11px;border-radius:9px;background:#eee9fa;color:#584394;font-size:9px;font-weight:900;text-transform:uppercase}.documents-panel .results-toolbar>form{display:none}.automation-warning{margin-bottom:12px;padding:10px 13px;border:1px solid #ecd19a;border-radius:9px;background:#fff9ed;color:#805c18;font-size:9px}.automatic-analysis{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid #cfc3ef;border-radius:11px;background:#f7f4ff;color:#40366c}.automatic-analysis-fixed{position:fixed;right:22px;bottom:22px;z-index:40;width:min(430px,calc(100vw - 44px));box-shadow:0 12px 32px rgba(39,32,70,.2)}.automatic-analysis strong,.automatic-analysis p{display:block;margin:0}.automatic-analysis strong{font-size:11px}.automatic-analysis p{margin-top:4px;font-size:9px;line-height:1.4}.automatic-analysis.failed{border-color:#e5b3b3;background:#fff2f2;color:#8d3535}.automatic-spinner{width:22px;height:22px;flex:0 0 22px;border:3px solid #d8d0ed;border-top-color:#624aa4;border-radius:50%;animation:auto-spin .8s linear infinite}@keyframes auto-spin{to{transform:rotate(360deg)}}
.tenant-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.tenant-form{padding:20px}.tenant-form h2{margin:5px 0 14px}.tenant-form form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tenant-form form>button,.tenant-form .check-label{align-self:end}.tenant-list{overflow:hidden}.tenant-company{padding:17px 20px;border-top:1px solid #e7edf2}.tenant-company>header{display:flex;justify-content:space-between;gap:15px;align-items:center}.tenant-company>header strong,.tenant-company>header span{display:block}.tenant-company>header strong{font-size:13px}.tenant-company>header span{margin-top:4px;color:var(--muted);font-size:9px}.tenant-company>header>b{padding:5px 8px;border-radius:999px;font-size:8px;text-transform:uppercase}.tenant-active{background:#e4f4eb;color:#216448}.tenant-inactive{background:#f5e6e6;color:#903c3c}.tenant-users{margin-top:12px;display:grid;gap:6px}.tenant-users>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;border-radius:8px;background:#f7f9fb}.tenant-users strong,.tenant-users small{display:block}.tenant-users strong{font-size:10px}.tenant-users small{margin-top:3px;color:var(--muted);font-size:8px}@media(max-width:900px){.tenant-admin-grid{grid-template-columns:1fr}}@media(max-width:620px){.tenant-form form{grid-template-columns:1fr}}

/* V7 — acompanhamento visível e resumo executivo da IA */
.source-map{margin-bottom:16px;padding:19px}.source-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.source-map-head h2{margin:4px 0 0;font-size:17px}.source-map-head>a{color:#296e9f;font-size:9px;font-weight:750;text-decoration:none}.source-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.source-map-grid article{min-width:0;padding:13px;border:1px solid #e1e8ee;border-radius:10px;background:#fafcfd}.source-map-grid article>b,.source-map-grid article>strong{display:block;width:max-content}.source-map-grid article>strong{margin:9px 0 5px;color:#314b60;font-size:10px}.source-map-grid article>p{margin:0;color:#657687;font-size:8px;line-height:1.55}.source-map-grid .source-map-note{border-style:dashed;background:#f7f8fa}.source-map-grid .source-map-note>b{color:#6c7884;font-size:8px;text-transform:uppercase}
.opportunity-views{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:16px 0;overflow:hidden}
.opportunity-views a{position:relative;min-width:0;padding:15px 17px;border-right:1px solid #e5ebf0;color:#536678;text-decoration:none;background:#fff;transition:.18s ease}
.opportunity-views a:last-child{border-right:0}.opportunity-views a:hover{background:#f6faff}.opportunity-views a.active{background:linear-gradient(135deg,#eef6ff,#f7f4ff);box-shadow:inset 0 -3px #286ea5}.opportunity-views a.attention{background:#fff9ee}
.opportunity-views span,.opportunity-views b,.opportunity-views small{display:block}.opportunity-views span{color:#334c61;font-size:10px;font-weight:850}.opportunity-views b{margin:6px 0 2px;color:#102f49;font-size:24px;line-height:1}.opportunity-views small{color:#768696;font-size:8px;line-height:1.35}
.stat-card-link{display:block;color:inherit;text-decoration:none}.stat-card-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,58,88,.1)}
.op-results-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.op-results-head>span{max-width:470px;text-align:right;line-height:1.45}
.ai-panel-v7{border-color:#dbe4ec;background:#fff;box-shadow:0 10px 30px rgba(24,54,82,.07)}
.ai-panel-v7 .ai-titlebar{padding:23px 26px;border-bottom:1px solid #e9eef3;background:linear-gradient(120deg,#fbfdff,#f8f6ff)}
.ai-panel-v7 .ai-titlebar h2{margin:5px 0 6px;font-size:21px}.ai-panel-v7 .ai-titlebar p{font-size:11px;line-height:1.5}
.ai-executive{display:grid;grid-template-columns:minmax(235px,.34fr) minmax(0,1fr);gap:14px;padding:20px 24px 14px}
.ai-fit-card,.ai-executive-summary{padding:18px;border:1px solid #e2e8ee;border-radius:13px;background:#f8fafc}
.ai-fit-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.ai-fit-card>span,.ai-executive-summary>span{color:#728293;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.ai-fit-card>strong{margin:8px 0;padding:7px 10px;border-radius:999px;font-size:11px}.fit-card-alta>strong{background:#dff2e8;color:#1e6848}.fit-card-media>strong{background:#fff0d5;color:#845409}.fit-card-baixa>strong{background:#fde5e5;color:#903c3c}.fit-card-indeterminada>strong{background:#e9edf1;color:#596674}
.ai-fit-card small{color:#657585;font-size:9px;line-height:1.55}.ai-fit-card a{margin-top:10px;color:#236c9f;font-size:9px;font-weight:800;text-decoration:none}
.ai-executive-summary{background:linear-gradient(135deg,#f5f2ff,#f1f8ff)}.ai-executive-summary p{margin:12px 0 0;color:#203b52;font-size:14px;line-height:1.7}
.ai-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px 20px}
.ai-metrics article{padding:14px 15px;border:1px solid #e2e8ee;border-radius:11px;background:#fff}.ai-metrics article.risk{border-color:#edcfca;background:#fff9f8}
.ai-metrics span,.ai-metrics b,.ai-metrics small{display:block}.ai-metrics span{color:#66798a;font-size:9px;font-weight:800}.ai-metrics b{margin:6px 0 3px;color:#173d5c;font-size:21px}.ai-metrics small{color:#8995a1;font-size:8px;line-height:1.35}
.ai-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 24px;padding:18px 0 12px;border-top:1px solid #e9eef2}.ai-section-intro h3{margin:4px 0 0;font-size:16px}.ai-section-intro>small{color:#7b8996;font-size:9px}
.ai-findings-v7{gap:14px;padding:0 24px 22px}.ai-findings-v7 section{border-radius:12px;box-shadow:0 3px 10px rgba(24,57,84,.04)}
.ai-findings-v7 h3{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;color:#263f54;font-size:11px}.ai-findings-v7 h3>b{min-width:23px;height:23px;display:grid;place-items:center;border-radius:999px;background:#e7edf3;color:#486174;font-size:9px}
.ai-findings-v7 article{padding:14px 15px}.ai-findings-v7 article strong{font-size:11px;line-height:1.4}.ai-findings-v7 article p{margin:7px 0;color:#42596d;font-size:10px;line-height:1.65}.ai-findings-v7 article small{padding-top:7px;border-top:1px dashed #e1e7ec;color:#778693;font-size:8px;line-height:1.55}.ai-findings-v7 article small>b{color:#5b6f80}
.ai-lists-v7{gap:14px;padding:0 24px 24px}.ai-lists-v7 section{padding:17px;border:1px solid #e1e8ee;border-radius:12px;background:#f9fbfc}.ai-lists-v7 section>div{display:flex;align-items:center;gap:9px;margin-bottom:12px}.ai-lists-v7 section>div>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#dff2e8;color:#216548;font-size:12px;font-weight:900}.ai-lists-v7 .questions>div>span{background:#e7f0fa;color:#286697}.ai-lists-v7 .limits>div>span{background:#fff0da;color:#875b16}.ai-lists-v7 h3{margin:0;font-size:11px}.ai-lists-v7 li{margin:8px 0;color:#435a6e;font-size:10px;line-height:1.55}
@media(max-width:1000px){.source-map-grid{grid-template-columns:1fr 1fr}.opportunity-views{grid-template-columns:1fr 1fr}.opportunity-views a:nth-child(2){border-right:0}.opportunity-views a:nth-child(-n+2){border-bottom:1px solid #e5ebf0}.ai-executive{grid-template-columns:1fr}.ai-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.source-map-head{align-items:flex-start;flex-direction:column}.source-map-grid{grid-template-columns:1fr}.opportunity-views{grid-template-columns:1fr}.opportunity-views a{border-right:0;border-bottom:1px solid #e5ebf0}.opportunity-views a:last-child{border-bottom:0}.ai-panel-v7 .ai-titlebar,.ai-executive,.ai-metrics,.ai-findings-v7,.ai-lists-v7{padding-left:15px;padding-right:15px}.ai-metrics{grid-template-columns:1fr 1fr}.ai-section-intro{margin-left:15px;margin-right:15px;align-items:flex-start;flex-direction:column}.ai-section-intro>small{display:none}.ai-executive-summary p{font-size:12px}}

/* V9 — oportunidades com hierarquia simples e filtros sob demanda */
.op-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 2px 14px;padding:0 0 14px;border-bottom:1px solid #dfe7ee}
.op-page-intro h2{margin:5px 0 5px;font-size:21px;line-height:1.25}.op-page-intro p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.op-summary-bar{display:flex;align-items:stretch;margin:0 0 12px;border:1px solid #dfe7ee;border-radius:11px;background:#fff;overflow:hidden}
.op-summary-bar a{min-width:130px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 15px;border-right:1px solid #e8edf1;color:#4b6072;text-decoration:none;transition:.15s ease}
.op-summary-bar a:last-child{border-right:0}.op-summary-bar a:hover{background:#f6f9fc}.op-summary-bar a.active{background:#edf5fd;color:#174f78;box-shadow:inset 0 -2px #256fa5}.op-summary-bar a.attention{color:#8a5d10;background:#fff9ed}
.op-summary-bar span{font-size:10px;font-weight:750}.op-summary-bar b{color:#102f49;font-size:17px}
.op-search-panel{padding:13px;margin:0 0 18px}.op-search-simple{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center}
.op-search-simple .search-input-wrap input{height:46px;font-size:13px}.btn-filter-toggle{height:46px;display:flex;align-items:center;gap:7px;border:1px solid #cbd7e1;background:#fff;color:#334e64}.btn-filter-toggle:hover,.btn-filter-toggle[aria-expanded=true]{background:#f1f6fa;border-color:#9eb7ca}
.btn-filter-toggle b{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#1d608f;color:#fff;font-size:9px}
.op-filter-drawer{display:none;margin-top:13px;padding-top:13px;border-top:1px solid #e5ebf0}.op-filter-drawer.open{display:block}.op-filter-drawer .op-filter-grid{margin-top:0}
.op-filter-drawer .filter-footer{margin-top:13px}.op-results-head{margin-top:17px}
.user-box span{display:inline-block;margin-right:8px;color:#718293;font-size:9px;font-weight:700}
@media(max-width:760px){.op-page-intro{align-items:flex-start;flex-direction:column;gap:10px}.op-summary-bar{display:grid;grid-template-columns:1fr 1fr}.op-summary-bar a:nth-child(2){border-right:0}.op-summary-bar a:nth-child(-n+2){border-bottom:1px solid #e8edf1}.op-search-simple{grid-template-columns:minmax(0,1fr) auto}.op-search-simple .btn-primary{grid-column:1/-1}.op-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.op-summary-bar{grid-template-columns:1fr}.op-summary-bar a{border-right:0;border-bottom:1px solid #e8edf1}.op-summary-bar a:last-child{border-bottom:0}.op-filter-grid{grid-template-columns:1fr}.op-page-intro h2{font-size:19px}}

/* V10 — menu único e dimensionalmente estável em todas as telas */
.app-shell{grid-template-columns:250px minmax(0,1fr)!important}
.sidebar.sidebar-fixed{width:250px;min-width:250px;max-width:250px;box-sizing:border-box;overflow:hidden}
.sidebar-fixed .brand{min-height:67px;box-sizing:border-box}.sidebar-fixed .side-nav{width:100%;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.sidebar-fixed .side-nav a{width:100%;min-height:44px;box-sizing:border-box;flex:0 0 44px;padding:11px 12px;margin:0;font-size:14px;line-height:20px;white-space:nowrap}
.sidebar-fixed .side-nav a b{min-width:0;overflow:hidden;text-overflow:ellipsis;font:inherit;font-weight:500}.sidebar-fixed .side-nav a span{width:20px;min-width:20px}
.sidebar-fixed .side-nav a.active{font-weight:500}.sidebar-fixed .sidebar-status{width:100%;min-height:72px;box-sizing:border-box}.sidebar-fixed .sidebar-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.app-shell{display:block!important}.sidebar.sidebar-fixed{position:sticky;top:0;width:100%;min-width:0;max-width:none;height:auto;padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sidebar-fixed .brand{min-height:42px}.sidebar-fixed .brand-mark{width:36px;height:36px}.sidebar-fixed .side-nav{order:3;width:100%;padding:8px 0 2px;display:flex;flex-direction:row;gap:6px;overflow-x:auto;overflow-y:hidden}.sidebar-fixed .side-nav a{width:auto;min-width:max-content;flex:0 0 auto;padding:9px 11px;min-height:40px;height:40px}.sidebar-fixed .sidebar-status{display:none}}

/* V29 — Base Certa SaaS: painel superadmin, planos, equipe e cobrança */
.brand-mark,.login-brand-mark{font-size:13px;letter-spacing:-.04em;font-weight:900}.login-brand-mark{font-size:16px}
.admin-page{min-height:100vh;background:#f4f7f9}.admin-page .app-shell{min-height:100vh}.admin-main{padding:24px 28px 40px}.admin-topbar{padding:18px 28px}.admin-subtitle{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.admin-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-kpi{padding:18px;border:1px solid #dce5ec;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(25,54,78,.04)}.admin-kpi span,.admin-kpi strong,.admin-kpi small{display:block}.admin-kpi span{color:#64788a;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.admin-kpi strong{margin:7px 0 3px;color:#153c5a;font-size:25px}.admin-kpi small{color:#8a97a3;font-size:8px;line-height:1.4}.admin-panel{margin-bottom:16px;padding:20px}.admin-panel h2{margin:4px 0 6px;font-size:16px}.admin-panel p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{margin-top:3px;color:#7b8995;font-size:8px}.admin-quick-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-quick-form select,.admin-quick-form input,.admin-manual-form select,.admin-manual-form input{height:35px;padding:7px 9px;border:1px solid #ccd8e1;border-radius:8px;background:#fff;font:inherit;font-size:9px}.admin-quick-form input[type=number]{width:72px}.admin-create-grid,.company-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.admin-create-grid .span-2,.company-settings-grid .span-2{grid-column:span 2}.admin-create-grid label,.company-settings-grid label,.plan-fields label,.plan-subscribe-form label{display:flex;flex-direction:column;gap:5px;color:#52697b;font-size:9px;font-weight:750}.admin-create-grid input,.admin-create-grid select,.company-settings-grid input,.company-settings-grid select,.plan-fields input,.plan-fields textarea,.plan-fields select,.plan-subscribe-form input{width:100%;min-height:39px;padding:9px 10px;border:1px solid #ccd8e1;border-radius:8px;background:#fff;font:inherit;font-size:10px;box-sizing:border-box}.admin-company-list{display:grid;gap:12px}.admin-company-card{padding:0;overflow:hidden}.admin-company-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid #e6edf2;background:#fafcfd}.admin-company-card h2{margin:0 0 3px;font-size:14px}.admin-company-card header p{margin:0;color:#788895;font-size:9px}.admin-company-card .company-body{padding:17px 19px}.admin-user-list{margin-top:15px;border-top:1px solid #e6edf2;padding-top:13px}.admin-user-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px 110px auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f4}.admin-user-row:last-child{border-bottom:0}.admin-user-row strong,.admin-user-row small{display:block}.admin-user-row small{color:#7a8996;font-size:8px}.admin-plan-grid,.client-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-plan-card,.client-plan-card{padding:20px;position:relative}.plan-code{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf4f9;color:#316284;font-size:8px;font-weight:900;letter-spacing:.06em}.plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.plan-fields .span-2{grid-column:1/-1}.plan-resource-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border:1px solid #e0e8ee;border-radius:9px;background:#f8fafb}.plan-resource-list label{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:9px}.plan-resource-list input{width:15px;min-height:15px;height:15px}.billing-config-box{display:flex;align-items:center;justify-content:space-between;gap:20px}.billing-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf1f4;color:#596b7a;font-size:8px;font-weight:900;text-transform:uppercase}.billing-status.authorized,.billing-status.approved,.billing-status.processed{background:#def2e7;color:#226347}.billing-status.pending,.billing-status.in_process{background:#fff0d5;color:#845709}.billing-status.canceled,.billing-status.cancelled,.billing-status.rejected,.billing-status.suspended{background:#fde5e5;color:#913d3d}.billing-status.manual{background:#e9edf1;color:#596674}.admin-manual-form{display:grid;grid-template-columns:minmax(220px,1fr) 120px auto;gap:9px;margin-top:13px;align-items:center}.billing-summary{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:22px;margin-bottom:16px}.billing-summary h2{margin:4px 0 6px;font-size:20px}.billing-summary p{margin:0;max-width:650px;color:var(--muted);font-size:10px;line-height:1.5}.billing-summary-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.billing-summary-meta span{min-width:105px;padding:10px 12px;border:1px solid #e0e7ed;border-radius:9px;background:#f8fafb}.billing-summary-meta small,.billing-summary-meta strong{display:block}.billing-summary-meta small{color:#7a8a97;font-size:8px}.billing-summary-meta strong{margin-top:4px;color:#27485f;font-size:10px}.billing-offline-note{display:flex;gap:9px;align-items:center;margin-bottom:16px;padding:12px 15px;border:1px solid #edce90;border-radius:9px;background:#fff8e9;color:#79500c;font-size:9px}.billing-offline-note strong{white-space:nowrap}.client-plan-card{display:flex;flex-direction:column;min-height:380px}.client-plan-card.current{border-color:#89b5d2;box-shadow:0 8px 24px rgba(30,94,139,.11)}.client-plan-price{display:flex;align-items:baseline;gap:5px;margin:15px 0 7px}.client-plan-price strong{font-size:24px;color:#153d5c}.client-plan-price span{color:#7b8996;font-size:9px}.client-plan-card>p{min-height:34px;color:var(--muted);font-size:10px;line-height:1.5}.plan-benefits{display:grid;gap:7px;margin:14px 0 18px}.plan-benefits span{padding-bottom:7px;border-bottom:1px solid #edf1f4;color:#445c6f;font-size:9px;line-height:1.4}.current-plan-pill{margin-top:auto;align-self:flex-start;padding:7px 10px;border-radius:999px;background:#dff2e8;color:#216548;font-size:8px;font-weight:900}.plan-subscribe-form{margin-top:auto;display:grid;gap:8px}.billing-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:20px}.billing-actions h2{margin:4px 0 5px}.billing-actions p{margin:0;color:var(--muted);font-size:9px}.billing-action-buttons{display:flex;gap:8px}.usage-meter{height:8px;border-radius:999px;background:#e7edf2;overflow:hidden}.usage-meter>span{display:block;height:100%;background:#3575a4;border-radius:inherit}.plan-locked-note{display:inline-flex;max-width:340px;padding:8px 10px;border-radius:8px;background:#fff6e6;color:#815717;font-size:8px;font-weight:750;line-height:1.4}
@media(max-width:1150px){.admin-kpi-grid{grid-template-columns:repeat(3,1fr)}.admin-create-grid,.company-settings-grid{grid-template-columns:repeat(2,1fr)}.admin-plan-grid,.client-plan-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.admin-main{padding:16px}.admin-topbar{padding:14px 16px}.admin-kpi-grid,.admin-plan-grid,.client-plan-grid{grid-template-columns:1fr}.admin-create-grid,.company-settings-grid{grid-template-columns:1fr}.admin-create-grid .span-2,.company-settings-grid .span-2{grid-column:auto}.admin-manual-form{grid-template-columns:1fr}.billing-summary,.billing-actions,.billing-config-box{flex-direction:column}.billing-summary-meta{justify-content:flex-start}.billing-action-buttons{width:100%;flex-wrap:wrap}.admin-user-row{grid-template-columns:1fr 1fr}.plan-fields{grid-template-columns:1fr}.plan-fields .span-2{grid-column:auto}.plan-resource-list{grid-template-columns:1fr}}
.usage-text{margin:9px 0 6px!important;color:#52697b!important;font-size:9px!important}.usage-meter{margin:0 0 14px}


/* V30 — estados Asaas */
.billing-integration-status{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.billing-status.active,.billing-status.received,.billing-status.confirmed,.billing-status.received_in_cash,.billing-status.checkout_paid{background:#def2e7;color:#226347}
.billing-status.checkout_active,.billing-status.pending{background:#fff0d5;color:#845709}
.billing-status.overdue,.billing-status.inactive,.billing-status.deleted,.billing-status.expired,.billing-status.checkout_canceled,.billing-status.checkout_cancelled,.billing-status.checkout_expired{background:#fde5e5;color:#913d3d}
@media(max-width:760px){.billing-integration-status{justify-content:flex-start}}

/* V38 — análise da licitação com hierarquia visual por severidade */
.ai-executive-shell{margin:22px 24px 14px;padding:4px;border:1px solid #dce5ee;border-radius:18px;background:linear-gradient(180deg,#fbfdff 0%,#f4f8fc 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.ai-executive-shell .ai-executive{padding:18px}
.ai-executive-shell .ai-executive-summary{background:#fff;border-color:#d9e4ee}
.ai-executive-shell .ai-fit-card{background:#f8fbfd}
.ai-metrics-v38{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding:2px 24px 20px}
.ai-metrics-v38 .metric-card{display:flex;align-items:flex-start;gap:14px;padding:17px 18px;border:1px solid #dde6ee;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(18,49,73,.05)}
.ai-metrics-v38 .metric-card>div{min-width:0}.ai-metrics-v38 .metric-card small,.ai-metrics-v38 .metric-card strong,.ai-metrics-v38 .metric-card b{display:block}.ai-metrics-v38 .metric-card small{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ai-metrics-v38 .metric-card strong{margin:8px 0 6px;font-size:28px;line-height:1.05;color:#102f49}.ai-metrics-v38 .metric-card b{font-size:11px;line-height:1.45}
.ai-metrics-v38 .metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:18px;font-weight:900;flex:0 0 42px}
.ai-metrics-v38 .metric-feature{grid-column:span 6;padding:20px 21px}.ai-metrics-v38 .metric-feature strong{font-size:31px}.ai-metrics-v38 .metric-attention,.ai-metrics-v38 .metric-info{grid-column:span 3}
.ai-metrics-v38 .metric-feature-critical{border-color:#e4b2ae;background:linear-gradient(180deg,#fff5f4 0%,#fff 100%)}
.ai-metrics-v38 .metric-feature-critical .metric-icon{background:#c93b2d;color:#fff}.ai-metrics-v38 .metric-feature-critical small,.ai-metrics-v38 .metric-feature-critical b{color:#7e2e28}
.ai-metrics-v38 .metric-feature-attention,.ai-metrics-v38 .metric-feature-critical-attn{}
.ai-metrics-v38 .metric-feature-attention .metric-icon{}
.ai-metrics-v38 .metric-feature-critical strong,.ai-metrics-v38 .metric-feature-critical b{max-width:18ch}
.ai-metrics-v38 .metric-feature-critical strong{color:#8f2f28}
.ai-metrics-v38 .metric-feature-critical.metric-feature-info{}
.ai-metrics-v38 .metric-feature-critical.metric-feature-critical{}
.ai-metrics-v38 .metric-feature-attention,.ai-metrics-v38 .metric-feature-attention .metric-icon{}
.ai-metrics-v38 .metric-feature-info{border-color:#d8e4ef;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)}
.ai-metrics-v38 .metric-feature-info .metric-icon{background:#1d6ea3;color:#fff}.ai-metrics-v38 .metric-feature-info small,.ai-metrics-v38 .metric-feature-info b{color:#235678}
.ai-metrics-v38 .metric-feature-attention{border-color:#edd3a1;background:linear-gradient(180deg,#fff9ef 0%,#fff 100%)}
.ai-metrics-v38 .metric-feature-attention .metric-icon{background:#d68515;color:#fff}.ai-metrics-v38 .metric-feature-attention small,.ai-metrics-v38 .metric-feature-attention b{color:#8a5a0f}
.ai-metrics-v38 .metric-feature-critical,.ai-metrics-v38 .metric-feature-attention,.ai-metrics-v38 .metric-feature-info{position:relative}
.ai-metrics-v38 .metric-feature-critical:after,.ai-metrics-v38 .metric-feature-attention:after,.ai-metrics-v38 .metric-feature-info:after{content:'';position:absolute;inset:auto 0 0 0;height:4px;border-radius:0 0 14px 14px;background:currentColor;opacity:.18}
.ai-metrics-v38 .metric-feature-critical{color:#c93b2d}.ai-metrics-v38 .metric-feature-attention{color:#d68515}.ai-metrics-v38 .metric-feature-info{color:#1d6ea3}
.ai-metrics-v38 .metric-attention{border-color:#edd3a1;background:#fffaf1}.ai-metrics-v38 .metric-attention .metric-icon{background:#d68515;color:#fff}.ai-metrics-v38 .metric-attention small,.ai-metrics-v38 .metric-attention b{color:#8a5a0f}
.ai-metrics-v38 .metric-info{border-color:#d8e4ef;background:#f7fbff}.ai-metrics-v38 .metric-info .metric-icon{background:#1d6ea3;color:#fff}.ai-metrics-v38 .metric-info small,.ai-metrics-v38 .metric-info b{color:#235678}
.ai-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.8fr);gap:18px;padding:0 24px 24px}
.ai-main-column,.ai-side-column{min-width:0}.ai-side-column{display:grid;gap:14px;align-self:start;position:sticky;top:14px}
.ai-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.ai-filter-chip{height:38px;padding:0 14px;border:1px solid #d4dfe8;border-radius:999px;background:#fff;color:#36556e;font:inherit;font-size:11px;font-weight:900;cursor:pointer;transition:.18s ease}.ai-filter-chip:hover{background:#f6f9fc}.ai-filter-chip.active{border-color:#0f517e;background:#0f517e;color:#fff;box-shadow:0 8px 18px rgba(15,81,126,.18)}
.ai-accordion-list{display:grid;gap:12px}.ai-accordion{border:1px solid #dde6ee;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(20,56,82,.05);overflow:hidden}.ai-accordion summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer}.ai-accordion summary::-webkit-details-marker{display:none}.ai-accordion:hover{box-shadow:0 10px 24px rgba(20,56,82,.08)}
.ai-accordion.severity-critical{border-color:#e4b2ae}.ai-accordion.severity-attention{border-color:#ecd29e}.ai-accordion.severity-info{border-color:#d8e4ef}
.ai-accordion-head{display:flex;align-items:flex-start;gap:12px;min-width:0}.ai-severity-icon,.ai-item-icon,.ai-side-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;font-size:13px;font-weight:900;flex:0 0 28px}.ai-severity-icon.severity-critical,.ai-item-icon.severity-critical{background:#c93b2d;color:#fff}.ai-severity-icon.severity-attention,.ai-item-icon.severity-attention{background:#d68515;color:#fff}.ai-severity-icon.severity-info,.ai-item-icon.severity-info{background:#5f768b;color:#fff}
.ai-accordion-head small{display:block;margin:1px 0 5px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ai-accordion.severity-critical .ai-accordion-head small{color:#9a342c}.ai-accordion.severity-attention .ai-accordion-head small{color:#946117}.ai-accordion.severity-info .ai-accordion-head small{color:#5e7285}
.ai-accordion-head h4{margin:0;color:#142d42;font-size:20px;line-height:1.2}.ai-accordion-head p{margin:5px 0 0;color:#5e7487;font-size:12px;line-height:1.55}
.ai-accordion-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ai-accordion-meta>b{min-width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#edf3f7;color:#27455c;font-size:12px}
.required-pill-solid{background:#d68515!important;color:#fff!important;border:0!important;box-shadow:0 4px 10px rgba(214,133,21,.24)}
.required-pill,.severity-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.severity-pill.severity-critical{background:#c93b2d;color:#fff}.severity-pill.severity-attention{background:#d68515;color:#fff}.severity-pill.severity-info{background:#e9eff4;color:#496072}
.ai-accordion-body{padding:0 18px 18px;display:grid;gap:10px}.ai-item{padding:14px 15px;border-radius:14px;border:1px solid #e3eaf0;background:#fbfdfe}.ai-item.severity-critical{border-color:#e7c1bd;background:#fff7f6}.ai-item.severity-attention{border-color:#ecd8b1;background:#fffaf1}.ai-item.severity-info{border-color:#dbe6ef;background:#f8fbfd}
.ai-item-head{display:flex;align-items:flex-start;gap:12px}.ai-item-title-wrap{min-width:0;flex:1}.ai-item-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-item-title-row h5{margin:0;color:#142d42;font-size:16px;line-height:1.32}.ai-item-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ai-item-title-wrap>p{margin:8px 0 0;color:#3f5668;font-size:12px;line-height:1.66}
.ai-evidence{margin-top:10px;padding-top:10px;border-top:1px dashed #d8e2ea}.ai-evidence summary{list-style:none;cursor:pointer;color:#1e6494;font-size:11px;font-weight:900}.ai-evidence summary::-webkit-details-marker{display:none}.ai-evidence div{margin-top:8px}.ai-evidence small{display:block;color:#6b7d8c;font-size:10px;line-height:1.55}.ai-evidence p{margin:6px 0 0;color:#41596d;font-size:11px;line-height:1.6}
.ai-side-card{padding:18px;border:1px solid #dde6ee;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(20,56,82,.05)}.ai-side-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px}.ai-side-head small{display:block;margin:1px 0 4px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ai-side-head h3{margin:0;color:#142d42;font-size:18px;line-height:1.25}
.ai-side-card ul{margin:0;padding-left:18px}.ai-side-card li{margin:8px 0;color:#42596d;font-size:12px;line-height:1.6}.ai-side-card.side-confirm{border-color:#e8c19b;background:linear-gradient(180deg,#fff8ef 0%,#fff 100%)}.ai-side-card.side-confirm .ai-side-icon{background:#d68515;color:#fff}.ai-side-card.side-confirm .ai-side-head small{color:#8d5d15}.ai-side-card.side-checklist{border-color:#d5e4ef;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}.ai-side-card.side-checklist .ai-side-icon{background:#1d6ea3;color:#fff}.ai-side-card.side-checklist .ai-side-head small{color:#235678}.ai-side-card.side-limits{border-color:#dde4ea;background:#fafcfd}.ai-side-card.side-limits .ai-side-icon{background:#6a7d8d;color:#fff}.ai-side-card.side-limits .ai-side-head small{color:#5b6c7b}
.ai-checklist-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;padding:9px 11px;border-radius:10px;background:#eef5fb;color:#254f6e}.ai-checklist-progress span{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ai-checklist-progress b{font-size:11px}
.ai-checklist-list{list-style:none;padding:0!important}.ai-checklist-list li{margin:0 0 8px}.ai-checklist-list label{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid #d8e4ef;border-radius:11px;background:#fff;cursor:pointer}.ai-checklist-list input{margin-top:2px}.ai-checklist-list span{color:#3b556a;font-size:12px;line-height:1.55}.ai-checklist-list .plain-item{padding:0;color:#526779}
.ai-panel-v7 .ai-titlebar h2{font-size:28px}.ai-panel-v7 .ai-titlebar p{font-size:12px}.ai-section-intro h3{font-size:24px}.opportunity-page h1,.app-content .modern-topbar h1{font-size:32px}
@media(max-width:1180px){.ai-content-grid{grid-template-columns:1fr}.ai-side-column{position:static;grid-template-columns:1fr 1fr}.ai-side-column .side-limits{grid-column:1/-1}.ai-metrics-v38 .metric-feature{grid-column:span 12}.ai-metrics-v38 .metric-attention,.ai-metrics-v38 .metric-info{grid-column:span 6}}
@media(max-width:760px){.ai-executive-shell{margin-left:15px;margin-right:15px}.ai-metrics-v38,.ai-content-grid{padding-left:15px;padding-right:15px}.ai-metrics-v38{grid-template-columns:1fr}.ai-metrics-v38 .metric-card,.ai-metrics-v38 .metric-feature,.ai-metrics-v38 .metric-attention,.ai-metrics-v38 .metric-info{grid-column:span 1}.ai-section-intro{margin-left:15px;margin-right:15px}.ai-side-column{grid-template-columns:1fr}.ai-accordion summary{padding:14px}.ai-accordion-head h4{font-size:18px}.ai-item-title-row{flex-direction:column}.ai-panel-v7 .ai-titlebar h2{font-size:24px}.ai-section-intro h3{font-size:22px}}

/* V38.1 — reduzir dimensões dos cards da análise */
.ai-metrics-v38{gap:10px;padding-top:0}
.ai-metrics-v38 .metric-card{gap:10px;padding:13px 14px;border-radius:12px}
.ai-metrics-v38 .metric-icon{width:36px;height:36px;flex:0 0 36px;border-radius:10px;font-size:15px}
.ai-metrics-v38 .metric-card small{font-size:9px}
.ai-metrics-v38 .metric-card strong{margin:6px 0 4px;font-size:24px}
.ai-metrics-v38 .metric-card b{font-size:10px;line-height:1.35}
.ai-metrics-v38 .metric-feature{padding:15px 16px}
.ai-metrics-v38 .metric-feature strong{font-size:26px}

.ai-content-grid{gap:14px;padding-top:0}
.ai-accordion{border-radius:14px}
.ai-accordion summary{padding:13px 14px;gap:12px}
.ai-accordion-head{gap:10px}
.ai-accordion-head h4{font-size:17px}
.ai-accordion-head p{font-size:11px;line-height:1.45}
.ai-accordion-head small{font-size:9px}
.ai-accordion-meta>b{min-width:30px;height:30px;font-size:11px}
.ai-accordion-body{padding:0 14px 14px;gap:8px}

.ai-item{padding:11px 12px;border-radius:12px}
.ai-item-head{gap:10px}
.ai-item-title-row h5{font-size:14px}
.ai-item-title-wrap>p{font-size:11px;line-height:1.55}
.ai-item-badges{gap:5px}
.required-pill,.severity-pill{padding:4px 8px;font-size:8px}
.ai-evidence{margin-top:8px;padding-top:8px}
.ai-evidence summary{font-size:10px}
.ai-evidence small,.ai-evidence p{font-size:10px}

.ai-side-column{gap:12px}
.ai-side-card{padding:14px;border-radius:14px}
.ai-side-head{gap:9px;margin-bottom:10px}
.ai-side-head h3{font-size:16px}
.ai-side-head small{font-size:9px}
.ai-side-card li{font-size:11px;line-height:1.5}
.ai-checklist-progress{margin-bottom:9px;padding:8px 10px}
.ai-checklist-progress span{font-size:9px}
.ai-checklist-progress b{font-size:10px}
.ai-checklist-list li{margin:0 0 6px}
.ai-checklist-list label{padding:8px 9px;border-radius:10px}
.ai-checklist-list span{font-size:11px;line-height:1.45}

@media(max-width:760px){
  .ai-metrics-v38 .metric-card,.ai-metrics-v38 .metric-feature{padding:13px 14px}
  .ai-metrics-v38 .metric-feature strong{font-size:24px}
  .ai-accordion summary{padding:12px}
}

/* V38.2 — análise ainda mais compacta, preservando hierarquia visual */
.ai-executive-shell{margin:16px 20px 10px;border-radius:14px}
.ai-executive-shell .ai-executive{gap:10px;padding:12px}
.ai-fit-card,.ai-executive-summary{padding:13px;border-radius:11px}
.ai-executive-summary p{margin-top:8px;font-size:12px;line-height:1.55}
.ai-fit-card>strong{margin:6px 0;padding:5px 8px;font-size:10px}
.ai-fit-card small{font-size:8.5px;line-height:1.45}

.ai-metrics-v38{gap:8px;padding:0 20px 14px}
.ai-metrics-v38 .metric-card{gap:8px;padding:10px 11px;border-radius:10px;box-shadow:0 3px 10px rgba(18,49,73,.045)}
.ai-metrics-v38 .metric-feature{padding:12px 13px}
.ai-metrics-v38 .metric-icon{width:31px;height:31px;flex-basis:31px;border-radius:8px;font-size:13px}
.ai-metrics-v38 .metric-card small{font-size:8px}
.ai-metrics-v38 .metric-card strong{margin:4px 0 2px;font-size:20px}
.ai-metrics-v38 .metric-feature strong{font-size:22px}
.ai-metrics-v38 .metric-card b{font-size:9px;line-height:1.25}

.ai-content-grid{gap:11px;padding:0 20px 18px}
.ai-section-intro{margin:0 0 8px;padding:12px 0 8px}
.ai-section-intro h3{font-size:21px}
.ai-filter-bar{gap:6px;margin-bottom:10px}
.ai-filter-chip{height:32px;padding:0 11px;font-size:9.5px}

.ai-accordion-list{gap:7px}
.ai-accordion{border-radius:11px;box-shadow:0 3px 9px rgba(20,56,82,.045)}
.ai-accordion summary{gap:9px;padding:9px 11px}
.ai-accordion-head{gap:8px}
.ai-severity-icon,.ai-item-icon,.ai-side-icon{width:24px;height:24px;flex-basis:24px;font-size:11px}
.ai-accordion-head small{margin-bottom:3px;font-size:8px}
.ai-accordion-head h4{font-size:15px;line-height:1.18}
.ai-accordion-head p{margin-top:3px;font-size:9.5px;line-height:1.35}
.ai-accordion-meta{gap:5px}
.ai-accordion-meta>b{min-width:26px;height:26px;font-size:9px}
.required-pill,.severity-pill{padding:3px 6px;font-size:7px}

.ai-accordion-body{gap:6px;padding:0 10px 10px}
.ai-item{padding:8px 9px;border-radius:9px}
.ai-item-head{gap:8px}
.ai-item-title-row{gap:8px}
.ai-item-title-row h5{font-size:12.5px;line-height:1.25}
.ai-item-title-wrap>p{margin-top:5px;font-size:9.5px;line-height:1.45}
.ai-evidence{margin-top:6px;padding-top:6px}
.ai-evidence summary{font-size:9px}
.ai-evidence small,.ai-evidence p{font-size:8.5px;line-height:1.4}

.ai-side-column{gap:8px}
.ai-side-card{padding:10px 11px;border-radius:11px;box-shadow:0 3px 9px rgba(20,56,82,.045)}
.ai-side-head{gap:7px;margin-bottom:7px}
.ai-side-head small{margin-bottom:2px;font-size:8px}
.ai-side-head h3{font-size:14px}
.ai-side-card ul{padding-left:15px}
.ai-side-card li{margin:5px 0;font-size:9.5px;line-height:1.42}
.ai-checklist-progress{margin-bottom:7px;padding:6px 8px;border-radius:8px}
.ai-checklist-progress span{font-size:8px}
.ai-checklist-progress b{font-size:9px}
.ai-checklist-list li{margin-bottom:4px}
.ai-checklist-list label{gap:7px;padding:6px 7px;border-radius:8px}
.ai-checklist-list span{font-size:9.5px;line-height:1.35}
.ai-checklist-list input{width:14px;height:14px}

.ai-empty-v382{padding:18px 20px}
.ai-empty-v382 .ai-retry-form{margin-top:12px}
.ai-empty-v382 .btn{min-height:36px;padding:8px 12px}

@media(max-width:760px){
 .ai-executive-shell{margin-left:12px;margin-right:12px}
 .ai-metrics-v38,.ai-content-grid{padding-left:12px;padding-right:12px}
 .ai-section-intro{margin-left:0;margin-right:0}
}

/* V39 — dossiê minimalista da análise da licitação */
.ai-panel-v39{padding:0;overflow:hidden}
.ai-titlebar-v39{padding:18px 22px;border-bottom:1px solid #e6edf3;background:#fff}
.ai-titlebar-v39 h2{margin:6px 0 4px;font-size:28px;line-height:1.15;color:#112a40}
.ai-titlebar-v39 p{margin:0;color:#617587;font-size:12px;max-width:68ch}
.ai-titlebar-v39 .ai-provider{align-self:flex-start}
.ai-panel-v39 .ai-empty{margin:20px 22px 22px;padding:18px;border:1px solid #dde5eb;border-radius:14px;background:#fbfcfd}
.ai-dossier-shell{display:grid;grid-template-columns:190px minmax(0,1fr) 330px;gap:24px;padding:22px}
.ai-dossier-nav,.ai-dossier-side{min-width:0}.ai-dossier-main{min-width:0}
.ai-dossier-nav-box{position:sticky;top:14px;padding:14px;border:1px solid #e4ebf1;border-radius:14px;background:#fff}
.ai-dossier-nav-box h3{margin:4px 0 12px;font-size:18px;color:#152d42}.ai-dossier-nav-box nav{display:grid;gap:4px}
.ai-dossier-nav-box a{display:block;padding:8px 10px;border-radius:10px;color:#415a6f;text-decoration:none;font-size:12px;font-weight:700;transition:background .18s ease,color .18s ease}.ai-dossier-nav-box a:hover{background:#f4f7fa;color:#163149}
.ai-dossier-main{display:grid;gap:18px}
.ai-report-block{padding:0 0 18px;border-bottom:1px solid #e8eef3}.ai-report-block:last-child{border-bottom:0;padding-bottom:0}
.ai-overview-topline{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;color:#5f7282;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ai-overview-topline span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f3f6f8}.ai-overview-topline .ai-phase.critical{background:#fff0ee;color:#9d352c}.ai-overview-topline .ai-phase.attention{background:#fff5e8;color:#925d10}.ai-overview-topline .ai-phase.info{background:#edf4f8;color:#29577a}
.ai-overview-block h3{margin:0 0 10px;font-size:30px;line-height:1.08;color:#10283d}.ai-lead{margin:0 0 14px;color:#324b5f;font-size:15px;line-height:1.7;max-width:72ch}
.ai-kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.ai-kpi-strip div{padding:12px 12px 10px;border:1px solid #e4ebf0;border-radius:12px;background:#fff}.ai-kpi-strip span{display:block;margin-bottom:6px;color:#6c7c8a;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ai-kpi-strip strong{display:block;color:#0f2b40;font-size:16px;line-height:1.3}
.ai-overview-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-left:3px solid #d68415;background:#faf7f2;border-radius:0 12px 12px 0}.ai-overview-note strong{white-space:nowrap;color:#82550f;font-size:12px}.ai-overview-note span{color:#55697a;font-size:12px;line-height:1.6}
.ai-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.ai-section-head h3{margin:5px 0 0;font-size:24px;line-height:1.16;color:#132c42}.ai-section-head small{color:#798997;font-size:11px}
.ai-panel-v39 .section-kicker{font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#5e7182}.ai-panel-v39 .section-kicker.critical{color:#9f362d}.ai-panel-v39 .section-kicker.attention{color:#935f12}.ai-panel-v39 .section-kicker.info{color:#2a577a}
.ai-bullet-list{display:grid;gap:10px}.ai-bullet-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:0 0 10px;border-bottom:1px dashed #e5ebf0}.ai-bullet-item:last-child{border-bottom:0;padding-bottom:0}.ai-bullet-item .dot{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:900;margin-top:2px}.ai-bullet-item.severity-critical .dot{background:#cb3d2f;color:#fff}.ai-bullet-item.severity-attention .dot{background:#d68415;color:#fff}.ai-bullet-item.severity-info .dot{background:#6c8192;color:#fff}
.ai-bullet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-bullet-head h4{margin:0;color:#122c42;font-size:16px;line-height:1.35}.ai-bullet-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ai-bullet-item p{margin:6px 0 0;color:#43596d;font-size:12px;line-height:1.65}.required-pill,.severity-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.required-pill-solid{background:#d68415!important;color:#fff!important;border:0!important}.severity-pill.severity-critical{background:#cb3d2f;color:#fff}.severity-pill.severity-attention{background:#d68415;color:#fff}.severity-pill.severity-info{background:#ecf1f4;color:#536a7b}
.ai-inline-evidence{margin-top:8px}.ai-inline-evidence summary{cursor:pointer;list-style:none;color:#1f648f;font-size:11px;font-weight:800}.ai-inline-evidence summary::-webkit-details-marker{display:none}.ai-inline-evidence div{margin-top:7px;padding:10px 12px;border:1px solid #e6edf2;border-radius:10px;background:#fafcfd}.ai-inline-evidence small{display:block;color:#6d7f8e;font-size:10px}.ai-inline-evidence p{margin:5px 0 0;color:#43586a;font-size:11px;line-height:1.55}
.ai-evidence-summary{display:grid;gap:10px}.ai-evidence-summary article{padding:12px 14px;border:1px solid #e4ebf0;border-radius:12px;background:#fff}.ai-evidence-summary strong{display:block;margin-bottom:5px;color:#133047;font-size:13px}.ai-evidence-summary small{display:block;color:#718290;font-size:10px}.ai-evidence-summary p{margin:6px 0 0;color:#42586b;font-size:11px;line-height:1.6}
.ai-dossier-side{display:grid;gap:14px;align-self:start;position:sticky;top:14px}
.ai-decision-panel{padding:14px;border:1px solid #e3eaf0;border-radius:14px;background:#fff}.ai-decision-panel h3{margin:4px 0 12px;font-size:20px;color:#142d42}.ai-decision-stats{display:grid;gap:8px}.ai-decision-stats div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eef2f5}.ai-decision-stats div:first-child{border-top:0;padding-top:0}.ai-decision-stats small{color:#6b7c89;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ai-decision-stats strong{color:#102a40;font-size:14px}
.ai-side-card{padding:14px;border:1px solid #e3eaf0;border-radius:14px;background:#fff}.ai-side-head{margin-bottom:10px}.ai-side-head h3{margin:4px 0 0;font-size:18px;color:#132d43}.ai-side-head small{display:block;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.side-confirm{border-left:3px solid #d68415}.side-confirm .ai-side-head small{color:#935f12}.side-checklist{border-left:3px solid #1f6d9f}.side-checklist .ai-side-head small{color:#295a7b}.side-limits{border-left:3px solid #9aabb7}.side-limits .ai-side-head small{color:#637582}
.ai-side-card ul{margin:0;padding-left:18px}.ai-side-card li{margin:8px 0;color:#41576a;font-size:12px;line-height:1.55}.ai-checklist-list{list-style:none;padding-left:0!important}.ai-checklist-list li{margin:0 0 8px}.ai-checklist-list label{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border:1px solid #e0e8ee;border-radius:10px;background:#fbfcfd;cursor:pointer}.ai-checklist-list input{margin-top:2px}.ai-checklist-list span{color:#3f5568;font-size:12px;line-height:1.5}
.critical-list .ai-bullet-item{padding-bottom:12px}
@media(max-width:1220px){.ai-dossier-shell{grid-template-columns:170px minmax(0,1fr) 290px;gap:18px}.ai-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.ai-dossier-shell{grid-template-columns:1fr}.ai-dossier-nav-box,.ai-dossier-side{position:static}.ai-dossier-nav-box nav{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-dossier-side{grid-template-columns:1fr 1fr}.side-limits{grid-column:1/-1}.ai-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ai-titlebar-v39{padding:16px}.ai-dossier-shell{padding:16px}.ai-titlebar-v39 h2{font-size:24px}.ai-overview-block h3{font-size:25px}.ai-section-head{display:block}.ai-section-head small{display:block;margin-top:6px}.ai-kpi-strip{grid-template-columns:1fr}.ai-dossier-nav-box nav{grid-template-columns:1fr}.ai-dossier-side{grid-template-columns:1fr}.ai-bullet-head{display:block}.ai-bullet-tags{margin-top:7px;justify-content:flex-start}}

/* V52 — carregamento de pesquisa centralizado e sem texto solto */
.results-stage {
    position: relative;
    min-height: 88px;
    background: #fff;
}
.results-stage.is-loading {
    min-height: 300px;
}
.results-stage.is-loading .table-wrap,
.results-stage.is-loading .continuous-status {
    visibility: hidden;
    pointer-events: none;
}
.results-panel.is-searching #resumo {
    visibility: hidden;
}
.results-panel.is-searching .report-actions {
    opacity: .42;
    pointer-events: none;
}
.search-loading-overlay {
    position: absolute;
    inset: 0;
    z-index: 12;
    min-height: 300px;
    display: grid;
    place-items: center;
    padding: 30px 20px 34px;
    background: rgba(249, 250, 251, .97);
    backdrop-filter: blur(2px);
}
.search-loading-overlay.hidden {
    display: none !important;
}
.search-loading-box {
    width: min(520px, 100%);
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 9px;
}
.search-loading-spinner {
    width: 52px;
    height: 52px;
    margin-bottom: 7px;
    border: 4px solid #e8e1d7;
    border-top-color: #b97912;
    border-radius: 50%;
    animation: spin .72s linear infinite;
    box-shadow: 0 0 0 8px rgba(185,121,18,.06);
}
.search-loading-kicker {
    color: #9a6410;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.search-loading-box strong {
    color: #152b3f;
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.search-loading-box > span#search-loading-detail {
    max-width: 460px;
    color: #687786;
    font-size: 12px;
    line-height: 1.55;
}
.search-loading-progress {
    position: relative;
    width: min(270px, 76vw);
    height: 4px;
    margin: 9px 0 3px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7ebee;
}
.search-loading-progress span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 42%;
    border-radius: inherit;
    background: #b97912;
    animation: searchProgressV52 1.15s ease-in-out infinite;
}
.search-loading-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    margin-top: 3px;
    padding: 6px 11px;
    border: 1px solid #e0e4e8;
    border-radius: 999px;
    background: #fff;
    color: #536476;
    box-shadow: 0 5px 16px rgba(22,42,60,.05);
    font-size: 10px;
    font-weight: 800;
}
.btn-search.is-loading {
    cursor: wait;
    opacity: .82;
}
.btn-search.is-loading::before {
    content: "";
    width: 13px;
    height: 13px;
    margin-right: 7px;
    border: 2px solid rgba(255,255,255,.38);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .72s linear infinite;
}
.continuous-loading-dot {
    font-size: 10px;
    color: var(--muted);
}
@keyframes searchProgressV52 {
    0% { transform: translateX(-110%); }
    52% { transform: translateX(145%); }
    100% { transform: translateX(340%); }
}
@media (max-width: 700px) {
    .results-stage.is-loading,
    .search-loading-overlay { min-height: 270px; }
    .search-loading-overlay { padding: 24px 16px 28px; }
    .search-loading-box strong { font-size: 19px; }
}

/* Base Certa V53 — filtros guiados de alertas */
.smart-filter-block{display:grid;gap:9px}.smart-filter-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.smart-filter-head span{display:block;font-size:11px;font-weight:800;color:var(--ink)}.smart-filter-head small{display:block;margin-top:3px;font-size:9px;color:var(--muted);font-weight:500}.tag-editor{border:1px solid #d2dce5;border-radius:10px;background:#fff;padding:8px;display:grid;gap:8px}.tag-editor:focus-within{border-color:#d49a16;box-shadow:0 0 0 3px rgba(212,154,22,.10)}.tag-editor-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-editor-tags:empty{display:none}.tag-editor-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.tag-editor-entry input{border:0!important;box-shadow:none!important;padding:7px 5px!important;min-width:0;background:transparent!important}.tag-editor-entry input:focus{outline:0}.tag-editor-entry .btn{min-height:34px;padding:7px 12px}.filter-tag{border:1px solid #d7e0e7;background:#f5f7f8;color:#23374a;border-radius:999px;padding:5px 8px 5px 10px;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:750;cursor:pointer}.filter-tag b{font-size:14px;line-height:1;color:#8a5f00}.smart-suggestions{display:flex;flex-wrap:wrap;gap:5px}.suggestion-chip,.mini-action{border:1px solid #dbe2e7;background:#fff;color:#435363;border-radius:999px;font:inherit;font-size:9px;font-weight:750;padding:5px 8px;cursor:pointer}.suggestion-chip:hover,.mini-action:hover{border-color:#d49a16;color:#7d5700;background:#fffaf0}.uf-picker{border:1px solid #e0d8c7;border-radius:12px;background:#fbfaf7;padding:12px}.uf-picker legend{padding:0 5px;font-size:11px;font-weight:800;color:var(--ink)}.uf-picker legend small{font-weight:500;color:var(--muted)}.uf-toolbar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.uf-grid{display:grid;grid-template-columns:repeat(9,minmax(42px,1fr));gap:5px}.uf-grid label{position:relative}.uf-grid input{position:absolute;opacity:0;pointer-events:none}.uf-grid span{display:flex;justify-content:center;align-items:center;min-height:34px;border:1px solid #d8e0e5;border-radius:8px;background:#fff;font-size:10px;font-weight:800;color:#4b5966;cursor:pointer;transition:.15s ease}.uf-grid input:checked+span{border-color:#d19a22;background:#fff3d5;color:#6f4d00;box-shadow:0 0 0 2px rgba(209,154,34,.08)}
@media(max-width:1100px){.uf-grid{grid-template-columns:repeat(7,minmax(42px,1fr))}}@media(max-width:760px){.uf-grid{grid-template-columns:repeat(5,minmax(42px,1fr))}.tag-editor-entry{grid-template-columns:1fr}.tag-editor-entry .btn{width:100%}}@media(max-width:420px){.uf-grid{grid-template-columns:repeat(4,minmax(42px,1fr))}}
