:root {
    --bg: #f4f7fb;
    --surface: #ffffff;
    --surface-2: #f8fafc;
    --surface-3: #eef3f8;
    --text: #101828;
    --muted: #667085;
    --muted-2: #98a2b3;
    --line: #e4eaf1;
    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --navy: #0b1220;
    --navy-hover: #111c30;
    --cyan: #0891b2;
    --violet: #7c3aed;
    --amber: #d97706;
    --emerald: #059669;
    --danger: #dc2626;
    --warning: #ea580c;
    --shadow-sm: 0 1px 2px rgba(16,24,40,.04), 0 3px 8px rgba(16,24,40,.04);
    --shadow-md: 0 12px 35px rgba(15,23,42,.08);
    --shadow-lg: 0 28px 70px rgba(15,23,42,.16);
    --radius: 18px;
    --radius-sm: 12px;
    --sidebar: 272px;
    --topbar: 74px;
}

html[data-theme="dark"] {
    --bg: #08101d;
    --surface: #0e1727;
    --surface-2: #121d2e;
    --surface-3: #182438;
    --text: #edf3fb;
    --muted: #a6b3c3;
    --muted-2: #6e7f93;
    --line: #213049;
    --navy: #050a13;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.22);
    --shadow-md: 0 12px 35px rgba(0,0,0,.24);
    --shadow-lg: 0 28px 70px rgba(0,0,0,.42);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, sans-serif; color: var(--text); background: var(--bg); font-size: 14px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
svg { width: 20px; height: 20px; stroke-width: 1.9; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); background: var(--navy); color: #d7e0eb; z-index: 60; display: flex; flex-direction: column; padding: 18px 14px 16px; border-right: 1px solid rgba(255,255,255,.06); transition: transform .25s ease; }
.brand { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 7px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { display: flex; align-items: center; gap: 10px; color: #fff; }
.brand-mark > svg { width: 37px; height: 37px; color: #60a5fa; flex: 0 0 auto; }
.brand-mark span { display: flex; flex-direction: column; line-height: 1.05; }
.brand-mark strong { font: 800 16px/1 Manrope, sans-serif; letter-spacing: -.02em; }
.brand-mark small { color: #8fa2b8; font-size: 10px; margin-top: 5px; letter-spacing: .06em; text-transform: uppercase; }
.sidebar-close { display: none !important; color: #fff; }
.sidebar-nav { flex: 1; padding: 13px 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #2b3a50 transparent; }
.nav-label { padding: 18px 12px 7px; color: #60758d; font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nav-item { display: flex; align-items: center; gap: 11px; height: 42px; padding: 0 11px; margin: 2px 0; border-radius: 10px; color: #aab9ca; font-size: 12.5px; font-weight: 500; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item-site-home { color: #dbe7f5; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.07); margin-bottom: 8px; }
.nav-item-site-home:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.12); }
.nav-item-site-home svg { color: #9fb5ce; }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(37,99,235,.24), rgba(37,99,235,.07)); box-shadow: inset 3px 0 #3b82f6; }
.nav-item svg, .nav-details summary svg { width: 17px; height: 17px; color: #7e96b1; }
.nav-item.active svg { color: #60a5fa; }
.nav-details { color: #aab9ca; margin: 2px 0; }
.nav-details summary { list-style: none; display: flex; align-items: center; gap: 11px; height: 42px; padding: 0 11px; border-radius: 10px; cursor: pointer; font-size: 12.5px; font-weight: 500; }
.nav-details summary::-webkit-details-marker { display: none; }
.nav-details summary:hover { background: rgba(255,255,255,.05); color: #fff; }
.nav-details summary span { flex: 1; }
.nav-details .chevron { width: 14px; transition: transform .2s; }
.nav-details[open] .chevron { transform: rotate(180deg); }
.nav-details > div { border-left: 1px solid #26374c; margin: 2px 0 8px 19px; padding: 3px 0 3px 13px; display: grid; }
.nav-details > div a { padding: 7px 8px; border-radius: 8px; font-size: 11.5px; color: #8296ad; }
.nav-details > div a:hover { color: #fff; background: rgba(255,255,255,.04); }
.sidebar-footer { border-top: 1px solid rgba(255,255,255,.08); padding: 14px 4px 0; }
.security-card { display: flex; gap: 9px; align-items: center; padding: 10px; border-radius: 12px; background: rgba(5,150,105,.1); border: 1px solid rgba(52,211,153,.1); }
.security-card svg { color: #34d399; width: 18px; }
.security-card div { display: grid; }
.security-card strong { font-size: 10.5px; color: #d9fbee; }
.security-card span { font-size: 9.5px; color: #7fa89a; }
.sidebar-footer > a { display: flex; align-items: center; justify-content: center; gap: 5px; color: #667b93; font-size: 10px; padding-top: 11px; }
.sidebar-footer > a svg { width: 12px; }

.main-area { margin-left: var(--sidebar); min-width: 0; flex: 1; display: flex; min-height: 100vh; flex-direction: column; }
.topbar { position: sticky; top: 0; z-index: 45; height: var(--topbar); background: color-mix(in srgb, var(--surface) 88%, transparent); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 32px; }
.topbar-left, .topbar-actions { display: flex; align-items: center; gap: 10px; }
.menu-toggle { display: none !important; }
.icon-btn { width: 38px; height: 38px; border: 1px solid var(--line); background: var(--surface); color: var(--muted); border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; transition: .15s ease; }
.icon-btn:hover { color: var(--text); background: var(--surface-2); border-color: color-mix(in srgb, var(--primary) 30%, var(--line)); }
.icon-btn svg { width: 17px; height: 17px; }
.global-search-trigger { width: min(460px, 38vw); display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); color: var(--muted); text-align: left; }
.global-search-trigger svg { width: 17px; }
.global-search-trigger span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
kbd { border: 1px solid var(--line); background: var(--surface); box-shadow: 0 1px 1px rgba(0,0,0,.04); color: var(--muted); border-radius: 5px; padding: 2px 6px; font-size: 9px; font-family: Inter, sans-serif; }
.help-pill { height: 38px; display: flex; align-items: center; gap: 6px; padding: 0 12px; color: var(--muted); border: 1px solid var(--line); border-radius: 10px; background: var(--surface); font-size: 11.5px; font-weight: 600; }
.help-pill svg { width: 16px; }
.status-dot-wrap { display: flex; gap: 7px; align-items: center; color: var(--muted); padding-left: 5px; font-size: 10.5px; font-weight: 600; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,.1); }
.loading-line { position: fixed; top: calc(var(--topbar) - 2px); left: var(--sidebar); right: 0; height: 2px; z-index: 80; overflow: hidden; pointer-events: none; }
.loading-line.running::after { content: ""; display: block; height: 100%; width: 36%; background: linear-gradient(90deg, transparent, #3b82f6, #06b6d4, transparent); animation: loading 1s ease-in-out infinite; }
@keyframes loading { from { transform: translateX(-120%);} to {transform: translateX(380%);} }
.content-wrap { width: 100%; max-width: 1540px; margin: 0 auto; padding: 30px 34px 46px; flex: 1; }
.site-footer { min-height: 62px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 34px; color: var(--muted-2); font-size: 10.5px; }

.eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-size: 10px; line-height: 1; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }
.eyebrow svg { width: 13px; height: 13px; }
h1,h2,h3 { font-family: Manrope, Inter, sans-serif; margin-top: 0; letter-spacing: -.035em; }
.hero-panel { min-height: 430px; overflow: hidden; position: relative; border-radius: 25px; color: white; background: linear-gradient(120deg, #071120 0%, #0b1b34 54%, #11284a 100%); display: grid; grid-template-columns: minmax(0,.82fr) minmax(600px,1.18fr); align-items: stretch; padding: 0 0 0 50px; box-shadow: 0 22px 55px rgba(15,23,42,.13); }
.hero-panel::after { content:""; position:absolute; inset:0; z-index:1; background: radial-gradient(circle at 62% 28%, rgba(37,99,235,.12), transparent 28%); pointer-events:none; }
.hero-panel.hero-panel-no-visual { grid-template-columns:1fr; padding-right:50px; }
.hero-panel.hero-panel-no-visual .hero-copy { max-width:900px; }
.hero-copy { max-width: 700px; z-index: 3; align-self:center; padding: 46px 34px 46px 0; }
.hero-copy .eyebrow { color: #7dd3fc; }
.hero-copy h1 { font-size: clamp(38px, 3.45vw, 58px); line-height: 1.04; margin: 15px 0 16px; letter-spacing: -.055em; }
.hero-copy h1 span { color: #7dd3fc; }
.hero-copy > p { max-width: 620px; color: #b8c8da; font-size: 15.5px; line-height:1.55; margin: 0 0 24px; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.btn { min-height: 40px; border: 1px solid transparent; border-radius: 10px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-weight: 700; font-size: 11.5px; transition: .17s ease; }
.btn svg { width: 16px; height: 16px; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: white; box-shadow: 0 7px 20px rgba(37,99,235,.23); }
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-1px); }
.btn-ghost { border-color: var(--line); color: var(--text); background: var(--surface); }
.hero-panel .btn-ghost { border-color: rgba(255,255,255,.16); color: #e8f0fa; background: rgba(255,255,255,.06); }
.btn-ghost:hover { background: var(--surface-2); }
.hero-panel .btn-ghost:hover { background: rgba(255,255,255,.1); }
.btn-soft { color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, var(--surface)); border-color: color-mix(in srgb, var(--primary) 13%, var(--line)); }
.btn-soft:hover { background: color-mix(in srgb, var(--primary) 13%, var(--surface)); }
.btn-light { background: white; color: #0c1830; }
.full { width: 100%; }
.hero-trust { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 25px; color: #8399b2; font-size: 10.5px; }
.hero-trust span { display: inline-flex; align-items: center; gap: 5px; }
.hero-trust svg { width: 13px; height: 13px; color: #5eead4; }
.hero-visual { position: relative; z-index:2; min-width:0; min-height:430px; height:100%; align-self:stretch; overflow:hidden; background:linear-gradient(135deg,#0b1b34 0%,#0d4384 52%,#08356a 100%); display:flex; align-items:center; justify-content:center; }
.hero-visual::before { content:""; position:absolute; z-index:2; inset:0 auto 0 0; width:7%; background:linear-gradient(90deg,#0b1b34 0%,rgba(11,27,52,.35) 42%,rgba(11,27,52,0) 100%); pointer-events:none; }
.hero-human-image { width:100%; height:100%; display:block; object-fit:contain; object-position:center center; background:transparent; }
.grid-decoration { position: absolute; inset: 0 -50px -45px 0; opacity: .12; background-image: linear-gradient(rgba(125,211,252,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(125,211,252,.35) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to top, #000, transparent 75%); }
.orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.orb-a { width: 240px; height: 240px; right: 40px; top: 15px; background: radial-gradient(circle at 35% 30%, #1d4ed8, #102a55 62%, transparent 64%); opacity: .82; box-shadow: 0 0 100px rgba(37,99,235,.25); }
.orb-b { width: 100px; height: 100px; right: 250px; bottom: 8px; background: rgba(8,145,178,.17); border: 1px solid rgba(125,211,252,.14); }
.glass-card { position: absolute; z-index: 2; background: rgba(11,25,48,.66); border: 1px solid rgba(255,255,255,.13); backdrop-filter: blur(14px); box-shadow: 0 20px 45px rgba(0,0,0,.22); }
.glass-main { left: 4%; right: 4%; top: 33%; min-height: 92px; border-radius: 18px; display: flex; align-items: center; gap: 13px; padding: 17px; }
.glass-icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(140deg,#2563eb,#0891b2); }
.glass-icon svg { width: 23px; height: 23px; }
.glass-main > div:nth-child(2) { display: grid; }
.glass-main span { color: #8fa8c3; font-size: 10px; }
.glass-main strong { font: 700 14px Manrope; margin-top: 2px; }
.live-badge { margin-left: auto; border: 1px solid rgba(52,211,153,.18); border-radius: 999px; padding: 5px 9px; color: #a7f3d0 !important; background: rgba(16,185,129,.09); display: inline-flex; align-items: center; gap: 6px; }
.live-badge b { width: 6px; height: 6px; background: #34d399; border-radius: 50%; }
.mini-card { width: 160px; min-height: 62px; border-radius: 14px; display: flex; align-items: center; gap: 9px; padding: 12px; }
.mini-card svg { color: #7dd3fc; }
.mini-card span { display: grid; color: #7890ac; font-size: 9px; }
.mini-card b { color: #eef6ff; font-size: 10.5px; }
.mini-a { right: -2%; top: 7%; transform: rotate(2.5deg); }
.mini-b { left: -7%; bottom: 7%; transform: rotate(-2deg); }

.section-block { margin: 12px 0 34px; }
.section-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 17px; }
.section-title-row h2, .panel-head h2 { font-size: 21px; margin: 7px 0 2px; }
.section-title-row p { margin: 0; color: var(--muted); font-size: 11.5px; }
.category-tabs { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; margin-bottom: 14px; padding-bottom: 2px; }
.category-tabs::-webkit-scrollbar { display: none; }
.category-tabs button { border: 1px solid var(--line); background: var(--surface); color: var(--muted); border-radius: 9px; white-space: nowrap; padding: 8px 11px; font-size: 10.5px; font-weight: 700; }
.category-tabs button span { background: var(--surface-3); color: var(--muted-2); padding: 2px 5px; border-radius: 5px; margin-left: 4px; font-size: 8.5px; }
.category-tabs button.active { background: var(--navy); color: white; border-color: var(--navy); }
html[data-theme="dark"] .category-tabs button.active { background: #2563eb; border-color: #2563eb; }
.category-tabs button.active span { background: rgba(255,255,255,.12); color: #cbd5e1; }
.services-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.service-card { position: relative; min-height: 176px; padding: 18px; border-radius: 15px; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-sm); display: flex; flex-direction: column; transition: .18s ease; overflow: hidden; }
.service-card::after { content:""; position:absolute; inset:auto -20px -35px auto; width:92px; height:92px; border-radius:50%; background: color-mix(in srgb, var(--primary) 4%, transparent); }
.service-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--primary) 22%, var(--line)); }
.service-card[hidden] { display:none; }
.service-icon {
    width: 60px;
    height: 60px;
    border-radius: 18px;
    display:grid;
    place-items:center;
    margin-bottom: 16px;
    position:relative;
    overflow:hidden;
    color: var(--primary);
    background: linear-gradient(145deg,
        color-mix(in srgb, currentColor 14%, var(--surface)) 0%,
        color-mix(in srgb, currentColor 7%, var(--surface)) 100%);
    border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
    box-shadow:
        0 10px 24px color-mix(in srgb, currentColor 10%, transparent),
        inset 0 1px 0 rgba(255,255,255,.72);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-icon::before {
    content:"";
    position:absolute;
    width:24px;
    height:24px;
    border-radius:50%;
    right:-8px;
    top:-8px;
    background: color-mix(in srgb, currentColor 22%, transparent);
}
.service-icon::after {
    content:"";
    position:absolute;
    width:7px;
    height:7px;
    border-radius:50%;
    right:8px;
    bottom:8px;
    background: currentColor;
    opacity:.22;
}
.service-icon svg {
    width: 29px;
    height: 29px;
    stroke-width: 2.2;
    position:relative;
    z-index:1;
}
.service-card:hover .service-icon {
    transform: translateY(-2px) scale(1.045);
    border-color: color-mix(in srgb, currentColor 42%, transparent);
    box-shadow:
        0 14px 30px color-mix(in srgb, currentColor 14%, transparent),
        inset 0 1px 0 rgba(255,255,255,.78);
}
.accent-cyan { color: var(--cyan) !important; }
.accent-violet { color: var(--violet) !important; }
.accent-amber { color: var(--amber) !important; }
.accent-emerald { color: var(--emerald) !important; }
.service-content { flex:1; }
.service-group { color: var(--muted-2); text-transform: uppercase; letter-spacing: .06em; font-size: 8.5px; font-weight: 800; }
.service-card h3 { font-size: 13.5px; margin: 5px 26px 5px 0; letter-spacing: -.025em; }
.service-card p { color: var(--muted); font-size: 10.5px; line-height: 1.5; margin: 0; }
.service-arrow { position:absolute; right:15px; top:16px; width:27px; height:27px; border-radius:8px; display:grid; place-items:center; color: var(--muted-2); background: var(--surface-2); }
.service-arrow svg { width:13px; }
.dashboard-split { display:grid; grid-template-columns: 1.18fr .82fr; gap:14px; margin-bottom:34px; }
.panel-card { background: var(--surface); border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.dashboard-split > .panel-card { padding:20px; }
.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding-bottom: 10px; }
.panel-head h2 { font-size:17px; }
.panel-head > a { display:flex; align-items:center; gap:5px; color:var(--primary); font-size:9.5px; font-weight:800; margin-top:6px; }
.panel-head > a svg { width:12px; }
.activity-list { display:grid; }
.activity-item { display:grid; grid-template-columns: 31px 1fr; gap:10px; min-height: 90px; }
.activity-status { position:relative; display:flex; justify-content:center; }
.status-ring { width:29px; height:29px; border-radius:9px; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line); color:var(--primary); z-index:1; }
.status-ring svg { width:13px; }
.timeline-stick { position:absolute; top:30px; bottom:0; width:1px; background:var(--line); }
.activity-item:last-child .timeline-stick { display:none; }
.activity-body { padding-bottom:15px; }
.activity-top { display:flex; justify-content:space-between; gap:12px; }
.activity-top > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.activity-top strong { font-size:10.5px; }
.activity-top code { font-size:8.5px; color:var(--muted); padding:2px 5px; border-radius:5px; background:var(--surface-2); }
.activity-top > span { font-size:8.5px; color:var(--muted-2); }
.activity-body p { font-size:10px; color:var(--muted); margin:5px 0 8px; }
.progress-row { display:flex; align-items:center; gap:9px; }
.progress-track { flex:1; height:4px; border-radius:99px; background:var(--surface-3); overflow:hidden; }
.progress-track span { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#2563eb,#06b6d4); }
.progress-row b { width:92px; text-align:right; font-size:8.5px; color:var(--muted); }
.compact-news { display:grid; }
.compact-news article { display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding:13px 0; }
.compact-news article:first-child { border-top:0; }
.news-date { width:42px; height:44px; flex:0 0 42px; display:grid; place-items:center; align-content:center; border-radius:10px; background:var(--surface-2); color:var(--muted-2); font-size:7.5px; font-weight:700; }
.news-date b { font:800 14px Manrope; color:var(--text); line-height:1; }
.compact-news article div { min-width:0; }
.compact-news small { color:var(--muted-2); font-size:8.5px; }
.compact-news h3 { font-size:10.5px; line-height:1.4; margin:3px 0 0; }
.onr-banner { min-height:140px; position:relative; overflow:hidden; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:17px; padding:25px 28px; border-radius:18px; color:white; background:linear-gradient(110deg,#064e3b,#065f46 48%,#0f766e); box-shadow:0 15px 35px rgba(5,150,105,.12); }
.onr-banner::after { content:""; position:absolute; width:260px; height:260px; right:10%; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.onr-mark { width:53px; height:53px; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.1); }
.onr-mark svg { width:24px; }
.onr-banner .eyebrow { color:#99f6e4; }
.onr-banner h2 { font-size:18px; margin:6px 0 3px; }
.onr-banner p { max-width:700px; margin:0; color:#a7d8cd; font-size:10.5px; }
.onr-banner > * { z-index:1; }

/* page headings */
.page-heading { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding: 8px 2px 25px; }
.page-heading h1 { font-size:28px; margin:8px 0 5px; }
.page-heading p { color:var(--muted); margin:0; max-width:760px; font-size:12px; }
.page-heading-icon { width:58px; height:58px; border-radius:16px; background:color-mix(in srgb,var(--primary) 8%,var(--surface)); color:var(--primary); display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line)); }
.page-heading-icon svg { width:26px; height:26px; }

/* forms */
.form-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:16px; align-items:start; }
.form-card { padding:24px; }
.form-section-title { display:flex; gap:11px; align-items:center; margin:3px 0 17px; }
.form-section-title:not(:first-child) { border-top:1px solid var(--line); padding-top:22px; margin-top:22px; }
.form-section-title > span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:var(--primary); background:color-mix(in srgb,var(--primary) 8%,var(--surface)); font-weight:800; font-size:10px; }
.form-section-title h2 { font-size:13px; margin:0; }
.form-section-title p { color:var(--muted); font-size:9.5px; margin:2px 0 0; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.field { display:grid; gap:6px; min-width:0; }
.field > span { font-size:10px; font-weight:700; color:var(--text); }
.field input, .field select, .field textarea, .map-toolbar select { width:100%; border:1px solid var(--line); color:var(--text); background:var(--surface-2); border-radius:10px; outline:none; padding:0 11px; transition:.15s ease; }
.field input, .field select { height:40px; }
.field textarea { padding-top:10px; resize:vertical; min-height:90px; }
.field input:focus, .field select:focus, .field textarea:focus, .input-icon:focus-within { border-color:color-mix(in srgb,var(--primary) 55%,var(--line)); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 9%,transparent); background:var(--surface); }
.span-2 { grid-column:span 2; }
.input-icon, .input-prefix { height:40px; border:1px solid var(--line); border-radius:10px; display:flex; align-items:center; background:var(--surface-2); transition:.15s ease; }
.input-icon > svg { flex:0 0 auto; width:15px; margin-left:11px; color:var(--muted-2); }
.input-icon input { border:0 !important; box-shadow:none !important; background:transparent !important; flex:1; min-width:0; }
.input-prefix > span { padding-left:11px; color:var(--muted); font-size:10px; }
.input-prefix input { border:0 !important; box-shadow:none !important; background:transparent !important; }
.upload-field { min-height:82px; border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--line)); background:color-mix(in srgb,var(--primary) 3%,var(--surface)); border-radius:12px; padding:14px; display:flex; align-items:center; gap:12px; position:relative; cursor:pointer; }
.upload-field input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.upload-field > svg { width:22px; color:var(--primary); }
.upload-field > span { display:grid; }
.upload-field strong { font-size:10.5px; }
.upload-field small { font-size:9px; color:var(--muted); margin-top:2px; }
.form-actions { border-top:1px solid var(--line); padding-top:18px; margin-top:22px; display:flex; justify-content:flex-end; gap:8px; }
.check-field { display:flex; gap:8px; align-items:flex-start; margin-top:15px; color:var(--muted); font-size:9.5px; }
.check-field input { margin-top:2px; accent-color:var(--primary); }
.check-field a { color:var(--primary); font-weight:700; }
.side-info-card { position:sticky; top:calc(var(--topbar) + 16px); padding:22px; background:linear-gradient(150deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface)); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.info-illustration { width:54px; height:54px; border-radius:15px; display:grid; place-items:center; color:var(--primary); background:color-mix(in srgb,var(--primary) 9%,var(--surface)); margin-bottom:17px; }
.info-illustration svg { width:25px; }
.side-info-card h3 { font-size:14px; margin:0 0 6px; }
.side-info-card > p { color:var(--muted); font-size:10px; }
.check-list { padding:0; margin:16px 0; list-style:none; display:grid; gap:9px; }
.check-list li { display:flex; align-items:center; gap:7px; font-size:9.5px; color:var(--muted); }
.check-list svg { width:13px; color:var(--emerald); }
.notice { display:flex; align-items:flex-start; gap:11px; padding:14px 16px; border:1px solid color-mix(in srgb,var(--primary) 14%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--primary) 4%,var(--surface)); margin-bottom:15px; }
.notice > svg { flex:0 0 auto; width:17px; color:var(--primary); margin-top:1px; }
.notice > div { display:grid; }
.notice strong { font-size:10.5px; }
.notice span { font-size:9.5px; color:var(--muted); margin-top:2px; }
.notice-soft { margin:14px 0 0; padding:11px; }
.notice-warning { border-color:color-mix(in srgb,var(--warning) 18%,var(--line)); background:color-mix(in srgb,var(--warning) 5%,var(--surface)); }
.notice-warning > svg { color:var(--warning); }
.muted { color:var(--muted); font-size:10.5px; }
.compact-form { margin-top:15px; max-width:920px; }
.compact-form > h2 { font-size:17px; margin-bottom:3px; }

/* queries */
.query-shell { display:grid; grid-template-columns:minmax(0,600px) minmax(320px,1fr); gap:16px; align-items:start; }
.query-card { padding:28px; }
.query-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:14px; color:var(--primary); background:color-mix(in srgb,var(--primary) 9%,var(--surface)); margin-bottom:18px; }
.query-icon svg { width:24px; }
.query-card h2 { font-size:19px; margin:0 0 5px; }
.query-card > p { margin:0 0 20px; color:var(--muted); font-size:10.5px; }
.query-form { display:grid; gap:13px; }
.demo-tip { display:flex; gap:8px; margin-top:18px; padding:11px; border-radius:10px; background:var(--surface-2); color:var(--muted); font-size:9px; }
.demo-tip svg { width:14px; flex:0 0 auto; color:var(--amber); }
.result-slot { min-height:200px; }
.result-card { border:1px solid var(--line); background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:24px; animation:fadeUp .25s ease both; }
@keyframes fadeUp { from {opacity:0; transform:translateY(7px)} to {opacity:1; transform:none} }
.result-head { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.result-head span { color:var(--muted); font-size:9px; }
.result-head h3 { margin:3px 0 0; font-size:14px; }
.result-badge { padding:5px 9px; border-radius:999px; color:#047857; background:#ecfdf5; font-size:8.5px; font-weight:800; }
html[data-theme="dark"] .result-badge { background:rgba(5,150,105,.13); color:#6ee7b7; }
.result-details { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; padding:16px 0; }
.detail-box { padding:11px; border-radius:10px; background:var(--surface-2); display:grid; }
.detail-box span { color:var(--muted); font-size:8.5px; }
.detail-box strong { margin-top:2px; font-size:10.5px; }
.stage-list { display:grid; gap:0; margin-top:5px; }
.stage { display:grid; grid-template-columns:22px 1fr; gap:9px; min-height:55px; position:relative; }
.stage > span { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:var(--surface-3); color:var(--muted-2); z-index:1; }
.stage > span svg { width:10px; }
.stage:not(:last-child)::after { content:""; position:absolute; left:9.5px; top:20px; bottom:0; width:1px; background:var(--line); }
.stage.done > span { background:var(--emerald); color:white; }
.stage.current > span { background:var(--primary); color:white; box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent); }
.stage div strong { display:block; font-size:9.5px; }
.stage div small { color:var(--muted); font-size:8.5px; }

/* documents */
.document-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.document-card { min-height:145px; position:relative; display:flex; gap:12px; padding:17px; border:1px solid var(--line); background:var(--surface); border-radius:15px; box-shadow:var(--shadow-sm); }
.document-icon { width:39px; height:39px; flex:0 0 39px; display:grid; place-items:center; border-radius:10px; color:var(--violet); background:color-mix(in srgb,var(--violet) 9%,var(--surface)); }
.document-icon svg { width:17px; }
.document-card h3 { font-size:11.5px; margin:2px 28px 4px 0; }
.document-card p { margin:0; color:var(--muted); font-size:9.5px; }
.document-card > .icon-btn { position:absolute; right:12px; top:12px; width:30px; height:30px; }
.doc-meta { display:flex; gap:5px; margin-top:10px; }
.doc-meta span { padding:3px 6px; border-radius:5px; background:var(--surface-2); color:var(--muted-2); font-size:7.5px; }

/* FAQ */
.faq-toolbar { padding:13px; display:flex; justify-content:space-between; align-items:center; margin-bottom:13px; }
.faq-toolbar .input-icon { width:min(500px,70%); }
.faq-toolbar > span { color:var(--muted); font-size:9.5px; margin-right:7px; }
.faq-list { display:grid; gap:8px; max-width:1050px; }
.faq-item { background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.faq-item summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; padding:15px 17px; font-weight:700; font-size:10.5px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary span { display:grid; }
.faq-item summary small { color:var(--primary); font-size:7.5px; text-transform:uppercase; letter-spacing:.07em; margin-bottom:3px; }
.faq-item summary svg { width:15px; color:var(--muted); transition:transform .2s; }
.faq-item[open] summary svg { transform:rotate(45deg); }
.faq-item > div { padding:0 17px 15px; color:var(--muted); font-size:10.5px; }
.faq-item p { margin:0; }
.faq-item[hidden] { display:none; }

/* privacy */
.privacy-hero { min-height:160px; padding:27px; display:flex; gap:20px; align-items:center; background:linear-gradient(140deg,color-mix(in srgb,var(--emerald) 7%,var(--surface)),var(--surface)); }
.privacy-lock { width:70px; height:70px; flex:0 0 70px; border-radius:20px; display:grid; place-items:center; color:var(--emerald); background:color-mix(in srgb,var(--emerald) 10%,var(--surface)); }
.privacy-lock svg { width:31px; }
.privacy-hero h2 { font-size:20px; margin:7px 0 4px; }
.privacy-hero p { max-width:800px; margin:0; color:var(--muted); font-size:10.5px; }
.info-grid { display:grid; gap:12px; margin-top:13px; }
.info-grid.three { grid-template-columns:repeat(3,1fr); }
.info-tile { min-height:140px; padding:18px; background:var(--surface); border:1px solid var(--line); border-radius:14px; }
.info-tile > svg { width:20px; color:var(--primary); }
.info-tile h3 { font-size:11.5px; margin:10px 0 4px; }
.info-tile p { margin:0; color:var(--muted); font-size:9.5px; }

/* tables */
.table-card { overflow:hidden; }
.table-toolbar { padding:13px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
.table-toolbar .input-icon { width:min(430px,60%); }
.responsive-table { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:10px; }
th { text-align:left; padding:11px 14px; color:var(--muted); font-size:8.5px; text-transform:uppercase; letter-spacing:.05em; background:var(--surface-2); white-space:nowrap; }
td { padding:13px 14px; border-top:1px solid var(--line); color:var(--muted); }
td strong { color:var(--text); }
td code { font-size:8.5px; color:var(--primary); }
td.money { color:var(--text); font-weight:800; white-space:nowrap; }

/* calculator */
.calculator-layout { display:grid; grid-template-columns:minmax(0,650px) 320px; gap:15px; align-items:stretch; }
.fee-result { background:linear-gradient(145deg,#07182e,#0b2b50); color:white; display:flex; flex-direction:column; justify-content:center; }
.fee-result .eyebrow { color:#67e8f9; }
.fee-result > small { color:#7f9dbd; margin-top:12px; }
.fee-result > strong { font:800 32px Manrope; margin:3px 0; }
.fee-result > p { color:#8da5bd; font-size:9.5px; margin:0 0 14px; }
.fee-breakdown { border-top:1px solid rgba(255,255,255,.1); padding-top:12px; display:grid; gap:6px; }
.fee-breakdown div { display:flex; justify-content:space-between; color:#94a9bf; font-size:8.5px; }
.fee-breakdown b { color:#e5edf7; }

/* map */
.map-dashboard { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:14px; }
.map-card { padding:20px; min-height:510px; }
.map-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.map-toolbar h2 { font-size:16px; margin:7px 0 0; }
.map-toolbar select { width:150px; height:36px; font-size:9px; }
.brazil-map { width:min(530px,95%); aspect-ratio:1.12; margin:12px auto 0; position:relative; color:var(--primary); }
.brazil-map > svg { width:100%; height:100%; }
.map-glow { position:absolute; inset:25% 20%; border-radius:50%; background:rgba(37,99,235,.12); filter:blur(45px); }
.state-marker { position:absolute; z-index:2; width:43px; height:43px; border-radius:50%; background:var(--surface); border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line)); box-shadow:0 8px 25px rgba(37,99,235,.14); display:grid; place-items:center; align-content:center; }
.state-marker span { color:var(--text); font-size:8px; font-weight:800; line-height:1; }
.state-marker b { color:var(--primary); font-size:7.5px; }
.m1 { right:21%; bottom:24%; }.m2 { right:30%; bottom:38%; }.m3 { right:33%; bottom:14%; }.m4 { right:23%; top:37%; }.m5 { left:44%; top:40%; }
.map-stats { padding:22px; }
.map-stats h2 { font-size:15px; margin:7px 0 18px; }
.big-stat { display:grid; padding:16px 0 19px; border-bottom:1px solid var(--line); }
.big-stat strong { font:800 28px Manrope; }
.big-stat span { color:var(--muted); font-size:9px; }
.bar-stat { margin-top:15px; }
.bar-stat > span { display:flex; justify-content:space-between; color:var(--muted); font-size:9px; }
.bar-stat b { color:var(--text); }
.bar-stat em { font-style:normal; }
.bar-stat > div { height:5px; background:var(--surface-3); border-radius:99px; margin-top:6px; overflow:hidden; }
.bar-stat i { display:block; height:100%; background:linear-gradient(90deg,#2563eb,#06b6d4); border-radius:99px; }

/* news */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.news-card { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-sm); }
.news-cover { height:160px; display:flex; align-items:flex-start; justify-content:space-between; padding:16px; color:white; }
.news-cover span { padding:5px 8px; background:rgba(0,0,0,.2); backdrop-filter:blur(5px); border-radius:6px; font-size:8px; font-weight:800; }
.news-cover svg { width:32px; height:32px; opacity:.62; }
.cover-1 { background:radial-gradient(circle at 80% 20%,rgba(96,165,250,.45),transparent 30%),linear-gradient(135deg,#0b1f3a,#164e63); }
.cover-2 { background:radial-gradient(circle at 75% 25%,rgba(52,211,153,.35),transparent 28%),linear-gradient(135deg,#052e2b,#115e59); }
.cover-3 { background:radial-gradient(circle at 75% 25%,rgba(167,139,250,.4),transparent 28%),linear-gradient(135deg,#2e1065,#4c1d95); }
.news-body { padding:17px; }
.news-meta { display:flex; justify-content:space-between; gap:10px; color:var(--muted-2); font-size:8px; }
.news-body h2 { font-size:13px; margin:8px 0 6px; }
.news-body p { color:var(--muted); font-size:9.5px; margin:0 0 12px; }
.text-link { border:0; padding:0; background:transparent; color:var(--primary); display:inline-flex; align-items:center; gap:5px; font-size:9.5px; font-weight:800; }
.text-link svg { width:12px; }

/* ONR */
.onr-service-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:15px; align-items:start; }
.onr-flow-card { padding:24px; }
.onr-brandline { display:flex; align-items:center; gap:10px; padding-bottom:17px; border-bottom:1px solid var(--line); margin-bottom:20px; }
.onr-symbol { width:39px; height:39px; border-radius:11px; display:grid; place-items:center; color:var(--emerald); background:color-mix(in srgb,var(--emerald) 9%,var(--surface)); }
.onr-symbol svg { width:18px; }
.onr-brandline > div:nth-child(2) { display:grid; }
.onr-brandline span { color:var(--muted); font-size:8.5px; }
.onr-brandline strong { font-size:11px; }
.integration-badge { margin-left:auto; display:flex; align-items:center; gap:4px; padding:5px 8px; border-radius:99px; color:var(--emerald) !important; background:color-mix(in srgb,var(--emerald) 8%,var(--surface)); font-weight:800; }
.integration-badge svg { width:11px; }
.integration-note { display:flex; gap:8px; padding:11px; margin-top:17px; border-radius:10px; background:var(--surface-2); color:var(--muted); font-size:8.8px; }
.integration-note svg { width:13px; flex:0 0 auto; color:var(--emerald); }
.onr-steps { padding:21px; border:1px solid var(--line); background:var(--surface); border-radius:var(--radius); }
.onr-steps h2 { font-size:16px; margin:7px 0 17px; }
.onr-steps ol { list-style:none; padding:0; margin:0; display:grid; }
.onr-steps li { display:grid; grid-template-columns:27px 1fr; gap:9px; min-height:72px; position:relative; }
.onr-steps li::after { content:""; position:absolute; top:28px; bottom:0; left:13px; width:1px; background:var(--line); }
.onr-steps li:last-child::after { display:none; }
.onr-steps li > span { width:27px; height:27px; border-radius:8px; display:grid; place-items:center; border:1px solid var(--line); background:var(--surface-2); color:var(--muted); font-size:9px; font-weight:800; z-index:1; }
.onr-steps li.active > span { color:white; background:var(--emerald); border-color:var(--emerald); }
.onr-steps li strong { font-size:9.5px; }
.onr-steps li p { color:var(--muted); font-size:8.5px; margin:2px 0 0; }

/* search modal + toast */
.search-dialog { position:fixed; inset:0; z-index:120; display:none; align-items:flex-start; justify-content:center; padding-top:11vh; background:rgba(4,10,20,.58); backdrop-filter:blur(5px); }
.search-dialog.open { display:flex; }
.search-panel { width:min(640px,calc(100% - 28px)); max-height:72vh; background:var(--surface); border:1px solid var(--line); border-radius:17px; box-shadow:var(--shadow-lg); overflow:hidden; animation:searchIn .16s ease both; }
@keyframes searchIn { from {opacity:0; transform:translateY(-7px) scale(.99)} to {opacity:1; transform:none} }
.search-box { height:56px; display:flex; align-items:center; gap:9px; border-bottom:1px solid var(--line); padding:0 14px; }
.search-box svg { width:18px; color:var(--muted); }
.search-box input { flex:1; border:0; outline:0; background:transparent; color:var(--text); font-size:13px; }
.search-results { max-height:55vh; overflow:auto; padding:8px; }
.search-result { display:flex; align-items:center; gap:11px; padding:10px; border-radius:10px; }
.search-result:hover, .search-result.active { background:var(--surface-2); }
.search-result-icon { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:var(--primary); background:color-mix(in srgb,var(--primary) 8%,var(--surface)); }
.search-result-icon svg { width:15px; }
.search-result div { display:grid; min-width:0; flex:1; }
.search-result strong { font-size:10.5px; }
.search-result span { color:var(--muted); font-size:8.5px; }
.search-result > svg { width:13px; color:var(--muted-2); }
.search-empty { padding:35px; text-align:center; color:var(--muted); font-size:10px; }
.search-hint { border-top:1px solid var(--line); padding:8px 12px; display:flex; justify-content:space-between; color:var(--muted-2); font-size:8px; }
.search-hint span { display:flex; align-items:center; gap:3px; }
.toast-stack { position:fixed; right:18px; bottom:18px; z-index:140; width:min(360px,calc(100% - 36px)); display:grid; gap:8px; }
.toast { display:flex; gap:10px; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lg); padding:13px; animation:toastIn .23s ease both; }
@keyframes toastIn { from {opacity:0; transform:translateY(8px)} to {opacity:1; transform:none} }
.toast > svg { width:17px; color:var(--emerald); }
.toast div { display:grid; }
.toast strong { font-size:10px; }
.toast span { color:var(--muted); font-size:8.8px; margin-top:2px; word-break:break-word; }
.empty-state { min-height:55vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.empty-state > svg { width:42px; height:42px; color:var(--warning); }
.empty-state h1 { margin:15px 0 5px; }
.empty-state p { color:var(--muted); }
.sidebar-backdrop { display:none; }

@media (max-width: 1220px) {
    .services-grid { grid-template-columns:repeat(3,1fr); }
    .hero-panel { grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); padding-left:38px; }
    .hero-human-image { object-fit:contain; object-position:center center; background:transparent; }
    .hero-copy { padding-right:22px; }
    .mini-card { display:none; }
    .document-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 980px) {
    .service-icon { width: 52px; height: 52px; border-radius: 16px; }
    .service-icon svg { width: 25px; height: 25px; }

    :root { --sidebar: 0px; }
    .sidebar { width:272px; transform:translateX(-100%); box-shadow:var(--shadow-lg); }
    .sidebar.open { transform:none; }
    .sidebar-close, .menu-toggle { display:inline-flex !important; }
    .sidebar-backdrop { position:fixed; inset:0; z-index:55; background:rgba(0,0,0,.35); backdrop-filter:blur(2px); }
    .sidebar-backdrop.open { display:block; }
    .main-area { margin-left:0; }
    .loading-line { left:0; }
    .topbar { padding:0 20px; }
    .global-search-trigger { width:min(380px,50vw); }
    .content-wrap { padding:24px 22px 40px; }
    .hero-panel { min-height:0; grid-template-columns:1fr; padding:0; }
    .hero-copy { position:relative; z-index:3; max-width:none; padding:38px 34px 32px; }
    .hero-visual { position:relative; width:100%; min-height:285px; height:285px; opacity:1; pointer-events:none; }
    .hero-visual::before { width:100%; height:34%; inset:0 0 auto 0; background:linear-gradient(180deg,#0b1b34 0%,rgba(11,27,52,.46) 24%,rgba(11,27,52,0) 100%); }
    .hero-human-image { object-fit:contain; object-position:center center; background:transparent; }
    .services-grid { grid-template-columns:repeat(2,1fr); }
    .dashboard-split { grid-template-columns:1fr; }
    .form-layout, .onr-service-layout, .query-shell, .calculator-layout, .map-dashboard { grid-template-columns:1fr; }
    .side-info-card { position:static; }
    .onr-steps { order:-1; }
    .onr-steps ol { grid-template-columns:repeat(4,1fr); gap:8px; }
    .onr-steps li { display:block; min-height:0; }
    .onr-steps li::after { display:none; }
    .onr-steps li > span { margin-bottom:6px; }
    .map-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 18px; }
    .map-stats > .eyebrow, .map-stats > h2, .big-stat { grid-column:1/-1; }
}

@media (max-width: 680px) {
    :root { --topbar: 64px; --radius: 15px; }
    .topbar { padding:0 13px; }
    .global-search-trigger { width:42px; padding:0; justify-content:center; background:var(--surface); }
    .global-search-trigger span, .global-search-trigger kbd, .help-pill span, .status-dot-wrap span { display:none; }
    .help-pill { width:38px; padding:0; justify-content:center; }
    .content-wrap { padding:18px 13px 34px; }
    .site-footer { padding:15px; flex-direction:column; align-items:flex-start; gap:4px; }
    .hero-panel { min-height:0; border-radius:20px; padding:0; }
    .hero-copy { padding:29px 23px 25px; }
    .hero-copy h1 { font-size:35px; }
    .hero-copy > p { font-size:14.5px; }
    .hero-actions .btn { width:100%; min-height:48px; font-size:14px; }
    .hero-visual { inset:auto; width:100%; height:220px; min-height:220px; }
    .hero-human-image { object-fit:contain; object-position:center center; background:transparent; }
    .glass-main { display:none; }
    .services-grid { grid-template-columns:1fr; }
    .service-card { min-height:145px; }
    .section-title-row { align-items:flex-start; }
    .section-title-row .btn { display:none; }
    .dashboard-split > .panel-card { padding:15px; }
    .onr-banner { grid-template-columns:auto 1fr; padding:20px; }
    .onr-banner .btn { grid-column:1/-1; width:100%; }
    .page-heading { min-height:95px; padding:4px 1px 17px; }
    .page-heading h1 { font-size:23px; }
    .page-heading-icon { display:none; }
    .form-card, .query-card, .onr-flow-card { padding:17px; }
    .form-grid { grid-template-columns:1fr; }
    .span-2 { grid-column:span 1; }
    .form-actions { flex-direction:column-reverse; }
    .form-actions .btn { width:100%; }
    .result-details { grid-template-columns:1fr; }
    .document-grid, .info-grid.three, .news-grid { grid-template-columns:1fr; }
    .faq-toolbar { align-items:stretch; flex-direction:column; }
    .faq-toolbar .input-icon { width:100%; }
    .privacy-hero { align-items:flex-start; flex-direction:column; }
    .table-toolbar .input-icon { width:100%; }
    .table-toolbar .btn { display:none; }
    .calculator-layout { display:block; }
    .fee-result { margin-top:12px; }
    .map-card { min-height:380px; padding:15px; }
    .map-toolbar { flex-direction:column; }
    .map-toolbar select { width:100%; }
    .map-stats { grid-template-columns:1fr; }
    .map-stats > * { grid-column:auto !important; }
    .onr-steps { overflow-x:auto; }
    .onr-steps ol { min-width:570px; }
    .activity-top { flex-direction:column; gap:2px; }
    .panel-head > a { display:none; }
}

@media print {
    .sidebar,.topbar,.site-footer,.btn,.page-heading-icon { display:none !important; }
    .main-area { margin:0; }
    .content-wrap { padding:0; }
    body { background:white; color:#111; }
    .panel-card { box-shadow:none; }
}

/* Validação e retorno do formulário de contato integrado ao MySQL */
.validation-summary { color:#b42318; font-size:12px; margin-bottom:14px; }
.validation-summary:empty { display:none; }
.validation-summary ul { margin:0; padding-left:18px; }
.field-validation { color:#b42318 !important; font-size:10.5px !important; margin-top:4px !important; }
.field-validation:empty { display:none; }
.contact-notice-success { border-color:color-mix(in srgb,#16a34a 22%,var(--line)); background:color-mix(in srgb,#16a34a 6%,var(--surface)); }
.contact-notice-success > svg { color:#16a34a; }

/* secure response access */
.response-access-shell { display:grid; gap:16px; }
.response-access-card { width:min(100%,620px); margin:0 auto; }
.response-access-notice { max-width:820px; margin:0 auto 16px; }
.response-code-input input { font-size:18px; font-weight:800; letter-spacing:7px; }
.response-secondary-action { margin-top:10px; }
.response-secondary-action .btn { width:100%; }
.response-history-head { padding:20px 22px; display:flex; justify-content:space-between; align-items:center; gap:18px; }
.response-history-head h2 { margin:3px 0 4px; font-size:18px; }
.response-history-head p { margin:0; color:var(--muted); font-size:10px; }
.response-history-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.response-history-section { min-width:0; }
.response-section-title { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 2px 10px; }
.response-section-title > div { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:800; }
.response-section-title svg { width:16px; color:var(--primary); }
.response-count { min-width:24px; height:24px; padding:0 7px; display:grid; place-items:center; border-radius:999px; background:var(--surface-3); color:var(--muted); font-size:9px; font-weight:800; }
.response-list { display:grid; gap:12px; }
.response-item { padding:18px; }
.response-message-block { border-radius:10px; background:var(--surface-2); padding:12px; margin-bottom:12px; }
.response-message-block span, .response-file-row span { display:block; color:var(--muted); font-size:8.5px; margin-bottom:4px; }
.response-message-block p { margin:0; font-size:10px; line-height:1.55; white-space:pre-line; overflow-wrap:anywhere; }
.response-answer { border-color:color-mix(in srgb,var(--emerald) 22%,var(--line)); background:color-mix(in srgb,var(--emerald) 5%,var(--surface)); }
.response-answer > svg { color:var(--emerald); }
.response-file-row { display:flex; align-items:center; gap:10px; border-radius:10px; background:var(--surface-2); padding:12px; margin-bottom:12px; }
.response-file-row > svg { width:17px; color:var(--primary); flex:0 0 auto; }
.response-file-row strong { font-size:10px; overflow-wrap:anywhere; }
.response-empty { text-align:center; max-width:700px; margin:0 auto; }
.response-empty .query-icon { margin-left:auto; margin-right:auto; }
.response-empty-small { border:1px dashed var(--line); border-radius:12px; padding:18px; color:var(--muted); font-size:10px; text-align:center; background:var(--surface); }

@media (max-width: 920px) {
    .response-history-grid { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
    .response-history-head { align-items:flex-start; flex-direction:column; }
    .response-history-head form, .response-history-head .btn { width:100%; }
}

/* consulta real de títulos RI */
.title-query-shell { grid-template-columns:minmax(0,430px) minmax(460px,1fr); }
.live-query-tip svg { color:var(--emerald); }
.title-query-message { margin:0; }
.title-empty-state { min-height:230px; padding:30px; display:grid; place-items:center; align-content:center; text-align:center; gap:7px; color:var(--muted); }
.title-empty-state > svg { width:34px; height:34px; color:var(--primary); margin-bottom:6px; }
.title-empty-state strong { color:var(--text); font-size:13px; }
.title-empty-state span { max-width:340px; font-size:9.5px; line-height:1.55; }
.title-result-card { display:grid; gap:0; }
.title-stage-badge { padding:6px 10px !important; border-radius:999px; font-size:8.5px !important; font-weight:800; max-width:220px; text-align:center; }
.title-status-summary { display:grid; grid-template-columns:44px 1fr; gap:12px; align-items:start; padding:17px 0 13px; }
.title-status-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; }
.title-status-icon svg { width:19px; }
.title-status-summary > div:last-child { display:grid; gap:3px; }
.title-status-summary span { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }
.title-status-summary strong { font-size:12px; }
.title-status-summary p { margin:1px 0 0; color:var(--muted); font-size:9.5px; line-height:1.55; }
.stage-color-primary { color:#1d4ed8; background:#eff6ff; }
.stage-color-secondary { color:#475569; background:#f1f5f9; }
.stage-color-success { color:#047857; background:#ecfdf5; }
.stage-color-danger { color:#b91c1c; background:#fef2f2; }
.stage-color-warning { color:#a16207; background:#fffbeb; }
.stage-color-info { color:#0e7490; background:#ecfeff; }
.stage-color-dark { color:#f8fafc; background:#1e293b; }
.stage-color-light { color:#475569; background:#f8fafc; border:1px solid var(--line); }
html[data-theme="dark"] .stage-color-primary { color:#93c5fd; background:rgba(37,99,235,.14); }
html[data-theme="dark"] .stage-color-secondary { color:#cbd5e1; background:rgba(100,116,139,.15); }
html[data-theme="dark"] .stage-color-success { color:#6ee7b7; background:rgba(5,150,105,.14); }
html[data-theme="dark"] .stage-color-danger { color:#fca5a5; background:rgba(220,38,38,.14); }
html[data-theme="dark"] .stage-color-warning { color:#fde68a; background:rgba(217,119,6,.14); }
html[data-theme="dark"] .stage-color-info { color:#67e8f9; background:rgba(8,145,178,.14); }
html[data-theme="dark"] .stage-color-light { color:#e2e8f0; background:rgba(248,250,252,.05); }
.title-flags { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:13px; }
.title-flag { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:8px; font-weight:700; }
.title-flag svg { width:11px; }
.title-flag.flag-danger { color:#b91c1c; background:#fef2f2; }
.title-flag.flag-warning { color:#a16207; background:#fffbeb; }
.title-flag.flag-success { color:#047857; background:#ecfdf5; }
html[data-theme="dark"] .title-flag.flag-danger { color:#fca5a5; background:rgba(220,38,38,.12); }
html[data-theme="dark"] .title-flag.flag-warning { color:#fde68a; background:rgba(217,119,6,.12); }
html[data-theme="dark"] .title-flag.flag-success { color:#6ee7b7; background:rgba(5,150,105,.12); }
.title-result-details { grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:4px; }
.title-result-section { border-top:1px solid var(--line); padding-top:16px; margin-top:4px; }
.title-result-section-head { display:flex; gap:9px; align-items:flex-start; margin-bottom:11px; }
.title-result-section-head > svg { width:16px; color:var(--primary); flex:0 0 auto; }
.title-result-section-head > div { display:grid; gap:1px; }
.title-result-section-head strong { font-size:10px; }
.title-result-section-head span { color:var(--muted); font-size:8px; }
.title-info-grid, .title-values-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.title-info-grid > div, .title-values-grid > div { padding:10px 11px; border-radius:10px; background:var(--surface-2); display:grid; gap:2px; }
.title-info-grid span, .title-values-grid span { color:var(--muted); font-size:8px; }
.title-info-grid strong { font-size:9.5px; line-height:1.4; }
.title-values-grid strong { font-size:11px; }
.title-billing-button { margin-top:11px; width:max-content; }
.title-long-text { white-space:pre-line; padding:12px 13px; border-radius:10px; background:var(--surface-2); color:var(--text); font-size:9.5px; line-height:1.6; overflow-wrap:anywhere; }
.title-return-section .title-result-section-head > svg { color:var(--danger); }
.title-rps-section { padding-bottom:2px; }

@media (max-width: 1100px) {
    .title-query-shell { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .title-result-details, .title-info-grid, .title-values-grid { grid-template-columns:1fr; }
    .title-stage-badge { max-width:150px; }
}

/* consulta de títulos: acesso alternativo por e-mail + código */
.title-query-shell { grid-template-columns:minmax(0,520px) minmax(460px,1fr); }
.title-access-card { overflow:hidden; }
.title-access-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0 14px; }
.title-access-tab { border:1px solid var(--line); background:var(--surface-2); color:var(--muted); border-radius:12px; padding:11px 12px; display:flex; gap:9px; align-items:center; text-align:left; cursor:pointer; transition:.17s ease; }
.title-access-tab > svg { width:18px; height:18px; flex:0 0 auto; }
.title-access-tab > span { display:grid; gap:1px; min-width:0; }
.title-access-tab strong { color:var(--text); font-size:9.5px; line-height:1.2; }
.title-access-tab small { color:var(--muted); font-size:7.5px; }
.title-access-tab:hover { border-color:color-mix(in srgb,var(--primary) 28%,var(--line)); background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
.title-access-tab.active { border-color:color-mix(in srgb,var(--primary) 38%,var(--line)); background:color-mix(in srgb,var(--primary) 8%,var(--surface)); color:var(--primary); box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 8%,transparent); }
.title-mode-panel { display:none; }
.title-mode-panel.active { display:block; }
.title-mode-copy { margin:0 0 12px !important; color:var(--muted); font-size:9.5px !important; line-height:1.55; }
.title-email-step { display:grid; gap:13px; }
.title-email-step-head { display:grid; grid-template-columns:38px 1fr; gap:10px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:11px 12px; background:var(--surface-2); }
.title-email-step-head > svg { width:20px; height:20px; color:var(--primary); }
.title-email-step-head > div { display:grid; gap:2px; }
.title-email-step-head strong { font-size:10px; }
.title-email-step-head span { color:var(--muted); font-size:8.5px; overflow-wrap:anywhere; }
.title-email-step-head.title-email-verified { border-color:color-mix(in srgb,var(--emerald) 30%,var(--line)); background:color-mix(in srgb,var(--emerald) 6%,var(--surface)); }
.title-email-step-head.title-email-verified > svg { color:var(--emerald); }
.title-code-field input { font-size:18px !important; font-weight:800; letter-spacing:7px; }
.title-email-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.title-email-actions form, .title-email-actions .btn, .title-email-logout .btn { width:100%; }
.title-protocol-list { display:grid; gap:9px; max-height:520px; overflow:auto; padding-right:2px; }
.title-protocol-item { display:grid; grid-template-columns:minmax(100px,.8fr) minmax(150px,1.4fr) auto; gap:10px; align-items:center; border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:11px; transition:.17s ease; }
.title-protocol-item:hover { border-color:color-mix(in srgb,var(--primary) 26%,var(--line)); background:color-mix(in srgb,var(--primary) 3%,var(--surface)); }
.title-protocol-item.selected { border-color:color-mix(in srgb,var(--primary) 44%,var(--line)); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 7%,transparent); }
.title-protocol-main { display:grid; gap:2px; min-width:0; }
.title-protocol-main > span { color:var(--muted); font-size:7.5px; text-transform:uppercase; letter-spacing:.05em; }
.title-protocol-main > strong { font-size:13px; }
.title-protocol-main > small { color:var(--primary); font-size:8px; font-weight:700; line-height:1.35; }
.title-protocol-meta { display:grid; gap:3px; min-width:0; }
.title-protocol-meta span { display:flex; gap:5px; align-items:flex-start; color:var(--muted); font-size:7.8px; line-height:1.35; overflow-wrap:anywhere; }
.title-protocol-meta svg { width:10px; height:10px; flex:0 0 auto; margin-top:1px; }
.title-protocol-open { min-height:34px; padding:0 11px; font-size:9px; }
.title-protocol-empty { border:1px dashed var(--line); border-radius:12px; padding:16px; text-align:center; color:var(--muted); font-size:9px; }
.title-email-logout { margin-top:2px; }

@media (max-width: 1100px) {
    .title-query-shell { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .title-access-tabs { grid-template-columns:1fr; }
    .title-email-actions { grid-template-columns:1fr; }
    .title-protocol-item { grid-template-columns:1fr; }
    .title-protocol-open { width:100%; }
}

/* consulta de títulos RI - resultado completo com histórico de andamentos */
.title-result-model { gap:16px; }
.title-result-hero { padding-bottom:14px; border-bottom:1px solid var(--line); }
.title-result-hero small { display:block; margin-top:3px; color:var(--muted); font-size:8.5px; }
.title-action-card { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.title-action-card > div:first-child { display:grid; gap:3px; }
.title-action-card > div:first-child > span { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }
.title-action-card > div:first-child > strong { font-size:10.5px; line-height:1.45; }
.title-action-flags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.title-progress-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
.title-progress-step { min-height:70px; padding:10px 7px; border-radius:11px; background:var(--surface-2); color:var(--muted); display:grid; place-items:center; align-content:center; gap:5px; text-align:center; border:1px solid transparent; }
.title-progress-step > svg { width:15px; height:15px; }
.title-progress-step > span { font-size:8px; font-weight:800; }
.title-progress-step.active { color:#047857; background:#ecfdf5; border-color:#a7f3d0; }
.title-progress-step.active.danger { color:#b91c1c; background:#fef2f2; border-color:#fecaca; }
html[data-theme="dark"] .title-progress-step.active { color:#6ee7b7; background:rgba(5,150,105,.12); border-color:rgba(52,211,153,.24); }
html[data-theme="dark"] .title-progress-step.active.danger { color:#fca5a5; background:rgba(220,38,38,.12); border-color:rgba(248,113,113,.24); }
.title-onr-alert { display:grid; grid-template-columns:36px 1fr; gap:10px; align-items:start; padding:13px 14px; border:1px solid #bfdbfe; background:#eff6ff; color:#1e3a8a; border-radius:12px; }
.title-onr-alert > svg { width:20px; height:20px; margin-top:1px; }
.title-onr-alert > div { display:grid; gap:3px; }
.title-onr-alert strong { font-size:10px; }
.title-onr-alert span { font-size:8.7px; line-height:1.5; }
html[data-theme="dark"] .title-onr-alert { color:#bfdbfe; background:rgba(37,99,235,.12); border-color:rgba(96,165,250,.25); }
.title-summary-section { margin-top:0; }
.title-current-movement-card { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface); }
.title-current-movement-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; padding:13px 14px; background:var(--surface-2); border-bottom:1px solid var(--line); }
.title-current-movement-head > div { display:grid; gap:2px; }
.title-current-movement-head span { color:var(--muted); font-size:7.8px; text-transform:uppercase; letter-spacing:.05em; }
.title-current-movement-head strong { font-size:11px; }
.title-current-movement-head time { color:var(--muted); font-size:8.5px; font-weight:700; white-space:nowrap; }
.title-current-movement-card > p { margin:0; padding:13px 14px; color:var(--text); font-size:9.5px; line-height:1.6; }
.title-movement-note { margin:0 13px 13px; padding:11px 12px; border-radius:10px; background:var(--surface-2); }
.title-movement-note > span { display:block; color:var(--muted); font-size:7.7px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px; }
.title-movement-note > p { margin:0; white-space:pre-line; font-size:9px; line-height:1.55; overflow-wrap:anywhere; }
.title-movement-return { margin:0 13px 13px; border:1px solid color-mix(in srgb,var(--danger) 24%,var(--line)); border-radius:10px; overflow:hidden; }
.title-movement-return > span { display:flex; gap:6px; align-items:center; padding:9px 11px; color:#b91c1c; background:#fef2f2; font-size:8.5px; font-weight:800; }
.title-movement-return > span svg { width:13px; height:13px; }
.title-movement-return > div { padding:11px 12px; white-space:pre-line; font-size:9px; line-height:1.6; overflow-wrap:anywhere; }
html[data-theme="dark"] .title-movement-return > span { color:#fca5a5; background:rgba(220,38,38,.12); }
.title-history-section { padding-bottom:2px; }
.title-history-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.title-history-list { display:grid; gap:9px; }
.title-history-item { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface); }
.title-history-item[open] { border-color:color-mix(in srgb,var(--primary) 22%,var(--line)); box-shadow:0 7px 20px color-mix(in srgb,var(--primary) 5%,transparent); }
.title-history-item > summary { list-style:none; cursor:pointer; padding:12px 13px; display:flex; justify-content:space-between; gap:12px; align-items:center; background:var(--surface); }
.title-history-item > summary::-webkit-details-marker { display:none; }
.title-history-summary-main { min-width:0; display:grid; grid-template-columns:12px 1fr; gap:9px; align-items:center; }
.title-history-dot { width:10px; height:10px; border-radius:999px; display:block; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent); }
.title-history-summary-main > div { min-width:0; display:grid; gap:2px; }
.title-history-summary-main strong { font-size:9.5px; line-height:1.35; }
.title-history-summary-main span { color:var(--muted); font-size:8px; }
.title-history-summary-status { display:flex; align-items:center; justify-content:flex-end; gap:5px; flex-wrap:wrap; }
.title-history-summary-status > svg { width:15px; height:15px; color:var(--muted); transition:transform .18s ease; }
.title-history-item[open] .title-history-summary-status > svg { transform:rotate(180deg); }
.title-history-body { border-top:1px solid var(--line); padding:13px 0 0; }
.title-history-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:0 13px 13px; }
.title-history-actions .btn { min-height:34px; font-size:8.5px; }
.title-rps-chip { display:inline-flex; align-items:center; gap:5px; min-height:34px; padding:0 10px; border-radius:9px; background:var(--surface-2); color:var(--muted); font-size:8.5px; font-weight:700; }
.title-rps-chip svg { width:13px; height:13px; }

@media (max-width: 820px) {
    .title-progress-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .title-action-card { flex-direction:column; align-items:flex-start; }
    .title-action-flags { justify-content:flex-start; }
}
@media (max-width: 520px) {
    .title-progress-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .title-current-movement-head, .title-history-item > summary { align-items:flex-start; flex-direction:column; }
    .title-history-summary-status { justify-content:flex-start; }
    .title-current-movement-head time { white-space:normal; }
}

/* Menu lateral recolhível + tipografia com melhor legibilidade */
@media (min-width: 981px) {
    :root { --sidebar-collapsed: 82px; }

    .sidebar,
    .main-area,
    .loading-line { transition: width .24s ease, margin-left .24s ease, left .24s ease, padding .24s ease; }

    .sidebar-collapse {
        position: absolute;
        top: 25px;
        right: -15px;
        z-index: 3;
        width: 30px;
        height: 30px;
        border-radius: 9px;
        border: 1px solid rgba(255,255,255,.12);
        background: #172033;
        color: #c7d4e4;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 22px rgba(0,0,0,.22);
        transition: .18s ease;
    }

    .sidebar-collapse:hover { background: var(--navy-hover); color: #fff; transform: translateY(-1px); }
    .sidebar-collapse svg { width: 16px; height: 16px; }

    body.sidebar-collapsed .sidebar {
        width: var(--sidebar-collapsed);
        padding-left: 11px;
        padding-right: 11px;
    }

    body.sidebar-collapsed .main-area { margin-left: var(--sidebar-collapsed); }
    body.sidebar-collapsed .loading-line { left: var(--sidebar-collapsed); }

    body.sidebar-collapsed .brand {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    body.sidebar-collapsed .brand-mark { gap: 0; justify-content: center; }
    body.sidebar-collapsed .brand-mark span,
    body.sidebar-collapsed .nav-item span,
    body.sidebar-collapsed .nav-label,
    body.sidebar-collapsed .security-card div,
    body.sidebar-collapsed .sidebar-footer > a { display: none; }

    body.sidebar-collapsed .brand-mark > svg { width: 38px; height: 38px; }
    body.sidebar-collapsed .sidebar-nav { overflow-x: hidden; }
    body.sidebar-collapsed .nav-item {
        width: 50px;
        height: 46px;
        padding: 0;
        margin: 3px auto;
        justify-content: center;
        gap: 0;
    }
    body.sidebar-collapsed .nav-item svg { width: 20px; height: 20px; }
    body.sidebar-collapsed .nav-item.active { box-shadow: inset 3px 0 #3b82f6; }
    body.sidebar-collapsed .sidebar-footer { padding-left: 0; padding-right: 0; }
    body.sidebar-collapsed .security-card { width: 50px; height: 46px; padding: 0; margin: 0 auto; justify-content: center; }
    body.sidebar-collapsed .security-card svg { width: 20px; height: 20px; }
}

body { font-size: 15px; }
.brand-mark strong { font-size: 17px; }
.brand-mark small { font-size: 10.5px; }
.nav-label { font-size: 10.5px; }
.nav-item { font-size: 13.5px; font-weight: 550; }
.global-search-trigger span { font-size: 13px; }
.help-pill { font-size: 12.5px; }
.status-dot-wrap { font-size: 11.5px; }
.site-footer { font-size: 11.5px; }
.eyebrow { font-size: 11px; }
.btn { font-size: 12.5px; }

@media (max-width: 980px) {
    .sidebar-collapse { display: none !important; }
    .nav-item { font-size: 14px; }
}

/* Identidade institucional carregada de dc_sistema_configuracoes */
.brand-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex: 0 0 auto;
}
.brand-mark:has(.brand-logo) > svg { display: none; }
.glass-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}
.site-footer-client,
.site-footer-meta {
    display: grid;
    gap: 3px;
}
.site-footer-client strong {
    color: var(--text);
    font-size: 12px;
}
.site-footer-meta {
    text-align: right;
}
.site-footer-meta a {
    color: var(--muted);
    font-weight: 600;
}

.site-footer-version {
    color: var(--muted-2);
    font-size: 10.5px;
    font-weight: 600;
}
.site-footer-meta a:hover { color: var(--primary); }

@media (min-width: 981px) {
    body.sidebar-collapsed .brand-logo {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 680px) {
    .site-footer-meta { text-align: left; }
}
.client-contact-list {
    display: grid;
    gap: 9px;
    margin: 17px 0;
}
.client-contact-list > div {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--muted);
    font-size: 11.5px;
}
.client-contact-list svg {
    width: 15px;
    height: 15px;
    color: var(--primary);
    flex: 0 0 auto;
    margin-top: 2px;
}
.client-contact-list span {
    white-space: pre-line;
}

/* dados institucionais centralizados em dc_sistema_configuracoes */
.client-location-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.client-location-actions a { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--primary); font-size: 11px; font-weight: 700; }
.client-location-actions a:hover { background: var(--surface-2); border-color: color-mix(in srgb, var(--primary) 35%, var(--line)); }
.client-location-actions svg { width: 14px; height: 14px; }
.developer-link { display: inline-flex; align-items: center; justify-content: flex-end; gap: 7px; }
.developer-link img { display: block; max-width: 92px; max-height: 22px; object-fit: contain; }

/* ========================================================================== */
/* UX 2026-09 - portal mais simples para clientes, fontes maiores e voltar   */
/* ========================================================================== */
html { font-size: 16px; }
body { font-size: 16px; line-height: 1.58; }

/* Navegação de retorno consistente em todas as telas internas */
.page-navigation-bar {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: -6px 0 10px;
}
.page-back-button,
.page-home-link {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: .17s ease;
}
.page-back-button:hover,
.page-home-link:hover {
    color: var(--primary);
    border-color: color-mix(in srgb,var(--primary) 34%,var(--line));
    background: color-mix(in srgb,var(--primary) 5%,var(--surface));
    transform: translateY(-1px);
}
.page-back-button svg,
.page-home-link svg { width: 18px; height: 18px; }
.page-home-link { color: var(--muted); box-shadow: none; }

/* Guia visual para telas de pesquisa */
.research-guide {
    display: grid;
    grid-template-columns: minmax(260px,.85fr) minmax(520px,1.45fr);
    align-items: center;
    gap: 22px;
    padding: 18px 20px;
    margin: 0 0 18px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 6%,var(--surface)),var(--surface));
    border-color: color-mix(in srgb,var(--primary) 15%,var(--line));
}
.research-guide-compact { grid-template-columns: 1fr; }
.research-guide-intro { display:flex; align-items:center; gap:13px; min-width:0; }
.research-guide-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:var(--primary);
    background:color-mix(in srgb,var(--primary) 10%,var(--surface));
}
.research-guide-icon svg { width:22px; height:22px; }
.research-guide-intro > div { display:grid; gap:3px; min-width:0; }
.research-guide-intro strong { font-size:15px; line-height:1.3; }
.research-guide-intro span { color:var(--muted); font-size:13px; line-height:1.5; }
.research-guide-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:10px; }
.research-guide-steps > i,
.research-guide-steps > svg { width:16px; color:var(--muted-2); }
.research-guide-steps > div { display:grid; grid-template-columns:30px 1fr; gap:9px; align-items:center; min-width:0; }
.research-guide-steps b { width:30px; height:30px; display:grid; place-items:center; border-radius:999px; color:#fff; background:var(--primary); font-size:13px; }
.research-guide-steps span { display:grid; min-width:0; }
.research-guide-steps strong { font-size:13px; line-height:1.3; }
.research-guide-steps small { color:var(--muted); font-size:11.5px; line-height:1.35; }

/* Tipografia principal e alvos de toque */
.content-wrap { padding-top: 24px; }
.brand-mark strong { font-size: 18px; }
.brand-mark small { font-size: 11.5px; }
.nav-label { font-size: 11.5px; }
.nav-item { min-height: 44px; font-size: 15px; font-weight: 600; }
.security-card strong { font-size: 12.5px; }
.security-card span,
.sidebar-footer > a { font-size: 11.5px; }
.global-search-trigger { min-height: 42px; }
.global-search-trigger span { font-size: 14px; }
.help-pill { font-size: 13.5px; }
.status-dot-wrap { font-size: 12.5px; }
.site-footer { font-size: 12.5px; }
.site-footer-client strong { font-size: 14px; }
.eyebrow { font-size: 12px; }
.page-heading { min-height: 120px; padding-bottom: 22px; }
.page-heading h1 { font-size: clamp(29px,3vw,36px); line-height:1.15; }
.page-heading p { max-width: 900px; font-size: 15px; line-height:1.55; }
.section-title-row h2,
.panel-head h2 { font-size: 23px; }
.section-title-row p { font-size: 14px; }

.btn {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 750;
}
.btn svg { width: 18px; height: 18px; }
.field { gap: 8px; }
.field > span { font-size: 13px; }
.field input,
.field select { height: 48px; font-size: 15px; }
.field textarea { min-height: 112px; padding-top: 12px; font-size: 15px; line-height:1.5; }
.input-icon,
.input-prefix { height: 48px; }
.input-icon > svg { width:18px; margin-left:13px; }
.input-prefix > span { font-size:13px; }
.query-form { gap: 16px; }
.query-form > .btn-primary { width:100%; margin-top:2px; }
.form-section-title h2 { font-size: 17px; }
.form-section-title p { font-size: 13px; }
.upload-field strong { font-size: 13.5px; }
.upload-field small,
.check-field,
.check-list li { font-size: 12.5px; }
.notice { padding: 16px 18px; }
.notice strong { font-size: 14px; }
.notice span { font-size: 13px; line-height:1.45; }
.muted { font-size:13px; }
.side-info-card h3 { font-size:18px; }
.side-info-card > p { font-size:13px; line-height:1.55; }
.client-contact-list > div { font-size:13px; }

/* Consultas: formulário e resultado mais fáceis de ler */
.query-shell { grid-template-columns:minmax(0,620px) minmax(360px,1fr); gap:20px; }
.query-card { padding: 30px; }
.query-icon { width:58px; height:58px; margin-bottom:20px; }
.query-icon svg { width:27px; height:27px; }
.query-card h2 { font-size:24px; line-height:1.25; margin-bottom:7px; }
.query-card > p { font-size:14px; line-height:1.55; }
.demo-tip { font-size:12.5px; line-height:1.45; padding:13px; }
.result-card { padding:26px; }
.result-head span { font-size:12px; }
.result-head h3 { font-size:18px; }
.result-badge { font-size:12px; padding:7px 11px; }
.detail-box { padding:14px; }
.detail-box span { font-size:11.5px; }
.detail-box strong { font-size:14px; }
.stage { grid-template-columns:28px 1fr; min-height:66px; gap:11px; }
.stage > span { width:26px; height:26px; }
.stage:not(:last-child)::after { left:12.5px; top:26px; }
.stage div strong { font-size:13.5px; }
.stage div small { font-size:12px; }

/* Consulta de títulos - escolha de acesso */
.title-query-shell { grid-template-columns:minmax(0,610px) minmax(500px,1fr); gap:20px; }
.title-access-tabs { gap:10px; margin:20px 0 18px; }
.title-access-tab { min-height:72px; padding:14px 15px; gap:11px; }
.title-access-tab > svg { width:22px; height:22px; }
.title-access-tab strong { font-size:14px; }
.title-access-tab small { font-size:11.5px; margin-top:2px; }
.title-mode-copy { margin-bottom:16px !important; font-size:13.5px !important; line-height:1.55; }
.title-email-step-head { grid-template-columns:44px 1fr; padding:14px; }
.title-email-step-head > svg { width:24px; height:24px; }
.title-email-step-head strong { font-size:14px; }
.title-email-step-head span { font-size:12.5px; }
.title-code-field input,
.response-code-input input { font-size:22px !important; letter-spacing:8px; }
.title-protocol-list { gap:11px; max-height:600px; }
.title-protocol-item { grid-template-columns:minmax(125px,.8fr) minmax(190px,1.4fr) auto; gap:14px; padding:14px; }
.title-protocol-main > span { font-size:10.5px; }
.title-protocol-main > strong { font-size:17px; }
.title-protocol-main > small { font-size:12px; }
.title-protocol-meta { gap:5px; }
.title-protocol-meta span { font-size:11.5px; line-height:1.45; }
.title-protocol-meta svg { width:14px; height:14px; }
.title-protocol-open { min-height:42px; font-size:13px; }
.title-protocol-empty { font-size:13px; padding:20px; }

/* Consulta de títulos - resultado e histórico */
.title-empty-state span { font-size:13px; max-width:420px; }
.title-stage-badge { font-size:12px !important; padding:7px 11px !important; }
.title-status-summary span,
.title-action-card > div:first-child > span,
.title-current-movement-head span,
.title-movement-note > span { font-size:10.5px; }
.title-status-summary p,
.title-current-movement-card > p,
.title-long-text { font-size:13px; line-height:1.65; }
.title-flag { font-size:11.5px; padding:6px 9px; }
.title-result-section-head strong { font-size:14px; }
.title-result-section-head span { font-size:12px; line-height:1.45; }
.title-info-grid span,
.title-values-grid span { font-size:11px; }
.title-info-grid strong { font-size:13.5px; }
.title-values-grid strong { font-size:15px; }
.title-result-hero small { font-size:12px; }
.title-action-card { padding:16px; }
.title-action-card > div:first-child > strong { font-size:13.5px; }
.title-progress-step { min-height:82px; padding:12px 8px; }
.title-progress-step > svg { width:19px; height:19px; }
.title-progress-step > span { font-size:11.5px; }
.title-onr-alert strong { font-size:14px; }
.title-onr-alert span { font-size:12.5px; }
.title-current-movement-head { padding:15px 16px; }
.title-current-movement-head strong { font-size:15px; }
.title-current-movement-head time { font-size:12px; }
.title-movement-note { padding:13px 14px; }
.title-movement-note > p { font-size:13px; line-height:1.6; }
.title-movement-return > span { font-size:12.5px; padding:11px 13px; }
.title-movement-return > div { font-size:13px; line-height:1.65; padding:13px 14px; }
.title-history-item > summary { padding:15px; }
.title-history-summary-main strong { font-size:14px; }
.title-history-summary-main span { font-size:12px; }
.title-history-actions .btn { min-height:42px; font-size:13px; }
.title-rps-chip { min-height:42px; font-size:12px; }

/* Consulta de contatos/currículos */
.response-access-card { width:min(100%,700px); }
.response-history-head { padding:22px 24px; }
.response-history-head h2 { font-size:22px; }
.response-history-head p { font-size:13px; }
.response-section-title > div { font-size:15px; }
.response-count { min-width:28px; height:28px; font-size:12px; }
.response-item { padding:20px; }
.response-message-block { padding:14px; }
.response-message-block span,
.response-file-row span { font-size:11.5px; }
.response-message-block p { font-size:13.5px; line-height:1.65; }
.response-file-row strong { font-size:13px; }
.response-empty-small { font-size:13px; }

/* Demais módulos */
.service-group { font-size:11px; }
.service-card h3 { font-size:15px; }
.service-card p { font-size:13px; line-height:1.55; }
.category-tabs button { min-height:40px; font-size:13px; }
.category-tabs button span { font-size:11px; }
.document-card h3 { font-size:14px; }
.document-card p { font-size:12.5px; }
.doc-meta span { font-size:10.5px; }
.faq-toolbar > span { font-size:12.5px; }
.faq-item summary { font-size:14px; }
.faq-item summary small { font-size:10.5px; }
.faq-item > div { font-size:13.5px; line-height:1.6; }
.privacy-hero p { font-size:13.5px; }
.info-tile h3 { font-size:15px; }
.info-tile p { font-size:13px; }
table { font-size:13px; }
th { font-size:11px; padding:13px 14px; }
td { padding-top:13px; padding-bottom:13px; }
td code { font-size:11.5px; }
.onr-brandline span { font-size:11.5px; }
.onr-brandline strong { font-size:15px; }
.integration-note { font-size:12.5px; line-height:1.5; }
.onr-steps li > span { font-size:12px; }
.onr-steps li strong { font-size:13.5px; }
.onr-steps li p { font-size:12px; }

/* Busca global mais legível */
.search-panel { width:min(720px,calc(100vw - 28px)); }
.search-box { min-height:58px; }
.search-box input { font-size:16px; }
.search-result { min-height:62px; padding:11px 13px; }
.search-result strong { font-size:14px; }
.search-result span { font-size:12px; }
.search-empty { font-size:13px; }
.search-hint { font-size:11px; padding:10px 13px; }
kbd { font-size:10.5px; }

@media (max-width: 1100px) {
    .query-shell,
    .title-query-shell { grid-template-columns:1fr; }
    .research-guide { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
    .content-wrap { padding:18px 16px 34px; }
    .page-navigation-bar { margin-top:0; }
    .page-back-button,
    .page-home-link { min-height:44px; font-size:14px; }
    .page-heading { min-height:auto; padding:12px 0 20px; }
    .page-heading h1 { font-size:27px; }
    .page-heading p { font-size:14px; }
    .research-guide { padding:15px; }
    .research-guide-steps { grid-template-columns:1fr; gap:9px; }
    .research-guide-steps > svg { display:none; }
    .research-guide-steps > div { padding:8px 0; border-top:1px solid var(--line); }
    .research-guide-steps > div:first-of-type { border-top:0; }
    .query-card { padding:22px 18px; }
    .title-access-tabs { grid-template-columns:1fr; }
    .title-protocol-item { grid-template-columns:1fr; }
    .title-protocol-open { width:100%; }
    .response-history-grid { grid-template-columns:1fr; }
    .btn { min-height:48px; }
    .field input,
    .field select,
    .input-icon,
    .input-prefix { height:50px; }
}
.title-empty-state strong { font-size:16px; }
.title-status-summary strong { font-size:15px; }
.title-history-summary-status { gap:7px; }
.title-history-summary-status > svg { width:18px; height:18px; }

/* ========================================================================== */
/* Consulta Fácil - experiência assistida para baixa familiaridade digital    */
/* ========================================================================== */
.nav-item-easy {
    margin-top: 5px;
    color: color-mix(in srgb, var(--primary) 78%, var(--text));
    background: color-mix(in srgb, var(--primary) 7%, transparent);
    border: 1px solid color-mix(in srgb, var(--primary) 12%, transparent);
}
.nav-item-easy svg { color: var(--primary); }
.easy-topbar-pill {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid color-mix(in srgb,var(--primary) 25%,var(--line));
    border-radius: 999px;
    background: color-mix(in srgb,var(--primary) 8%,var(--surface));
    color: var(--primary);
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}
.easy-topbar-pill:hover { background: color-mix(in srgb,var(--primary) 14%,var(--surface)); }
.easy-topbar-pill svg { width: 18px; height: 18px; }
.hero-easy-button { min-width: 170px; }
.hero-easy-note {
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(236,244,255,.86);
    font-size: 14px;
    line-height: 1.45;
}
.hero-easy-note svg { width: 17px; height: 17px; flex: 0 0 auto; }
.hero-easy-note strong { color: #fff; }

.easy-page {
    width: min(100%, 1120px);
    margin: 0 auto;
    font-size: 17px;
}
.easy-page *:focus-visible {
    outline: 4px solid color-mix(in srgb,var(--primary) 45%,transparent);
    outline-offset: 3px;
}
.easy-hero {
    padding: 30px;
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr);
    gap: 28px;
    align-items: center;
    border-color: color-mix(in srgb,var(--primary) 18%,var(--line));
    background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface));
}
.easy-hero-copy { display: grid; gap: 11px; }
.easy-kicker {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .06em;
}
.easy-kicker svg { width: 20px; height: 20px; }
.easy-hero h1 {
    margin: 0;
    max-width: 760px;
    color: var(--text);
    font-family: Manrope,Inter,sans-serif;
    font-size: clamp(32px,4vw,48px);
    line-height: 1.09;
    letter-spacing: -.035em;
}
.easy-hero p {
    margin: 0;
    max-width: 760px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.65;
}
.easy-accessibility { display: grid; gap: 10px; }
.easy-tool {
    min-height: 52px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 15px;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}
.easy-tool:hover,
.easy-tool.active {
    border-color: color-mix(in srgb,var(--primary) 38%,var(--line));
    background: color-mix(in srgb,var(--primary) 8%,var(--surface));
    color: var(--primary);
}
.easy-tool svg { width: 21px; height: 21px; flex: 0 0 auto; }

.easy-progress { margin: 18px 0; padding: 0 3px; }
.easy-progress-top { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 8px; }
.easy-progress-top strong { color: var(--text); font-size: 16px; }
.easy-progress-top span { color: var(--muted); font-size: 14px; }
.easy-progress-track { height: 8px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.easy-progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--primary); transition: width .24s ease; }

.easy-wizard {
    min-height: 480px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}
.easy-panel { padding: 30px; }
.easy-panel[hidden] { display: none !important; }
.easy-panel:focus { outline: none; }
.easy-question {
    display: grid;
    grid-template-columns: 50px minmax(0,1fr);
    gap: 15px;
    align-items: start;
    margin-bottom: 23px;
}
.easy-question-number {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: white;
    background: var(--primary);
    font-family: Manrope,Inter,sans-serif;
    font-size: 20px;
    font-weight: 850;
}
.easy-question h2 {
    margin: 0 0 5px;
    font-family: Manrope,Inter,sans-serif;
    font-size: clamp(25px,3vw,34px);
    line-height: 1.2;
    letter-spacing: -.02em;
}
.easy-question p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }

.easy-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.easy-choice-grid-two { max-width: 930px; margin: 0 auto; }
.easy-choice {
    min-height: 122px;
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) 24px;
    gap: 15px;
    align-items: center;
    padding: 18px;
    border: 2px solid var(--line);
    border-radius: 16px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
a.easy-choice { text-decoration: none; }
.easy-choice:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb,var(--primary) 44%,var(--line));
    background: color-mix(in srgb,var(--primary) 4%,var(--surface));
    box-shadow: 0 12px 28px color-mix(in srgb,var(--primary) 8%,transparent);
}
.easy-choice-primary { border-color: color-mix(in srgb,var(--primary) 34%,var(--line)); background: color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.easy-choice-help { border-style: dashed; }
.easy-choice-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--primary);
    background: color-mix(in srgb,var(--primary) 10%,var(--surface));
}
.easy-choice-icon svg { width: 28px; height: 28px; }
.easy-choice-copy { display: grid; gap: 5px; min-width: 0; }
.easy-choice-copy strong { color: var(--text); font-size: 18px; line-height: 1.3; }
.easy-choice-copy small { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.easy-choice-arrow { width: 23px; height: 23px; color: var(--muted-2); }
.easy-choice:hover .easy-choice-arrow { color: var(--primary); }

.easy-inline-back {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 22px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--text);
    font: inherit;
    font-size: 15px;
    font-weight: 750;
    cursor: pointer;
}
.easy-inline-back:hover { color: var(--primary); }
.easy-inline-back svg { width: 18px; height: 18px; }
.easy-tip,
.easy-unavailable {
    margin-top: 17px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 15px 17px;
    border-radius: 12px;
    background: var(--surface-2);
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}
.easy-tip svg,
.easy-unavailable svg { width: 20px; height: 20px; color: var(--primary); flex: 0 0 auto; margin-top: 2px; }
.easy-continue {
    min-height: 112px;
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) 24px;
    gap: 15px;
    align-items: center;
    padding: 18px 20px;
    border: 2px solid color-mix(in srgb,var(--primary) 36%,var(--line));
    border-radius: 16px;
    background: color-mix(in srgb,var(--primary) 6%,var(--surface));
    color: var(--text);
}
.easy-continue:hover { background: color-mix(in srgb,var(--primary) 11%,var(--surface)); transform: translateY(-1px); }
.easy-continue > span { width: 58px; height: 58px; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--primary); }
.easy-continue > span svg { width:28px; height:28px; }
.easy-continue > div { display:grid; gap:4px; }
.easy-continue strong { font-size:19px; }
.easy-continue small { color:var(--muted); font-size:14.5px; line-height:1.45; }
.easy-continue > svg { width:23px; height:23px; color:var(--primary); }

.easy-help-list { display: grid; gap: 10px; }
.easy-help-list > a {
    min-height: 78px;
    display: grid;
    grid-template-columns: 36px minmax(0,1fr) 22px;
    gap: 12px;
    align-items: center;
    padding: 13px 15px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--surface);
    color: var(--text);
}
.easy-help-list > a:hover { border-color: color-mix(in srgb,var(--primary) 35%,var(--line)); background:var(--surface-2); }
.easy-help-list > a > svg:first-child { width: 25px; height: 25px; color: var(--primary); }
.easy-help-list > a > svg:last-child { width: 19px; height: 19px; color: var(--muted); }
.easy-help-list span { display:grid; gap:2px; }
.easy-help-list strong { font-size:16px; }
.easy-help-list small { color:var(--muted); font-size:13.5px; }
.easy-contact-box {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid color-mix(in srgb,var(--primary) 20%,var(--line));
    border-radius: 15px;
    background: color-mix(in srgb,var(--primary) 4%,var(--surface));
}
.easy-contact-box > div:first-child { display:flex; align-items:center; gap:13px; }
.easy-contact-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; color:var(--primary); background:color-mix(in srgb,var(--primary) 10%,var(--surface)); }
.easy-contact-icon svg { width:24px; height:24px; }
.easy-contact-box strong { font-size:17px; }
.easy-contact-box p { margin:3px 0 0; color:var(--muted); font-size:14px; }
.easy-contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:15px; }

.easy-footer-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 0;
    padding: 16px;
    color: var(--muted);
    font-size: 14px;
}
.easy-footer-actions > span { margin-right: 4px; }

/* Opções de leitura da Consulta Fácil. Não interferem nas telas tradicionais. */
body.easy-large-text .easy-page { font-size: 20px; }
body.easy-large-text .easy-hero p { font-size: 21px; }
body.easy-large-text .easy-question p { font-size: 20px; }
body.easy-large-text .easy-choice-copy strong { font-size: 21px; }
body.easy-large-text .easy-choice-copy small { font-size: 18px; }
body.easy-large-text .easy-tool,
body.easy-large-text .easy-inline-back,
body.easy-large-text .easy-tip,
body.easy-large-text .easy-help-list strong,
body.easy-large-text .easy-continue small { font-size: 17px; }
body.easy-large-text .easy-continue strong { font-size: 22px; }

body.easy-high-contrast .easy-page .panel-card,
body.easy-high-contrast .easy-wizard,
body.easy-high-contrast .easy-choice,
body.easy-high-contrast .easy-tool,
body.easy-high-contrast .easy-help-list > a,
body.easy-high-contrast .easy-contact-box {
    border-color: currentColor;
    box-shadow: none;
}
body.easy-high-contrast .easy-page { color: var(--text); }
body.easy-high-contrast .easy-choice-copy small,
body.easy-high-contrast .easy-question p,
body.easy-high-contrast .easy-hero p,
body.easy-high-contrast .easy-help-list small,
body.easy-high-contrast .easy-continue small { color: var(--text); opacity: .82; }

/* Ajuste final de legibilidade das telas tradicionais */
body { font-size: 17px; }
.nav-item { font-size: 15.5px; }
.btn { font-size: 15px; }
.field > span { font-size: 14px; }
.field input,
.field select,
.field textarea { font-size: 16px; }
.query-card > p,
.title-mode-copy { font-size: 15px !important; }
.detail-box span { font-size: 13px; }
.detail-box strong { font-size: 15px; }
.title-result-section-head strong { font-size: 16px; }
.title-result-section-head span { font-size: 13.5px; }
.title-current-movement-card > p,
.title-movement-note > p,
.title-movement-return > div { font-size: 14.5px; }
.title-history-summary-main strong { font-size: 15.5px; }
.title-history-summary-main span { font-size: 13px; }
.response-message-block p { font-size: 15px; }
.service-card h3 { font-size: 16px; }
.service-card p { font-size: 14px; }

@media (max-width: 980px) {
    .easy-topbar-pill span { display: none; }
    .easy-topbar-pill { width: 42px; padding:0; justify-content:center; }
    .easy-hero { grid-template-columns: 1fr; }
    .easy-accessibility { grid-template-columns: repeat(3,1fr); }
    .easy-tool { justify-content:center; text-align:center; }
}

@media (max-width: 760px) {
    .easy-page { font-size: 16px; }
    .easy-hero { padding: 22px 18px; gap: 20px; }
    .easy-hero h1 { font-size: 32px; }
    .easy-hero p { font-size: 17px; }
    .easy-accessibility { grid-template-columns: 1fr; }
    .easy-tool { justify-content:flex-start; text-align:left; }
    .easy-progress-top { align-items:flex-start; flex-direction:column; gap:2px; }
    .easy-panel { padding: 22px 17px; }
    .easy-question { grid-template-columns: 42px minmax(0,1fr); gap: 12px; }
    .easy-question-number { width:42px; height:42px; font-size:17px; }
    .easy-question h2 { font-size: 25px; }
    .easy-question p { font-size: 16px; }
    .easy-choice-grid { grid-template-columns: 1fr; }
    .easy-choice { min-height: 112px; grid-template-columns: 50px minmax(0,1fr) 20px; gap: 12px; padding: 15px; }
    .easy-choice-icon { width:50px; height:50px; }
    .easy-choice-icon svg { width:24px; height:24px; }
    .easy-choice-copy strong { font-size: 17px; }
    .easy-choice-copy small { font-size: 14px; }
    .easy-continue { grid-template-columns:50px minmax(0,1fr) 20px; padding:16px; }
    .easy-continue > span { width:50px; height:50px; }
    .easy-contact-actions { display:grid; grid-template-columns:1fr; }
    .easy-contact-actions .btn { width:100%; }
    .easy-footer-actions { display:grid; grid-template-columns:1fr; text-align:center; }
    .easy-footer-actions .btn { width:100%; }
    body.easy-large-text .easy-hero h1 { font-size: 34px; }
}

@media (max-width: 520px) {
    .easy-choice { grid-template-columns: 48px minmax(0,1fr); }
    .easy-choice-arrow { display:none; }
    .easy-help-list > a { grid-template-columns:32px minmax(0,1fr); }
    .easy-help-list > a > svg:last-child { display:none; }
}

/* Resultado em linguagem simples antes dos detalhes técnicos */
.title-simple-status-card {
    margin: 15px 0 10px;
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 14px;
    align-items: center;
    padding: 17px;
    border: 1px solid color-mix(in srgb,var(--primary) 24%,var(--line));
    border-radius: 14px;
    background: color-mix(in srgb,var(--primary) 6%,var(--surface));
}
.title-simple-status-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--primary);
    background: color-mix(in srgb,var(--primary) 11%,var(--surface));
}
.title-simple-status-icon svg { width: 25px; height: 25px; }
.title-simple-status-card > div:last-child { display:grid; gap:4px; }
.title-simple-status-card span { color:var(--primary); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.title-simple-status-card strong { color:var(--text); font-size:18px; line-height:1.4; }
.title-simple-status-card small { color:var(--muted); font-size:13px; }
@media (max-width:760px) {
    .title-simple-status-card { grid-template-columns:44px minmax(0,1fr); padding:14px; gap:11px; }
    .title-simple-status-icon { width:44px; height:44px; }
    .title-simple-status-card strong { font-size:17px; }
}

/* Consulta de Títulos: formulário centralizado e resultado em modo focado */
.title-query-shell-centered {
    display: block;
    width: min(100%, 760px);
    margin: 0 auto;
}
.title-query-shell-centered .title-access-card {
    width: 100%;
    margin: 0 auto;
}
.title-query-shell-centered .result-slot {
    width: 100%;
    margin-top: 16px;
}
.title-query-shell-centered .title-empty-state { display: none; }

.title-query-shell-result-only {
    display: block;
    width: min(100%, 1120px);
    margin: 0 auto;
}
.title-query-card-hidden { display: none !important; }
.title-query-shell-result-only .result-slot { width: 100%; }
.title-query-shell-result-only .title-query-message { margin-bottom: 14px; }

.title-focused-toolbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 16px;
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.title-focused-toolbar-title {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.title-focused-toolbar-title span {
    color: var(--primary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.title-focused-toolbar-title strong {
    color: var(--text);
    font-size: 14px;
    line-height: 1.4;
}
.title-result-focused {
    width: 100%;
    margin: 0 auto;
    padding: 30px;
    border-radius: 18px;
    box-shadow: var(--shadow-md);
}
.title-result-focused .title-result-hero h3 { font-size: 28px; }
.title-result-focused .title-result-hero small { font-size: 13px; }
.title-result-focused .title-stage-badge { font-size: 13px !important; padding: 9px 13px !important; }
.title-result-focused .title-simple-status-card strong,
.title-result-focused .title-action-card strong { font-size: 16px; line-height: 1.5; }
.title-result-focused .title-simple-status-card span,
.title-result-focused .title-action-card span { font-size: 12px; }
.title-result-focused .title-simple-status-card small { font-size: 12px; }
.title-result-focused .title-result-section-head strong { font-size: 15px; }
.title-result-focused .title-result-section-head span { font-size: 12px; line-height: 1.45; }
.title-result-focused .detail-box span,
.title-result-focused .title-info-grid span,
.title-result-focused .title-values-grid span { font-size: 11.5px; }
.title-result-focused .detail-box strong,
.title-result-focused .title-info-grid strong { font-size: 14px; }
.title-result-focused .title-values-grid strong { font-size: 15px; }

.title-history-master {
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: var(--surface);
}
.title-history-master > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 18px;
    background: color-mix(in srgb,var(--primary) 3%,var(--surface));
}
.title-history-master > summary::-webkit-details-marker { display: none; }
.title-history-master-copy {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.title-history-master-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--primary);
    background: color-mix(in srgb,var(--primary) 10%,var(--surface));
}
.title-history-master-icon svg { width: 21px; height: 21px; }
.title-history-master-copy > div { display: grid; gap: 3px; min-width: 0; }
.title-history-master-copy strong { font-size: 15px; }
.title-history-master-copy span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.title-history-master-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}
.title-history-master-action svg { width: 17px; height: 17px; transition: transform .18s ease; }
.title-history-master[open] .title-history-master-action svg { transform: rotate(180deg); }
.title-history-master > .title-history-list {
    padding: 14px;
    border-top: 1px solid var(--line);
}

@media (max-width: 760px) {
    .title-query-shell-centered { width: 100%; }
    .title-focused-toolbar {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .title-focused-toolbar-title {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    .title-focused-toolbar .btn { width: 100%; }
    .title-result-focused { padding: 20px; }
    .title-history-master > summary { align-items: flex-start; flex-direction: column; }
    .title-history-master-action { white-space: normal; }
}

/* =========================================================
   MENU LATERAL — itens em uma linha + degradê suave
   ========================================================= */
:root {
    --sidebar: 360px;
}

.sidebar {
    /*
       A primeira camada pinta somente a faixa superior do menu (área do logo).
       Se --menu-logo-background não estiver configurada, ela fica transparente e
       o fundo normal do menu permanece exatamente como antes.
    */
    background:
        linear-gradient(
            var(--menu-logo-background, transparent),
            var(--menu-logo-background, transparent)
        ) top / 100% 78px no-repeat,
        var(--menu-background, linear-gradient(155deg, #0d1729 0%, #0a1322 48%, #07101d 100%));
    border-right-color: rgba(148, 163, 184, .10);
    box-shadow: 10px 0 34px rgba(2, 8, 23, .08);
}

.sidebar-nav {
    overflow-x: hidden;
}

.nav-item {
    min-width: 0;
    gap: 9px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13.25px;
    font-weight: 600;
    letter-spacing: -.012em;
}

.nav-item > span {
    display: block;
    min-width: 0;
    white-space: nowrap;
    line-height: 1.2;
}

.nav-item svg,
.nav-details summary svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.nav-label {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 10.75px;
}

@media (max-width: 980px) {
    :root { --sidebar: 0px; }

    .sidebar {
        width: min(360px, calc(100vw - 8px));
        padding-left: 12px;
        padding-right: 12px;
    }

    .nav-item {
        gap: 8px;
        padding-left: 9px;
        padding-right: 9px;
        font-size: 12.5px;
        letter-spacing: -.018em;
    }

    .nav-item svg,
    .nav-details summary svg {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    .nav-label {
        font-size: 10.25px;
    }
}

@media (max-width: 420px) {
    .nav-item {
        gap: 7px;
        font-size: 11.75px;
        letter-spacing: -.022em;
    }
}

/* =========================================================
   REQUERIMENTOS — listagem clara, ícones do banco e contraste
   ========================================================= */
.requirements-page { display: grid; gap: 18px; }
.requirements-list-page { width: min(1040px, 100%); margin-inline: auto; }
.requirements-list-heading { text-align: center; padding: 4px 12px 12px; }
.requirements-list-heading h2 {
    margin: 0;
    color: var(--text);
    font: 800 29px/1.18 Manrope, sans-serif;
    letter-spacing: -.025em;
}
.requirements-list-heading p { margin: 8px 0 0; color: var(--muted); font-size: 16px; line-height: 1.55; }
.requirements-notice { margin: 0; }
.requirements-list-shell {
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--line) 84%, var(--primary));
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15,23,42,.055);
}
.requirements-search-card-list { display: grid; gap: 7px; margin-bottom: 20px; }
.requirements-search-box-list {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border: 1px solid color-mix(in srgb, var(--line) 88%, var(--primary));
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(15,23,42,.035);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.requirements-search-box-list:focus-within {
    border-color: color-mix(in srgb, var(--primary) 55%, var(--line));
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 9%, transparent), 0 8px 22px rgba(15,23,42,.045);
}
.requirements-search-box-list > svg { width: 20px; height: 20px; color: var(--primary); flex: 0 0 auto; }
.requirements-search-box-list input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text);
    font: 500 16px Inter, sans-serif;
}
.requirements-search-box-list input::placeholder { color: color-mix(in srgb, var(--muted) 88%, transparent); }
.requirements-search-clear {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
}
.requirements-search-clear:hover { background: rgba(148,163,184,.12); color: var(--text); }
.requirements-search-clear[hidden] { display: none !important; }
.requirements-search-clear svg { width: 18px; height: 18px; }
.requirements-search-count { min-height: 17px; padding: 0 9px; color: var(--muted); font-size: 12px; font-weight: 650; }
.requirements-list { display: grid; gap: 10px; }

/* Paletas sutis alternadas: ajudam a separar visualmente os itens sem perder o padrão institucional. */
.requirement-list-item:nth-child(6n + 1) { --req-accent: #2563eb; --req-soft: #eff6ff; --req-border: #bfdbfe; }
.requirement-list-item:nth-child(6n + 2) { --req-accent: #7c3aed; --req-soft: #f5f3ff; --req-border: #ddd6fe; }
.requirement-list-item:nth-child(6n + 3) { --req-accent: #0f766e; --req-soft: #f0fdfa; --req-border: #99f6e4; }
.requirement-list-item:nth-child(6n + 4) { --req-accent: #b45309; --req-soft: #fffbeb; --req-border: #fde68a; }
.requirement-list-item:nth-child(6n + 5) { --req-accent: #be123c; --req-soft: #fff1f2; --req-border: #fecdd3; }
.requirement-list-item:nth-child(6n + 6) { --req-accent: #0369a1; --req-soft: #f0f9ff; --req-border: #bae6fd; }

.requirement-list-item {
    min-width: 0;
    min-height: 72px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 13px;
    padding: 11px 15px;
    border: 1px solid color-mix(in srgb, var(--line) 92%, var(--req-accent));
    border-left: 3px solid color-mix(in srgb, var(--req-accent) 70%, transparent);
    border-radius: 14px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(15,23,42,.025);
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.requirement-list-item:hover,
.requirement-list-item:focus-visible {
    border-color: color-mix(in srgb, var(--req-accent) 48%, var(--line));
    border-left-color: var(--req-accent);
    background: color-mix(in srgb, var(--req-soft) 58%, var(--panel));
    box-shadow: 0 10px 25px rgba(15,23,42,.07);
    transform: translateY(-1px);
    outline: none;
}
.requirement-list-item[hidden] { display: none !important; }
.requirement-list-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--req-border);
    border-radius: 12px;
    background: var(--req-soft);
    color: var(--req-accent);
    font-size: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.requirement-list-icon svg { width: 20px; height: 20px; }
.requirement-list-icon i { line-height: 1; font-size: 18px; }
.requirement-list-copy { min-width: 0; display: block; }
.requirement-list-copy strong {
    display: block;
    color: var(--text);
    font: 800 16px/1.35 Manrope, sans-serif;
    text-transform: uppercase;
    letter-spacing: -.017em;
    overflow-wrap: anywhere;
}
.requirement-list-arrow {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--req-accent);
    background: transparent;
    transition: background-color .18s ease, transform .18s ease;
}
.requirement-list-arrow svg { width: 21px; height: 21px; stroke-width: 2.6; }
.requirement-list-item:hover .requirement-list-arrow { background: var(--req-soft); transform: translateX(2px); }
.requirements-empty,
.requirements-no-results-list {
    padding: 38px 20px;
    text-align: center;
    border: 1px dashed var(--line);
    border-radius: 14px;
    background: color-mix(in srgb, var(--panel) 97%, var(--primary));
    color: var(--muted);
}
.requirements-empty > svg,
.requirements-no-results-list > svg { width: 32px; height: 32px; margin-bottom: 10px; color: var(--primary); }
.requirements-empty h3 { margin: 0 0 7px; color: var(--text); }
.requirements-empty p { margin: 0; }
.requirements-no-results-list { display: grid; place-items: center; gap: 5px; margin-top: 12px; }
.requirements-no-results-list[hidden] { display: none; }

@media (max-width: 760px) {
    .requirements-list-page { width: 100%; }
    .requirements-list-heading h2 { font-size: 23px; }
    .requirements-list-heading p { font-size: 15px; }
    .requirements-list-shell { padding: 12px; border-radius: 15px; }
    .requirements-search-box-list { min-height: 52px; padding-inline: 13px; }
    .requirements-search-box-list input { font-size: 16px; }
    .requirement-list-item { min-height: 66px; grid-template-columns: 40px minmax(0, 1fr) 24px; gap: 10px; padding: 9px 11px; }
    .requirement-list-icon { width: 38px; height: 38px; border-radius: 10px; }
    .requirement-list-copy strong { font-size: 14px; line-height: 1.35; }
    .requirement-list-arrow svg { width: 19px; height: 19px; }
}

@media (max-width: 420px) {
    .requirements-list-shell { padding: 10px; }
    .requirement-list-copy strong { font-size: 13px; }
}

/* Requerimentos: mantém contraste correto quando o portal estiver em tema escuro. */
html[data-theme="dark"] .requirements-list-shell {
    background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 5%, var(--panel)) 0, var(--panel) 150px);
}
html[data-theme="dark"] .requirement-list-item {
    background: color-mix(in srgb, var(--panel) 96%, var(--req-accent));
    border-color: color-mix(in srgb, var(--line) 78%, var(--req-accent));
}
html[data-theme="dark"] .requirement-list-item:hover,
html[data-theme="dark"] .requirement-list-item:focus-visible {
    background: color-mix(in srgb, var(--panel) 88%, var(--req-accent));
}
html[data-theme="dark"] .requirement-list-icon,
html[data-theme="dark"] .requirement-list-item:hover .requirement-list-arrow {
    background: color-mix(in srgb, var(--panel) 82%, var(--req-accent));
    border-color: color-mix(in srgb, var(--line) 65%, var(--req-accent));
}


/* =========================================================
   HERO UNIFICADO — imagem única sem emendas
   ========================================================= */
.hero-panel-unified {
    min-height: 0;
    display: block;
    padding: 0;
    overflow: hidden;
    background: #071120;
    border-radius: 25px;
}
.hero-panel-unified::after { display: none; }
.hero-unified-desktop {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 1;
    overflow: hidden;
    border-radius: inherit;
    background: #071120;
}
.hero-unified-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
.hero-image-hotspot {
    position: absolute;
    z-index: 4;
    display: block;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    border-radius: 14px;
    color: transparent;
    font-size: 0;
}
.hero-image-hotspot:focus-visible {
    outline: 3px solid rgba(255,255,255,.92);
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(37,99,235,.5);
}
.hero-image-hotspot-easy { left: 4.0%; top: 63.4%; width: 11.4%; height: 9.2%; }
.hero-image-hotspot-search { left: 16.0%; top: 63.4%; width: 17.2%; height: 9.2%; }
.hero-unified-mobile { display: none; }

@media (max-width: 980px) {
    .hero-panel-unified { display: block; }
    .hero-unified-desktop { display: none; }
    .hero-unified-mobile { display: block; }
}

/* =========================================================
   Consulta NF-e / NFS-e
   Controller: ConsultaNfe | URL pública: /ConsultaNfe
   ========================================================= */
.nfe-intro {
    max-width: 860px;
    margin: 0 auto 18px;
    padding: 18px 20px;
    display:flex;
    align-items:center;
    gap:14px;
}
.nfe-intro-icon {
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:color-mix(in srgb,var(--primary) 10%,var(--surface));
    color:var(--primary);
}
.nfe-intro-icon svg { width:23px; height:23px; }
.nfe-intro strong { display:block; font-size:16px; color:var(--text); margin-bottom:3px; }
.nfe-intro span { display:block; font-size:14px; line-height:1.5; color:var(--muted); }
.nfe-query-shell { display:flex; justify-content:center; }
.nfe-query-card { width:min(100%,760px); padding:28px; }
.nfe-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.nfe-mode-option {
    min-width:0;
    min-height:76px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface-2);
    text-decoration:none;
    color:var(--text);
    transition:.16s ease;
}
.nfe-mode-option > svg { width:23px; height:23px; flex:0 0 23px; color:var(--muted); }
.nfe-mode-option span { min-width:0; display:grid; gap:3px; }
.nfe-mode-option strong { font-size:14px; line-height:1.25; }
.nfe-mode-option small { color:var(--muted); font-size:12px; line-height:1.3; }
.nfe-mode-option.active {
    border-color:color-mix(in srgb,var(--primary) 48%,var(--line));
    background:color-mix(in srgb,var(--primary) 7%,var(--surface));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 7%,transparent);
}
.nfe-mode-option.active > svg { color:var(--primary); }
@media (hover:hover) and (pointer:fine) {
    .nfe-mode-option:hover { border-color:color-mix(in srgb,var(--primary) 36%,var(--line)); transform:translateY(-1px); }
}
.nfe-form { display:grid; gap:16px; }
.nfe-submit { width:100%; min-height:50px; justify-content:center; font-size:15px; margin-top:2px; }
.nfe-alert {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:18px;
    padding:13px 14px;
    border-radius:12px;
    font-size:14px;
    line-height:1.45;
}
.nfe-alert svg { width:20px; height:20px; flex:0 0 20px; margin-top:1px; }
.nfe-alert-error { background:#fff1f2; border:1px solid #fecdd3; color:#9f1239; }
html[data-theme="dark"] .nfe-alert-error { background:rgba(159,18,57,.14); border-color:rgba(251,113,133,.25); color:#fda4af; }
.nfe-security-note {
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:12.5px;
    line-height:1.45;
}
.nfe-security-note svg { width:17px; height:17px; flex:0 0 17px; color:#059669; }
.nfe-result-page { max-width:1080px; margin:0 auto; }
.nfe-result-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.nfe-result-hero {
    padding:24px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    border-color:color-mix(in srgb,#10b981 30%,var(--line));
}
.nfe-result-symbol {
    width:58px;
    height:58px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:#ecfdf5;
    color:#047857;
}
.nfe-result-symbol svg { width:29px; height:29px; }
html[data-theme="dark"] .nfe-result-symbol { background:rgba(5,150,105,.14); color:#6ee7b7; }
.nfe-result-main h1 { margin:3px 0 5px; font-size:28px; line-height:1.15; color:var(--text); }
.nfe-result-main p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.nfe-result-status {
    min-width:160px;
    padding:12px 14px;
    border-radius:13px;
    background:var(--surface-2);
    border:1px solid var(--line);
    text-align:right;
}
.nfe-result-status span { display:block; color:var(--muted); font-size:11px; margin-bottom:3px; }
.nfe-result-status strong { font-size:18px; color:var(--text); }
.nfe-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
.nfe-info-card { padding:20px; min-width:0; }
.nfe-info-head { display:flex; align-items:center; gap:9px; padding-bottom:13px; margin-bottom:13px; border-bottom:1px solid var(--line); }
.nfe-info-head svg { width:20px; height:20px; color:var(--primary); }
.nfe-info-head strong { font-size:16px; color:var(--text); }
.nfe-data-list { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 18px; }
.nfe-data-list > div { min-width:0; }
.nfe-data-list > div.wide { grid-column:1/-1; }
.nfe-data-list dt { color:var(--muted); font-size:11.5px; margin-bottom:3px; }
.nfe-data-list dd { margin:0; color:var(--text); font-size:14px; font-weight:650; overflow-wrap:anywhere; line-height:1.4; }
.nfe-result-footer { margin-top:14px; padding:17px 19px; display:flex; align-items:flex-start; gap:12px; }
.nfe-result-footer > svg { width:21px; height:21px; flex:0 0 21px; color:var(--primary); }
.nfe-result-footer strong { display:block; font-size:14px; margin-bottom:2px; }
.nfe-result-footer span { color:var(--muted); font-size:13px; line-height:1.45; }
@media (max-width:760px) {
    .nfe-intro { padding:15px; }
    .nfe-query-card { padding:18px; }
    .nfe-mode-switch { grid-template-columns:1fr; }
    .nfe-result-hero { grid-template-columns:auto minmax(0,1fr); padding:18px; }
    .nfe-result-status { grid-column:1/-1; width:100%; text-align:left; }
    .nfe-summary-grid { grid-template-columns:1fr; }
    .nfe-data-list { grid-template-columns:1fr; }
    .nfe-data-list > div.wide { grid-column:auto; }
}


/* Rodapé institucional - crédito DigitalCartórios */
.developer-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    text-decoration: none;
    width: fit-content;
    margin-left: auto;
    padding: 4px 0;
    transition: color .2s ease, opacity .2s ease;
}
.developer-link img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex: 0 0 28px;
}
.developer-link span {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}
.developer-link strong {
    color: var(--text);
    font-weight: 800;
}
.developer-link > svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
}
.developer-link:hover {
    color: var(--primary) !important;
}
.developer-link:hover strong {
    color: var(--primary);
}
@media (max-width: 680px) {
    .developer-link {
        margin-left: 0;
        justify-content: flex-start;
    }
    .developer-link img {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }
}

/* ========================================================================== */
/* CONSULTAS PREMIUM 2026-09 - padrão visual unificado                        */
/* ========================================================================== */

/* Voltar / Início mais evidentes e próximos das extremidades do conteúdo */
.page-navigation-bar {
    margin: -10px -18px 14px;
    min-height: 52px;
    padding: 0 2px;
}
.page-back-button,
.page-home-link {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 13px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.01em;
    box-shadow: 0 8px 24px rgba(15,23,42,.10);
}
.page-back-button {
    background: var(--surface);
    border-color: color-mix(in srgb,var(--primary) 18%,var(--line));
}
.page-home-link {
    color: #fff;
    background: linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 78%,#1d4ed8));
    border-color: transparent;
    box-shadow: 0 9px 25px color-mix(in srgb,var(--primary) 26%,transparent);
}
.page-home-link:hover {
    color:#fff;
    background: linear-gradient(135deg,var(--primary-dark),var(--primary));
    border-color: transparent;
    transform: translateY(-2px);
}
.page-back-button svg,
.page-home-link svg { width:20px; height:20px; stroke-width:2.2; }

/* Cabeçalho da consulta */
.page-heading {
    min-height: 128px;
    padding: 6px 2px 26px;
}
.page-heading .eyebrow {
    font-size: 12px;
    letter-spacing: .085em;
}
.page-heading h1 {
    font-size: clamp(34px,3.15vw,44px);
    letter-spacing: -.045em;
    margin-top: 8px;
}
.page-heading p {
    font-size: 16px;
    max-width: 840px;
}
.page-heading-icon {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 10%,transparent), 0 12px 30px color-mix(in srgb,var(--primary) 8%,transparent);
}
.page-heading-icon svg { width:32px; height:32px; }

/* Stepper único para consultas */
.research-guide.consultation-stepper {
    display:block;
    padding: 14px 20px;
    margin: 0 0 24px;
    border-radius: 16px;
    background: var(--surface);
    border-color: color-mix(in srgb,var(--primary) 16%,var(--line));
    box-shadow: 0 10px 28px rgba(15,23,42,.065);
}
.consultation-stepper .research-guide-steps {
    grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);
    gap: 16px;
}
.consultation-stepper .research-guide-steps > div {
    grid-template-columns: 46px minmax(0,1fr);
    gap: 13px;
    min-height: 64px;
    padding: 4px 2px;
}
.consultation-stepper .research-guide-steps b {
    width:46px;
    height:46px;
    font-size:17px;
    font-weight:800;
    box-shadow: 0 8px 20px color-mix(in srgb,var(--primary) 22%,transparent);
}
.consultation-stepper .research-guide-steps strong {
    font-size:15px;
    line-height:1.25;
}
.consultation-stepper .research-guide-steps small {
    margin-top:3px;
    font-size:13px;
    line-height:1.35;
}
.consultation-stepper .research-guide-steps > svg {
    width:20px;
    height:20px;
    color:color-mix(in srgb,var(--primary) 34%,var(--muted-2));
}

/* Card principal: maior, centralizado e com hierarquia clara */
.title-query-shell-centered,
.consultation-generic-shell,
.nfe-query-shell {
    width:min(100%, 980px);
    margin-left:auto;
    margin-right:auto;
}
.consultation-generic-shell {
    display:block;
}
.title-query-shell-centered .title-access-card,
.consultation-generic-shell .consultation-main-card,
.nfe-query-card.consultation-main-card {
    width:100%;
    max-width:none;
    padding: 34px 36px 30px;
    border-radius: 20px;
    border-color: color-mix(in srgb,var(--primary) 16%,var(--line));
    background: linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--primary) 1.8%,var(--surface)));
    box-shadow: 0 18px 48px rgba(15,23,42,.095), 0 2px 8px rgba(15,23,42,.035);
}
.nfe-query-card { width:100%; }

.consultation-card-heading {
    display:grid;
    grid-template-columns: 76px minmax(0,1fr);
    gap: 20px;
    align-items:center;
    margin-bottom: 22px;
}
.consultation-card-heading .query-icon {
    width:76px;
    height:76px;
    margin:0;
    border-radius:20px;
    border:1px solid color-mix(in srgb,currentColor 16%,var(--line));
    box-shadow: 0 12px 26px color-mix(in srgb,currentColor 11%,transparent);
}
.consultation-card-heading .query-icon svg {
    width:34px;
    height:34px;
    stroke-width:2.05;
}
.consultation-card-heading h2 {
    margin:0 0 5px;
    font-size:28px;
    line-height:1.18;
    letter-spacing:-.035em;
}
.consultation-card-heading p {
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.5;
}

/* Seletores de modalidade mais confortáveis */
.title-access-tabs,
.nfe-mode-switch {
    gap:14px;
    margin: 6px 0 24px;
}
.title-access-tab,
.nfe-mode-option {
    min-height: 88px;
    padding: 17px 18px;
    border-radius: 15px;
    gap:14px;
}
.title-access-tab > svg,
.nfe-mode-option > svg {
    width:27px;
    height:27px;
    flex:0 0 27px;
    stroke-width:2;
}
.title-access-tab strong,
.nfe-mode-option strong { font-size:15px; }
.title-access-tab small,
.nfe-mode-option small { font-size:13px; line-height:1.4; }
.title-access-tab.active,
.nfe-mode-option.active {
    box-shadow: 0 8px 24px color-mix(in srgb,var(--primary) 10%,transparent), inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent);
}

/* Campos e CTA */
.title-query-shell-centered .query-form,
.consultation-generic-shell .query-form,
.nfe-query-card .nfe-form { gap:18px; }
.title-query-shell-centered .field > span,
.consultation-generic-shell .field > span,
.nfe-query-card .field > span { font-size:14.5px; }
.title-query-shell-centered .field input,
.title-query-shell-centered .field select,
.title-query-shell-centered .input-icon,
.consultation-generic-shell .field input,
.consultation-generic-shell .field select,
.consultation-generic-shell .input-icon,
.nfe-query-card .field input,
.nfe-query-card .field select,
.nfe-query-card .input-icon {
    height:56px;
    border-radius:13px;
    font-size:16px;
}
.title-query-shell-centered .input-icon > svg,
.consultation-generic-shell .input-icon > svg,
.nfe-query-card .input-icon > svg { width:20px; height:20px; margin-left:15px; }
.title-query-shell-centered .query-form > .btn-primary,
.consultation-generic-shell .query-form > .btn-primary,
.nfe-query-card .nfe-submit {
    min-height:56px;
    border-radius:13px;
    font-size:16px;
    font-weight:800;
    box-shadow: 0 12px 28px color-mix(in srgb,var(--primary) 24%,transparent);
}

.consultation-security-note {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:18px;
    padding:13px 15px;
    border-radius:12px;
    background:color-mix(in srgb,#10b981 5%,var(--surface-2));
    color:var(--muted);
    font-size:13px;
}
.consultation-security-note svg { width:18px; height:18px; color:#059669; flex:0 0 18px; }

/* Resultado sempre abaixo no fluxo genérico */
.consultation-generic-shell .consultation-result-slot {
    width:100%;
    margin-top:22px;
}
.consultation-generic-shell .result-card {
    width:100%;
    padding:30px;
    border-radius:18px;
    box-shadow:0 14px 34px rgba(15,23,42,.08);
}

/* Resultados focados de Títulos / Certidões */
.title-query-shell-result-only {
    width:min(100%,1180px);
}
.title-focused-toolbar,
.title-result-hero,
.title-action-card,
.title-result-section,
.title-history-list,
.title-current-movement-card {
    border-radius:16px;
}
.title-focused-toolbar {
    padding:16px 18px;
    box-shadow:0 10px 26px rgba(15,23,42,.07);
}
.title-result-hero { box-shadow:0 16px 40px rgba(15,23,42,.08); }

/* Nota Fiscal no mesmo padrão */
.nfe-query-card .nfe-security-note {
    margin-top:18px;
    padding:13px 15px;
    border:0;
    border-radius:12px;
    background:color-mix(in srgb,#10b981 5%,var(--surface-2));
}
.nfe-result-page { max-width:1180px; }
.nfe-result-hero,
.nfe-info-card,
.nfe-result-footer { border-radius:16px; }
.nfe-result-hero { box-shadow:0 16px 40px rgba(15,23,42,.08); }

@media (max-width: 980px) {
    .page-navigation-bar { margin:-6px -6px 12px; }
    .page-heading { min-height:auto; padding:12px 0 22px; }
    .page-heading h1 { font-size:32px; }
    .research-guide.consultation-stepper { padding:14px 16px; }
    .consultation-stepper .research-guide-steps {
        grid-template-columns:1fr;
        gap:0;
    }
    .consultation-stepper .research-guide-steps > svg { display:none; }
    .consultation-stepper .research-guide-steps > div {
        min-height:58px;
        grid-template-columns:40px minmax(0,1fr);
        padding:9px 0;
        border-top:1px solid var(--line);
    }
    .consultation-stepper .research-guide-steps > div:first-of-type { border-top:0; }
    .consultation-stepper .research-guide-steps b { width:40px; height:40px; font-size:15px; }
    .title-query-shell-centered .title-access-card,
    .consultation-generic-shell .consultation-main-card,
    .nfe-query-card.consultation-main-card { padding:26px 24px; }
}

@media (max-width: 640px) {
    .page-navigation-bar { margin:-6px -2px 10px; }
    .page-back-button,
    .page-home-link { min-height:46px; padding:0 14px; font-size:14px; }
    .page-heading h1 { font-size:29px; }
    .page-heading p { font-size:14px; }
    .consultation-card-heading {
        grid-template-columns:58px minmax(0,1fr);
        gap:14px;
        margin-bottom:18px;
    }
    .consultation-card-heading .query-icon { width:58px; height:58px; border-radius:16px; }
    .consultation-card-heading .query-icon svg { width:27px; height:27px; }
    .consultation-card-heading h2 { font-size:23px; }
    .consultation-card-heading p { font-size:14px; }
    .title-query-shell-centered .title-access-card,
    .consultation-generic-shell .consultation-main-card,
    .nfe-query-card.consultation-main-card { padding:20px 17px; border-radius:17px; }
    .title-access-tab,
    .nfe-mode-option { min-height:78px; padding:14px; }
    .title-query-shell-centered .field input,
    .title-query-shell-centered .field select,
    .title-query-shell-centered .input-icon,
    .consultation-generic-shell .field input,
    .consultation-generic-shell .field select,
    .consultation-generic-shell .input-icon,
    .nfe-query-card .field input,
    .nfe-query-card .field select,
    .nfe-query-card .input-icon { height:52px; }
}

/* Consultar respostas segue o mesmo padrão visual das demais consultas */
.response-access-card {
    width:min(100%,980px);
    padding:34px 36px 30px;
    border-radius:20px;
    border-color:color-mix(in srgb,var(--primary) 16%,var(--line));
    box-shadow:0 18px 48px rgba(15,23,42,.095),0 2px 8px rgba(15,23,42,.035);
}
.response-access-card .query-form { gap:18px; }
.response-access-card .field input,
.response-access-card .input-icon { height:56px; border-radius:13px; }
.response-access-card .query-form > .btn-primary { min-height:56px; border-radius:13px; font-size:16px; }
.response-access-notice { max-width:980px; }
.response-history-head { max-width:1180px; margin-left:auto; margin-right:auto; border-radius:16px; }
.response-history-grid { max-width:1180px; margin-left:auto; margin-right:auto; }
@media (max-width:980px) {
    .response-access-card { padding:26px 24px; }
}
@media (max-width:640px) {
    .response-access-card { padding:20px 17px; border-radius:17px; }
    .response-access-card .field input,
    .response-access-card .input-icon { height:52px; }
}

/* Campos lado a lado nas consultas amplas */
.title-query-shell-centered .title-mode-panel[data-title-panel="protocol"] .query-form,
.title-query-shell-centered .title-mode-panel[data-certificate-panel="protocol"] .query-form,
.consultation-generic-shell .query-form,
.nfe-query-card .nfe-form {
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.title-query-shell-centered .title-mode-panel[data-title-panel="protocol"] .query-form > .btn-primary,
.title-query-shell-centered .title-mode-panel[data-certificate-panel="protocol"] .query-form > .btn-primary,
.consultation-generic-shell .query-form > .btn-primary,
.nfe-query-card .nfe-form > .nfe-submit {
    grid-column:1 / -1;
}
@media (max-width:760px) {
    .title-query-shell-centered .title-mode-panel[data-title-panel="protocol"] .query-form,
    .title-query-shell-centered .title-mode-panel[data-certificate-panel="protocol"] .query-form,
    .consultation-generic-shell .query-form,
    .nfe-query-card .nfe-form { grid-template-columns:1fr; }
}


/* ========================================================================== */
/* Consulta NFS-e - cabeçalho público, compacto e orientativo                  */
/* ========================================================================== */
.nfe-service-heading {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    align-items: center;
    gap: 28px;
    min-height: 206px;
    margin: 0 0 22px;
    padding: 30px 34px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--primary) 13%, var(--line));
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--primary) 11%, transparent) 0 90px, transparent 92px),
        linear-gradient(115deg, var(--surface) 0%, color-mix(in srgb, var(--primary) 4%, var(--surface)) 100%);
    box-shadow: 0 14px 38px rgba(15, 23, 42, .07);
}
.nfe-service-heading::after {
    content: "";
    position: absolute;
    right: -54px;
    bottom: -92px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--primary) 5%, transparent);
    pointer-events: none;
}
.nfe-service-heading-copy { min-width: 0; position: relative; z-index: 1; }
.nfe-service-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
    color: var(--primary);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .095em;
    text-transform: uppercase;
}
.nfe-service-kicker svg { width: 15px; height: 15px; stroke-width: 2.3; }
.nfe-service-heading h1 {
    margin: 0;
    color: var(--text);
    font-size: clamp(36px, 3.2vw, 48px);
    line-height: 1.04;
    letter-spacing: -.048em;
}
.nfe-service-heading p {
    max-width: 790px;
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.55;
}
.nfe-service-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 19px;
}
.nfe-service-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid color-mix(in srgb, var(--primary) 12%, var(--line));
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary) 3.5%, var(--surface));
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 700;
}
.nfe-service-benefits span:last-child {
    color: color-mix(in srgb, #059669 84%, var(--text));
    border-color: color-mix(in srgb, #10b981 18%, var(--line));
    background: color-mix(in srgb, #10b981 6%, var(--surface));
}
.nfe-service-benefits svg { width: 16px; height: 16px; flex: 0 0 16px; }
.nfe-service-heading-icon {
    position: relative;
    z-index: 1;
    width: 94px;
    height: 94px;
    display: grid;
    place-items: center;
    justify-self: end;
    border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--line));
    border-radius: 26px;
    color: var(--primary);
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--primary) 13%, var(--surface)),
        color-mix(in srgb, var(--primary) 4%, var(--surface)));
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, #fff 45%, transparent),
        0 15px 34px color-mix(in srgb, var(--primary) 15%, transparent);
}
.nfe-service-heading-icon svg { width: 43px; height: 43px; stroke-width: 1.9; }

html[data-theme="dark"] .nfe-service-heading {
    background:
        radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--primary) 14%, transparent) 0 90px, transparent 92px),
        linear-gradient(115deg, var(--surface) 0%, color-mix(in srgb, var(--primary) 7%, var(--surface)) 100%);
}

@media (max-width: 760px) {
    .nfe-service-heading {
        grid-template-columns: minmax(0, 1fr) 70px;
        gap: 18px;
        min-height: auto;
        padding: 24px 22px;
        border-radius: 18px;
    }
    .nfe-service-heading-icon { width: 68px; height: 68px; border-radius: 19px; }
    .nfe-service-heading-icon svg { width: 31px; height: 31px; }
    .nfe-service-heading h1 { font-size: 32px; }
    .nfe-service-heading p { font-size: 15px; }
}

@media (max-width: 520px) {
    .nfe-service-heading { grid-template-columns: 1fr; padding: 21px 18px; }
    .nfe-service-heading-icon { display: none; }
    .nfe-service-heading h1 { font-size: 29px; }
    .nfe-service-benefits { gap: 7px; margin-top: 15px; }
    .nfe-service-benefits span { min-height: 32px; padding: 0 9px; font-size: 11.5px; }
}


/* Ajuste 2026-09 - resultados focados mais limpos e destacados */
.title-focused-toolbar {
    grid-template-columns: minmax(0,1fr) auto;
    gap: 20px;
    padding: 18px 22px;
    background: #ffffff;
    border-color: #dbe3f1;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}
.title-focused-toolbar-title span {
    font-size: 12px;
    letter-spacing: .08em;
}
.title-focused-toolbar-title strong {
    font-size: 18px;
    line-height: 1.45;
}
.title-result-focused {
    background: #ffffff;
    border: 1px solid #dbe3f1;
    border-radius: 22px;
    padding: 34px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}
.title-result-focused .title-result-hero,
.title-result-focused .title-simple-status-card,
.title-result-focused .title-action-card,
.title-result-focused .title-result-section,
.title-result-focused .title-current-movement-card,
.title-result-focused .title-history-master,
.title-result-focused .title-history-item,
.title-result-focused .title-long-text {
    background: #ffffff;
}
.title-result-focused .title-result-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 18px;
    align-items: start;
    padding: 8px 0 22px;
    border-bottom: 1px solid #e5eaf3;
    box-shadow: none;
}
.title-result-focused .title-result-hero span {
    font-size: 15px;
    font-weight: 700;
}
.title-result-focused .title-result-hero h3 {
    font-size: clamp(42px, 6vw, 52px);
    line-height: 1.04;
    letter-spacing: -.03em;
    margin-top: 8px;
}
.title-result-focused .title-result-hero small {
    margin-top: 8px;
    font-size: 16px;
}
.title-result-focused .title-stage-badge {
    font-size: 15px !important;
    line-height: 1.35;
    padding: 14px 18px !important;
    border-radius: 999px;
}
.title-result-focused .title-simple-status-card {
    margin-top: 22px;
    margin-bottom: 16px;
    padding: 20px;
    grid-template-columns: 64px minmax(0,1fr);
    gap: 16px;
    border-width: 1px;
}
.title-result-focused .title-simple-status-icon {
    width: 64px;
    height: 64px;
    border-radius: 17px;
}
.title-result-focused .title-simple-status-icon svg {
    width: 28px;
    height: 28px;
}
.title-result-focused .title-simple-status-card span,
.title-result-focused .title-action-card span {
    font-size: 13px;
}
.title-result-focused .title-simple-status-card strong,
.title-result-focused .title-action-card strong {
    font-size: 24px;
    line-height: 1.45;
}
.title-result-focused .title-simple-status-card small {
    font-size: 15px;
    line-height: 1.55;
}
.title-result-focused .title-action-card {
    margin-bottom: 16px;
    padding: 20px;
    background: #ffffff;
    border-color: #e0e7f0;
}
.title-result-focused .title-action-card > div:first-child > span {
    font-size: 13px;
}
.title-result-focused .title-progress-steps {
    gap: 10px;
}
.title-result-focused .title-progress-step {
    min-height: 86px;
    padding: 14px 10px;
    border-radius: 15px;
}
.title-result-focused .title-progress-step > svg {
    width: 18px;
    height: 18px;
}
.title-result-focused .title-progress-step > span {
    font-size: 13px;
}
.title-result-focused .title-result-section-head strong {
    font-size: 20px;
}
.title-result-focused .title-result-section-head span {
    font-size: 15px;
}
.title-result-focused .detail-box span,
.title-result-focused .title-info-grid span,
.title-result-focused .title-values-grid span,
.title-result-focused .title-current-movement-head span,
.title-result-focused .title-history-master-kicker,
.title-result-focused .title-history-item-head span,
.title-result-focused .title-movement-note > span {
    font-size: 13px;
}
.title-result-focused .detail-box strong,
.title-result-focused .title-info-grid strong,
.title-result-focused .title-values-grid strong,
.title-result-focused .title-current-movement-head strong,
.title-result-focused .title-history-item-head strong {
    font-size: 17px;
    line-height: 1.45;
}
.title-result-focused .title-current-movement-head time,
.title-result-focused .title-history-item-date,
.title-result-focused .title-result-hero small {
    font-size: 14px;
}
.title-result-focused .title-current-movement-card > p,
.title-result-focused .title-movement-note > p,
.title-result-focused .title-movement-return > div,
.title-result-focused .title-history-content,
.title-result-focused .title-long-text {
    font-size: 15px;
    line-height: 1.7;
}
@media (max-width: 760px) {
    .title-focused-toolbar {
        grid-template-columns: 1fr;
        padding: 16px 16px;
    }
    .title-focused-toolbar .btn { width: 100%; }
    .title-result-focused {
        padding: 22px;
    }
    .title-result-focused .title-result-hero {
        grid-template-columns: 1fr;
    }
    .title-result-focused .title-result-hero h3 {
        font-size: 36px;
    }
    .title-result-focused .title-simple-status-card {
        grid-template-columns: 52px minmax(0,1fr);
        padding: 16px;
    }
    .title-result-focused .title-simple-status-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
    }
    .title-result-focused .title-simple-status-card strong,
    .title-result-focused .title-action-card strong {
        font-size: 20px;
    }
    .title-result-focused .title-progress-steps {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}


/* ========================================================================== */
/* V1.2.5 - WhatsApp flutuante                                                */
/* Usa a chave `whatsapp` de dc_sistema_configuracoes e só aparece se ativa.  */
/* ========================================================================== */
.floating-whatsapp {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 58;
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(145deg, #2bd66f, #17ad55);
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: 0 14px 34px rgba(9, 90, 45, .26), 0 4px 12px rgba(15, 23, 42, .16);
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-radius .2s ease;
    isolation: isolate;
}
.floating-whatsapp:hover {
    color: #fff;
    transform: translateY(-3px) scale(1.035);
    border-radius: 18px;
    box-shadow: 0 18px 38px rgba(9, 90, 45, .32), 0 6px 16px rgba(15, 23, 42, .2);
}
.floating-whatsapp:focus-visible {
    outline: 3px solid rgba(37, 211, 102, .32);
    outline-offset: 4px;
}
.floating-whatsapp > .fa-whatsapp {
    position: relative;
    z-index: 2;
    font-size: 31px;
    line-height: 1;
}
.floating-whatsapp-ring {
    position: absolute;
    inset: -6px;
    z-index: -1;
    border-radius: 24px;
    border: 1px solid rgba(37, 211, 102, .34);
    opacity: .7;
    animation: whatsapp-soft-pulse 2.8s ease-out infinite;
}
.floating-whatsapp-label {
    position: absolute;
    right: calc(100% + 11px);
    top: 50%;
    transform: translateY(-50%) translateX(5px);
    padding: 8px 11px;
    border-radius: 10px;
    background: #0f172a;
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 8px 22px rgba(15,23,42,.2);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.floating-whatsapp:hover .floating-whatsapp-label,
.floating-whatsapp:focus-visible .floating-whatsapp-label {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}
@keyframes whatsapp-soft-pulse {
    0%, 55% { transform: scale(.96); opacity: .58; }
    100% { transform: scale(1.18); opacity: 0; }
}
@media (max-width: 980px) {
    .floating-whatsapp {
        right: 16px;
        bottom: 18px;
        width: 56px;
        height: 56px;
        border-radius: 18px;
    }
    .floating-whatsapp > .fa-whatsapp { font-size: 29px; }
    .floating-whatsapp-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .floating-whatsapp,
    .floating-whatsapp-label,
    .floating-whatsapp-ring { transition: none; animation: none; }
}
@media print {
    .floating-whatsapp { display: none !important; }
}


/* ========================================================================== */
/* V1.3.0 - convivência com badge reCAPTCHA                                   */
/* Evita sobreposição do badge do Google com o WhatsApp flutuante.            */
/* ========================================================================== */
body.has-google-recaptcha .floating-whatsapp {
    bottom: 100px;
}
@media (max-width: 980px) {
    body.has-google-recaptcha .floating-whatsapp {
        bottom: 94px;
    }
}

/* Consulta de Matrículas --------------------------------------------------- */
.matricula-query-shell {
    max-width: 980px;
    margin: 0 auto 32px;
    scroll-margin-top: 28px;
}

.matricula-query-card {
    width: 100%;
    padding: 28px 30px;
    border: 1px solid rgba(148, 163, 184, .22);
    box-shadow: 0 18px 46px rgba(15, 23, 42, .06);
}

.matricula-card-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--border, #e5e7eb);
}

.matricula-heading-copy {
    min-width: 0;
}

.matricula-heading-kicker {
    display: inline-block;
    margin-bottom: 4px;
    color: #7c3aed;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.matricula-card-heading h2 {
    margin: 0 0 5px;
}

.matricula-card-heading p {
    max-width: 850px;
    margin: 0;
    color: var(--muted, #64748b);
    line-height: 1.55;
}

.matricula-fixed-location {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 11px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: .78rem;
}

.matricula-fixed-location svg {
    width: 15px;
    height: 15px;
    color: #7c3aed;
}

.matricula-fixed-location span {
    color: #64748b;
}

.matricula-fixed-location strong {
    color: #1e293b;
    font-weight: 800;
}

.matricula-form {
    margin-top: 24px;
}

.matricula-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
}

.matricula-form-grid .field-logradouro,
.matricula-form-grid .field-bairro {
    min-width: 0;
}

.matricula-form-grid .field-numero,
.matricula-form-grid .field-contribuinte {
    min-width: 0;
}

.matricula-form-grid > .field {
    min-width: 0;
}

.matricula-form-grid > .field > span {
    display: block;
    margin-bottom: 7px;
    color: var(--text, #0f172a);
    font-weight: 700;
}

.matricula-form-grid > .field .input-icon {
    width: 100%;
    height: 54px;
    border-radius: 13px;
    background: #fbfcfe;
}

.matricula-form-grid > .field input,
.matricula-form-grid > .field select {
    width: 100%;
    height: 100%;
    min-width: 0;
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--text, #0f172a);
    font: inherit;
}

.matricula-form-grid > .field select {
    appearance: auto;
    padding: 0 12px;
    cursor: pointer;
}

.matricula-form-grid > .field input::placeholder {
    color: #94a3b8;
}

.matricula-select-icon {
    padding-right: 4px;
}

.matricula-helper-line {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    padding: 11px 13px;
    border-radius: 12px;
    color: #5b21b6;
    background: rgba(124, 58, 237, .055);
    border: 1px solid rgba(124, 58, 237, .11);
    font-size: .84rem;
}

.matricula-helper-line svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
}

.matricula-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border, #e5e7eb);
}

.matricula-form-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.matricula-form-actions .btn {
    min-height: 46px;
    border-radius: 12px;
}

.matricula-submit {
    min-width: 205px;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 18%, transparent);
}

.matricula-query-tip {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--muted, #64748b);
    font-size: .86rem;
}

.matricula-query-tip svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
}

.matricula-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-radius: 14px;
    padding: 13px 15px;
    margin-top: 18px;
    font-size: .92rem;
    line-height: 1.45;
    scroll-margin-top: 28px;
}

.matricula-alert svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    margin-top: 1px;
}

.matricula-alert-error {
    background: rgba(220, 38, 38, .07);
    border: 1px solid rgba(220, 38, 38, .18);
    color: #991b1b;
}

.matricula-alert-warning {
    background: rgba(217, 119, 6, .08);
    border: 1px solid rgba(217, 119, 6, .2);
    color: #92400e;
    margin: 0 0 18px;
}

.matricula-results {
    max-width: 1180px;
    margin: 0 auto 40px;
    scroll-margin-top: 28px;
}

.matricula-results-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 22px;
    margin-bottom: 20px;
}

.matricula-results-head h2 {
    margin: 5px 0 6px;
}

.matricula-results-head p {
    margin: 0;
    color: var(--muted, #64748b);
}

.matricula-results-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.matricula-result-badge {
    min-width: 70px;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(124, 58, 237, .08);
    color: #6d28d9;
    border: 1px solid rgba(124, 58, 237, .16);
}

.matricula-result-badge svg {
    width: 19px;
    height: 19px;
}

.matricula-refine-button {
    min-height: 46px;
    border-radius: 14px;
}

.matricula-table-card {
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(148, 163, 184, .2);
    box-shadow: 0 14px 38px rgba(15, 23, 42, .05);
}

.matricula-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 20px;
    border-bottom: 1px solid var(--border, #e5e7eb);
    background: linear-gradient(180deg, #fbfcfe 0%, #f8fafc 100%);
}

.matricula-table-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.matricula-table-title > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.matricula-table-title strong {
    color: var(--text, #0f172a);
    font-size: .96rem;
}

.matricula-table-title span:not(.matricula-table-icon) {
    color: var(--muted, #64748b);
    font-size: .79rem;
}

.matricula-table-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: #6d28d9;
    background: rgba(124, 58, 237, .09);
    border: 1px solid rgba(124, 58, 237, .12);
}

.matricula-table-icon svg {
    width: 20px;
    height: 20px;
}

.matricula-table-scroll {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.matricula-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--text, #0f172a);
    font-size: .89rem;
}

.matricula-table-compact {
    min-width: 820px;
}

.matricula-table th,
.matricula-table td {
    padding: 16px 17px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #edf1f6;
}

.matricula-table th {
    background: #f8fafc;
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .055em;
    white-space: nowrap;
}

.matricula-table tbody tr:last-child td {
    border-bottom: 0;
}

.matricula-table tbody tr {
    transition: background-color .18s ease;
}

.matricula-table tbody tr:hover {
    background: rgba(124, 58, 237, .035);
}

.matricula-table-key {
    width: 138px;
}

.matricula-number {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    color: #5b21b6;
    white-space: nowrap;
}

.matricula-number svg {
    width: 17px;
    height: 17px;
}

.matricula-main-value {
    max-width: 390px;
    font-weight: 650;
    color: #1e293b;
}

.matricula-city-value {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.matricula-uf-badge {
    display: inline-flex;
    min-width: 36px;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 999px;
    color: #4338ca;
    background: #eef2ff;
    border: 1px solid #e0e7ff;
    font-size: .75rem;
    font-weight: 800;
}

.matricula-contributor {
    white-space: nowrap;
}

.matricula-mobile-results {
    display: none;
}

.matricula-result-card {
    min-height: 244px;
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, .22);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.matricula-result-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 15px;
    border-bottom: 1px solid #edf1f6;
}

.matricula-result-card-head > div {
    min-width: 0;
}

.matricula-result-card-label {
    display: block;
    margin-bottom: 3px;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.matricula-result-card-head strong {
    color: #5b21b6;
    font-size: 1.35rem;
    line-height: 1.1;
}

.matricula-result-card-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    color: #6d28d9;
    background: rgba(124, 58, 237, .08);
}

.matricula-result-card-icon svg {
    width: 20px;
    height: 20px;
}

.matricula-result-card-address {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 16px 0;
}

.matricula-result-card-address > svg {
    width: 19px;
    height: 19px;
    margin-top: 2px;
    flex: 0 0 auto;
    color: #7c3aed;
}

.matricula-result-card-address strong,
.matricula-result-card-address span {
    display: block;
}

.matricula-result-card-address strong {
    color: #1e293b;
    line-height: 1.4;
}

.matricula-result-card-address span {
    margin-top: 3px;
    color: #64748b;
    font-size: .84rem;
}

.matricula-result-card-grid {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 12px;
    margin-top: auto;
}

.matricula-result-card-grid > div {
    min-width: 0;
    padding: 11px 12px;
    border-radius: 11px;
    background: #f8fafc;
    border: 1px solid #edf1f6;
}

.matricula-result-card-grid span,
.matricula-result-card-grid strong {
    display: block;
}

.matricula-result-card-grid span {
    margin-bottom: 4px;
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.matricula-result-card-grid strong {
    overflow-wrap: anywhere;
    color: #1e293b;
    font-size: .84rem;
    line-height: 1.35;
}

.matricula-empty {
    min-height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 28px;
    text-align: left;
}

.matricula-empty-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 15px;
    color: #64748b;
    background: #f1f5f9;
}

.matricula-empty-icon svg {
    width: 25px;
    height: 25px;
}

.matricula-empty > div {
    flex: 1;
}

.matricula-empty strong,
.matricula-empty span {
    display: block;
}

.matricula-empty span {
    color: var(--muted, #64748b);
    margin-top: 5px;
}

@media (max-width: 980px) {
    .matricula-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .matricula-results-head {
        align-items: flex-start;
    }

    .matricula-results-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

@media (max-width: 720px) {
    .matricula-query-card {
        padding: 20px;
    }

    .matricula-card-heading {
        align-items: flex-start;
    }

    .matricula-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .matricula-helper-line {
        align-items: flex-start;
    }

    .matricula-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .matricula-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .matricula-form-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .matricula-query-tip {
        justify-content: center;
    }

    .matricula-results-head {
        flex-direction: column;
        align-items: stretch;
    }

    .matricula-results-actions {
        width: 100%;
        justify-content: space-between;
    }

    .matricula-refine-button {
        flex: 1;
        justify-content: center;
    }

    .matricula-desktop-results {
        display: none;
    }

    .matricula-mobile-results {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .matricula-result-card {
        display: flex;
        flex-direction: column;
        min-height: 244px;
    }

    .matricula-empty {
        flex-direction: column;
        text-align: center;
    }

    .matricula-empty > div {
        flex: 0 1 auto;
    }
}

@media (max-width: 460px) {
    .matricula-card-heading .query-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .matricula-result-card-grid {
        grid-template-columns: 1fr;
    }

    .matricula-result-card {
        min-height: 0;
    }
}

/* ========================================================================== */
/* Consulta de Matrículas v1.4.6 - correção de alinhamento e largura          */
/* ========================================================================== */

/* Formulário e resultado passam a compartilhar a mesma coluna útil. */
.matricula-query-shell,
.matricula-results {
    width: min(100%, 1180px);
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.matricula-query-shell {
    margin-bottom: 32px;
}

.matricula-results {
    margin-bottom: 48px;
}

.matricula-query-card,
.matricula-table-card,
.matricula-empty {
    width: 100%;
    min-width: 0;
}

/* Mantém o card de consulta confortável sem criar uma coluna estreita no centro. */
.matricula-query-card {
    padding: 30px 32px;
    border-radius: 20px;
}

.matricula-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
}

.matricula-form-grid > .field,
.matricula-form-grid > .field .input-icon,
.matricula-form-grid > .field input {
    min-width: 0;
    width: 100%;
}

/* Cabeçalho do resultado: texto à esquerda, ações agrupadas à direita. */
.matricula-results-head {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.matricula-results-head > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.matricula-results-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}

.matricula-result-badge,
.matricula-refine-button {
    min-height: 44px;
    height: 44px;
}

.matricula-result-badge {
    min-width: 60px;
    padding: 0 14px;
}

.matricula-refine-button {
    padding-left: 15px;
    padding-right: 15px;
    white-space: nowrap;
}

/* Proteção contra elementos vazios ocupando espaço no cabeçalho. */
.matricula-results-actions > :empty {
    display: none !important;
}

/* Resultado ocupa toda a largura e não cria caixas laterais vazias. */
.matricula-table-card {
    display: block;
    max-width: none;
    margin: 0;
    border-radius: 18px;
    overflow: hidden;
}

.matricula-table-toolbar,
.matricula-table-scroll,
.matricula-table {
    width: 100%;
}

.matricula-table-scroll {
    display: block;
    overflow-x: auto;
}

.matricula-table-compact {
    width: 100%;
    min-width: 860px;
    table-layout: auto;
}

.matricula-table th:nth-child(1),
.matricula-table td:nth-child(1) {
    width: 14%;
}

.matricula-table th:nth-child(2),
.matricula-table td:nth-child(2) {
    width: 30%;
}

.matricula-table th:nth-child(3),
.matricula-table td:nth-child(3) {
    width: 18%;
}

.matricula-table th:nth-child(4),
.matricula-table td:nth-child(4) {
    width: 18%;
}

.matricula-table th:nth-child(5),
.matricula-table td:nth-child(5) {
    width: 20%;
}

.matricula-main-value {
    max-width: none;
}

/* Evita estouro visual em contribuinte/endereço longos. */
.matricula-table td {
    overflow-wrap: anywhere;
}

.matricula-contributor {
    white-space: normal;
}

/* Mantém a página respirando antes do rodapé. */
.matricula-results:last-child {
    padding-bottom: 8px;
}

@media (max-width: 980px) {
    .matricula-query-shell,
    .matricula-results {
        width: 100%;
        max-width: none;
    }

    .matricula-query-card {
        padding: 26px 24px;
    }

    .matricula-results-head {
        align-items: flex-start;
    }
}

@media (max-width: 720px) {
    .matricula-query-card {
        padding: 20px;
        border-radius: 18px;
    }

    .matricula-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .matricula-results-head {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .matricula-results-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .matricula-refine-button {
        flex: 1 1 auto;
    }
}

/* ============================================================
   Nota Fiscal vinculada ao RPS - Títulos e Certidões
   ============================================================ */
.fiscal-note-detail-box {
    position: relative;
    border-color: #bfdbfe !important;
    background: linear-gradient(145deg, #ffffff 0%, #eff6ff 100%);
}

.fiscal-note-detail-box::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: inherit;
    background: linear-gradient(180deg, #2563eb, #06b6d4);
}

.fiscal-note-button {
    margin-top: 10px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid #2563eb;
    border-radius: 12px;
    background: #2563eb;
    color: #fff !important;
    font-weight: 750;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .18);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.fiscal-note-button:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .24);
}

.fiscal-note-button-compact {
    margin-top: 0;
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 10px;
    font-size: .86rem;
}

.fiscal-note-pending {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: .78rem;
    font-weight: 650;
}

.fiscal-note-pending svg,
.fiscal-note-button svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

@media (max-width: 720px) {
    .fiscal-note-button {
        width: 100%;
    }

    .title-history-actions .fiscal-note-button-compact {
        width: auto;
        flex: 1 1 210px;
    }
}

/* ================================================================
   DC-AGENDAMENTO - integração pública
   ================================================================ */
.agendamento-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start;margin-bottom:34px}
.agendamento-card,.ag-aside-card,.ag-confirmation-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.agendamento-card{overflow:hidden}
.ag-progress{display:flex;align-items:center;padding:20px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),var(--surface));border-bottom:1px solid var(--line);overflow:auto}
.ag-progress-item{display:flex;align-items:center;gap:9px;min-width:max-content;color:var(--muted)}
.ag-progress-item>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);font-size:12px;font-weight:800}
.ag-progress-item div{display:grid;gap:1px}.ag-progress-item strong{font-size:12.5px;color:var(--text)}.ag-progress-item small{font-size:10.5px}
.ag-progress-item.active>span{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 24%,transparent)}
.ag-progress-line{height:1px;min-width:28px;flex:1;background:var(--line);margin:0 12px}
.ag-section{padding:26px 28px}.ag-section+.ag-section{border-top:1px solid var(--line)}
.ag-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.ag-section-number{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary);font-size:12px;font-weight:850}.ag-section-heading h2{font-size:18px;margin:1px 0 3px}.ag-section-heading p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.45}
.ag-subheading{margin:24px 0 12px}.ag-subheading h3{font-size:14px;margin:0 0 2px}.ag-subheading p{font-size:11.5px;color:var(--muted);margin:0}
.ag-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ag-sector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ag-choice{position:relative;min-height:98px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);display:flex;align-items:flex-start;gap:11px;cursor:pointer;transition:.18s ease;overflow:hidden}.ag-choice:hover{border-color:color-mix(in srgb,var(--primary) 32%,var(--line));transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.05)}.ag-choice.selected{background:color-mix(in srgb,var(--primary) 4%,var(--surface));border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 7%,transparent)}.ag-choice input{position:absolute;opacity:0;pointer-events:none}.ag-choice-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--ag-choice-color) 10%,var(--surface));color:var(--ag-choice-color)}.ag-choice-icon svg{width:19px;height:19px}.ag-choice-copy{display:grid;gap:3px;padding-top:1px;min-width:0}.ag-choice-copy strong{font-size:13px;line-height:1.25}.ag-choice-copy small{font-size:11px;color:var(--muted);line-height:1.4}.ag-choice-check{position:absolute;right:10px;top:10px;width:21px;height:21px;border-radius:999px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:transparent;transition:.18s}.ag-choice-check svg{width:12px}.ag-choice.selected .ag-choice-check{background:var(--primary);border-color:var(--primary);color:#fff}
.ag-protocol-box{padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.ag-input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.ag-input-action .btn{min-width:120px}.ag-protocol-status,.ag-inline-info{display:flex;align-items:center;gap:8px;margin-top:11px;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:11.5px;color:var(--muted)}.ag-protocol-status svg,.ag-inline-info svg{width:16px;flex:0 0 auto}.ag-protocol-status.success{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.ag-protocol-status.error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.ag-protocol-status.checking{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,var(--line));background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
html[data-theme="dark"] .ag-protocol-status.success{color:#6ee7b7;background:rgba(5,150,105,.11);border-color:rgba(110,231,183,.25)}html[data-theme="dark"] .ag-protocol-status.error{color:#fca5a5;background:rgba(185,28,28,.12);border-color:rgba(252,165,165,.22)}
.ag-date-time-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;align-items:start}.ag-slots{min-height:48px;display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.ag-slot{height:36px;min-width:68px;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12px;font-weight:750;cursor:pointer;transition:.15s}.ag-slot:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));color:var(--primary)}.ag-slot.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 20%,transparent)}.ag-slots-empty{min-height:34px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11.5px;text-align:center}.ag-slots-empty svg{width:17px}.ag-slots.has-error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.08)}.ag-mini-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-top-color:var(--primary);border-radius:50%;display:inline-block;animation:agSpin .7s linear infinite}@keyframes agSpin{to{transform:rotate(360deg)}}
.ag-person-grid{gap:15px}.ag-validation{display:block;color:#dc2626;font-size:11px;line-height:1.3;min-height:0}.ag-validation:empty{display:none}
.ag-confirm-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 28px;border-top:1px solid var(--line);background:var(--surface-2)}.ag-confirm-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11.5px}.ag-confirm-note svg{width:17px;color:var(--primary)}.ag-submit{min-width:220px}.ag-submit.loading svg{animation:agSpin .7s linear infinite}
.agendamento-aside{display:grid;gap:14px;position:sticky;top:calc(var(--topbar) + 16px)}.ag-aside-card{padding:20px}.ag-aside-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--surface));margin-bottom:15px}.ag-aside-icon svg{width:23px}.ag-aside-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--primary)}.ag-aside-card h3{font-size:17px;margin:5px 0 7px}.ag-aside-card>p{font-size:12px;line-height:1.5;color:var(--muted)}.ag-summary-list{display:grid;gap:0;margin-top:16px;border-top:1px solid var(--line)}.ag-summary-list>div{display:grid;gap:2px;padding:11px 0;border-bottom:1px solid var(--line)}.ag-summary-list span{font-size:10.5px;color:var(--muted)}.ag-summary-list strong{font-size:12.5px;line-height:1.35}
.ag-alert{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;margin:0 0 16px;border:1px solid var(--line);font-size:12px}.ag-alert>svg{width:18px;flex:0 0 auto;margin-top:1px}.ag-alert>div{display:grid;gap:2px}.ag-alert strong{font-size:12.5px}.ag-alert span{color:inherit;opacity:.9;line-height:1.4}.ag-alert-danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.ag-alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.ag-alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.ag-form-errors ul{margin:4px 0 0;padding-left:18px}
html[data-theme="dark"] .ag-alert-danger{background:rgba(185,28,28,.12);border-color:rgba(252,165,165,.2);color:#fca5a5}html[data-theme="dark"] .ag-alert-warning{background:rgba(217,119,6,.11);border-color:rgba(253,230,138,.18);color:#fde68a}html[data-theme="dark"] .ag-alert-success{background:rgba(5,150,105,.11);border-color:rgba(167,243,208,.2);color:#6ee7b7}
.ag-confirmation-page{max-width:780px;margin:4px auto 36px}.ag-confirmation-card{padding:34px;text-align:center}.ag-confirmation-check{width:72px;height:72px;margin:0 auto 18px;border-radius:22px;display:grid;place-items:center;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.ag-confirmation-check svg{width:34px;height:34px}.ag-confirmation-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#047857}.ag-confirmation-card h2{font-size:27px;margin:7px 0 5px}.ag-confirmation-card>p{font-size:13px;color:var(--muted);margin:0}.ag-confirmation-code{margin:24px auto 18px;padding:17px;border-radius:14px;background:color-mix(in srgb,var(--primary) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 15%,var(--line));display:grid;gap:4px;max-width:430px}.ag-confirmation-code small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.ag-confirmation-code strong{font-size:23px;letter-spacing:.04em;color:var(--primary)}.ag-confirmation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left;margin:20px 0}.ag-confirmation-details>div{display:grid;gap:3px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.ag-confirmation-details span{font-size:10.5px;color:var(--muted)}.ag-confirmation-details strong{font-size:13px}.ag-confirmation-actions{display:flex;justify-content:center;gap:9px;margin-top:20px}
@media(max-width:1100px){.agendamento-shell{grid-template-columns:1fr}.agendamento-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.ag-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ag-progress{padding:14px 16px}.ag-progress-item div{display:none}.ag-progress-line{min-width:18px;margin:0 6px}.ag-section{padding:20px 17px}.ag-choice-grid,.ag-sector-grid,.ag-mode-grid,.ag-date-time-grid,.agendamento-aside,.ag-confirmation-details{grid-template-columns:1fr}.ag-choice{min-height:84px}.ag-confirm-bar{padding:16px 17px;align-items:stretch;flex-direction:column}.ag-confirm-note{align-items:flex-start}.ag-submit{width:100%;min-width:0}.ag-input-action{grid-template-columns:1fr}.ag-input-action .btn{width:100%}.ag-confirmation-card{padding:26px 18px}.ag-confirmation-card h2{font-size:23px}.ag-confirmation-code strong{font-size:18px}.ag-confirmation-actions{flex-direction:column}.ag-confirmation-actions .btn{width:100%}}

/* DC-AGENDAMENTO V1.6.2 - consulta pública */
.ag-page-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-4px 0 16px;color:var(--muted);font-size:12px}.ag-page-tools .btn{min-height:38px}
.ag-lookup-page{max-width:980px;margin:4px auto 36px;display:grid;gap:18px}.ag-lookup-card,.ag-lookup-result{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.ag-lookup-card{padding:26px}.ag-lookup-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.ag-lookup-heading h2{margin:3px 0 4px;font-size:22px}.ag-lookup-heading p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}.ag-lookup-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary);flex:0 0 50px}.ag-lookup-icon svg{width:23px;height:23px}.ag-lookup-form{padding-top:4px}.ag-lookup-fields{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.ag-lookup-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}
.ag-lookup-result{overflow:hidden}.ag-result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 4%,var(--surface)),var(--surface))}.ag-result-top h2{font-size:21px;margin:4px 0 3px;color:var(--primary);letter-spacing:.02em}.ag-result-top p{margin:0;color:var(--muted);font-size:11.5px}.ag-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);font-size:10.5px;font-weight:850;white-space:nowrap}.ag-status-pending{background:#fffbeb;border-color:#fde68a;color:#92400e}.ag-status-confirmed{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.ag-status-in-progress{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.ag-status-cancelled{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.ag-status-finished{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.ag-status-no-show{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.ag-status-neutral{background:var(--surface-2);color:var(--muted)}
.ag-result-main{padding:22px 24px}.ag-result-highlight{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ag-result-highlight>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.ag-result-highlight svg{grid-row:1/3;width:19px;color:var(--primary)}.ag-result-highlight span,.ag-result-details span{font-size:10.5px;color:var(--muted)}.ag-result-highlight strong,.ag-result-details strong{font-size:12.5px;line-height:1.35}.ag-result-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.ag-result-details>div{display:grid;gap:3px;padding:12px 13px;border-bottom:1px solid var(--line)}.ag-result-details .span-2{grid-column:1/-1}.ag-cancel-area{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-top:1px solid var(--line);background:color-mix(in srgb,#dc2626 2%,var(--surface-2))}.ag-cancel-area>div{display:grid;gap:3px}.ag-cancel-area strong{font-size:12.5px}.ag-cancel-area span{font-size:11px;color:var(--muted)}.btn-danger-soft{background:#fff1f2!important;color:#be123c!important;border-color:#fecdd3!important}.btn-danger-soft:hover{background:#ffe4e6!important;border-color:#fda4af!important;color:#9f1239!important}
html[data-theme="dark"] .ag-status-pending{background:rgba(217,119,6,.11);border-color:rgba(253,230,138,.18);color:#fde68a}html[data-theme="dark"] .ag-status-confirmed{background:rgba(5,150,105,.11);border-color:rgba(167,243,208,.2);color:#6ee7b7}html[data-theme="dark"] .ag-status-in-progress{background:rgba(37,99,235,.12);border-color:rgba(147,197,253,.2);color:#93c5fd}html[data-theme="dark"] .ag-status-cancelled{background:rgba(185,28,28,.12);border-color:rgba(252,165,165,.2);color:#fca5a5}html[data-theme="dark"] .btn-danger-soft{background:rgba(190,18,60,.12)!important;color:#fda4af!important;border-color:rgba(253,164,175,.25)!important}
@media(max-width:760px){.ag-page-tools{align-items:stretch;flex-direction:column;margin-top:0}.ag-page-tools .btn{width:100%}.ag-lookup-card{padding:20px 17px}.ag-lookup-heading{align-items:flex-start}.ag-lookup-fields,.ag-result-highlight,.ag-result-details{grid-template-columns:1fr}.ag-lookup-actions,.ag-cancel-area{align-items:stretch;flex-direction:column}.ag-lookup-actions .btn,.ag-cancel-area .btn{width:100%}.ag-result-top{align-items:flex-start;flex-direction:column}.ag-result-main{padding:18px 17px}.ag-cancel-area{padding:16px 17px}.ag-result-details .span-2{grid-column:auto}}

.ag-lookup-summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 20px 2px 8px;
    color: var(--ag-muted, #64748b);
}
.ag-lookup-summary strong {
    color: var(--ag-text, #0f172a);
    font-size: 1.15rem;
}
.ag-lookup-fields .field small {
    font-weight: 500;
    color: #94a3b8;
}

/* DC-SISTEMAS V1.6.5 - avisos dos campos obrigatórios do agendamento */
.ag-required-note{display:flex;align-items:center;gap:9px;margin:0 0 16px;padding:10px 12px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#334155;font-size:12px}.ag-required-note svg{width:17px;height:17px;color:var(--primary);flex:0 0 auto}.ag-required-note strong,.ag-required-mark{color:#dc2626}.ag-required-mark{font-weight:800}.ag-validation.client-error{display:flex!important;align-items:center;gap:6px;margin-top:7px;font-size:12px;font-weight:650;color:#b91c1c}.ag-validation.client-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:11px;font-weight:900;flex:0 0 auto}.field.has-validation-error>input,.field.has-validation-error>textarea,input.has-validation-error,textarea.has-validation-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.08)!important}.ag-choice-grid.has-validation-error{padding:8px;border:1px solid #fecaca;border-radius:14px;background:#fff7f7}.ag-slots.has-validation-error,.ag-slots.has-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.08)!important;background:#fffafa}.ag-protocol-field.has-validation-error .ag-input-action input{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.08)!important}

/* ========================================================================== */
/* V1.8.1 - Consulta de matrículas por tipo de imóvel                         */
/* ========================================================================== */
.matricula-picker-shell {
    width: min(760px, 100%);
    margin: 0 auto 34px;
    scroll-margin-top: 28px;
}

.matricula-picker-card {
    padding: 32px;
    background: #fff !important;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
}

.matricula-picker-heading {
    display: flex;
    align-items: center;
    gap: 16px;
}

.matricula-picker-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 15px;
    background: #f5f3ff;
    color: #6d28d9;
}

.matricula-picker-icon svg { width: 24px; height: 24px; }
.matricula-picker-heading span {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .07em;
}
.matricula-picker-heading h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 1.75rem); }
.matricula-picker-heading p { margin: 5px 0 0; color: #64748b; }
.matricula-picker-divider { height: 1px; margin: 25px 0 20px; background: #e5e7eb; }

.matricula-picker-actions { display: grid; gap: 10px; }
.matricula-picker-button {
    width: 100%;
    min-height: 58px;
    display: grid;
    grid-template-columns: 28px 1fr 22px;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #f1f5f9;
    color: #111827;
    font: inherit;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.matricula-picker-button > svg:first-child { width: 20px; height: 20px; color: #475569; }
.matricula-picker-button > svg:last-child { width: 18px; height: 18px; justify-self: end; color: #94a3b8; }
.matricula-picker-button:hover {
    transform: translateY(-1px);
    background: #fff;
    border-color: #c4b5fd;
    box-shadow: 0 8px 22px rgba(76, 29, 149, .08);
}
.matricula-picker-button:hover > svg:first-child,
.matricula-picker-button:hover > svg:last-child { color: #6d28d9; }

.matricula-picker-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fafafa;
    border: 1px solid #e5e7eb;
    color: #64748b;
    font-size: .84rem;
}
.matricula-picker-note svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 1px; color: #6d28d9; }

body.matricula-modal-open { overflow: hidden; }
.matricula-modal-backdrop[hidden] { display: none !important; }
.matricula-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 28px 16px;
    overflow-y: auto;
    background: rgba(15, 23, 42, .46);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity .16s ease;
}
.matricula-modal-backdrop.is-open { opacity: 1; }

.matricula-modal-dialog {
    width: min(620px, 100%);
    margin: auto;
    background: #fff !important;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
    overflow: hidden;
    transform: translateY(10px) scale(.985);
    transition: transform .16s ease;
}
.matricula-modal-dialog-large { width: min(820px, 100%); }
.matricula-modal-backdrop.is-open .matricula-modal-dialog { transform: translateY(0) scale(1); }

.matricula-modal-header {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 20px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
}
.matricula-modal-header > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.matricula-modal-header strong { font-size: .9rem; text-transform: uppercase; color: #1f2937; }
.matricula-modal-header svg { width: 19px; height: 19px; }
.matricula-modal-close {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
}
.matricula-modal-close:hover { background: #f1f5f9; color: #111827; }

.matricula-modal-form { margin: 0; }
.matricula-modal-body { padding: 26px 24px 28px; background: #fff; }
.matricula-info-text { color: #334155; line-height: 1.7; }
.matricula-info-text p { margin: 0 0 9px; }

.matricula-modal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 22px;
}
.field-span-2 { grid-column: span 2; }
.field-span-3 { grid-column: span 3; }

.matricula-modal-field { display: block; min-width: 0; }
.matricula-modal-field > span {
    display: block;
    margin-bottom: 7px;
    color: #30343b;
    font-size: .9rem;
    font-weight: 800;
}
.matricula-modal-field > span b { color: #dc2626; }
.matricula-modal-field > span small { color: #94a3b8; font-size: .67rem; font-weight: 800; }
.matricula-modal-field input {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 13px;
    border: 1px solid #dbe1e8;
    border-radius: 9px;
    background: #fff !important;
    color: #111827;
    font: inherit;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.matricula-modal-field input::placeholder { color: #b6bcc6; }
.matricula-modal-field input:focus { border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, .10); }

.matricula-modal-alert {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 0 18px;
    padding: 11px 13px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff7f7;
    color: #991b1b;
    font-size: .85rem;
}
.matricula-modal-alert svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 1px; }
.matricula-modal-hint {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 17px 0 0;
    color: #64748b;
    font-size: .8rem;
}
.matricula-modal-hint svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 1px; color: #6d28d9; }

.matricula-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding: 16px 20px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}
.matricula-modal-confirm,
.matricula-modal-cancel { min-height: 42px; border-radius: 9px; font-weight: 800; }
.matricula-modal-confirm { background: #111827 !important; color: #fff !important; border-color: #111827 !important; }
.matricula-modal-confirm:hover { background: #000 !important; }
.matricula-modal-cancel { background: #f8fafc !important; color: #475569 !important; border: 1px solid #dbe1e8 !important; }

.matricula-results-new { scroll-margin-top: 28px; }
.matricula-table-expanded { min-width: 1220px; }
.matricula-identifiers { display: grid; gap: 3px; font-size: .78rem; }
.matricula-identifiers span { display: block; white-space: nowrap; }
.matricula-result-card-detailed .matricula-result-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 760px) {
    .matricula-picker-card { padding: 22px 18px; }
    .matricula-picker-heading { align-items: flex-start; }
    .matricula-picker-icon { width: 44px; height: 44px; border-radius: 13px; }
    .matricula-picker-button { min-height: 54px; padding: 12px 13px; }

    .matricula-modal-backdrop { padding: 0; align-items: flex-end; }
    .matricula-modal-dialog,
    .matricula-modal-dialog-large {
        width: 100%;
        max-height: 94vh;
        margin: 0;
        border-radius: 18px 18px 0 0;
        overflow-y: auto;
    }
    .matricula-modal-header { position: sticky; top: 0; z-index: 3; padding: 14px 16px; }
    .matricula-modal-body { padding: 22px 18px 24px; }
    .matricula-modal-footer { position: sticky; bottom: 0; z-index: 3; padding: 13px 16px; }
    .matricula-modal-grid { grid-template-columns: 1fr; gap: 15px; }
    .field-span-2,
    .field-span-3 { grid-column: span 1; }
    .matricula-modal-field > span small { display: block; margin-top: 2px; }
}

@media (max-width: 480px) {
    .matricula-picker-heading { display: block; }
    .matricula-picker-icon { margin-bottom: 12px; }
    .matricula-modal-footer { display: grid; grid-template-columns: 1fr 1fr; }
    .matricula-modal-confirm,
    .matricula-modal-cancel { width: 100%; }
    .matricula-result-card-detailed .matricula-result-card-grid { grid-template-columns: 1fr; }
}

/* v1.8.2 - Consulta de Títulos: resumo recolhível no padrão FAQ */
.title-summary-accordion {
    margin-top: 0;
    padding-top: 0;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
.title-summary-accordion > summary {
    list-style: none;
    cursor: pointer;
    margin: 0;
    padding: 15px 16px;
    align-items: center;
    user-select: none;
    transition: background .18s ease, border-color .18s ease;
}
.title-summary-accordion > summary::-webkit-details-marker { display: none; }
.title-summary-accordion > summary:hover { background: #f8fafc; }
.title-summary-accordion[open] > summary { background: #f8fafc; }
.title-summary-toggle-head > div { flex: 1 1 auto; min-width: 0; }
.title-summary-toggle-icon {
    width: 34px;
    height: 34px;
    margin-left: auto;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--muted);
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.title-summary-toggle-icon svg { width: 18px; height: 18px; }
.title-summary-accordion[open] .title-summary-toggle-icon {
    transform: rotate(45deg);
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 10%, #fff);
}
.title-summary-content {
    padding: 15px 16px 16px;
    border-top: 1px solid var(--line);
    background: #fff;
}
.title-summary-content .title-result-details { padding-top: 0; }
@media (max-width: 680px) {
    .title-summary-accordion > summary { padding: 14px 13px; }
    .title-summary-content { padding: 13px; }
}


/* ========================================================================== */
/* V1.8.3 - Consulta de Títulos em linguagem simples                          */
/* Prioriza compreensão do cidadão sem ocultar os dados técnicos do cartório. */
/* ========================================================================== */
.title-citizen-summary {
    margin: 22px 0 18px;
    padding: 22px;
    background: #ffffff;
    border: 1px solid #dbe3f1;
    border-left: 5px solid #4f46e5;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.title-citizen-summary.citizen-success { border-left-color: #10b981; }
.title-citizen-summary.citizen-warning { border-left-color: #f59e0b; }
.title-citizen-summary.citizen-danger { border-left-color: #ef4444; }
.title-citizen-summary-head {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    gap: 15px;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid #e7ecf3;
}
.title-citizen-summary-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #eef2ff;
    color: #4338ca;
}
.citizen-success .title-citizen-summary-icon { background:#ecfdf5; color:#047857; }
.citizen-warning .title-citizen-summary-icon { background:#fffbeb; color:#b45309; }
.citizen-danger .title-citizen-summary-icon { background:#fef2f2; color:#b91c1c; }
.title-citizen-summary-icon svg { width: 27px; height: 27px; }
.title-citizen-summary-head > div { display:grid; gap:3px; min-width:0; }
.title-citizen-summary-head > div > span {
    color:#64748b;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.title-citizen-summary-head strong {
    color:#0f172a;
    font-size:24px;
    line-height:1.25;
}
.title-citizen-summary-head small {
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}
.title-citizen-summary-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding-top:18px;
}
.title-citizen-summary-item {
    min-width:0;
    padding:16px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:14px;
}
.title-citizen-summary-item > span {
    display:flex;
    align-items:center;
    gap:7px;
    color:#475569;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.title-citizen-summary-item > span svg { width:16px; height:16px; }
.title-citizen-summary-item > strong {
    display:block;
    margin-top:8px;
    color:#0f172a;
    font-size:16px;
    line-height:1.55;
}
.title-citizen-summary-item > p {
    margin:6px 0 0;
    color:#475569;
    font-size:14px;
    line-height:1.6;
}
.title-citizen-next-step { grid-column:1 / -1; }
.title-result-focused .title-progress-step > span {
    display:grid;
    gap:3px;
    justify-items:center;
    text-align:center;
    line-height:1.3;
}
.title-result-focused .title-progress-step > span > small {
    color:#64748b;
    font-size:10.5px;
    font-weight:600;
    line-height:1.25;
}
.title-result-focused .title-progress-step.active > span > small { color:inherit; opacity:.75; }
.title-help-master {
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:16px;
    overflow:hidden;
}
.title-help-master > summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 18px;
    cursor:pointer;
    list-style:none;
}
.title-help-master > summary::-webkit-details-marker { display:none; }
.title-help-master > summary:hover,
.title-help-master[open] > summary { background:#f8fafc; }
.title-help-master .title-result-section-head { margin:0; flex:1; }
.title-help-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:10px;
    color:#64748b;
    background:#f1f5f9;
    flex:0 0 auto;
}
.title-help-toggle svg { width:17px; height:17px; transition:transform .18s ease; }
.title-help-master[open] .title-help-toggle svg { transform:rotate(180deg); }
.title-glossary-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:0 18px 18px;
}
.title-glossary-grid > div {
    display:grid;
    gap:5px;
    padding:14px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:12px;
}
.title-glossary-grid > div:last-child { grid-column:1 / -1; }
.title-glossary-grid strong { color:#0f172a; font-size:14px; }
.title-glossary-grid span { color:#64748b; font-size:13px; line-height:1.55; }

@media (max-width: 760px) {
    .title-citizen-summary { padding:16px; border-radius:16px; }
    .title-citizen-summary-head { grid-template-columns:48px minmax(0,1fr); gap:12px; }
    .title-citizen-summary-icon { width:48px; height:48px; border-radius:13px; }
    .title-citizen-summary-icon svg { width:23px; height:23px; }
    .title-citizen-summary-head strong { font-size:20px; }
    .title-citizen-summary-grid { grid-template-columns:1fr; }
    .title-citizen-next-step { grid-column:auto; }
    .title-glossary-grid { grid-template-columns:1fr; }
    .title-glossary-grid > div:last-child { grid-column:auto; }
    .title-help-master > summary { align-items:flex-start; }
}

/* ========================================================================== */
/* V1.8.7 - Consulta de Matrículas: visual colorido e uso simplificado        */
/* ========================================================================== */
.matricula-picker-card-modern {
    width: min(900px, 100%);
    margin-inline: auto;
    padding: 30px;
    border: 1px solid #e2e8f0;
    background: #fff !important;
    box-shadow: 0 20px 55px rgba(15, 23, 42, .075);
}
.matricula-picker-shell { width: min(900px, 100%); }
.matricula-picker-heading-modern .matricula-picker-icon {
    width: 56px;
    height: 56px;
    border-radius: 17px;
    background: linear-gradient(135deg, #ede9fe, #f5f3ff);
    color: #7c3aed;
    box-shadow: inset 0 0 0 1px #ddd6fe;
}
.matricula-picker-heading-modern h2 { color: #0f172a; }
.matricula-picker-heading-modern p { max-width: 650px; }

.matricula-picker-actions-modern {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.matricula-search-option {
    --option-accent: #7c3aed;
    --option-soft: #f5f3ff;
    --option-border: #ddd6fe;
    min-height: 104px;
    grid-template-columns: 48px minmax(0, 1fr) 34px;
    gap: 14px;
    padding: 17px 17px;
    border-color: var(--option-border) !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .035);
    overflow: hidden;
    position: relative;
}
.matricula-search-option::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--option-accent);
}
.matricula-search-option:hover {
    transform: translateY(-3px);
    border-color: var(--option-accent) !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .10);
    background: linear-gradient(135deg, #fff 65%, var(--option-soft)) !important;
}
.matricula-search-option.option-matricula { --option-accent:#7c3aed; --option-soft:#f5f3ff; --option-border:#ddd6fe; }
.matricula-search-option.option-urbano { --option-accent:#2563eb; --option-soft:#eff6ff; --option-border:#bfdbfe; }
.matricula-search-option.option-rural { --option-accent:#059669; --option-soft:#ecfdf5; --option-border:#a7f3d0; }
.matricula-search-option.option-apartamento { --option-accent:#ea580c; --option-soft:#fff7ed; --option-border:#fed7aa; }
.matricula-search-option-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: var(--option-soft);
    color: var(--option-accent);
    border: 1px solid var(--option-border);
}
.matricula-search-option-icon svg { width: 22px; height: 22px; }
.matricula-search-option-copy { min-width: 0; display: grid; gap: 5px; }
.matricula-search-option-copy strong { color: #0f172a; font-size: .96rem; line-height: 1.25; }
.matricula-search-option-copy small { color: #64748b; font-size: .76rem; font-weight: 600; line-height: 1.42; }
.matricula-search-option-arrow {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    justify-self: end;
    border-radius: 50%;
    background: var(--option-soft);
    color: var(--option-accent);
    transition: transform .18s ease;
}
.matricula-search-option-arrow svg { width: 16px; height: 16px; }
.matricula-search-option:hover .matricula-search-option-arrow { transform: translateX(3px); }

.matricula-picker-note-modern {
    margin-top: 20px;
    padding: 14px 16px;
    border-color: #fde68a;
    background: #fffbeb !important;
    color: #854d0e;
    align-items: center;
}
.matricula-picker-note-modern strong { display: block; margin-bottom: 2px; color: #713f12; }
.matricula-picker-note-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fef3c7;
    color: #d97706;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.matricula-picker-note-icon svg { width: 18px; height: 18px; }

/* Modal themes */
.matricula-modal-theme { --modal-accent:#7c3aed; --modal-soft:#f5f3ff; --modal-border:#ddd6fe; }
.matricula-modal-theme-purple { --modal-accent:#7c3aed; --modal-soft:#f5f3ff; --modal-border:#ddd6fe; }
.matricula-modal-theme-blue { --modal-accent:#2563eb; --modal-soft:#eff6ff; --modal-border:#bfdbfe; }
.matricula-modal-theme-green { --modal-accent:#059669; --modal-soft:#ecfdf5; --modal-border:#a7f3d0; }
.matricula-modal-theme-orange { --modal-accent:#ea580c; --modal-soft:#fff7ed; --modal-border:#fed7aa; }
.matricula-modal-theme .matricula-modal-header {
    background: linear-gradient(90deg, var(--modal-soft), #fff 72%);
    border-bottom-color: var(--modal-border);
    box-shadow: inset 4px 0 0 var(--modal-accent);
}
.matricula-modal-theme .matricula-modal-header strong { color: #0f172a; }
.matricula-modal-header-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--modal-soft);
    color: var(--modal-accent);
    border: 1px solid var(--modal-border);
}
.matricula-modal-header-icon svg { width: 18px; height: 18px; }
.matricula-modal-theme .matricula-modal-field input:focus {
    border-color: var(--modal-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--modal-accent) 12%, transparent);
}
.matricula-modal-theme .matricula-modal-confirm {
    background: var(--modal-accent) !important;
    border-color: var(--modal-accent) !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--modal-accent) 20%, transparent);
}
.matricula-modal-theme .matricula-modal-confirm:hover { filter: brightness(.92); }
.matricula-form-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid var(--modal-border);
    border-radius: 12px;
    background: var(--modal-soft);
}
.matricula-form-section-title > svg { width: 20px; height: 20px; color: var(--modal-accent); flex: 0 0 auto; }
.matricula-form-section-title > div { display: grid; gap: 2px; }
.matricula-form-section-title strong { color: #0f172a; font-size: .88rem; }
.matricula-form-section-title span { color: #64748b; font-size: .75rem; line-height: 1.35; }
.matricula-modal-theme .matricula-modal-hint {
    padding: 10px 12px;
    border: 1px dashed var(--modal-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--modal-soft) 65%, #fff);
}
.matricula-modal-theme .matricula-modal-hint svg { color: var(--modal-accent); }

/* Results */
.matricula-results-new {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}
.matricula-results-head {
    padding: 20px 22px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: linear-gradient(135deg, #eff6ff 0%, #fff 60%, #f5f3ff 100%);
    box-shadow: 0 10px 28px rgba(37, 99, 235, .06);
}
.matricula-result-success {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: max-content;
    margin-bottom: 6px;
    padding: 5px 9px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: .7rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.matricula-result-success svg { width: 14px; height: 14px; }
.matricula-new-search {
    border-color: #c4b5fd !important;
    background: #fff !important;
    color: #6d28d9 !important;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(109, 40, 217, .06);
}
.matricula-new-search:hover { background: #f5f3ff !important; border-color: #8b5cf6 !important; }
.matricula-table-card-modern { border-color: #dbeafe !important; box-shadow: 0 18px 40px rgba(15, 23, 42, .07); }
.matricula-table-card-modern .matricula-table th {
    background: linear-gradient(180deg, #f8faff, #eef2ff);
    color: #334155;
    border-bottom-color: #c7d2fe;
}
.matricula-table-card-modern .matricula-table tbody tr:nth-child(even) { background: #fbfdff; }
.matricula-table-card-modern .matricula-table tbody tr:hover { background: #f5f3ff; }
.matricula-table-card-modern .matricula-number {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 5px 10px;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    background: #f5f3ff;
    color: #6d28d9;
    font-weight: 900;
}
.matricula-table-card-modern .matricula-number svg { width: 15px; height: 15px; }
.matricula-mobile-results .matricula-result-card {
    border-top: 4px solid #8b5cf6 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}
.matricula-mobile-results .matricula-result-card-icon {
    background: #f5f3ff;
    color: #7c3aed;
    border: 1px solid #ddd6fe;
}
.matricula-mobile-results .matricula-result-card-grid > div:nth-child(1) { border-left: 3px solid #2563eb; }
.matricula-mobile-results .matricula-result-card-grid > div:nth-child(2) { border-left: 3px solid #7c3aed; }
.matricula-mobile-results .matricula-result-card-grid > div:nth-child(3) { border-left: 3px solid #059669; }
.matricula-mobile-results .matricula-result-card-grid > div:nth-child(n+4) { border-left: 3px solid #d97706; }

@media (max-width: 760px) {
    .matricula-picker-actions-modern { grid-template-columns: 1fr; }
    .matricula-search-option { min-height: 90px; grid-template-columns: 44px minmax(0,1fr) 30px; padding: 14px; }
    .matricula-search-option-icon { width: 42px; height: 42px; }
    .matricula-picker-card-modern { padding: 22px 17px; }
    .matricula-results-new { width: min(100%, calc(100% - 24px)); }
    .matricula-results-head { padding: 17px; align-items: stretch; }
    .matricula-new-search { width: 100%; justify-content: center; }
}

@media (max-width: 480px) {
    .matricula-search-option-copy strong { font-size: .9rem; }
    .matricula-search-option-copy small { font-size: .72rem; }
    .matricula-picker-note-modern { align-items: flex-start; }
}
