:root {
    color-scheme: light;
    --green-950: #203461;
    --green-900: #2b4581;
    --green-800: #3b5ca3;
    --green-100: #e8eef8;
    --green-50: #f4f7fc;
    --ink: #1f293a;
    --muted: #384151;
    --line: #dde4ef;
    --surface: #ffffff;
    --background: #f5f7fa;
    --yellow: #fff2a8;
    --shadow: 0 14px 35px rgba(43, 69, 129, .08);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--background); }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--background); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.15; letter-spacing: -.035em; }
h2 { margin-bottom: 6px; font-size: 1.15rem; }
h3 { font-size: 1rem; }
p { color: var(--muted); line-height: 1.6; }

.app-shell { min-height: 100vh; }
.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 10;
    width: 250px;
    padding: 26px 20px;
    display: flex;
    flex-direction: column;
    color: white;
    background: var(--green-900);
}
.brand { display: block; padding: 2px 5px 29px; }
.brand-logo {
    width: 190px;
    max-width: 100%;
    height: auto;
    display: block;
}
.brand-text-fallback { color: white; font-size: 1.35rem; font-weight: 900; letter-spacing: -.03em; }
.main-nav { display: grid; gap: 8px; }
.main-nav a {
    display: flex; align-items: center; gap: 13px; padding: 13px 15px; border-radius: 11px;
    color: #dce6f8; transition: .2s ease;
}
.main-nav a > span { width: 22px; font-weight: 700; }
.main-nav .nav-icon { height: 22px; display: grid; place-items: center; flex: 0 0 22px; }
.main-nav .nav-icon svg { width: 20px; height: 20px; display: block; }
.main-nav .nav-unread-badge {
    width: auto; min-width: 22px; height: 22px; margin-left: auto; padding: 0 6px;
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    color: white; border: 2px solid var(--green-900); border-radius: 99px; background: #d83d4d;
    box-shadow: 0 4px 12px rgba(117, 11, 28, .32); font-size: .67rem; font-weight: 900; line-height: 1;
}
.main-nav a.active .nav-unread-badge, .main-nav a:hover .nav-unread-badge { border-color: #566da0; }
.main-nav a:hover, .main-nav a.active { color: white; background: rgba(255,255,255,.1); }
.sidebar-footer { margin-top: auto; padding: 18px 10px 0; border-top: 1px solid rgba(255,255,255,.14); }
.signed-user { display: grid; gap: 3px; margin-bottom: 14px; }
.signed-user span { font-weight: 700; }
.signed-user small { color: #c3d0e7; overflow-wrap: anywhere; }
.nav-logout { padding: 0; border: 0; color: #d7e1f2; background: transparent; }
.nav-logout:hover { color: white; text-decoration: underline; }

.main-content { margin-left: 250px; padding: 38px clamp(24px, 4vw, 64px) 64px; }
.page-header {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px;
}
.page-header p { margin-bottom: 0; }
.eyebrow { margin-bottom: 6px !important; color: var(--green-800) !important; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.back-link { display: inline-block; margin-bottom: 14px; color: var(--green-800); font-size: .9rem; font-weight: 700; }
.back-link:hover, .text-link:hover { text-decoration: underline; }

.button {
    min-height: 43px; padding: 11px 18px; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid transparent; border-radius: 9px; font-weight: 750; transition: .18s ease;
}
.button.primary { color: white; background: var(--green-900); }
.button.primary:hover { background: var(--green-950); transform: translateY(-1px); }
.button.secondary { color: var(--green-900); border-color: var(--line); background: white; }
.button.secondary:hover { border-color: var(--green-800); }
.button.danger { color: #a23535; border-color: #e8bcbc; background: white; }
.button.danger:hover { color: white; border-color: #a23535; background: #a23535; }
.button:disabled { cursor: not-allowed; opacity: .5; transform: none !important; }
.button.danger:disabled:hover { color: #a23535; border-color: #e8bcbc; background: white; }
.button.full { width: 100%; }
.button.compact { min-height: 35px; padding: 7px 12px; font-size: .82rem; }

.password-change-heading { grid-column: 1 / -1; padding-top: 5px; }
.password-change-heading h2 { margin-bottom: 3px; }
.password-change-heading p { margin-bottom: 0; font-size: .9rem; }
.profile-form-panel { max-width: 980px; }
.profile-logo-section {
    grid-column: 1 / -1; padding: 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr); gap: 24px;
    border: 1px solid var(--line); border-radius: 12px; background: #f8faff;
}
.profile-logo-copy h2 { margin-bottom: 4px; }
.profile-logo-copy > p { margin-bottom: 16px; font-size: .88rem; }
.profile-logo-copy .profile-logo-help { margin: 8px 0 0; font-size: .8rem; }
.profile-logo-help a { color: var(--green-800); font-weight: 800; }
.profile-logo-help a:hover { text-decoration: underline; }
.profile-logo-remove { margin-top: 13px; background: #fff; }
.profile-logo-preview { min-width: 0; display: grid; align-content: start; gap: 8px; }
.profile-logo-preview > span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.profile-logo-preview > div {
    min-height: 118px; padding: 18px; display: grid; place-items: center;
    border: 1px solid var(--line); border-radius: 10px; background: #fff;
}
.profile-logo-preview img { width: auto; height: auto; max-width: 100%; max-height: 92px; object-fit: contain; }
.profile-logo-preview .is-empty { color: var(--muted); font-size: .82rem; text-align: center; }

.alert { margin-bottom: 22px; padding: 14px 17px; border-radius: 10px; border: 1px solid; }
.alert.success { color: #176543; border-color: #a7ddc4; background: #edf9f3; }
.alert.error { color: #923838; border-color: #efbbbb; background: #fff2f2; }
.alert.warning { color: #73560d; border-color: #ead899; background: #fff9df; }
.alert.warning code { font-size: .82em; font-weight: 800; }
.alert.compact { margin-bottom: 18px; padding: 10px 12px; }
.alert ul { margin: 8px 0 0; padding-left: 20px; }

.panel {
    padding: 25px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: var(--surface);
    box-shadow: var(--shadow);
}
.panel-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.panel-heading-main { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.panel-heading-main .count-badge { flex: 0 0 auto; margin-top: 1px; }
.panel-heading h2 { margin-bottom: 4px; }
.panel-heading p { margin-bottom: 0; font-size: .9rem; }
.text-link { color: var(--green-800); font-weight: 750; white-space: nowrap; }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.stat-card { padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.stat-card span { display: block; margin-bottom: 13px; color: var(--muted); font-size: .86rem; }
.stat-card strong { font-size: 2rem; letter-spacing: -.04em; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 11px 12px; color: var(--muted); font-size: .75rem; text-align: left; text-transform: uppercase; letter-spacing: .07em; }
td { padding: 15px 12px; border-top: 1px solid var(--line); vertical-align: middle; }
td strong, td small { display: block; }
td small { max-width: 520px; margin-top: 4px; color: var(--muted); line-height: 1.35; }

.empty-state { padding: 48px 20px; text-align: center; }
.empty-state.small { padding: 30px 20px; }
.empty-state p { max-width: 520px; margin: 0 auto 18px; }

.client-grid { display: grid; gap: 12px; }
.client-card {
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px;
    padding: 18px; border: 1px solid var(--line); border-radius: 12px; transition: .18s ease;
}
.client-card:hover { border-color: #b8c7df; background: var(--green-50); transform: translateY(-1px); }
.client-card h2 { margin-bottom: 4px; }
.client-card p { margin-bottom: 5px; }
.client-card small { color: var(--muted); }
.client-avatar {
    width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 50%;
    color: var(--green-900); background: white; flex: 0 0 auto;
}
.client-avatar img { width: 30px; height: 30px; object-fit: contain; }
.client-avatar .client-avatar-fallback { display: none; font-size: 1.35rem; font-weight: 800; }
.client-avatar.favicon-missing { background: var(--green-100); }
.client-avatar.favicon-missing .client-avatar-fallback { display: block; }
.client-avatar.large { width: 58px; height: 58px; }
.client-avatar.large img { width: 36px; height: 36px; }
.card-arrow { color: var(--green-800); font-size: 1.35rem; }
.pagination { margin-top: 22px; }

.form-panel { max-width: 880px; }
.user-form-panel { max-width: 760px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 21px; }
.field { display: grid; align-content: start; gap: 8px; }
.field.span-2 { grid-column: span 2; }
.field > span { font-size: .9rem; font-weight: 750; }
.field small { color: var(--muted); }
input, textarea, select {
    width: 100%; padding: 12px 13px; color: var(--ink); border: 1px solid #d1d9e6; border-radius: 9px; background: white;
    outline: none; transition: .18s;
}
input:focus, textarea:focus, select:focus { border-color: var(--green-800); box-shadow: 0 0 0 3px rgba(43,69,129,.12); }
textarea { resize: vertical; }
.company-registry-fields {
    padding: 18px; display: grid; gap: 18px;
    border: 1px solid #cbd6e8; border-radius: 13px; background: #f8faff;
}
.registry-heading > div { display: grid; gap: 5px; }
.registry-heading span { color: var(--ink); font-weight: 800; }
.registry-heading small { color: var(--muted); line-height: 1.45; }
.cnpj-lookup-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
.cnpj-lookup-row .button { min-height: 44px; white-space: nowrap; }
.cnpj-lookup-status { min-height: 20px; margin: -10px 0 0; font-size: .82rem; font-weight: 650; }
.cnpj-lookup-status:empty { min-height: 0; }
.cnpj-lookup-status.is-loading { color: var(--muted); }
.cnpj-lookup-status.is-success { color: #187248; }
.cnpj-lookup-status.is-error { color: #a23535; }
.registry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.registry-address { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.registry-address legend { padding: 0 7px; color: var(--ink); font-size: .9rem; font-weight: 800; }
.address-grid { grid-template-columns: 2fr .7fr; }
.address-grid .address-street { grid-column: span 1; }
.registry-long-fields { align-items: start; }
.registry-single-column { grid-template-columns: 1fr; }
.company-registry-fields textarea { background: white; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.form-error { color: #a23535 !important; font-weight: 700; }

.two-column { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; margin-bottom: 22px; }
.client-workspace { align-items: start; }
.client-header-content { min-width: 0; }
.client-title-with-avatar { display: flex; align-items: center; gap: 14px; margin-top: 23px; }
.client-title-with-avatar h1 { margin-bottom: 5px; }
.client-title-with-avatar p { margin-bottom: 0; }
.client-description { color: var(--ink); white-space: pre-line; }
.client-website { margin: 12px 0 0; overflow-wrap: anywhere; }
.client-website a { color: var(--green-800); text-decoration: underline; text-underline-offset: 2px; }
.client-profile h3 { margin: 22px 0 10px; }
.client-registry-grid { margin: 0 0 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.client-registry-grid div { padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #f8faff; }
.client-registry-grid div.wide { grid-column: span 2; }
.client-registry-grid dt { margin-bottom: 4px; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.client-registry-grid dd { margin: 0; color: var(--ink); font-size: .9rem; font-weight: 700; overflow-wrap: anywhere; }
.registry-partners-list { margin: 0; padding-left: 20px; display: grid; gap: 6px; color: var(--ink); }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-list span { padding: 7px 10px; border-radius: 99px; color: var(--green-900); background: var(--green-100); font-size: .84rem; font-weight: 650; }
.file-drop {
    min-height: 145px; display: grid; place-items: center; align-content: center; gap: 5px;
    padding: 20px; border: 1.5px dashed #9badd0; border-radius: 12px; text-align: center; background: var(--green-50); cursor: pointer;
}
.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-icon { padding: 6px 8px; border-radius: 5px; color: white; background: #c44747; font-size: .7rem; font-weight: 900; }
.file-drop small, .selected-file { color: var(--muted); font-size: .83rem; }
.selected-file { margin: 11px 0; overflow-wrap: anywhere; }
.tenders-panel { min-width: 0; }
.heading-title-line { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.panel-heading .heading-title-line h2 { margin-bottom: 0; }
.count-badge { min-width: 34px; padding: 6px 9px; border-radius: 99px; text-align: center; background: var(--green-100); font-weight: 800; }
.tender-list { display: grid; gap: 11px; }
.tender-row {
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px;
    padding: 16px; border: 1px solid var(--line); border-radius: 12px; transition: .18s ease;
}
.tender-row:hover { border-color: #b3c3de; background: #f8faff; }
.tender-title-line { display: flex; align-items: center; gap: 10px; }
.tender-title-line h3 { margin-bottom: 0; }
.tender-main > p { margin: 5px 0; font-size: .9rem; }
.tender-meta { display: flex; flex-wrap: wrap; gap: 18px; color: var(--muted); font-size: .8rem; }
.status { padding: 4px 8px; border-radius: 99px; font-size: .7rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.status.queued, .status.processing { color: #805d16; background: #fff1c6; }
.status.completed { color: #166743; background: #dff4e9; }
.status.failed { color: #963e3e; background: #ffe1e1; }

.score-ring {
    --size: 74px; width: var(--size); height: var(--size); display: grid; place-items: center; flex: 0 0 auto;
    border-radius: 50%; background: conic-gradient(var(--score-color) calc(var(--score) * 1%), #e7ecea 0);
}
.score-ring::before { content: ""; grid-area: 1/1; width: calc(var(--size) - 11px); height: calc(var(--size) - 11px); border-radius: 50%; background: white; }
.score-ring > div { z-index: 1; grid-area: 1/1; display: grid; place-items: center; text-align: center; line-height: 1.05; }
.score-ring-value { transition: opacity .18s ease, transform .18s ease; }
.score-ring strong { font-size: 1rem; }
.score-ring small { margin-top: 3px; color: var(--muted); font-size: .62rem; }
.score-ring-hover-logo {
    width: calc(var(--size) - 24px); height: calc(var(--size) - 24px);
    opacity: 0; transform: scale(.78); transition: opacity .18s ease, transform .18s ease;
}
.score-ring-hover-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.score-ring-hover-logo strong { color: var(--green-900); font-size: 1.15rem; }
.score-ring.has-hover-logo:hover .score-ring-value { opacity: 0; transform: scale(.78); }
.score-ring.has-hover-logo:hover .score-ring-hover-logo { opacity: 1; transform: scale(1); }
.score-ring.is-queued {
    background: conic-gradient(#aeb7b3 0 100%);
    animation: scoreQueuedPulse 1.2s ease-in-out infinite;
}
.score-ring.is-processing {
    background: conic-gradient(#8d9792 0 24%, #e6ebe8 24% 100%);
    animation: scoreProcessingSpin .9s linear infinite;
}
.score-ring.is-processing > div { animation: scoreProcessingCounterSpin .9s linear infinite; }
@keyframes scoreQueuedPulse {
    0%, 100% { opacity: .38; filter: grayscale(1); }
    50% { opacity: 1; filter: grayscale(1); }
}
@keyframes scoreProcessingSpin { to { transform: rotate(360deg); } }
@keyframes scoreProcessingCounterSpin { to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) {
    .score-ring.is-queued, .score-ring.is-processing, .score-ring.is-processing > div { animation: none; }
}

.processing-state { min-height: 340px; display: grid; place-items: center; align-content: center; text-align: center; }
.processing-state p { max-width: 610px; }
.spinner { width: 54px; height: 54px; margin-bottom: 20px; border: 5px solid #dbe4f2; border-top-color: var(--green-800); border-radius: 50%; animation: spin 1s linear infinite; }
.error-symbol { width: 54px; height: 54px; margin-bottom: 20px; display: grid; place-items: center; color: white; background: #c64b4b; border-radius: 50%; font-size: 1.5rem; font-weight: 900; }
@keyframes spin { to { transform: rotate(360deg); } }

.analysis-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-bottom: 18px; }
.analysis-hero .score-ring { --size: 98px; }
.analysis-hero .score-ring::before { width: 82px; height: 82px; }
.analysis-hero .score-ring strong { font-size: 1.25rem; }
.analysis-hero h2 { font-size: 1.35rem; }
.analysis-hero p:last-child { margin-bottom: 0; }
.analysis-date { padding-left: 24px; border-left: 1px solid var(--line); text-align: right; }
.analysis-date span, .analysis-date strong { display: block; }
.analysis-date span { margin-bottom: 6px; color: var(--muted); font-size: .8rem; }
.analysis-date strong { font-size: 1.2rem; }
.analysis-date .deadline-time { display: block; margin-top: 3px; color: #42504c; font-size: .76rem; font-weight: 800; }
.detail-grid { display: grid; gap: 14px; margin-bottom: 18px; }
.detail-grid.object-only { grid-template-columns: minmax(0, 1fr); }
.procurement-detail-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
.procurement-detail-grid > .detail-card { min-width: 0; }
.procurement-detail-grid > .detail-card > strong { overflow-wrap: anywhere; }
.detail-card { padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.detail-card span, .detail-card strong { display: block; }
.detail-card span { margin-bottom: 7px; color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.detail-card strong { line-height: 1.45; }
.financial-details-card { min-width: 0; grid-column: 1 / -1; }
.financial-details-card > p { margin: 0; }
.financial-terms-list { position: relative; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; list-style: none; }
.financial-terms-list::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--line); }
.financial-terms-list li { min-width: 0; padding: 12px 0; border-top: 1px solid var(--line); }
.financial-terms-list li:nth-child(-n + 2) { padding-top: 0; border-top: 0; }
.financial-terms-list li:nth-child(odd) { padding-right: 16px; }
.financial-terms-list li:nth-child(even) { padding-left: 16px; }
.financial-terms-list strong { color: var(--ink); font-size: .86rem; }
.financial-terms-list p { margin: 3px 0 0; color: #35433f; font-size: .84rem; line-height: 1.45; }
.financial-terms-list small { display: block; margin-top: 4px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.criteria-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.criterion > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.criterion > div:first-child span { color: var(--green-800); font-weight: 800; }
.criterion p { margin: 8px 0 0; font-size: .86rem; }
.progress { height: 7px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: #e5ece9; }
.progress i { display: block; height: 100%; border-radius: inherit; background: var(--green-800); }
.analysis-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 18px 0; }
.document-list { margin: 0; padding-left: 20px; display: grid; gap: 11px; list-style: disc; }
.document-list li { padding-left: 2px; color: #35433f; line-height: 1.5; }
.document-list li::marker { color: var(--green-800); font-size: .9em; }
.attention-list { margin: 0; padding: 0; display: grid; gap: 11px; list-style: none; }
.attention-list li { position: relative; padding-left: 27px; color: #35433f; line-height: 1.5; }
.attention-list li::before {
    position: absolute; left: 0; top: 1px; width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; font-size: .7rem; font-weight: 900;
}
.attention-list li::before { content: "!"; color: #8c671b; background: #fff0bd; }
.muted { color: var(--muted); }

.reader-section { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(520px, 1.3fr); gap: 18px; align-items: start; }
.evidence-panel { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow: auto; }
.evidence-list { display: grid; gap: 8px; }
.evidence-link {
    width: 100%; padding: 12px; display: flex; justify-content: space-between; gap: 12px;
    color: var(--ink); border: 1px solid var(--line); border-radius: 9px; text-align: left; background: white;
}
.evidence-link:hover, .evidence-link.active { border-color: #d3bd45; background: #fffbe1; }
.evidence-link:disabled { opacity: .58; cursor: not-allowed; transform: none; }
.evidence-link span { min-width: 0; display: grid; gap: 4px; }
.evidence-link strong { font-size: .88rem; }
.evidence-link small { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evidence-link em { color: #806a0d; font-size: .75rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.pdf-panel { padding: 0; overflow: hidden; }
.pdf-toolbar {
    min-height: 52px; padding: 8px 12px; display: flex; align-items: center; gap: 10px;
    color: white; background: #203461;
}
.pdf-toolbar button { width: 34px; height: 34px; color: white; border: 1px solid #6077a7; border-radius: 7px; background: #344e85; }
.pdf-toolbar button:hover { background: #42629e; }
.pdf-toolbar span { min-width: 120px; font-size: .83rem; }
.pdf-toolbar a { margin-left: auto; font-size: .8rem; text-decoration: underline; }
.pdf-status { padding: 20px; color: var(--muted); text-align: center; }
.pdf-canvas-wrap { position: relative; width: 100%; min-height: 500px; overflow: auto; display: flex; justify-content: center; background: #d8dcda; }
#pdf-canvas { display: block; margin: 18px; box-shadow: 0 4px 18px rgba(0,0,0,.22); }
#pdf-highlights { position: absolute; inset: 0; pointer-events: none; }
.pdf-highlight { position: absolute; border: 1px solid rgba(190,145,0,.5); border-radius: 2px; background: rgba(255,225,55,.47); mix-blend-mode: multiply; }
.active-quote { margin: 0; padding: 14px 16px; color: #4e4109; border-top: 1px solid #e7d773; background: var(--yellow); font-size: .87rem; line-height: 1.5; }

.login-page { display: grid; place-items: center; padding: 24px; background: #eef3f1; }
.login-card { width: min(100%, 410px); padding: 34px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow); }
.login-card h1 { margin-bottom: 8px; font-size: 1.65rem; text-align: center; }
.login-card > p { text-align: center; }
.secure-badge {
    width: 48px; height: 48px; margin: 0 auto 17px; display: grid; place-items: center;
    color: white; border-radius: 50%; background: var(--green-900); font-weight: 900;
}
.form-stack { display: grid; gap: 16px; margin-top: 22px; }
.form-stack label { display: grid; gap: 7px; }
.form-stack label span { font-size: .87rem; font-weight: 750; }
.security-note { margin: 17px 0 0; font-size: .78rem; }
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.chip-field { min-width: 0; }
.chip-editor-list {
    min-height: 58px; padding: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    border: 1px solid #d1d9e6; border-radius: 11px; background: #f8faff;
}
.item-chip {
    max-width: 100%; min-height: 38px; padding: 7px 8px 7px 12px; display: inline-flex; align-items: center; gap: 8px;
    color: var(--green-900); border: 1px solid #c9d4e8; border-radius: 10px; background: var(--green-100);
    font-size: .87rem; font-weight: 700;
}
.item-chip > span { overflow-wrap: anywhere; }
.item-chip button {
    width: 27px; height: 27px; flex: 0 0 auto; display: grid; place-items: center;
    color: #51635e; border: 0; border-radius: 7px; background: transparent; font-size: 1.25rem; line-height: 1;
}
.item-chip button:hover, .item-chip button:focus-visible { color: #922f2f; background: #ffe3e3; outline: none; }
.chip-editor-empty { padding: 5px; color: var(--muted); font-size: .86rem; }
.chip-add-row { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.chip-add-row .button { white-space: nowrap; }

.qualification-profile-fields {
    padding: 14px; display: grid; gap: 10px;
    border: 1px solid #d1d9e6; border-radius: 12px; background: #f8faff;
}
.qualification-profile-fields > span { font-weight: 800; }
.profile-checkbox {
    min-width: 0; padding: 13px 14px; display: grid; grid-template-columns: auto 1fr;
    align-items: start; gap: 11px; cursor: pointer;
    border: 1px solid var(--line); border-radius: 10px; background: white;
}
.profile-checkbox:has(input[type="checkbox"]:checked) {
    border-color: #aebee0; background: var(--green-50);
    box-shadow: 0 0 0 2px rgba(43,69,129,.07);
}
.profile-checkbox input[type="checkbox"] {
    width: 19px; height: 19px; margin-top: 2px; padding: 0; accent-color: var(--green-800);
}
.profile-checkbox > span { min-width: 0; display: grid; gap: 3px; }
.profile-checkbox strong { color: var(--ink); font-size: .91rem; line-height: 1.35; }
.profile-checkbox small { color: var(--muted); font-size: .78rem; line-height: 1.4; }
.professional-courses-field {
    margin: 2px 0 0 30px; padding: 12px;
    border-left: 3px solid var(--green-800); border-radius: 8px; background: white;
}
.professional-courses-field[hidden] { display: none; }
.profile-qualification-list {
    margin: 0; padding: 0; display: grid; gap: 9px; list-style: none;
}
.profile-qualification-list li {
    padding: 10px 12px; display: grid; gap: 4px;
    border-left: 3px solid #a9b4b0; border-radius: 7px; background: #f6f8f7;
    color: #35433f; font-size: .87rem; line-height: 1.45;
}
.profile-qualification-list li.positive { border-left-color: #199b68; background: #edf9f3; }
.profile-qualification-list li.negative { border-left-color: #dc4c4c; background: #fff4f4; }
.profile-qualification-list li > span { color: var(--muted); white-space: pre-line; }

.profile-dialog {
    width: min(700px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 0;
    color: var(--ink); border: 1px solid var(--line); border-radius: 16px; background: white;
    box-shadow: 0 24px 70px rgba(10,35,29,.28);
}
.profile-dialog::backdrop { background: rgba(13,32,27,.58); }
.dialog-heading {
    position: sticky; top: 0; z-index: 1; padding: 20px 22px; display: flex; align-items: flex-start;
    justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); background: white;
}
.dialog-heading h2, .dialog-heading p { margin-bottom: 0; }
.dialog-heading button {
    width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto;
    color: var(--ink); border: 1px solid var(--line); border-radius: 9px; background: white; font-size: 1.35rem;
}
.dialog-heading button:hover { background: var(--green-50); }
.dialog-content { padding: 22px; }
.dialog-content h3 { margin: 22px 0 9px; }
.snapshot-alert { color: #76570f; border-color: #ead68a; background: #fff8dc; }
.snapshot-grid { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.snapshot-grid div { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #f8faff; }
.snapshot-grid dt { margin-bottom: 5px; color: var(--muted); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.snapshot-grid dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.snapshot-grid .snapshot-wide { grid-column: span 2; }
.snapshot-description { white-space: pre-line; overflow-wrap: anywhere; }
.analysis-feedback-footer { margin-top: 24px; padding: 28px 12px 4px; text-align: center; border-top: 1px solid var(--line); }
.tender-footer-actions { display: flex; flex-direction: column; align-items: center; gap: 13px; }
.analysis-rating-prompt { min-width: min(100%, 300px); display: grid; justify-items: center; gap: 7px; }
.analysis-rating-prompt > p:first-child { margin: 0; color: var(--ink); font-size: 1rem; font-weight: 800; }
.analysis-rating-stars, .feedback-modal-stars { display: inline-flex; align-items: center; justify-content: center; gap: 2px; }
.rating-star-button {
    width: 32px; height: 34px; padding: 0; display: grid; place-items: center;
    color: #aeb8c7; border: 0; background: transparent; font-size: 1.7rem; line-height: 1;
    filter: drop-shadow(0 2px 2px rgba(31, 41, 58, .08)); transition: color .16s ease, transform .16s ease, filter .16s ease;
}
.rating-star-button:hover, .rating-star-button:focus-visible { color: #f2c84b; transform: translateY(-3px) scale(1.08); outline: none; }
.rating-star-button.is-selected { color: #f3bf24; filter: drop-shadow(0 3px 4px rgba(185, 125, 0, .24)); }
.feedback-footer-status { min-height: 20px; margin: 2px 0 0; color: var(--muted); font-size: .82rem; font-weight: 750; }
.feedback-footer-status.success { color: #13714a; }
.feedback-footer-status.error { color: #a23535; }
.destructive-text-link {
    padding: 4px 7px; color: #8e5a5a; border: 0; background: transparent;
    font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-decoration: underline;
    text-underline-offset: 3px;
}
.destructive-text-link:hover, .destructive-text-link:focus-visible { color: #a23535; }
.cancel-processing-form { margin: 0; }
.cancel-processing-link {
    padding: 7px 9px; color: #31598a; border: 0; background: transparent;
    font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-decoration: underline;
    text-underline-offset: 3px;
}
.cancel-processing-link:hover, .cancel-processing-link:focus-visible { color: var(--green-900); }
.client-delete-footer { padding: 24px 12px 0; text-align: center; }
.client-delete-footer form { margin: 0; }
.delete-confirmation-dialog { width: min(560px, calc(100% - 32px)); }
.delete-confirmation-form { display: grid; gap: 18px; }
.delete-confirmation-form .form-actions { margin-top: 0; }
.delete-warning {
    margin: 0; padding: 13px 14px; color: #7e3333; border: 1px solid #efc5c5;
    border-radius: 10px; background: #fff5f5; font-size: .9rem;
}
.feedback-dialog { width: min(620px, calc(100% - 32px)); }
.feedback-form { display: grid; gap: 18px; }
.feedback-form .form-actions { margin-top: 0; }
.feedback-modal-stars { padding: 5px 0 3px; }
.feedback-modal-stars { gap: 3px; }
.feedback-modal-stars .rating-star-button { width: 42px; height: 44px; font-size: 2.35rem; }
.feedback-form-status { min-height: 20px; margin: -5px 0 0; color: var(--muted); font-size: .85rem; font-weight: 750; }
.feedback-form-status.error, [data-feedback-requirement].is-required { color: #a23535; }
.feedback-form-status.question { color: #73560d; }
.feedback-form-status.success {
    margin: 0; padding: 12px 14px; color: #146744; border: 1px solid #a9ddc4;
    border-radius: 9px; background: #edf9f3; line-height: 1.45;
}
.feedback-form-status.success::before { content: "✓"; margin-right: 7px; font-weight: 950; }
.feedback-status {
    display: inline-flex; align-items: center; min-height: 27px; padding: 5px 9px;
    border-radius: 99px; font-size: .72rem; font-weight: 850; white-space: nowrap;
}
.feedback-status.new { color: #963e3e; background: #ffe1e1; }
.feedback-status.read { color: #245d85; background: #dceeff; }
.feedback-status.replied { color: #69428c; background: #eee2fa; }
.feedback-status.resolved { color: #166743; background: #dff4e9; }
.feedback-status.ignored { color: #5f6966; background: #e9edeb; }
.feedback-status.archived { color: #5f6966; background: #e9edeb; }
.feedback-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.feedback-meta-grid small { display: block; margin-top: 6px; color: var(--muted); overflow-wrap: anywhere; }
.feedback-meta-grid a:hover { text-decoration: underline; }
.feedback-message { margin: 0; white-space: pre-line; overflow-wrap: anywhere; font-size: 1rem; line-height: 1.65; }
.feedback-stars-display { display: inline-flex; gap: 1px; color: #cbd2dd; font-size: 1.15rem; letter-spacing: -.03em; line-height: 1; }
.feedback-stars-display .filled { color: #f3bf24; }
.feedback-stars-display.large { gap: 2px; font-size: 1.6rem; }
.feedback-no-rating { color: var(--muted); font-size: .76rem; font-weight: 750; }
.feedback-summary-grid { margin-bottom: 24px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.feedback-summary-grid .stat-card small { display: block; margin-top: -7px; color: var(--muted); font-size: .72rem; }
.feedback-unread-stat { border-color: #efb8bd; background: #fff8f8; }
.feedback-unread-stat strong { color: #b72f40; }
.feedback-chart-panel, .feedback-filter-panel { margin-bottom: 24px; }
.feedback-rating-chart { display: grid; gap: 9px; }
.feedback-rating-row {
    padding: 7px 9px; display: grid; grid-template-columns: 52px minmax(120px, 1fr) 45px 45px;
    align-items: center; gap: 12px; border: 1px solid transparent; border-radius: 9px; transition: .16s ease;
}
.feedback-rating-row:hover, .feedback-rating-row.active { border-color: #c8d4e8; background: #f7f9fd; }
.feedback-rating-label { color: #966f00; font-weight: 850; }
.feedback-rating-track { height: 12px; overflow: hidden; border-radius: 99px; background: #edf0f5; }
.feedback-rating-track span { min-width: 0; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #f1b90f, #f7d35b); }
.feedback-rating-row strong { text-align: right; }
.feedback-rating-row small { color: var(--muted); text-align: right; }
.feedback-filter-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 15px; }
.feedback-search-field { grid-column: span 2; }
.feedback-filter-actions { display: flex; justify-content: flex-end; gap: 9px; grid-column: span 2; }
.feedback-list-section { margin-top: 30px; }
.feedback-list-heading { margin-bottom: 16px; display: flex; align-items: flex-start; gap: 10px; }
.feedback-list-heading .count-badge { flex: 0 0 auto; margin-top: 1px; }
.feedback-list-heading h2, .feedback-list-heading p { margin-bottom: 0; }
.feedback-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 17px; }
.feedback-card {
    min-width: 0; padding: 19px; display: grid; gap: 16px;
    border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow);
}
.feedback-card.is-unread { border-color: #c7d3e7; box-shadow: 0 14px 35px rgba(43, 69, 129, .1); }
.feedback-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.feedback-card-analysis h3 { margin-bottom: 5px; line-height: 1.35; overflow-wrap: anywhere; }
.feedback-card-analysis p { margin-bottom: 0; font-size: .82rem; }
.feedback-card-message {
    min-height: 72px; margin: 0; display: -webkit-box; overflow: hidden;
    -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: var(--ink); font-size: .9rem; line-height: 1.6;
}
.feedback-card-contact { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.feedback-card-contact div { min-width: 0; }
.feedback-card-contact dt { margin-bottom: 3px; color: var(--muted); font-size: .65rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.feedback-card-contact dd { margin: 0; overflow-wrap: anywhere; font-size: .78rem; font-weight: 700; line-height: 1.35; }
.feedback-card-contact a:hover { color: var(--green-800); text-decoration: underline; }
.feedback-card-actions { padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); }
.feedback-card-actions .text-link { font-size: .76rem; white-space: normal; text-align: right; }
.feedback-archive-drawer { margin-top: 28px; padding-top: 20px; text-align: center; border-top: 1px solid var(--line); }
.feedback-archive-drawer a { color: var(--muted); font-size: .82rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.feedback-archive-drawer span { min-width: 24px; margin-right: 5px; padding: 3px 7px; display: inline-flex; justify-content: center; border-radius: 99px; background: #e7ebf0; }
.feedback-detail-actions { flex-wrap: wrap; }
.feedback-detail-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); align-items: start; gap: 20px; }
.feedback-comment-panel { min-height: 260px; }
.feedback-followup-form { display: grid; gap: 18px; }
.feedback-resolved-check {
    padding: 14px; display: flex; align-items: flex-start; gap: 11px;
    border: 1px solid #b9ddcb; border-radius: 10px; background: #f1faf5; cursor: pointer;
}
.feedback-resolved-check input { width: 19px; height: 19px; margin: 2px 0 0; flex: 0 0 auto; accent-color: #18734b; }
.feedback-resolved-check span { display: grid; gap: 3px; text-align: left; }
.feedback-resolved-check small { color: var(--muted); line-height: 1.4; }
.feedback-followup-actions { padding-top: 18px; display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); }

.period-filter { display: grid; gap: 6px; min-width: 205px; }
.period-filter label { color: var(--muted); font-size: .78rem; font-weight: 750; }
.period-filter select { min-height: 43px; background-color: white; }
.cost-chart-panel { margin-bottom: 24px; }
.cost-panel-heading { align-items: flex-end; }
.cost-period-summary { min-width: 170px; text-align: right; }
.cost-period-summary span, .cost-period-summary small { display: block; color: var(--muted); font-size: .76rem; }
.cost-period-summary strong { display: block; margin: 3px 0; color: var(--green-900); font-size: 1.55rem; letter-spacing: -.03em; }
.cost-chart {
    min-height: 270px;
    padding: 10px 2px 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(58px, 1fr);
    align-items: stretch;
    gap: 10px;
    overflow-x: auto;
}
.cost-chart-column {
    min-width: 58px;
    display: grid;
    grid-template-rows: 32px 190px 26px;
    gap: 5px;
    align-items: end;
    text-align: center;
}
.cost-chart-value { color: var(--muted); font-size: .66rem; white-space: nowrap; }
.cost-chart-track {
    width: 100%; height: 190px; padding: 0 10%;
    display: flex; align-items: flex-end;
    border-bottom: 1px solid var(--line);
    background: repeating-linear-gradient(to top, transparent 0, transparent 46px, #eef2f8 47px, transparent 48px);
}
.cost-chart-bar {
    width: 100%; min-height: 0; display: block;
    border-radius: 7px 7px 2px 2px;
    background: linear-gradient(180deg, var(--green-800), var(--green-900));
    transition: height .25s ease;
}
.cost-chart-label { align-self: start; color: var(--muted); font-size: .7rem; font-weight: 700; white-space: nowrap; }
.cost-summary-line {
    margin-top: 17px; padding-top: 16px;
    display: flex; flex-wrap: wrap; gap: 12px 24px;
    border-top: 1px solid var(--line); color: var(--muted); font-size: .84rem;
}
.cost-summary-line strong { color: var(--ink); }
.cost-table { min-width: 900px; }
.tender-cost-table { min-width: 1080px; }
.table-primary-link { color: var(--green-900); font-weight: 800; }
.table-primary-link:hover { text-decoration: underline; }
.table-arrow { color: var(--green-800); font-size: 1.25rem; font-weight: 800; }
.admin-label {
    width: fit-content; margin-top: 5px; padding: 3px 7px; display: inline-flex;
    border-radius: 99px; color: var(--green-900); background: var(--green-100);
    font-size: .65rem; font-style: normal; font-weight: 800;
}
.compact-cost-summary {
    margin-bottom: 24px;
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0;
}
.compact-cost-summary > div { padding: 4px 18px; border-left: 1px solid var(--line); }
.compact-cost-summary > div:first-child { padding-left: 0; border-left: 0; }
.compact-cost-summary span { display: block; margin-bottom: 8px; color: var(--muted); font-size: .75rem; }
.compact-cost-summary strong { color: var(--green-900); font-size: 1.16rem; }

/* Financeiro: faturamento, custos e rentabilidade */
.finance-header-actions { display: flex; align-items: flex-end; gap: 12px; }
.finance-projection-note {
    margin: -8px 0 22px; padding: 13px 16px;
    color: #5d4a17; border: 1px solid #eadb9b; border-radius: 11px; background: #fffbee;
    font-size: .82rem; line-height: 1.55;
}
.finance-projection-note strong { color: #493a13; }
.finance-kpi-grid {
    margin-bottom: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px;
}
.finance-kpi {
    min-width: 0; padding: 19px 20px; display: grid; gap: 7px;
    border: 1px solid var(--line); border-top: 4px solid #9aaccc; border-radius: 13px; background: white; box-shadow: var(--shadow);
}
.finance-kpi span { color: var(--muted); font-size: .77rem; font-weight: 750; }
.finance-kpi strong { overflow-wrap: anywhere; color: var(--green-950); font-size: 1.62rem; letter-spacing: -.035em; }
.finance-kpi small { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.finance-kpi.revenue { border-top-color: #278461; }
.finance-kpi.expense, .finance-kpi.negative { border-top-color: #c75a64; }
.finance-kpi.profit, .finance-kpi.result { border-top-color: #3d67a8; }
.finance-kpi.ai, .finance-kpi.ai-average { border-top-color: #8170b5; }
.finance-kpi.negative strong { color: #a43e49; }
.finance-cashflow-panel, .finance-entries-panel { margin-bottom: 24px; }
.finance-panel-heading { align-items: center; }
.finance-chart-legend { display: flex; flex-wrap: wrap; gap: 13px; color: var(--muted); font-size: .75rem; font-weight: 750; }
.finance-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.finance-chart-legend i { width: 10px; height: 10px; display: inline-block; border-radius: 3px; }
.finance-chart-legend i.revenue { background: #2a8664; }
.finance-chart-legend i.expense { background: #d16a72; }
.finance-comparison-chart {
    min-height: 300px; padding: 8px 2px 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(88px, 1fr);
    align-items: stretch; gap: 11px; overflow-x: auto;
}
.finance-chart-column {
    min-width: 88px; display: grid; grid-template-rows: 34px 190px 20px 18px; gap: 5px; align-items: end; text-align: center;
}
.finance-chart-values { display: flex; justify-content: center; gap: 7px; font-size: .59rem; white-space: nowrap; }
.finance-chart-values .revenue { color: #1e7555; }
.finance-chart-values .expense { color: #ad414c; }
.finance-chart-track {
    width: 100%; height: 190px; padding: 0 9%; display: flex; align-items: flex-end; justify-content: center; gap: 5px;
    border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0, transparent 46px, #eef2f8 47px, transparent 48px);
}
.finance-chart-bar {
    width: 43%; height: 0; min-height: 0; display: block; border-radius: 6px 6px 2px 2px;
    animation: finance-bar-rise .75s cubic-bezier(.2,.7,.2,1) forwards;
}
.finance-chart-bar.revenue { background: linear-gradient(180deg, #48a47e, #237a59); }
.finance-chart-bar.expense { background: linear-gradient(180deg, #e18a90, #bf535d); animation-delay: .08s; }
.finance-chart-column > strong { align-self: start; color: var(--muted); font-size: .69rem; }
.finance-chart-column > small { align-self: start; font-size: .61rem; font-weight: 800; }
.finance-chart-column .positive, .finance-plan-list .positive { color: #1c7753; }
.finance-chart-column .negative, .finance-plan-list .negative { color: #a63c47; }
@keyframes finance-bar-rise { from { height: 0; } to { height: var(--bar-height); } }
.finance-analysis-grid { margin-bottom: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.finance-breakdown-panel { min-width: 0; }
.finance-ranked-list, .finance-plan-list { display: grid; gap: 15px; }
.finance-ranked-list article { display: grid; gap: 7px; }
.finance-ranked-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .8rem; }
.finance-ranked-list article > div span { color: var(--muted); font-weight: 750; white-space: nowrap; }
.finance-ranked-track { height: 8px; display: block; overflow: hidden; border-radius: 99px; background: #edf1f6; }
.finance-ranked-track i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #c45d67, #e3969c); }
.finance-plan-list article { padding-top: 15px; display: grid; gap: 9px; border-top: 1px solid var(--line); }
.finance-plan-list article:first-child { padding-top: 0; border-top: 0; }
.finance-plan-list header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.finance-plan-list header div { display: grid; gap: 2px; }
.finance-plan-list header small { color: var(--muted); font-size: .68rem; }
.finance-plan-list header b { font-size: .79rem; }
.finance-plan-bar { position: relative; height: 22px; overflow: hidden; border-radius: 6px; background: #f0f3f8; }
.finance-plan-bar span { height: 100%; display: block; opacity: .78; }
.finance-plan-bar small { position: absolute; inset: 0; padding: 3px 7px; color: var(--ink); font-size: .65rem; font-weight: 800; }
.finance-plan-bar.revenue span { background: #7ac4a6; }
.finance-plan-bar.expense span { background: #eca9ae; }
.finance-entry-table { min-width: 950px; }
.finance-amount.revenue, .finance-positive { color: #18734f; }
.finance-amount.expense, .finance-negative { color: #a53d47; }
.finance-user-table { min-width: 1320px; }
.financial-entry-form-panel { max-width: 980px; margin-bottom: 24px; }
.financial-entry-form .form-actions { grid-column: 1 / -1; }
.financial-entry-delete-panel {
    max-width: 980px; display: flex; align-items: center; justify-content: space-between; gap: 25px;
    border-color: #e7c4c7; background: #fffafa;
}
.financial-entry-delete-panel h2 { margin-bottom: 4px; }
.financial-entry-delete-panel p { margin-bottom: 0; }
[data-expense-scope-field][hidden], [data-recurrence-end-field][hidden] { display: none !important; }
.status.awaiting_reference_terms { color: #69428c; background: #eee2fa; }

.failed-tender-retention-note {
    max-width: 660px; display: block; color: var(--muted); font-size: .78rem; line-height: 1.5;
}
.error-log-summary {
    margin-bottom: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.error-log-summary .stat-card small { display: block; margin-top: -7px; color: var(--muted); font-size: .72rem; }
.error-log-today-stat { border-color: #efc5c5; background: #fff8f8; }
.error-log-today-stat strong { color: #ab3641; }
.error-log-filter-panel { margin-bottom: 26px; }
.error-log-filter-form {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 15px;
}
.error-log-search-field { grid-column: span 2; }
.error-log-filter-actions { display: flex; justify-content: flex-end; gap: 9px; }
.error-log-list-heading { margin-bottom: 16px; display: flex; align-items: flex-start; gap: 10px; }
.error-log-list-heading .count-badge { flex: 0 0 auto; margin-top: 1px; }
.error-log-list-heading h2, .error-log-list-heading p { margin-bottom: 0; }
.error-log-card-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 17px;
}
.error-log-card {
    min-width: 0; padding: 20px; display: grid; gap: 15px;
    border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow);
}
.error-log-card-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.error-log-card-header time { color: var(--muted); font-size: .73rem; font-weight: 750; }
.error-log-status {
    padding: 5px 9px; display: inline-flex; border-radius: 99px;
    color: #963e3e; background: #ffe1e1; font-size: .7rem; font-weight: 850;
}
.error-log-card-title h3 { margin-bottom: 4px; overflow-wrap: anywhere; line-height: 1.35; }
.error-log-card-title p { margin: 0; font-size: .83rem; }
.error-log-message {
    min-height: 69px; margin: 0; display: -webkit-box; overflow: hidden;
    -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: var(--ink); font-size: .85rem; line-height: 1.55;
}
.error-log-card-meta { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.error-log-card-meta dt, .error-log-contact-list dt, .error-log-technical-meta dt {
    margin-bottom: 3px; color: var(--muted); font-size: .65rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase;
}
.error-log-card-meta dd, .error-log-contact-list dd, .error-log-technical-meta dd {
    margin: 0; overflow-wrap: anywhere; font-size: .8rem; font-weight: 700; line-height: 1.4;
}
.error-log-document-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.error-log-document-chips span {
    max-width: 100%; padding: 4px 8px; overflow: hidden; border-radius: 99px;
    color: #315778; background: #e8f1f8; font-size: .67rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap;
}
.error-log-card-actions {
    padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line);
}
.error-log-retention { font-size: .7rem; font-weight: 800; }
.error-log-retention.linked { color: #73560d; }
.error-log-retention.preserved { color: #176543; }
.error-log-detail-grid {
    margin-bottom: 19px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
}
.error-log-detail-grid small { display: block; margin-top: 6px; color: var(--muted); font-size: .72rem; }
.error-log-detail-columns {
    margin-bottom: 19px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); align-items: start; gap: 19px;
}
.error-log-message-panel pre {
    max-height: 420px; margin: 0 0 20px; padding: 16px; overflow: auto;
    border: 1px solid #efcaca; border-radius: 10px; color: #7d2d36; background: #fff7f7;
    font: 600 .82rem/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere;
}
.error-log-technical-meta { margin: 0; display: grid; gap: 12px; }
.error-log-contact-list { margin: 0; display: grid; gap: 14px; }
.error-log-contact-list a:hover { text-decoration: underline; }
.error-log-documents-panel { margin-bottom: 19px; }
.error-log-document-list { display: grid; gap: 10px; }
.error-log-document-list article {
    padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 15px;
    border: 1px solid var(--line); border-radius: 10px; background: #fafbfd;
}
.error-log-document-list article > div { min-width: 0; display: grid; gap: 3px; }
.error-log-document-list span { color: var(--green-800); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.error-log-document-list strong, .error-log-document-list small { overflow-wrap: anywhere; }
.error-log-document-list small { color: var(--muted); font-size: .66rem; }
.error-log-delete-panel {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .65fr); align-items: end; gap: 28px;
    border-color: #e8bfc3; background: #fffafa;
}
.error-log-delete-panel h2 { margin-bottom: 6px; }
.error-log-delete-panel p:last-child { margin-bottom: 0; }
.error-log-delete-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: end; gap: 10px; }


@media (max-width: 1050px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .feedback-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .feedback-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .feedback-filter-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .feedback-search-field, .feedback-filter-actions { grid-column: span 2; }
    .feedback-detail-grid { grid-template-columns: 1fr; }
    .two-column, .analysis-columns { grid-template-columns: 1fr; }
    .reader-section { grid-template-columns: 1fr; }
    .evidence-panel { position: static; max-height: none; }
    .detail-grid { grid-template-columns: 1fr 1fr; }
    .procurement-detail-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
    .detail-card.wide { grid-column: span 2; }
    .feedback-meta-grid { grid-template-columns: 1fr 1fr; }
    .compact-cost-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
    .finance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finance-analysis-grid { grid-template-columns: 1fr; }
    .error-log-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .error-log-detail-columns, .error-log-delete-panel { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .sidebar { position: static; width: 100%; padding: 14px 16px; flex-direction: row; align-items: center; gap: 10px; }
    .brand { padding: 0; margin-right: auto; }
    .brand-logo { width: 150px; }
    .main-nav { display: flex; }
    .main-nav { max-width: 100%; overflow-x: auto; }
    .main-nav a { padding: 9px 10px; font-size: .85rem; }
    .main-nav a span { display: none; }
    .main-nav a .nav-unread-badge { display: inline-flex; margin-left: -5px; }
    .sidebar-footer { margin: 0; padding: 0; border: 0; }
    .signed-user { display: none; }
    .main-content { margin-left: 0; padding: 26px 17px 44px; }
    .page-header { align-items: flex-start; flex-direction: column; }
    .period-filter { width: 100%; }
    .finance-header-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .finance-header-actions .button { width: 100%; }
    .finance-kpi-grid { grid-template-columns: 1fr; }
    .finance-panel-heading { align-items: flex-start; flex-direction: column; }
    .finance-comparison-chart { grid-auto-columns: minmax(82px, 1fr); }
    .financial-entry-delete-panel { align-items: stretch; flex-direction: column; }
    .financial-entry-delete-panel .button { width: 100%; }
    .cost-panel-heading { align-items: flex-start; flex-direction: column; }
    .cost-period-summary { text-align: left; }
    .compact-cost-summary { grid-template-columns: 1fr 1fr; }
    .page-header .button { width: 100%; }
    .page-actions { width: 100%; }
    .stats-grid { grid-template-columns: 1fr 1fr; }
    .feedback-summary-grid, .feedback-card-grid, .feedback-filter-form { grid-template-columns: 1fr; }
    .feedback-search-field, .feedback-filter-actions { grid-column: auto; }
    .feedback-filter-actions { justify-content: stretch; }
    .feedback-filter-actions .button { flex: 1; }
    .feedback-rating-row { grid-template-columns: 42px minmax(80px, 1fr) 32px 38px; gap: 7px; }
    .feedback-card-actions, .feedback-followup-actions { align-items: stretch; flex-direction: column; }
    .feedback-card-actions .text-link { text-align: left; }
    .feedback-detail-actions { display: grid; }
    .form-grid, .criteria-grid, .detail-grid, .registry-grid, .cnpj-lookup-row, .client-registry-grid { grid-template-columns: 1fr; }
    .financial-terms-list { grid-template-columns: 1fr; }
    .financial-terms-list::before { display: none; }
    .financial-terms-list li, .financial-terms-list li:nth-child(-n + 2), .financial-terms-list li:nth-child(odd), .financial-terms-list li:nth-child(even) { padding: 10px 0 0; border-top: 1px solid var(--line); }
    .financial-terms-list li:first-child { padding-top: 0; border-top: 0; }
    .field.span-2, .detail-card.wide { grid-column: auto; }
    .profile-logo-section { grid-template-columns: 1fr; }
    .analysis-hero { grid-template-columns: auto 1fr; }
    .analysis-date { grid-column: span 2; padding: 15px 0 0; border: 0; border-top: 1px solid var(--line); text-align: left; }
    .tender-row { grid-template-columns: auto 1fr; }
    .tender-row > .card-arrow { display: none; }
    .tender-title-line { align-items: flex-start; flex-direction: column; }
    .reader-section { display: block; }
    .chip-add-row, .snapshot-grid, .feedback-meta-grid { grid-template-columns: 1fr; }
    .professional-courses-field { margin-left: 0; }
    .cnpj-lookup-row .button { width: 100%; }
    .client-registry-grid div.wide { grid-column: auto; }
    .snapshot-grid .snapshot-wide { grid-column: auto; }
    .pdf-panel { margin-top: 18px; }
}
@media (max-width: 480px) {
    .main-nav a { padding: 8px; }
    .brand-logo { width: 118px; }
    .stats-grid { grid-template-columns: 1fr; }
    .panel { padding: 18px; }
    .client-card { grid-template-columns: auto 1fr; }
    .compact-cost-summary { grid-template-columns: 1fr; }
    .compact-cost-summary > div { padding: 12px 0; border-left: 0; border-top: 1px solid var(--line); }
    .client-card .card-arrow { display: none; }
    .score-ring { --size: 64px; }
    .score-ring::before { width: 53px; height: 53px; }
}

.score-ring.is-pending { background: conic-gradient(#c5cdd8 0 100%); }
.chip-add-row-multiline { align-items: end; }
.chip-add-row-multiline textarea { min-height: 84px; }

.dashboard-tenders-panel { margin-bottom: 18px; }
.dashboard-tender-list { display: grid; gap: 10px; }
.dashboard-tender-card {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center; gap: 18px; padding: 16px;
    border: 1px solid var(--line); border-radius: 12px; background: white;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.dashboard-tender-card:hover {
    border-color: #b8c7df; background: var(--green-50); transform: translateY(-1px);
}
.dashboard-tender-copy { min-width: 0; }
.dashboard-client-name {
    color: var(--green-900); font-size: .88rem; line-height: 1.3;
}
.dashboard-agency-name {
    color: var(--green-900); font-size: calc(.88rem - 2px); line-height: 1.3; font-weight: 700;
}
.dashboard-tender-copy h3 {
    margin-bottom: 0; overflow: hidden; color: var(--ink); font-size: 1rem;
    line-height: 1.35; text-overflow: ellipsis; white-space: nowrap;
}
.dashboard-tender-copy > p { margin: 0; }
.dashboard-tender-copy > .dashboard-card-agency { margin-top: 6px; }
.dashboard-tender-copy > .dashboard-card-client { margin-top: 2px; }
.dashboard-tender-copy .tender-meta { margin-top: 4px; }
.dashboard-deadline {
    min-width: 130px; padding: 8px 11px; display: grid; gap: 2px;
    border-radius: 10px; text-align: center;
}
.dashboard-deadline span { font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.dashboard-deadline strong { font-size: .9rem; }
.dashboard-deadline.upcoming { color: #176543; background: #e3f5ec; }
.dashboard-deadline.near { color: #1f293a; background: #e9edf3; }
.dashboard-deadline.expired { color: #a23535; background: #fde7e7; }
.dashboard-deadline.unknown { color: #384151; background: #f0f2f5; }
.dashboard-expired-archive { margin-bottom: 18px; padding: 0; overflow: hidden; }
.dashboard-expired-archive > summary {
    padding: 19px 24px; display: grid; grid-template-columns: auto 1fr auto;
    align-items: center; gap: 12px; cursor: pointer; list-style: none;
}
.dashboard-expired-archive > summary::-webkit-details-marker { display: none; }
.dashboard-expired-archive > summary > span:nth-child(2) { display: grid; gap: 3px; }
.dashboard-expired-archive > summary strong { color: var(--ink); }
.dashboard-expired-archive > summary small { color: var(--muted); }
.dashboard-expired-archive > summary em {
    color: var(--green-800); font-size: .82rem; font-style: normal; font-weight: 800;
}
.dashboard-expired-archive[open] > summary { border-bottom: 1px solid var(--line); }
.archive-hide-label { display: none; }
.dashboard-expired-archive[open] .archive-show-label { display: none; }
.dashboard-expired-archive[open] .archive-hide-label { display: inline; }
.dashboard-expired-archive > .dashboard-tender-list { padding: 16px 24px 24px; }
.client-expired-archive { margin-top: -4px; }
.expired-card { background: #fffafa; }

@media (max-width: 760px) {
    .dashboard-tender-card { grid-template-columns: auto minmax(0, 1fr); }
    .dashboard-tender-card > .dashboard-deadline { grid-column: 2; width: fit-content; min-width: 0; text-align: left; }
    .dashboard-tender-card > .card-arrow { display: none; }
    .error-log-summary, .error-log-card-grid, .error-log-filter-form, .error-log-detail-grid { grid-template-columns: 1fr; }
    .error-log-search-field { grid-column: auto; }
    .error-log-filter-actions { justify-content: stretch; }
    .error-log-filter-actions .button { flex: 1; }
    .error-log-card-actions, .error-log-document-list article { align-items: stretch; flex-direction: column; }
    .error-log-delete-form { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .dashboard-tender-card { padding: 13px; align-items: start; }
    .dashboard-tender-copy h3 { white-space: normal; }
    .dashboard-expired-archive > summary { padding: 17px 18px; }
    .dashboard-expired-archive > .dashboard-tender-list { padding: 13px 18px 18px; }
}
/* Questionário progressivo para completar a análise */
.analysis-question-button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.analysis-question-button svg{font-size:1.15em}.analysis-question-button strong{padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.2);font-size:.78rem}.analysis-question-button.is-complete{opacity:.45;filter:saturate(.45);cursor:not-allowed}
.question-score-change{display:block;margin-top:6px;color:#1769e0;font-weight:700}
.analysis-score-comparison{min-width:330px;display:grid;justify-items:center;gap:10px;text-align:center}.analysis-score-comparison-charts{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:8px;width:100%}.analysis-score-version{display:grid;justify-items:center;gap:7px}.analysis-score-label{color:var(--green-900);font-size:.7rem;font-weight:900;letter-spacing:.11em}.analysis-score-direction{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:1.5rem}.analysis-score-direction svg{width:26px;height:26px}.analysis-score-direction.is-up{color:#1769e0;background:#e8f1ff;animation:scoreArrowUp 1.15s ease-in-out infinite}.analysis-score-direction.is-down{color:#d34242;background:#ffeded;animation:scoreArrowDown 1.15s ease-in-out infinite}.analysis-score-direction.is-down svg{transform:rotate(180deg)}.analysis-score-direction.is-equal{color:#657286;background:#eef1f5}.analysis-score-copy{display:grid;justify-items:center;gap:2px}.analysis-score-copy strong{color:var(--ink);font-size:.82rem}.analysis-score-copy span{max-width:210px;color:var(--muted);font-size:.69rem;line-height:1.35}.analysis-score-comparison-link{min-height:34px;padding:7px 13px;font-size:.7rem}.analysis-hero.has-score-comparison{grid-template-columns:minmax(330px,360px) minmax(0,1fr) auto}@keyframes scoreArrowUp{0%,100%{transform:translateY(3px)}50%{transform:translateY(-4px)}}@keyframes scoreArrowDown{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
.reanalysis-presentation-open,.reanalysis-presentation-open body{overflow:hidden}.reanalysis-presentation{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;min-height:100dvh;padding:clamp(24px,5vw,72px);overflow-y:auto;background:#fff;opacity:1;transition:opacity .32s ease}.reanalysis-presentation[hidden]{display:none}.reanalysis-presentation.is-pending{visibility:hidden}.reanalysis-presentation.is-leaving{opacity:0;pointer-events:none}.reanalysis-presentation-stage{width:min(760px,100%);display:grid;justify-items:center;gap:clamp(28px,5vh,52px);text-align:center}.reanalysis-presentation-stage>h1{max-width:760px;margin:0;color:var(--ink);font-size:clamp(1.55rem,3.5vw,2.65rem);line-height:1.12;text-wrap:balance}.reanalysis-presentation .analysis-score-comparison{width:min(620px,100%);min-width:0;gap:22px}.reanalysis-presentation .analysis-score-comparison-charts{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:18px}.reanalysis-presentation .analysis-score-version{gap:13px}.reanalysis-presentation .analysis-score-label{font-size:clamp(.76rem,1.5vw,.92rem);letter-spacing:.14em}.reanalysis-presentation .score-ring{--size:clamp(120px,18vw,174px)}.reanalysis-presentation .score-ring::before{width:calc(var(--size) - 18px);height:calc(var(--size) - 18px)}.reanalysis-presentation .score-ring strong{font-size:clamp(1.45rem,3vw,2rem)}.reanalysis-presentation .score-ring small{font-size:.72rem}.reanalysis-presentation .analysis-score-direction{width:58px;height:58px;font-size:2rem}.reanalysis-presentation .analysis-score-direction svg{width:38px;height:38px}.reanalysis-presentation .analysis-score-copy{gap:5px}.reanalysis-presentation .analysis-score-copy strong{font-size:1.05rem}.reanalysis-presentation .analysis-score-copy span{max-width:none;font-size:.84rem}.reanalysis-presentation-button{min-width:190px;min-height:48px;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}
.analysis-questions-dialog{width:min(760px,calc(100% - 28px));min-height:min(600px,calc(100vh - 28px));max-height:calc(100vh - 28px);border:0;border-radius:24px;padding:0;box-shadow:0 28px 80px rgba(13,30,50,.3);overflow:hidden}.analysis-questions-dialog::backdrop{background:rgba(8,22,38,.7);backdrop-filter:blur(5px)}.analysis-question-shell{width:100%;min-height:min(600px,calc(100vh - 28px));max-height:calc(100vh - 28px);padding:70px clamp(28px,8vw,84px) 52px;display:flex;flex-direction:column;justify-content:flex-start;position:relative;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.analysis-question-step,.analysis-question-confirm,.analysis-question-complete{width:100%;margin-block:auto;flex:0 0 auto}.analysis-question-close{position:absolute;z-index:2;right:22px;top:18px;border:0;background:transparent;font-size:2rem;color:#637083;cursor:pointer}.analysis-question-progress{height:5px;background:#e7ebf0;position:absolute;inset:0 0 auto}.analysis-question-progress i{display:block;height:100%;width:0;background:var(--primary,#1769e0);transition:width .3s ease}.analysis-question-step h2,.analysis-question-confirm h2,.analysis-question-complete h2{font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.24;margin:10px 0 28px}.analysis-question-counter{float:right;color:#66758a;font-size:.9rem}.analysis-question-profile-choice{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;padding:16px 18px;margin:18px 0;border:1px solid #d9e2ef;border-radius:12px;background:#f7f9fc;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.analysis-question-profile-choice:hover{border-color:#b9c7dc;background:#f3f6fb}.analysis-question-profile-choice:has(input:checked){border-color:#aabde0;background:#eef3fc}.analysis-question-profile-choice input[type="checkbox"]{grid-column:1;grid-row:1;width:20px;height:20px;padding:0;margin:1px 0 0;z-index:1;border:0;box-shadow:none;opacity:0;cursor:pointer}.analysis-question-check{grid-column:1;grid-row:1;width:20px;height:20px;margin-top:1px;display:grid;place-items:center;border:2px solid #9eacc0;border-radius:5px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.analysis-question-check::after{content:"";width:5px;height:9px;margin-top:-2px;border-right:2px solid #fff;border-bottom:2px solid #fff;opacity:0;transform:rotate(45deg)}.analysis-question-profile-choice input:checked+.analysis-question-check{border-color:var(--green-800);background:var(--green-800)}.analysis-question-profile-choice input:checked+.analysis-question-check::after{opacity:1}.analysis-question-profile-choice input:focus-visible+.analysis-question-check{outline:3px solid rgba(43,69,129,.2);outline-offset:2px}.analysis-question-profile-copy{grid-column:2;grid-row:1;min-width:0;display:grid;gap:3px;text-align:left}.analysis-question-profile-copy strong{font-size:.95rem;line-height:1.3}.analysis-question-profile-copy small{color:#657286;font-size:.84rem;line-height:1.45}.analysis-question-error{color:#b42318}.analysis-question-confirm dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.analysis-question-confirm dl div{background:#f5f8fc;border-radius:10px;padding:11px}.analysis-question-confirm dt{font-size:.75rem;color:#68768a;text-transform:uppercase}.analysis-question-confirm dd{margin:4px 0 0;overflow-wrap:anywhere}.analysis-question-complete{text-align:center}.analysis-question-complete-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e7f8ef;color:#16834b;font-size:2rem}@supports(height:100dvh){.analysis-questions-dialog,.analysis-question-shell{min-height:min(600px,calc(100dvh - 28px));max-height:calc(100dvh - 28px)}}@media(max-width:640px){.analysis-question-shell{padding:60px 22px 32px}.analysis-question-profile-choice{padding:14px}.analysis-question-confirm dl{grid-template-columns:1fr}.analysis-question-confirm .form-actions,.analysis-question-complete .form-actions{align-items:stretch;flex-direction:column}.analysis-question-confirm .form-actions .button,.analysis-question-complete .form-actions .button{width:100%}.analysis-question-button span{display:none}}
.analysis-question-heading-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.analysis-question-heading-row .eyebrow{margin:0}.analysis-question-counter{float:none;flex:0 0 auto}.analysis-question-step h2{font-size:clamp(1.15rem,2vw,1.45rem)}.analysis-question-confirm h2{font-size:clamp(1.15rem,2vw,1.45rem)}.analysis-question-complete h2{font-size:clamp(1.3rem,2.4vw,1.75rem)}
.analysis-question-navigation{display:flex;align-items:center;gap:8px}.analysis-question-navigation button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid #d4ddea;border-radius:8px;color:var(--green-900);background:#fff;font-size:1rem;font-weight:900;cursor:pointer}.analysis-question-navigation button:hover:not(:disabled){border-color:#aebdd2;background:#f2f6fc}.analysis-question-navigation button:disabled{opacity:.38;cursor:not-allowed}
.analysis-question-navigation,.analysis-question-navigation button,.analysis-question-counter{color:#111}.analysis-question-navigation button.is-complete{color:#fff;border-color:#176543;background:#176543;box-shadow:0 4px 10px rgba(23,101,67,.22)}.analysis-question-navigation button.is-complete:hover:not(:disabled){border-color:#10523a;background:#10523a}
.analysis-question-complete [data-reanalyze-questions][hidden]{display:none!important}
.analysis-question-step-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px}
.analysis-question-confirm-actions{margin-top:26px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}
.analysis-question-confirm-actions>div{display:flex;justify-content:flex-end;gap:10px}
.analysis-question-missing{width:fit-content;margin:0 auto 12px;padding:8px 12px;border-radius:9px;color:var(--green-900);background:var(--green-100);font-weight:800}
.analysis-questions-dialog{inset:0;width:100vw;max-width:none;height:100vh;min-height:100vh;max-height:none;margin:0;border-radius:0;box-shadow:none}.analysis-questions-dialog::backdrop{background:#fff;backdrop-filter:none}.analysis-question-shell{height:100vh;min-height:100vh;max-height:none;padding:52px clamp(20px,4vw,48px) 30px}.analysis-question-step,.analysis-question-confirm,.analysis-question-complete{max-width:1180px;margin:auto}.analysis-question-step h2{margin:10px 0 12px;line-height:1.34;text-wrap:balance}.analysis-question-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.analysis-question-workspace.is-source-open{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.analysis-question-main{min-width:0}.analysis-question-reference{min-height:31px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 20px}.analysis-question-impact{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;color:#496071;background:#eef3f7;font-size:.72rem;font-weight:800}.analysis-question-impact.is-blocking{color:#a42a2a;background:#fdebec}.analysis-question-impact.is-required{color:#895d05;background:#fff3d1}.analysis-question-impact.is-attention{color:#285ba3;background:#e9f2ff}.analysis-question-source-action{display:inline-flex;align-items:center;padding:3px 0;border:0;border-bottom:1px solid currentColor;color:var(--green-900);background:transparent;font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.analysis-question-source-action:hover{color:var(--primary,#1769e0)}.analysis-question-source{min-width:0;padding:20px;border:1px solid #d8e1eb;border-radius:14px;background:#f7f9fc;box-shadow:0 10px 28px rgba(30,51,76,.08)}.analysis-question-source[hidden]{display:none!important}.analysis-question-source-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #dce4ed}.analysis-question-source-heading>div{display:grid;gap:3px}.analysis-question-source-heading span{color:var(--green-900);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.analysis-question-source-heading strong{font-size:.83rem}.analysis-question-source-heading button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #d5deea;border-radius:8px;color:#637083;background:#fff;font-size:1.25rem;cursor:pointer}.analysis-question-source blockquote{margin:18px 0;padding:0 0 0 16px;border-left:3px solid var(--green-700,#315997);color:#26384d;font-size:.9rem;line-height:1.62;white-space:pre-wrap;overflow-wrap:anywhere}.analysis-question-source .button{width:100%;margin-top:4px}
@supports(height:100dvh){.analysis-questions-dialog,.analysis-question-shell{height:100dvh;min-height:100dvh;max-height:none}}
@media(max-width:900px){.analysis-question-workspace.is-source-open{grid-template-columns:1fr}.analysis-question-source{order:2}}
@media(max-width:640px){.analysis-question-shell{padding:46px 16px 22px}.analysis-question-source{padding:16px}.analysis-question-step-actions{align-items:stretch;flex-direction:column-reverse}.analysis-question-step-actions .button{width:100%}.analysis-question-confirm-actions{align-items:stretch;flex-direction:column}.analysis-question-confirm-actions>div{align-items:stretch;flex-direction:column}.analysis-question-confirm-actions .button{width:100%}}
@media(max-width:900px){.analysis-hero.has-score-comparison{grid-template-columns:1fr}.analysis-hero.has-score-comparison .analysis-date{grid-column:1}.analysis-score-comparison{min-width:0;width:100%;padding-bottom:18px;border-bottom:1px solid var(--line)}}
@media(max-width:480px){.analysis-score-comparison-charts{grid-template-columns:1fr 34px 1fr;gap:4px}.analysis-score-direction{width:32px;height:32px}.analysis-score-direction svg{width:22px;height:22px}.analysis-score-comparison .score-ring{--size:84px}.analysis-score-comparison .score-ring::before{width:70px;height:70px}.analysis-question-heading-row{align-items:flex-start}.analysis-question-counter{font-size:.78rem}.analysis-question-complete .form-actions{align-items:stretch;flex-direction:column}.analysis-question-complete .form-actions .button{width:100%}}
@media(max-width:560px){.reanalysis-presentation{padding:26px 16px}.reanalysis-presentation-stage{gap:30px}.reanalysis-presentation .analysis-score-comparison-charts{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:5px}.reanalysis-presentation .analysis-score-direction{width:36px;height:36px}.reanalysis-presentation .analysis-score-direction svg{width:25px;height:25px}.reanalysis-presentation .score-ring{--size:clamp(92px,31vw,132px)}.reanalysis-presentation .score-ring::before{width:calc(var(--size) - 14px);height:calc(var(--size) - 14px)}.reanalysis-presentation .analysis-score-label{font-size:.68rem}.reanalysis-presentation-button{width:min(260px,100%)}}
@media(prefers-reduced-motion:reduce){.reanalysis-presentation{transition:none}}
@media(prefers-reduced-motion:reduce){.analysis-score-direction.is-up,.analysis-score-direction.is-down{animation:none}}
.client-knowledge-section{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.client-knowledge-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.client-knowledge-heading .eyebrow{margin:0 0 3px}.client-knowledge-heading h3{margin:0}.client-knowledge-intro{margin:8px 0 20px;color:var(--muted)}.client-knowledge-groups{display:grid;gap:22px}.client-knowledge-group h4{margin:0 0 10px;color:var(--green-900);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.client-knowledge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-knowledge-card{min-width:0;padding:16px;border:1px solid #dbe3ed;border-radius:12px;background:#fff}.client-knowledge-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.client-knowledge-card-main>div{min-width:0;display:grid;gap:2px}.client-knowledge-card-main strong{overflow-wrap:anywhere}.client-knowledge-card-main>div span{color:var(--muted);font-size:.78rem}.client-knowledge-type{flex:0 0 auto;padding:4px 7px;border-radius:999px;color:#176743;background:#e5f6ed;font-size:.67rem;font-weight:800}.client-knowledge-type.is-expiring{color:#855f12;background:#fff1c6}.client-knowledge-card>p{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.client-knowledge-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:.72rem}.client-knowledge-editor{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.client-knowledge-editor summary{width:fit-content;color:var(--green-900);font-size:.78rem;font-weight:800;cursor:pointer}.client-knowledge-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.client-knowledge-form .field{margin:0}.client-knowledge-form .form-actions{margin-top:0;padding-top:12px}.client-knowledge-delete{display:flex;justify-content:flex-end;margin-top:10px}.client-knowledge-delete .button{min-height:34px;padding:7px 12px;font-size:.74rem}@media(max-width:760px){.client-knowledge-list,.client-knowledge-form{grid-template-columns:1fr}.client-knowledge-form .span-2{grid-column:1}.client-knowledge-section{padding:17px}.client-knowledge-card-main{align-items:flex-start;flex-direction:column}.client-knowledge-type{align-self:flex-start}}
.client-profile-heading .button{flex:0 0 auto}@media(max-width:600px){.client-profile-heading{align-items:stretch;flex-direction:column}.client-profile-heading .button{width:100%}}
.analysis-question-page{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid #b8c7df;border-radius:999px;color:#233f78;background:#f3f6fc;font-size:.74rem;font-weight:900;white-space:nowrap}
