:root {
    --nav: #071326;
    --nav-deep: #040b16;
    --nav-soft: #0d213c;
    --bg: #f4f7fc;
    --bg-elevated: #f9fbff;
    --card: #ffffff;
    --card-soft: #f7f9fd;
    --card-glass: rgba(255, 255, 255, .82);
    --text: #0e1b2e;
    --heading: #091528;
    --muted: #65748b;
    --muted-soft: #8b98aa;
    --border: #e3e9f2;
    --border-strong: #d5deea;
    --success: #079669;
    --warning: #e38b16;
    --danger: #dc3e49;
    --info: #0788c7;
    --violet: #7559e8;
    --gold: #c99432;
    --sidebar-width: 288px;
    --sidebar-collapsed: 92px;
    --shadow-xs: 0 1px 2px rgba(10, 27, 54, .04);
    --shadow-sm: 0 6px 22px rgba(15, 35, 69, .065);
    --shadow-md: 0 18px 50px rgba(15, 35, 69, .11);
    --shadow-lg: 0 30px 80px rgba(8, 24, 52, .18);
    --radius-sm: 12px;
    --radius: 19px;
    --radius-lg: 26px;
    color-scheme: light;
}

html[data-theme="escuro"] {
    --nav: #050c18;
    --nav-deep: #02060d;
    --nav-soft: #0a192d;
    --bg: #07101e;
    --bg-elevated: #0b1626;
    --card: #0e1b2d;
    --card-soft: #122238;
    --card-glass: rgba(14, 27, 45, .86);
    --text: #eaf0f8;
    --heading: #f5f8fc;
    --muted: #97a6ba;
    --muted-soft: #75859d;
    --border: #21334b;
    --border-strong: #30445e;
    --success: #25c58a;
    --warning: #f2a943;
    --danger: #ff7079;
    --info: #48b9ed;
    --violet: #9b88ff;
    --gold: #e0b35d;
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, .18);
    --shadow-sm: 0 8px 24px rgba(0, 0, 0, .20);
    --shadow-md: 0 20px 52px rgba(0, 0, 0, .30);
    --shadow-lg: 0 34px 86px rgba(0, 0, 0, .44);
    color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
    --bs-body-color: var(--text);
    --bs-body-bg: var(--bg);
    --bs-border-color: var(--border);
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    background:
        radial-gradient(circle at 88% -8%, color-mix(in srgb, var(--primary) 12%, transparent) 0, transparent 28rem),
        radial-gradient(circle at 18% 92%, color-mix(in srgb, var(--violet) 7%, transparent) 0, transparent 32rem),
        var(--bg);
    font-family: "Segoe UI Variable", "SF Pro Display", "SF Pro Text", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: .925rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .28;
    background-image: radial-gradient(color-mix(in srgb, var(--muted) 20%, transparent) .65px, transparent .65px);
    background-size: 22px 22px;
    mask-image: linear-gradient(to bottom, #000, transparent 70%);
}
body:not(.ui-ready) .content { opacity: .01; }
.content { transition: margin .24s ease, opacity .22s ease; }
::selection { color: #fff; background: var(--primary); }
a { color: var(--primary); }
a:hover { color: color-mix(in srgb, var(--primary) 80%, #050b16); }
code { color: color-mix(in srgb, var(--primary) 66%, #b83280); }
.text-secondary { color: var(--muted) !important; }
.text-muted { color: var(--muted) !important; }
.border { border-color: var(--border) !important; }
hr { color: var(--border-strong); opacity: .8; }
.fw-semibold { font-weight: 660 !important; }

/* Navegação principal */
.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-width);
    z-index: 1040;
    display: flex;
    flex-direction: column;
    padding: 20px 16px 16px;
    color: #dbe6f4;
    overflow: hidden;
    background:
        radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--primary) 43%, transparent), transparent 19rem),
        radial-gradient(circle at 110% 82%, rgba(117, 89, 232, .17), transparent 20rem),
        linear-gradient(165deg, var(--nav-soft), var(--nav) 48%, var(--nav-deep));
    border-right: 1px solid rgba(255,255,255,.065);
    box-shadow: 22px 0 70px rgba(3, 13, 31, .16);
    transition: width .24s ease, transform .24s ease;
}
.sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, #000, transparent 65%);
}
.sidebar > * { position: relative; z-index: 1; }
.sidebar-top { display: flex; align-items: center; gap: 7px; margin-bottom: 15px; }
.brand {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1;
    gap: 12px;
    padding: 2px 5px;
    color: #fff !important;
    text-decoration: none;
}
.brand-mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 80%, #59bfff), color-mix(in srgb, var(--primary) 72%, #3b1c89));
    box-shadow: 0 13px 32px color-mix(in srgb, var(--primary) 39%, transparent), inset 0 1px rgba(255,255,255,.28);
    font-size: 1.17rem;
}
.brand-mark::before { content: ""; position: absolute; inset: -45% 28% 45% -28%; transform: rotate(32deg); background: rgba(255,255,255,.24); }
.brand-mark em { position: absolute; right: 5px; bottom: 5px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: #3be0a2; }
.brand-mark img { position: relative; z-index: 1; width: 100%; height: 100%; padding: 5px; object-fit: contain; border-radius: inherit; }
.brand-copy { display: block; min-width: 0; }
.brand-copy strong, .brand-copy small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-copy strong { font-size: 1.02rem; font-weight: 760; letter-spacing: -.025em; }
.brand-copy small { margin-top: 2px; color: #8498b4; font-size: .57rem; font-weight: 820; letter-spacing: .15em; }
.sidebar-collapse {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    color: #91a3bc;
    background: rgba(255,255,255,.045);
    transition: color .18s, background .18s, transform .24s;
}
.sidebar-collapse:hover { color: #fff; background: rgba(255,255,255,.1); }

.profile-mini {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px;
    margin: 0 2px 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
    box-shadow: inset 0 1px rgba(255,255,255,.045);
    backdrop-filter: blur(12px);
}
.profile-mini .avatar { position: relative; color: var(--primary); border: 0; background: #eef4ff; }
.profile-mini .avatar em { position: absolute; right: 1px; bottom: 1px; width: 10px; height: 10px; border: 2px solid var(--nav); border-radius: 50%; background: #2dd69a; }
.profile-copy { min-width: 0; flex: 1; }
.profile-copy strong, .profile-copy small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.profile-copy strong { color: #fff; font-size: .81rem; font-weight: 680; }
.profile-copy small { margin-top: 2px; color: #899bb4; font-size: .67rem; }
.profile-mini > a { color: #7185a0; }

.sidebar-scroll { min-height: 0; flex: 1; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.12) transparent; }
.nav-label { position: relative; height: 31px; padding: 13px 11px 5px; color: #637792; font-size: .58rem; font-weight: 850; letter-spacing: .16em; white-space: nowrap; }
.nav-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 43px;
    padding: 10px 12px;
    margin: 2px 0;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #b8c7da;
    text-decoration: none;
    font-size: .84rem;
    font-weight: 540;
    white-space: nowrap;
    transition: color .18s, background .18s, border-color .18s, transform .18s;
}
.nav-item > i { width: 20px; flex: 0 0 20px; text-align: center; font-size: 1.06rem; }
.nav-item > span { overflow: hidden; text-overflow: ellipsis; }
.nav-item:hover { color: #fff; border-color: rgba(255,255,255,.055); background: rgba(255,255,255,.07); transform: translateX(2px); }
.nav-item.active {
    color: #fff;
    border-color: color-mix(in srgb, var(--primary) 28%, rgba(255,255,255,.08));
    background: linear-gradient(105deg, color-mix(in srgb, var(--primary) 55%, transparent), rgba(255,255,255,.055));
    box-shadow: 0 10px 24px rgba(0,0,0,.12), inset 0 1px rgba(255,255,255,.08);
}
.nav-item.active::before { content: ""; position: absolute; left: -9px; width: 3px; height: 23px; border-radius: 99px; background: linear-gradient(#fff, #7dd3fc); box-shadow: 0 0 13px color-mix(in srgb, var(--primary) 80%, #fff); }
.nav-live { width: 7px; height: 7px; margin-left: auto; border-radius: 50%; background: #31d59c; box-shadow: 0 0 0 4px rgba(49,213,156,.11); }
.nav-bottom { padding-top: 10px; border-top: 1px solid rgba(255,255,255,.065); }
.nav-logout:hover { color: #ffacb1; }
.system-status { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 10px 0; color: #6f8199; font-size: .58rem; white-space: nowrap; }
.system-status span { display: inline-flex; align-items: center; gap: 6px; }
.system-status i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #2dd69a; box-shadow: 0 0 8px #2dd69a; }
.system-status small { font-size: inherit; }

body.nav-collapsed .sidebar { width: var(--sidebar-collapsed); }
body.nav-collapsed .content { margin-left: var(--sidebar-collapsed); }
body.nav-collapsed .brand-copy,
body.nav-collapsed .profile-copy,
body.nav-collapsed .profile-mini > a,
body.nav-collapsed .nav-item > span,
body.nav-collapsed .nav-label span,
body.nav-collapsed .nav-live,
body.nav-collapsed .system-status { display: none; }
body.nav-collapsed .sidebar-top { flex-direction: column; }
body.nav-collapsed .brand { flex: 0; padding: 0; }
body.nav-collapsed .sidebar-collapse { transform: rotate(180deg); }
body.nav-collapsed .profile-mini { justify-content: center; padding: 9px 5px; }
body.nav-collapsed .nav-label { height: 18px; padding: 0; }
body.nav-collapsed .nav-label::after { content: ""; position: absolute; left: 50%; top: 8px; width: 19px; height: 1px; transform: translateX(-50%); background: rgba(255,255,255,.12); }
body.nav-collapsed .nav-item { justify-content: center; padding-inline: 8px; }
body.nav-collapsed .nav-item::after { content: attr(data-nav-label); position: fixed; left: 78px; z-index: 1100; padding: 7px 10px; opacity: 0; pointer-events: none; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; color: #fff; background: #0b1729; box-shadow: var(--shadow-md); font-size: .72rem; transform: translateX(-4px); transition: opacity .15s, transform .15s; }
body.nav-collapsed .nav-item:hover::after { opacity: 1; transform: none; }

/* Conteúdo e cabeçalho */
.content { min-height: 100vh; margin-left: var(--sidebar-width); padding: 22px 30px 20px; }
.content > .container-fluid { max-width: 1680px; margin-inline: auto; }
.page-head {
    position: relative;
    z-index: 1020;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-height: 88px;
    padding: 15px 18px 15px 4px;
    margin-bottom: 22px;
}
.page-identity { min-width: 0; }
.page-head h1 { margin: 3px 0 0; color: var(--heading); font-size: clamp(1.55rem, 2vw, 2.08rem); font-weight: 780; letter-spacing: -.042em; line-height: 1.12; }
.page-head p { max-width: 760px; margin: 6px 0 0; color: var(--muted); font-size: .86rem; }
.page-kicker { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-size: .62rem; font-weight: 850; letter-spacing: .145em; }
.page-kicker i { font-size: .72rem; }
.header-actions { display: flex; align-items: center; gap: 9px; }
.icon-button, .quick-create, .command-trigger, .account-button {
    border: 1px solid var(--border);
    color: var(--text);
    background: var(--card-glass);
    box-shadow: var(--shadow-xs), inset 0 1px rgba(255,255,255,.45);
    backdrop-filter: blur(16px);
}
.icon-button { display: grid; place-items: center; width: 43px; height: 43px; padding: 0; border-radius: 13px; }
.icon-button:hover { color: var(--primary); border-color: color-mix(in srgb, var(--primary) 28%, var(--border)); }
.quick-create { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 43px; padding: 0 14px; border-color: color-mix(in srgb, var(--primary) 30%, var(--border)); border-radius: 13px; color: var(--primary); text-decoration: none; font-size: .78rem; font-weight: 700; }
.quick-create:hover { color: #fff; background: var(--primary); }
.command-trigger { display: flex; align-items: center; gap: 9px; min-width: 220px; height: 43px; padding: 0 10px 0 14px; border-radius: 13px; color: var(--muted); font-size: .76rem; text-align: left; }
.command-trigger span { flex: 1; }
kbd { padding: 3px 6px; border: 1px solid var(--border-strong); border-radius: 6px; color: var(--muted); background: var(--card-soft); box-shadow: 0 1px 1px rgba(0,0,0,.04); font-family: inherit; font-size: .59rem; font-weight: 650; }
.avatar { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border)); border-radius: 14px; color: var(--primary); background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 13%, var(--card)), var(--card)); font-weight: 800; text-decoration: none; }
.account-button { display: flex; align-items: center; gap: 9px; min-height: 49px; padding: 3px 10px 3px 4px; border-radius: 15px; }
.account-button .avatar { width: 41px; height: 41px; flex-basis: 41px; }
.account-copy { min-width: 74px; text-align: left; }
.account-copy strong, .account-copy small { display: block; line-height: 1.2; }
.account-copy strong { max-width: 110px; overflow: hidden; color: var(--heading); font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.account-copy small { margin-top: 3px; color: var(--muted); font-size: .62rem; }
.account-button > i { color: var(--muted); font-size: .7rem; }
.account-menu { min-width: 250px; padding: 8px; border-color: var(--border); border-radius: 16px; color: var(--text); background: var(--card); box-shadow: var(--shadow-lg); }
.account-menu-head { padding: 10px 11px 7px; }
.account-menu-head strong, .account-menu-head small { display: block; }
.account-menu-head strong { color: var(--heading); font-size: .83rem; }
.account-menu-head small { margin-top: 2px; color: var(--muted); font-size: .68rem; }
.dropdown-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; color: var(--text); font-size: .78rem; }
.dropdown-item:hover { color: var(--text); background: var(--card-soft); }
.dropdown-divider { border-color: var(--border); }

/* Busca rápida */
.command-palette { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: start center; padding: min(14vh, 120px) 16px 20px; visibility: hidden; opacity: 0; transition: opacity .18s, visibility .18s; }
.command-palette.show { visibility: visible; opacity: 1; }
.command-backdrop { position: absolute; inset: 0; border: 0; background: rgba(3, 11, 25, .61); backdrop-filter: blur(9px); }
.command-dialog { position: relative; width: min(620px, 100%); overflow: hidden; border: 1px solid color-mix(in srgb, var(--border) 80%, #fff); border-radius: 22px; background: var(--card); box-shadow: 0 34px 110px rgba(3, 12, 30, .42); transform: translateY(-12px) scale(.985); transition: transform .2s; }
.command-palette.show .command-dialog { transform: none; }
.command-search { display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 0 18px; border-bottom: 1px solid var(--border); }
.command-search > i { color: var(--primary); font-size: 1.1rem; }
.command-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--heading); background: transparent; font-size: .96rem; }
.command-search input::placeholder { color: var(--muted-soft); }
.command-list { max-height: min(54vh, 490px); padding: 12px; overflow-y: auto; }
.command-label { display: block; padding: 5px 8px 7px; color: var(--muted-soft); font-size: .58rem; font-weight: 820; letter-spacing: .13em; }
.command-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; color: var(--text); text-decoration: none; }
.command-item > span { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); }
.command-item > div { min-width: 0; flex: 1; }
.command-item strong, .command-item small { display: block; }
.command-item strong { color: var(--heading); font-size: .8rem; }
.command-item small { color: var(--muted); font-size: .68rem; }
.command-item > i { opacity: 0; color: var(--muted); }
.command-item:hover, .command-item.is-selected { color: var(--text); background: var(--card-soft); }
.command-item.is-selected > i { opacity: 1; }
.command-empty { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 40px 15px; color: var(--muted); }
.command-empty i { color: var(--primary); font-size: 1.6rem; }
.command-footer { display: flex; justify-content: flex-end; gap: 16px; padding: 10px 16px; border-top: 1px solid var(--border); color: var(--muted); background: var(--card-soft); font-size: .62rem; }
.command-footer span { display: flex; align-items: center; gap: 4px; }
body.palette-open { overflow: hidden; }

/* Componentes */
.card { --bs-card-bg: var(--card); --bs-card-border-color: var(--border); color: var(--text); background: var(--card); border-color: var(--border); }
.stat { position: relative; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s, border-color .2s; }
.stat::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 1px rgba(255,255,255,.52); }
.stat:hover { border-color: color-mix(in srgb, var(--primary) 17%, var(--border)); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.stat .value { margin-top: 5px; color: var(--heading); font-size: clamp(1.55rem, 2.7vw, 2.14rem); font-weight: 780; letter-spacing: -.045em; line-height: 1.15; }
.stat-icon, .section-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border: 1px solid color-mix(in srgb, var(--primary) 10%, var(--border)); border-radius: 15px; color: var(--primary); background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 13%, var(--card)), color-mix(in srgb, var(--primary) 5%, var(--card))); box-shadow: inset 0 1px rgba(255,255,255,.65); font-size: 1.16rem; }
.section-icon { width: 43px; height: 43px; flex-basis: 43px; border-radius: 13px; }
.section-icon.success, .tone-success { color: var(--success); background: color-mix(in srgb, var(--success) 11%, var(--card)); border-color: color-mix(in srgb, var(--success) 16%, var(--border)); }
.tone-warning { color: var(--warning); background: color-mix(in srgb, var(--warning) 12%, var(--card)); border-color: color-mix(in srgb, var(--warning) 16%, var(--border)); }
.tone-info { color: var(--info); background: color-mix(in srgb, var(--info) 11%, var(--card)); border-color: color-mix(in srgb, var(--info) 16%, var(--border)); }
.tone-primary { color: var(--primary); }
.trend-up { color: var(--success); }
.trend-down { color: var(--danger); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 19px; }
.section-heading:has(> .section-icon) { justify-content: flex-start; }
.section-heading h2, .section-heading h5, .section-heading h6 { margin: 0 0 3px; color: var(--heading); font-weight: 730; letter-spacing: -.018em; }

.filter-bar { padding: 18px; border: 1px solid var(--border); border-radius: 17px; background: linear-gradient(145deg, color-mix(in srgb, var(--card) 96%, var(--primary)), var(--card)); box-shadow: var(--shadow-sm), inset 0 1px rgba(255,255,255,.55); }
.form-label { margin-bottom: .43rem; color: var(--text); font-size: .75rem; font-weight: 680; }
.form-control, .form-select, .input-group-text { min-height: 44px; color: var(--text); background-color: var(--card); border-color: var(--border-strong); border-radius: 11px; font-size: .84rem; }
.form-control, .form-select { padding-inline: .82rem; }
.form-control:hover, .form-select:hover { border-color: color-mix(in srgb, var(--primary) 26%, var(--border-strong)); }
.input-group > .form-control { border-radius: 0 11px 11px 0; }
.input-group > .form-control:not(:last-child) { border-radius: 0; }
.input-group-text { border-radius: 11px 0 0 11px; color: var(--muted); background: var(--card-soft); }
.input-group > .btn:last-child { border-radius: 0 11px 11px 0; }
.form-control::placeholder { color: color-mix(in srgb, var(--muted) 66%, transparent); }
.form-control:focus, .form-select:focus { color: var(--text); background-color: var(--card); border-color: color-mix(in srgb, var(--primary) 72%, #fff); box-shadow: 0 0 0 .23rem color-mix(in srgb, var(--primary) 12%, transparent); }
.form-control-color { width: 100%; }
.form-check-input { background-color: var(--card); border-color: var(--border-strong); }
.form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
.invalid-feedback { font-size: .7rem; }

.btn { min-height: 41px; padding: .56rem .94rem; border-radius: 11px; font-size: .8rem; font-weight: 680; letter-spacing: -.005em; transition: transform .16s, box-shadow .16s, background .16s, border-color .16s; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-sm { min-height: 33px; padding: .36rem .7rem; border-radius: 9px; font-size: .73rem; }
.btn-primary { --bs-btn-bg: var(--primary); --bs-btn-border-color: var(--primary); --bs-btn-hover-bg: color-mix(in srgb, var(--primary) 85%, #020712); --bs-btn-hover-border-color: color-mix(in srgb, var(--primary) 85%, #020712); box-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 21%, transparent); }
.btn-success { box-shadow: 0 8px 18px color-mix(in srgb, var(--success) 18%, transparent); }
.btn-light { --bs-btn-bg: var(--card-soft); --bs-btn-border-color: var(--border); --bs-btn-color: var(--text); --bs-btn-hover-bg: color-mix(in srgb, var(--primary) 7%, var(--card)); --bs-btn-hover-color: var(--text); }
.btn-outline-primary { --bs-btn-color: var(--primary); --bs-btn-border-color: color-mix(in srgb, var(--primary) 46%, var(--border)); }

.table-responsive { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.table { --bs-table-bg: transparent; --bs-table-color: var(--text); --bs-table-hover-color: var(--text); --bs-table-hover-bg: color-mix(in srgb, var(--primary) 3.8%, transparent); margin-bottom: 0; color: var(--text); }
.table > :not(caption) > * > * { padding: .88rem .8rem; border-color: var(--border); vertical-align: middle; }
.table thead th { color: var(--muted); background: color-mix(in srgb, var(--card) 92%, var(--bg)); font-size: .62rem; font-weight: 790; text-transform: uppercase; letter-spacing: .07em; white-space: nowrap; }
.table tbody tr { transition: background .15s; }
.sticky-top { background: var(--card) !important; }
.table-active { --bs-table-bg-state: color-mix(in srgb, var(--primary) 9%, transparent); }
.badge { padding: .43em .7em; font-weight: 680; letter-spacing: .005em; }
.badge-soft { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border: 1px solid color-mix(in srgb, var(--success) 13%, transparent); border-radius: 999px; color: #087650; background: color-mix(in srgb, var(--success) 10%, var(--card)); font-size: .68rem; font-weight: 720; }
.badge-soft::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--success); }
.badge-soft.status-off { color: var(--muted); border-color: var(--border); background: var(--card-soft); }
.badge-soft.status-off::before { background: var(--muted-soft); }
html[data-theme="escuro"] .badge-soft { color: #79e4b9; }
html[data-theme="escuro"] .text-bg-light { color: var(--text) !important; background: var(--card-soft) !important; }

.alert { border: 1px solid transparent; border-radius: 14px; box-shadow: inset 0 1px rgba(255,255,255,.25); }
.premium-alert { display: flex; align-items: center; gap: 10px; padding-right: 48px; }
.alert-icon { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 9px; background: rgba(255,255,255,.35); }
.alert-light { color: var(--text); background: var(--card-soft); border-color: var(--border) !important; }
.progress { background: color-mix(in srgb, var(--border) 78%, transparent); }
.progress-thin { height: 7px; border-radius: 999px; }
.progress-bar { border-radius: inherit; background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 55%, #42c8ec)); }

.tree { min-height: 280px; padding: 4px; }
.tree ul { list-style: none; min-width: 690px; margin: 0 0 0 18px; padding-left: 23px; border-left: 1px dashed var(--border-strong); }
.tree > ul { margin-left: 0; padding-left: 0; border-left: 0; }
.tree li { transition: opacity .18s; }
.tree li.tree-dimmed { opacity: .2; }
.tree summary { cursor: pointer; padding: 6px 0; list-style-position: outside; }
.tree summary::marker { color: var(--primary); }
.tree-node { display: inline-flex; align-items: center; gap: 10px; min-width: 610px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 13px; background: var(--card); box-shadow: var(--shadow-xs); transition: border-color .18s, box-shadow .18s; }
.tree-node:hover { border-color: color-mix(in srgb, var(--primary) 24%, var(--border)); box-shadow: var(--shadow-sm); }
.tree-avatar { display: grid; place-items: center; width: 37px; height: 37px; flex: 0 0 37px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); }
.tree-copy { min-width: 180px; flex: 1; }
.tree-copy b, .tree-copy small { display: block; }
.tree-copy b { font-size: .76rem; }
.tree-copy small { margin-top: 2px; color: var(--muted); font-size: .63rem; }

.method-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.method-option { display: flex; align-items: center; gap: 11px; min-height: 76px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; background: var(--card-soft); transition: border-color .18s, background .18s, transform .18s; }
.method-option:hover { transform: translateY(-1px); }
.method-option:has(input:checked) { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 7%, var(--card)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 8%, transparent); }
.method-option.disabled { opacity: .55; cursor: not-allowed; }
.method-option span, .method-option small { display: block; }
.method-option small { margin-top: 2px; color: var(--muted); font-size: .68rem; }
.queue-monitor, .upload-monitor { padding: 17px; border: 1px solid var(--border); border-radius: 15px; background: var(--card-soft); }
.queue-table { max-height: 410px; border: 1px solid var(--border); border-radius: 14px; }
.recipient-table { max-height: 570px; }
.summary-server-card { height: 100%; padding: 18px; border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(145deg, var(--card), var(--card-soft)); box-shadow: var(--shadow-xs); transition: transform .18s, border-color .18s, box-shadow .18s; }
.summary-server-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--primary) 30%, var(--border)); box-shadow: var(--shadow-md); }

/* Blocos de destaque */
.live-hero, .report-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 176px;
    padding: 31px 33px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-lg);
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(45, 212, 191, .23), transparent 15rem),
        radial-gradient(circle at 15% 110%, rgba(117,89,232,.24), transparent 19rem),
        linear-gradient(120deg, #07162e, color-mix(in srgb, var(--primary) 70%, #0a2943));
    box-shadow: var(--shadow-lg), inset 0 1px rgba(255,255,255,.12);
}
.live-hero::before, .report-hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(90deg, transparent, #000); }
.live-hero::after, .report-hero::after { content: ""; position: absolute; right: -82px; bottom: -148px; width: 320px; height: 320px; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 88px rgba(255,255,255,.018); }
.live-hero > *, .report-hero > * { position: relative; z-index: 1; }
.live-hero h2, .report-hero h2 { color: #fff; letter-spacing: -.03em; }
.live-hero p, .report-hero p { max-width: 780px; color: rgba(255,255,255,.76); }
.live-hero .page-kicker { color: #9cf2cf; }
.report-hero .page-kicker { color: #c8d9ff; }
.live-hero-mark { display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; white-space: nowrap; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.085); box-shadow: inset 0 1px rgba(255,255,255,.12); backdrop-filter: blur(10px); font-size: .7rem; font-weight: 850; letter-spacing: .11em; }
.live-dot { width: 9px; height: 9px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 7px rgba(52,211,153,.13); animation: livePulse 1.8s infinite; }
.live-ranking { max-height: 610px; border: 1px solid var(--border); border-radius: 15px; }
.live-ranking thead { position: sticky; top: 0; z-index: 1; }
.live-leading { background: color-mix(in srgb, var(--success) 7%, transparent); }
.live-candidate-number { display: inline-grid; place-items: center; min-width: 39px; height: 31px; margin-right: 9px; padding: 0 7px; border-radius: 9px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); font-size: .72rem; font-weight: 800; }
@keyframes livePulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.72); opacity: .65; } }
.report-hero-icon { display: grid; place-items: center; width: 90px; height: 90px; flex: 0 0 90px; border: 1px solid rgba(255,255,255,.18); border-radius: 27px; background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.06)); box-shadow: 0 20px 44px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.17); font-size: 2.2rem; transform: rotate(3deg); }
.report-table tbody td { font-size: .8rem; }
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 190px; padding: 24px; color: var(--muted); text-align: center; }
.empty-state i { margin-bottom: 8px; color: var(--primary); font-size: 2rem; }

/* Painel premium */
.dashboard-hero { align-items: stretch; }
.dashboard-hero-copy { display: flex; flex: 1; flex-direction: column; justify-content: center; }
.dashboard-hero h2 { max-width: 760px; font-size: clamp(1.55rem, 2.6vw, 2.45rem); font-weight: 760; line-height: 1.08; }
.dashboard-hero-aside { display: flex; align-items: center; gap: 22px; padding-left: 25px; border-left: 1px solid rgba(255,255,255,.12); }
.network-score { position: relative; display: grid; place-items: center; width: 112px; height: 112px; flex: 0 0 112px; border-radius: 50%; background: conic-gradient(#43dda7 calc(var(--score) * 1%), rgba(255,255,255,.11) 0); box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.network-score::before { content: ""; position: absolute; width: 92px; height: 92px; border-radius: 50%; background: #102a45; box-shadow: inset 0 1px rgba(255,255,255,.1); }
.network-score > div { position: relative; z-index: 1; text-align: center; }
.network-score strong, .network-score small { display: block; }
.network-score strong { color: #fff; font-size: 1.35rem; font-weight: 780; letter-spacing: -.04em; }
.network-score small { color: #9eb0c4; font-size: .62rem; }
.hero-period { width: 170px; }
.hero-period label { display: block; margin-bottom: 6px; color: rgba(255,255,255,.6); font-size: .62rem; font-weight: 680; }
.hero-period .form-select { color: #fff; background-color: rgba(255,255,255,.09); border-color: rgba(255,255,255,.15); }
.metric-card { min-height: 154px; }
.metric-card .card-body { overflow: hidden; }
.metric-label { color: var(--muted); font-size: .73rem; font-weight: 650; }
.metric-accent { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; opacity: .7; border: 0; border-radius: 0; background: currentColor; }
.section-eyebrow { display: block; margin-bottom: 3px; color: var(--primary); font-size: .56rem; font-weight: 850; letter-spacing: .13em; }
.chart-card canvas { max-height: 310px; }
.leader-rank { display: grid; grid-template-columns: 25px 35px minmax(0, 1fr); align-items: center; gap: 9px; margin-bottom: 14px; }
.leader-rank > div { min-width: 0; font-size: .72rem; }
.leader-position { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; color: var(--muted); background: var(--card-soft); font-size: .61rem; font-weight: 780; }
.leader-rank:first-of-type .leader-position { color: #6d4b08; background: #fff0bd; }
.leader-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); font-size: .7rem; font-weight: 800; }
.person-cell { display: flex; align-items: center; gap: 10px; }
.person-cell > span { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 11px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); font-size: .7rem; font-weight: 800; }
.person-cell > div { min-width: 0; }
.type-chip { display: inline-flex; padding: 5px 8px; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); background: var(--card-soft); font-size: .68rem; font-weight: 650; }
.profile-card { background: radial-gradient(circle at 50% 0, color-mix(in srgb, var(--primary) 12%, transparent), transparent 15rem), var(--card); }
.profile-avatar-large { position: relative; display: grid; place-items: center; width: 92px; height: 92px; margin: 4px auto 0; border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--border)); border-radius: 29px; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 86%, #59bfff), color-mix(in srgb, var(--primary) 72%, #32126f)); box-shadow: 0 18px 42px color-mix(in srgb, var(--primary) 25%, transparent); font-size: 2rem; font-weight: 780; }
.profile-avatar-large em { position: absolute; right: 4px; bottom: 4px; width: 17px; height: 17px; border: 4px solid var(--card); border-radius: 50%; background: var(--success); }
.profile-facts { overflow: hidden; border: 1px solid var(--border); border-radius: 15px; text-align: left; }
.profile-facts > div { display: grid; grid-template-columns: 25px 1fr; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.profile-facts > div:last-child { border: 0; }
.profile-facts i { grid-row: span 2; align-self: center; color: var(--primary); }
.profile-facts span { color: var(--muted); font-size: .62rem; }
.profile-facts strong { overflow: hidden; color: var(--text); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.network-person { display: flex; align-items: center; gap: 12px; height: 100%; padding: 15px; border: 1px solid var(--border); border-radius: 15px; background: var(--card-soft); }
.network-person > span { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; border-radius: 14px; color: var(--primary); background: color-mix(in srgb, var(--primary) 11%, var(--card)); font-weight: 800; }
.network-person > div { min-width: 0; }
.network-person strong, .network-person small, .network-person em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.network-person strong { color: var(--heading); font-size: .78rem; }
.network-person small { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.network-person em { margin-top: 4px; color: var(--primary); font-size: .59rem; font-style: normal; font-weight: 650; }
.invite-hero { min-height: 160px; }
.qr-stage { position: relative; display: inline-block; padding: 18px; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(14,27,46,.13); }
.qr-stage > span { position: absolute; left: 50%; bottom: -14px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 999px; color: #087650; background: #ecfbf4; box-shadow: 0 6px 17px rgba(8,118,80,.13); font-size: .62rem; font-weight: 730; white-space: nowrap; transform: translateX(-50%); }
.invite-code { margin: 3px 0 8px; color: var(--heading); font-size: 1.5rem; font-weight: 790; letter-spacing: .12em; }
.invite-link { max-width: 660px; }
.invite-progress { height: 8px; overflow: hidden; border-radius: 99px; background: var(--card-soft); }
.invite-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--success), #4bd9b0); }
.activity-timeline { position: relative; padding-left: 4px; }
.activity-timeline::before { content: ""; position: absolute; left: 19px; top: 10px; bottom: 10px; width: 1px; background: var(--border); }
.activity-timeline article { position: relative; display: flex; gap: 13px; padding: 0 0 19px; }
.activity-timeline article:last-child { padding-bottom: 0; }
.activity-timeline article > span { position: relative; z-index: 1; display: grid; place-items: center; width: 39px; height: 39px; flex: 0 0 39px; border: 1px solid var(--border); border-radius: 12px; color: var(--primary); background: var(--card); }
.activity-timeline p { margin: 2px 0 3px; color: var(--text); font-size: .78rem; }
.activity-timeline small { color: var(--muted); font-size: .64rem; }
.task-list { display: grid; gap: 9px; }
.task-list article { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 13px; background: var(--card-soft); }
.task-list article > span { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 11px; color: var(--warning); background: color-mix(in srgb, var(--warning) 11%, var(--card)); }
.task-list article > div { min-width: 0; flex: 1; }
.task-list strong, .task-list small { display: block; }
.task-list strong { font-size: .75rem; }
.task-list small { color: var(--muted); font-size: .64rem; }
.task-list em { color: var(--warning); font-size: .62rem; font-style: normal; font-weight: 700; }
.task-list article.done { opacity: .68; }
.task-list article.done > span { color: var(--success); background: color-mix(in srgb, var(--success) 10%, var(--card)); }
.task-list article.done strong { text-decoration: line-through; }

/* Autenticação e instalação */
.auth-body { position: relative; overflow-x: hidden; background: #071225; }
.auth-body::before { opacity: .16; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at center, #000, transparent 74%); }
.auth-content { position: relative; min-height: 100vh; padding: 24px; display: grid; place-items: center; }
.auth-content > .container-fluid { position: relative; z-index: 2; width: 100%; max-width: 1320px; }
.auth-ambient { position: fixed; inset: 0; pointer-events: none; overflow: hidden; }
.auth-ambient span { position: absolute; border-radius: 50%; filter: blur(2px); }
.auth-ambient span:nth-child(1) { width: 580px; height: 580px; right: -170px; top: -220px; background: radial-gradient(circle, color-mix(in srgb, var(--primary) 44%, transparent), transparent 68%); }
.auth-ambient span:nth-child(2) { width: 520px; height: 520px; left: -210px; bottom: -230px; background: radial-gradient(circle, rgba(117,89,232,.34), transparent 68%); }
.auth-ambient span:nth-child(3) { width: 260px; height: 260px; left: 45%; top: 32%; border: 1px solid rgba(255,255,255,.06); box-shadow: 0 0 0 60px rgba(255,255,255,.018), 0 0 0 120px rgba(255,255,255,.012); }
.auth-shell { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .72fr); min-height: min(760px, calc(100vh - 48px)); overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 30px; background: rgba(255,255,255,.045); box-shadow: 0 44px 120px rgba(0,0,0,.36); backdrop-filter: blur(18px); }
.auth-showcase { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(34px, 5vw, 72px); overflow: hidden; color: #fff; background-image: radial-gradient(circle at 88% 15%, color-mix(in srgb, var(--primary) 43%, transparent), transparent 20rem), linear-gradient(145deg, rgba(13,38,71,.91), rgba(5,16,34,.95)), var(--client-login-bg); background-position: center; background-size: auto, auto, cover; }
.auth-showcase::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(135deg, #000, transparent 72%); }
.auth-showcase > * { position: relative; z-index: 1; }
.auth-brand { display: flex; align-items: center; gap: 13px; color: #fff; }
.auth-brand .brand-mark { width: 50px; height: 50px; flex-basis: 50px; }
.auth-brand strong, .auth-brand small { display: block; }
.auth-brand strong { font-size: 1rem; }
.auth-brand small { margin-top: 2px; color: #8fa4c0; font-size: .6rem; font-weight: 800; letter-spacing: .14em; }
.auth-message { max-width: 620px; padding-block: 50px; }
.auth-message .eyebrow { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 18px; color: #8fdac5; font-size: .67rem; font-weight: 800; letter-spacing: .14em; }
.auth-message h1 { margin: 0 0 18px; font-size: clamp(2.3rem, 5vw, 4.35rem); font-weight: 780; letter-spacing: -.065em; line-height: .98; }
.auth-message p { max-width: 540px; margin: 0; color: #9fb0c5; font-size: 1rem; line-height: 1.7; }
.auth-features { display: flex; flex-wrap: wrap; gap: 10px; }
.auth-feature { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #b8c7d9; background: rgba(255,255,255,.05); font-size: .68rem; }
.auth-feature i { color: #42d7a3; }
.auth-panel { display: flex; align-items: center; justify-content: center; padding: clamp(26px, 4vw, 56px); color: var(--text); background: var(--card); }
.auth-card { width: 100%; max-width: 420px; }
.auth-card-head { margin-bottom: 28px; }
.auth-card-head .auth-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 20px; border: 1px solid color-mix(in srgb, var(--primary) 15%, var(--border)); border-radius: 15px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); font-size: 1.15rem; }
.auth-card-head h2 { margin: 0 0 7px; color: var(--heading); font-size: 1.7rem; font-weight: 760; letter-spacing: -.04em; }
.auth-card-head p { margin: 0; color: var(--muted); font-size: .82rem; }
.auth-field { margin-bottom: 16px; }
.auth-input { position: relative; }
.auth-input > i { position: absolute; left: 14px; top: 50%; z-index: 3; color: var(--muted); transform: translateY(-50%); }
.auth-input .form-control { height: 49px; padding-left: 42px; border-radius: 13px; }
.auth-input .password-toggle { position: absolute; right: 7px; top: 50%; z-index: 3; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 9px; color: var(--muted); background: transparent; transform: translateY(-50%); }
.auth-submit { min-height: 49px; border-radius: 13px; }
.auth-security { display: flex; justify-content: center; align-items: center; gap: 7px; margin-top: 20px; color: var(--muted); font-size: .66rem; }
.auth-security i { color: var(--success); }
.login-card { max-width: 470px; margin: 10px auto; border-radius: 24px; box-shadow: var(--shadow-lg); }

.nav-tabs { gap: 4px; border-color: var(--border); }
.nav-tabs .nav-link { color: var(--muted); border: 0; border-bottom: 2px solid transparent; font-size: .78rem; }
.nav-tabs .nav-link.active { color: var(--primary); background: transparent; border-bottom-color: var(--primary); }
.tab-content { border-color: var(--border) !important; background: var(--card); }
.pagination { --bs-pagination-bg: var(--card); --bs-pagination-border-color: var(--border); --bs-pagination-color: var(--primary); --bs-pagination-hover-bg: var(--card-soft); }
.pagination .page-link { font-size: .75rem; }

.menu-toggle { display: none; position: fixed; z-index: 1050; top: 13px; left: 13px; align-items: center; gap: 7px; min-width: 46px; height: 43px; padding: 0 12px; border: 1px solid var(--border); border-radius: 13px; color: var(--text); background: var(--card); box-shadow: var(--shadow-md); font-size: .72rem; font-weight: 700; }
.sidebar-backdrop { display: none; }
.app-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 30px 3px 5px; color: var(--muted); font-size: .66rem; }
.app-footer span { display: inline-flex; align-items: center; gap: 6px; }
.app-footer i { color: var(--success); }
.scroll-top { position: fixed; right: 23px; bottom: 23px; z-index: 1000; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; visibility: hidden; opacity: 0; border: 1px solid var(--border); border-radius: 13px; color: #fff; background: var(--primary); box-shadow: var(--shadow-md); transform: translateY(8px); transition: opacity .18s, visibility .18s, transform .18s; }
.scroll-top.show { visibility: visible; opacity: 1; transform: none; }
.mobile-card { display: none; }

@media (max-width: 1180px) {
    .content { padding: 20px 22px 18px; }
    .command-trigger { min-width: 44px; width: 44px; padding: 0; justify-content: center; }
    .command-trigger span, .command-trigger kbd { display: none; }
    .account-copy { display: none; }
    .account-button { padding-right: 7px; }
}

@media (max-width: 900px) {
    body.nav-collapsed .sidebar, .sidebar { width: min(310px, 88vw); transform: translateX(-103%); }
    .sidebar.open { transform: none; }
    body.nav-collapsed .brand-copy, body.nav-collapsed .profile-copy, body.nav-collapsed .profile-mini > a, body.nav-collapsed .nav-item > span, body.nav-collapsed .nav-label span, body.nav-collapsed .nav-live, body.nav-collapsed .system-status { display: initial; }
    body.nav-collapsed .sidebar-top { flex-direction: row; }
    body.nav-collapsed .brand { flex: 1; padding: 2px 5px; }
    body.nav-collapsed .profile-mini { justify-content: flex-start; padding: 12px; }
    body.nav-collapsed .nav-label { height: 31px; padding: 13px 11px 5px; }
    body.nav-collapsed .nav-label::after, body.nav-collapsed .nav-item::after { display: none; }
    body.nav-collapsed .nav-item { justify-content: flex-start; padding: 10px 12px; }
    .sidebar-collapse { display: none; }
    .sidebar-backdrop.show { display: block; position: fixed; inset: 0; z-index: 1030; background: rgba(2,8,22,.68); backdrop-filter: blur(4px); }
    body.menu-open { overflow: hidden; }
    .content, body.nav-collapsed .content { margin-left: 0; padding: 76px 14px 22px; }
    .menu-toggle { display: flex; }
    .page-head { min-height: auto; align-items: flex-start; padding: 0 0 2px; margin-bottom: 20px; }
    .page-head p { max-width: 560px; }
    .header-actions { padding-top: 2px; }
    .quick-create { width: 43px; padding: 0; }
    .quick-create span { display: none; }
    .account-button > i { display: none; }
    .desktop-table { display: none; }
    .mobile-card { display: block; }
    .stat .value { font-size: 1.68rem; }
    .report-hero, .live-hero { min-height: 148px; padding: 25px; }
    .report-hero-icon { width: 70px; height: 70px; flex-basis: 70px; font-size: 1.65rem; }
    .dashboard-hero { flex-direction: column; }
    .dashboard-hero-aside { padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
    .network-score { width: 92px; height: 92px; flex-basis: 92px; }
    .network-score::before { width: 75px; height: 75px; }
    .auth-content { padding: 15px; }
    .auth-shell { grid-template-columns: 1fr; min-height: auto; }
    .auth-showcase { min-height: 310px; padding: 34px; }
    .auth-message { padding-block: 35px 20px; }
    .auth-message h1 { font-size: clamp(2.2rem, 9vw, 3.4rem); }
    .auth-features { display: none; }
    .auth-panel { padding: 38px 26px; }
}

@media (max-width: 575px) {
    .content { padding-inline: 11px; }
    .page-head h1 { font-size: 1.5rem; }
    .page-head p { font-size: .77rem; }
    .page-kicker { font-size: .57rem; }
    .account-button { display: none; }
    .card-body { padding: 1rem; }
    .filter-bar { padding: 14px; }
    .method-selector { grid-template-columns: 1fr; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .section-heading:has(> .section-icon) { flex-direction: row; }
    .table > :not(caption) > * > * { padding: .74rem .63rem; }
    .report-hero, .live-hero { min-height: 154px; padding: 22px; border-radius: 21px; }
    .report-hero-icon, .live-hero-mark { display: none; }
    .dashboard-hero-aside { display: none; }
    .command-palette { padding-top: 62px; }
    .command-dialog { border-radius: 18px; }
    .command-footer { display: none; }
    .auth-content { padding: 0; display: block; }
    .auth-shell { min-height: 100vh; border: 0; border-radius: 0; }
    .auth-showcase { min-height: 235px; padding: 26px 23px; }
    .auth-message { padding: 28px 0 5px; }
    .auth-message .eyebrow { margin-bottom: 10px; }
    .auth-message h1 { margin-bottom: 10px; font-size: 2.15rem; }
    .auth-message p { font-size: .8rem; line-height: 1.5; }
    .auth-panel { padding: 31px 21px 40px; }
    .auth-card-head { margin-bottom: 22px; }
}

@media print {
    .sidebar, .page-head, .menu-toggle, .sidebar-backdrop, .app-footer, .scroll-top { display: none !important; }
    .content { margin: 0; padding: 0; }
    body { background: #fff; }
    .card { break-inside: avoid; box-shadow: none !important; }
}

/* Navegação horizontal premium — versão 16 */
.topnav { position: sticky; top: 0; z-index: 1040; min-height: 74px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--card) 92%, transparent); backdrop-filter: blur(18px); }
.topnav-inner { width: min(1680px, calc(100% - 40px)); min-height: 74px; margin: auto; display: flex; align-items: center; gap: 18px; }
.topnav .sidebar-top { margin: 0; flex: 0 0 auto; }
.topnav .brand { padding: 0; color: var(--text); }
.topnav .brand-copy small { color: var(--primary); }
.topnav-links { display: flex; align-items: center; gap: 3px; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.topnav-links::-webkit-scrollbar { display: none; }
.topnav .nav-item { flex: 0 0 auto; display: inline-flex; min-height: 42px; padding: 0 11px; border-radius: 11px; color: var(--text-muted); font-size: .79rem; font-weight: 700; }
.topnav .nav-item i { font-size: 1rem; }
.topnav .nav-item:hover { color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, transparent); }
.topnav .nav-item.active { color: #fff; background: linear-gradient(135deg, var(--primary), var(--violet)); box-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 25%, transparent); }
.topnav-account { display: flex; align-items: center; gap: 3px; flex: 0 0 auto; }
.topnav .nav-logout { color: #c83d52; }
.analysis-insights { display: flex; flex-wrap: wrap; gap: 10px; }
.analysis-insights span { padding: 9px 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--text-muted); font-size: .82rem; background: color-mix(in srgb, var(--primary) 3%, var(--card)); }
.analysis-insights i { color: var(--primary); margin-right: 5px; }
.app-body .content { margin-left: 0; min-height: calc(100vh - 74px); padding-top: 24px; }
body.nav-collapsed .content { margin-left: 0; }
.sidebar, .menu-toggle, .sidebar-backdrop { display: none !important; }
@media (max-width: 900px) { .topnav-inner { width: calc(100% - 24px); gap: 10px; } .topnav .brand-copy { display: none; } .topnav .nav-item span { display: none; } .topnav .nav-item { width: 42px; justify-content: center; padding: 0; } .topnav-account .nav-item:first-child { display: none; } .app-body .content { padding: 18px 12px 22px; } }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Personalização marca branca */
.settings-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 30px 34px; overflow: hidden; border-radius: var(--radius-lg); color: #fff; background: radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--violet) 48%, transparent), transparent 20rem), linear-gradient(120deg, var(--nav-deep), color-mix(in srgb, var(--primary) 72%, var(--nav))); box-shadow: var(--shadow-md); }
.settings-hero p { max-width: 760px; color: rgba(255,255,255,.72); }
.settings-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; flex: 0 0 auto; }
.settings-tabs { display: flex; gap: 7px; padding: 7px; overflow-x: auto; border: 1px solid var(--border); border-radius: 17px; background: var(--card); box-shadow: var(--shadow-xs); scrollbar-width: thin; }
.settings-tabs .nav-link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 15px; border: 0; border-radius: 11px; color: var(--muted); white-space: nowrap; font-size: .81rem; font-weight: 650; }
.settings-tabs .nav-link.active { color: #fff; background: var(--primary); box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 25%, transparent); }
.brand-preview { position: sticky; top: 18px; overflow: hidden; }
.brand-preview-top { display: flex; align-items: center; gap: 13px; padding: 24px; color: #fff; background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--primary) 55%, transparent), transparent 13rem), var(--nav); }
.brand-preview-top strong, .brand-preview-top small { display: block; }
.brand-preview-top small { max-width: 240px; margin-top: 2px; color: #8da0ba; font-size: .7rem; }
.brand-preview-body { padding: 28px; }
.brand-preview-body > span { color: var(--primary); font-size: .61rem; font-weight: 850; letter-spacing: .13em; }
.brand-preview-body h3 { margin: 13px 0 9px; font-size: 1.55rem; letter-spacing: -.035em; }
.brand-preview-body p { color: var(--muted); }
.fields-table { min-width: 900px; }
.fields-table td:first-child { min-width: 270px; }
.fields-table th { font-size: .67rem; }
.field-visibility { display: grid; gap: 5px; min-width: 110px; color: var(--muted); font-size: .73rem; }
.field-visibility.horizontal { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.field-visibility label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.field-order { max-width: 78px; }
.custom-field-list { display: grid; gap: 9px; }
.custom-field-list article { display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--border); border-radius: 14px; background: var(--card-soft); }
.custom-field-list article > div { min-width: 0; flex: 1; }
.custom-field-list strong, .custom-field-list small { display: block; }
.custom-field-list small { margin-top: 2px; color: var(--muted); font-size: .68rem; }
.custom-type { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.module-toggle { display: flex; align-items: center; gap: 14px; min-height: 92px; padding: 17px; border: 1px solid var(--border); border-radius: 17px; background: var(--card-soft); cursor: pointer; transition: transform .18s, border-color .18s, box-shadow .18s; }
.module-toggle:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--primary) 30%, var(--border)); box-shadow: var(--shadow-sm); }
.module-toggle > span:nth-child(2) { min-width: 0; flex: 1; }
.module-toggle strong, .module-toggle small { display: block; }
.module-toggle small { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.module-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--card)); font-size: 1.05rem; }
.module-toggle .form-switch { padding-left: 2.6em; }
.module-toggle .form-check-input { width: 2.35em; height: 1.25em; cursor: pointer; }
.configured-check { min-height: 48px; padding: 13px 14px 13px 2.3rem; border: 1px solid var(--border); border-radius: 13px; background: var(--card-soft); }
.install-card { max-width: 720px; padding-block: 12px; }

.setup-launchpad{position:relative;overflow:hidden;padding:28px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:24px;background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 18rem),linear-gradient(135deg,var(--card),var(--card-soft));box-shadow:0 18px 46px rgba(18,45,80,.08)}
.setup-launchpad-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.setup-launchpad-head h2{margin:7px 0 5px;font-size:1.45rem;letter-spacing:-.03em}.setup-launchpad-head p{margin:0;color:var(--muted);font-size:.82rem}
.setup-progress-ring{display:grid;width:76px;height:76px;flex:0 0 auto;place-content:center;border-radius:50%;text-align:center;background:radial-gradient(circle at center,var(--card) 57%,transparent 59%),conic-gradient(var(--primary) var(--setup-progress),color-mix(in srgb,var(--border) 75%,transparent) 0)}.setup-progress-ring strong,.setup-progress-ring small{display:block}.setup-progress-ring strong{font-size:.92rem}.setup-progress-ring small{color:var(--muted);font-size:.55rem;text-transform:uppercase;letter-spacing:.08em}
.setup-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.setup-step{display:flex;align-items:center;gap:11px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:15px;color:var(--text);text-decoration:none;background:var(--card);transition:.18s}.setup-step:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--primary);transform:translateY(-2px)}.setup-step>span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.setup-step strong,.setup-step small{display:block;overflow:hidden;text-overflow:ellipsis}.setup-step strong{font-size:.72rem}.setup-step small{margin-top:2px;color:var(--muted);font-size:.58rem;line-height:1.35}.setup-step.complete>span{color:#11855a;background:rgba(17,133,90,.11)}
@media(max-width:991.98px){.setup-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.setup-launchpad{padding:21px}.setup-launchpad-head{align-items:flex-start}.setup-progress-ring{width:62px;height:62px}.setup-step-grid{grid-template-columns:1fr}.setup-step{padding:12px}}
.install-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.install-modules .form-check { padding: 11px 11px 11px 2.1rem; border: 1px solid var(--border); border-radius: 12px; background: var(--card-soft); }
.privacy-notice { display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: var(--card-soft); font-size: .72rem; }
.modal-content { color: var(--text); background: var(--card); border-color: var(--border); border-radius: 20px; }
.modal-header, .modal-footer { border-color: var(--border); }

@media (max-width: 767.98px) {
    .settings-hero { align-items: flex-start; flex-direction: column; padding: 24px; }
    .settings-hero-actions { width: 100%; }
    .settings-hero-actions .btn { flex: 1; }
    .module-grid { grid-template-columns: 1fr; }
    .module-toggle { min-height: 82px; }
    .install-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
    .install-modules { grid-template-columns: 1fr; }
}

/* ============================================================
   V17 — NAVEGAÇÃO HORIZONTAL PREMIUM E PUBLICAÇÃO MANUAL
   ============================================================ */
.app-shell-header { position: sticky; top: 0; z-index: 1045; background: color-mix(in srgb, var(--card) 94%, transparent); border-bottom: 1px solid var(--border); box-shadow: 0 10px 35px rgba(9,24,50,.055); backdrop-filter: blur(22px); }
.app-topbar, .horizontal-nav-inner { width: min(1680px, calc(100% - 44px)); margin-inline: auto; }
.app-topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.horizontal-brand { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--heading); text-decoration: none; }
.horizontal-brand:hover { color: var(--heading); }
.horizontal-brand .brand-mark { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 13px; box-shadow: 0 8px 22px color-mix(in srgb, var(--primary) 25%, transparent); }
.horizontal-brand > span:last-child { min-width: 0; }
.horizontal-brand strong, .horizontal-brand small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.horizontal-brand strong { max-width: 280px; font-size: .94rem; letter-spacing: -.018em; }
.horizontal-brand small { margin-top: 2px; color: var(--muted); font-size: .59rem; font-weight: 760; letter-spacing: .11em; }
.topbar-tools { display: flex; align-items: center; gap: 8px; }
.topbar-search, .topbar-new, .horizontal-account, .horizontal-menu-toggle { height: 42px; border: 1px solid var(--border); border-radius: 12px; color: var(--text); background: var(--card-soft); text-decoration: none; }
.topbar-search, .topbar-new { display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; font-size: .75rem; font-weight: 700; }
.topbar-search kbd { margin-left: 6px; padding: 2px 5px; border: 1px solid var(--border); border-radius: 5px; color: var(--muted); background: var(--card); font-size: .59rem; }
.topbar-new { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 64%, var(--violet))); box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 18%, transparent); }
.topbar-new:hover { color: #fff; transform: translateY(-1px); }
.horizontal-account { display: flex; align-items: center; gap: 9px; min-width: 150px; padding: 4px 9px 4px 5px; }
.horizontal-account > span:nth-child(2) { min-width: 0; flex: 1; text-align: left; }
.horizontal-account strong, .horizontal-account small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.horizontal-account strong { font-size: .72rem; }.horizontal-account small { color: var(--muted); font-size: .59rem; }
.horizontal-account .avatar { width: 32px; height: 32px; font-size: .7rem; }
.horizontal-menu-toggle { display: none; width: 42px; place-items: center; font-size: 1.2rem; }
.horizontal-nav { border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent); }
.horizontal-nav-inner { min-height: 51px; display: flex; align-items: stretch; gap: 3px; }
.horizontal-link { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; padding: 0 15px; border: 0; border-radius: 0; color: var(--muted); background: transparent; text-decoration: none; font-size: .76rem; font-weight: 730; transition: color .17s, background .17s; }
.horizontal-link::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
.horizontal-link:hover, .horizontal-link:focus, .horizontal-link.active { color: var(--primary); background: color-mix(in srgb, var(--primary) 5%, transparent); }
.horizontal-link.active::after { background: linear-gradient(90deg, var(--primary), var(--violet)); }
.horizontal-link.intelligence { color: color-mix(in srgb, var(--violet) 75%, var(--text)); }
.horizontal-link .nav-live { position: static; width: 7px; height: 7px; margin-left: 1px; border-radius: 50%; background: #13bd79; box-shadow: 0 0 0 4px rgba(19,189,121,.12); }
.nav-spacer { flex: 1; }
.nav-group { display: flex; }
.nav-group .dropdown-toggle::after { position: static; width: auto; height: auto; margin-left: 3px; border: .26em solid transparent; border-top-color: currentColor; background: none; }
.nav-mega-menu { min-width: 330px; margin-top: 0 !important; padding: 10px; border: 1px solid var(--border); border-radius: 0 0 17px 17px; background: var(--card); box-shadow: var(--shadow-md); }
.nav-mega-menu .dropdown-header { padding: 7px 9px 9px; color: var(--muted-soft); font-size: .58rem; font-weight: 850; letter-spacing: .12em; }
.nav-mega-menu .dropdown-item { display: flex; align-items: center; gap: 12px; padding: 11px; border-radius: 11px; color: var(--text); }
.nav-mega-menu .dropdown-item:hover { color: var(--primary); background: color-mix(in srgb, var(--primary) 7%, var(--card)); }
.nav-mega-menu .dropdown-item > i { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, var(--card)); }
.nav-mega-menu .dropdown-item span, .nav-mega-menu .dropdown-item strong, .nav-mega-menu .dropdown-item small { display: block; }
.nav-mega-menu .dropdown-item small { margin-top: 2px; color: var(--muted); font-size: .64rem; }
.intelligence-menu .dropdown-item > i { color: var(--violet); background: color-mix(in srgb, var(--violet) 10%, var(--card)); }
.horizontal-nav-backdrop { display: none; }
.app-body .content, body.nav-collapsed .content { margin-left: 0; min-height: calc(100vh - 124px); padding: 25px 30px 20px; }
.app-body .content > .container-fluid { max-width: 1680px; }
.page-head { margin-bottom: 23px; }
.page-context { display: flex; align-items: center; gap: 9px; }
.page-context > span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--muted); background: var(--card); font-size: .69rem; font-weight: 700; }
.system-online i { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px color-mix(in srgb, var(--success) 15%, transparent); }

.manual-live-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; overflow: hidden; border-radius: 24px; color: #fff; background: radial-gradient(circle at 90% 0, rgba(117,89,232,.52), transparent 20rem), linear-gradient(125deg, #071326, color-mix(in srgb, var(--primary) 72%, #071326)); box-shadow: var(--shadow-md); }
.manual-live-hero h2 { margin: 8px 0 5px; font-size: 1.35rem; }.manual-live-hero p { max-width: 780px; margin: 0; color: rgba(255,255,255,.7); }
.manual-section { margin-top: 25px; padding-top: 24px; border-top: 1px solid var(--border); }
.manual-section h3 { margin: 0 0 16px; font-size: .82rem; font-weight: 800; letter-spacing: .015em; }
.manual-validation { display: flex; align-items: center; gap: 9px; padding: 11px 13px; border: 1px solid color-mix(in srgb, var(--success) 28%, var(--border)); border-radius: 11px; color: var(--success); background: color-mix(in srgb, var(--success) 6%, var(--card)); font-size: .72rem; font-weight: 650; }
.manual-validation.invalid { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 32%, var(--border)); background: color-mix(in srgb, var(--danger) 6%, var(--card)); }
.candidate-editor { display: grid; gap: 10px; }
.candidate-row { display: flex; align-items: center; gap: 9px; padding: 13px; border: 1px solid var(--border); border-radius: 14px; background: var(--card-soft); }
.candidate-row label { display: block; margin: 0 0 4px; color: var(--muted); font-size: .59rem; font-weight: 750; }
.candidate-drag { color: var(--muted-soft); }.remove-candidate { flex: 0 0 auto; }
.manual-publish-bar { position: sticky; bottom: 12px; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 16px; background: color-mix(in srgb, var(--card) 92%, transparent); box-shadow: var(--shadow-md); backdrop-filter: blur(16px); }
.manual-publish-bar strong, .manual-publish-bar small { display: block; }.manual-publish-bar small { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.manual-panel-list { display: grid; gap: 8px; }
.manual-panel-list article { display: flex; align-items: center; gap: 9px; padding: 12px; border: 1px solid var(--border); border-radius: 13px; background: var(--card-soft); }
.manual-panel-list article.selected { border-color: color-mix(in srgb, var(--primary) 45%, var(--border)); box-shadow: inset 3px 0 0 var(--primary); }
.manual-panel-list article > div:first-child { min-width: 0; flex: 1; }.manual-panel-list strong, .manual-panel-list small { display: block; }.manual-panel-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .73rem; }.manual-panel-list small { margin-top: 3px; color: var(--muted); font-size: .61rem; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--muted); }.status-dot.publicado { background: var(--primary); }.status-dot.finalizado { background: var(--success); }
.mode-selector { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.mode-selector label { position: relative; cursor: pointer; }.mode-selector input { position: absolute; opacity: 0; pointer-events: none; }
.mode-selector span { display: grid; grid-template-columns: 42px 1fr; align-items: center; column-gap: 11px; min-height: 76px; padding: 13px; border: 1px solid var(--border); border-radius: 14px; background: var(--card-soft); }
.mode-selector i { grid-row: 1/3; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb,var(--primary) 9%,var(--card)); }
.mode-selector strong, .mode-selector small { display: block; }.mode-selector small { color: var(--muted); font-size: .65rem; }
.mode-selector input:checked + span { border-color: color-mix(in srgb,var(--primary) 55%,var(--border)); box-shadow: inset 0 0 0 1px var(--primary), 0 8px 22px color-mix(in srgb,var(--primary) 10%,transparent); }
.live-timeline { position: relative; min-height: 270px; }.live-timeline canvas { min-height: 250px; }.live-timeline .empty-state { position: absolute; inset: 0; background: var(--card); }
.insight-card { position: relative; min-height: 118px; padding: 17px; overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: linear-gradient(145deg,var(--card-soft),var(--card)); }
.insight-card > span { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 12px; border-radius: 10px; color: var(--primary); background: color-mix(in srgb,var(--primary) 9%,var(--card)); }.insight-card small,.insight-card strong { display: block; }.insight-card small { color: var(--muted); font-size: .63rem; }.insight-card strong { margin-top: 4px; overflow: hidden; text-overflow: ellipsis; font-size: .88rem; white-space: nowrap; }
.automatic-reading { display: flex; align-items: flex-start; gap: 10px; margin-top: 15px; padding: 13px 15px; border-radius: 12px; color: var(--text); background: color-mix(in srgb,var(--primary) 6%,var(--card)); font-size: .75rem; }.automatic-reading i { color: var(--primary); font-size: 1rem; }
.scenario-results { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }.scenario-results > div { padding: 14px; border: 1px solid var(--border); border-radius: 13px; background: var(--card-soft); }.scenario-results small,.scenario-results strong { display: block; }.scenario-results small { color: var(--muted); font-size: .63rem; }.scenario-results strong { margin-top: 4px; font-size: 1.1rem; }

@media (max-width: 991.98px) {
    .app-topbar, .horizontal-nav-inner { width: calc(100% - 24px); }
    .topbar-search span, .topbar-search kbd, .topbar-new span, .horizontal-account > span:nth-child(2), .horizontal-account > i { display: none; }
    .topbar-search, .topbar-new { width: 42px; justify-content: center; padding: 0; }
    .horizontal-account { min-width: 42px; width: 42px; padding: 4px; }
    .horizontal-menu-toggle { display: grid; }
    .horizontal-nav { position: fixed; top: 72px; right: 0; bottom: 0; z-index: 1055; width: min(360px, 91vw); padding: 12px; overflow-y: auto; border: 0; background: var(--card); box-shadow: -24px 0 70px rgba(5,15,35,.22); transform: translateX(105%); transition: transform .22s ease; }
    .horizontal-nav.open { transform: none; }
    .horizontal-nav-inner { width: 100%; min-height: 0; display: grid; align-content: start; gap: 5px; }
    .horizontal-link { width: 100%; min-height: 48px; justify-content: flex-start; padding: 0 14px; border-radius: 12px; }
    .horizontal-link::after { display: none; }.nav-group { display: block; }.nav-group .horizontal-link { justify-content: flex-start; }
    .nav-group .dropdown-menu { position: static !important; min-width: 0; margin: 4px 0 7px !important; transform: none !important; border-radius: 13px; box-shadow: none; }
    .nav-spacer { display: none; }
    .horizontal-nav-backdrop.show { display: block; position: fixed; inset: 72px 0 0; z-index: 1040; background: rgba(3,10,24,.55); backdrop-filter: blur(3px); }
    body.horizontal-menu-open { overflow: hidden; }
    .app-body .content, body.nav-collapsed .content { min-height: calc(100vh - 72px); padding: 20px 14px 22px; }
    .manual-live-hero { align-items: flex-start; flex-direction: column; padding: 24px; }.manual-publish-bar { align-items: flex-start; flex-direction: column; }.manual-publish-bar > div:last-child { width: 100%; }.manual-publish-bar .btn { flex: 1; }
}
@media (max-width: 575.98px) { .horizontal-brand strong { max-width: 145px; }.horizontal-brand small { display: none; }.page-context { display: none; }.candidate-row { align-items: flex-start; }.candidate-drag { display: none; }.manual-live-hero .d-flex { width: 100%; flex-direction: column; }.manual-live-hero .btn { width: 100%; }.manual-publish-bar .d-flex { display: grid !important; grid-template-columns: 1fr; }.manual-publish-bar .btn { width: 100%; } }
@media (max-width: 575.98px) { .mode-selector { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .scenario-results { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* V17.2 — confronto direto entre candidatos concorrentes */
.rival-analysis { overflow: hidden; }
.rival-analysis-head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 32px; overflow: hidden; color: #fff; background: radial-gradient(circle at 91% 5%, rgba(117,89,232,.58), transparent 19rem), linear-gradient(120deg, #07152b, #123b78 68%, #263f83); }
.rival-analysis-head::after { content: ""; position: absolute; right: 16%; bottom: -95px; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.rival-analysis-head > * { position: relative; z-index: 1; }
.rival-analysis-head h2 { margin: 7px 0 6px; color: #fff; font-size: clamp(1.28rem, 2vw, 1.75rem); letter-spacing: -.035em; }
.rival-analysis-head p { max-width: 880px; margin: 0; color: rgba(255,255,255,.7); font-size: .78rem; line-height: 1.6; }
.rival-kicker { display: inline-flex; align-items: center; gap: 7px; color: #9fc6ff; font-size: .62rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rival-analysis-seal { min-width: 185px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; color: #fff; background: rgba(255,255,255,.075); font-size: .7rem; font-weight: 760; line-height: 1.3; backdrop-filter: blur(12px); }
.rival-analysis-seal i { margin-right: 5px; color: #66e3b4; }.rival-analysis-seal small { color: rgba(255,255,255,.58); font-size: .59rem; font-weight: 600; }
.rival-filter-grid { display: grid; grid-template-columns: 1.05fr 1.35fr 1fr 1fr; gap: 12px; }
.rival-pair-grid { display: grid; grid-template-columns: minmax(0,1fr) 44px minmax(0,1fr) auto; align-items: end; gap: 12px; }
.rival-selector { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--border); border-radius: 15px; background: var(--card-soft); }
.rival-selector > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: #175cd3; font-weight: 850; box-shadow: 0 8px 20px rgba(23,92,211,.22); }
.rival-selector.candidate-b > span { background: #7559e8; box-shadow: 0 8px 20px rgba(117,89,232,.22); }
.rival-selector label { margin-bottom: 4px; }.rival-versus-small { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 12px; border: 1px solid var(--border); border-radius: 50%; color: var(--muted); background: var(--card); font-size: .66rem; font-weight: 900; }
.rival-run { min-height: 56px; padding-inline: 20px; white-space: nowrap; }
.rival-empty { display: flex; align-items: center; gap: 13px; padding: 18px; border: 1px dashed color-mix(in srgb,var(--primary) 28%,var(--border)); border-radius: 15px; background: color-mix(in srgb,var(--primary) 4%,var(--card)); }
.rival-empty > i { display: grid; place-items: center; width: 39px; height: 39px; flex: 0 0 39px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb,var(--primary) 10%,var(--card)); }.rival-empty strong,.rival-empty span { display: block; }.rival-empty strong { font-size: .8rem; }.rival-empty span { margin-top: 2px; color: var(--muted); font-size: .69rem; }
.rival-empty.is-error { border-style: solid; border-color: color-mix(in srgb,var(--danger) 32%,var(--border)); background: color-mix(in srgb,var(--danger) 6%,var(--card)); }.rival-empty.is-error > i { color: var(--danger); background: color-mix(in srgb,var(--danger) 10%,var(--card)); }
.rival-scoreboard { display: grid; grid-template-columns: minmax(0,1fr) minmax(205px,.68fr) minmax(0,1fr); gap: 12px; }
.rival-candidate-card { position: relative; min-height: 185px; padding: 22px; overflow: hidden; border: 1px solid var(--border); border-radius: 19px; background: linear-gradient(145deg,var(--card-soft),var(--card)); }
.rival-candidate-card::after { content: attr(data-side); position: absolute; right: 16px; bottom: -18px; color: color-mix(in srgb,var(--primary) 7%,transparent); font-size: 7rem; font-weight: 900; line-height: 1; }
.rival-candidate-card.candidate-a { box-shadow: inset 4px 0 0 #175cd3; }.rival-candidate-card.candidate-b { box-shadow: inset -4px 0 0 #7559e8; text-align: right; }
.rival-candidate-card.is-leading { border-color: color-mix(in srgb,var(--success) 32%,var(--border)); background: linear-gradient(145deg,color-mix(in srgb,var(--success) 5%,var(--card)),var(--card)); }
.rival-side { display: inline-flex; padding: 5px 8px; border-radius: 7px; color: #175cd3; background: rgba(23,92,211,.09); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.candidate-b .rival-side { color: #7559e8; background: rgba(117,89,232,.1); }
.rival-candidate-card h3 { margin: 14px 0 2px; overflow: hidden; color: var(--heading); font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }.rival-candidate-card small { color: var(--muted); font-size: .64rem; }.rival-candidate-card strong { display: block; margin-top: 18px; color: var(--heading); font-size: 1.42rem; letter-spacing: -.03em; }.rival-candidate-card em { display: block; margin-top: 2px; color: var(--muted); font-size: .65rem; font-style: normal; }
.rival-verdict { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 185px; padding: 20px; border: 1px solid var(--border); border-radius: 19px; text-align: center; background: var(--card-soft); }.rival-verdict > span { color: var(--muted); font-size: .61rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.rival-verdict > strong { margin-top: 7px; color: var(--heading); font-size: 1.3rem; }.rival-verdict > small { max-width: 190px; margin-top: 4px; color: var(--muted); font-size: .64rem; line-height: 1.35; }
.rival-share-bar { display: flex; width: 100%; height: 8px; margin-top: 18px; overflow: hidden; border-radius: 10px; background: var(--border); }.rival-share-bar i:first-child { background: #175cd3; }.rival-share-bar i:last-child { background: #7559e8; }
.rival-metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.rival-metric-grid article { min-height: 115px; padding: 16px; border: 1px solid var(--border); border-radius: 15px; background: var(--card-soft); }.rival-metric-grid span,.rival-metric-grid strong,.rival-metric-grid small { display: block; }.rival-metric-grid span { color: var(--muted); font-size: .62rem; font-weight: 720; }.rival-metric-grid span i { margin-right: 5px; color: var(--primary); }.rival-metric-grid strong { margin-top: 11px; overflow: hidden; color: var(--heading); font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }.rival-metric-grid small { margin-top: 4px; color: var(--muted); font-size: .61rem; line-height: 1.45; }
.rival-diagnosis { display: flex; align-items: flex-start; gap: 13px; padding: 17px 18px; border: 1px solid color-mix(in srgb,var(--primary) 22%,var(--border)); border-radius: 16px; background: linear-gradient(105deg,color-mix(in srgb,var(--primary) 7%,var(--card)),color-mix(in srgb,var(--violet) 5%,var(--card))); }.rival-diagnosis > span { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; color: #fff; background: linear-gradient(135deg,var(--primary),var(--violet)); }.rival-diagnosis small { color: var(--primary); font-size: .59rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.rival-diagnosis p { margin: 5px 0 0; color: var(--text); font-size: .74rem; line-height: 1.65; }
.rival-chart-card { height: 100%; padding: 17px; border: 1px solid var(--border); border-radius: 16px; background: var(--card-soft); }.rival-chart-card h3 { margin: 0; font-size: .78rem; }.rival-chart-card small { color: var(--muted); font-size: .62rem; }.rival-chart-area { position: relative; height: 390px; margin-top: 14px; }.rival-chart-area.compact { height: 320px; }
.rival-table-tools { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; padding: 15px 0; }.rival-table-tools h3 { margin: 0; font-size: .84rem; }.rival-table-tools small { color: var(--muted); font-size: .62rem; }.rival-table-tools input { width: 190px; }.rival-table-tools select { width: 165px; }.rival-table-wrap { max-height: 620px; border: 1px solid var(--border); border-radius: 14px; }.rival-table { min-width: 920px; margin: 0; }.rival-table thead { position: sticky; top: 0; z-index: 2; background: var(--card); }.rival-table th { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.rival-result-pill { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 8px; font-size: .61rem; font-weight: 800; }.rival-result-pill.A { color: #175cd3; background: rgba(23,92,211,.09); }.rival-result-pill.B { color: #7559e8; background: rgba(117,89,232,.1); }.rival-result-pill.tie { color: var(--muted); background: color-mix(in srgb,var(--muted) 10%,var(--card)); }
.rival-disclaimer { margin: 11px 0 0; color: var(--muted); font-size: .62rem; }.rival-disclaimer i { margin-right: 4px; color: var(--primary); }

@media (max-width: 1199.98px) { .rival-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.rival-pair-grid { grid-template-columns: minmax(0,1fr) 44px minmax(0,1fr); }.rival-run { grid-column: 1/-1; }.rival-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767.98px) { .rival-analysis-head { align-items: flex-start; flex-direction: column; padding: 24px; }.rival-analysis-seal { width: 100%; }.rival-filter-grid,.rival-pair-grid,.rival-scoreboard,.rival-metric-grid { grid-template-columns: 1fr; }.rival-versus-small { margin: -3px auto; }.rival-run { grid-column: auto; }.rival-candidate-card.candidate-b { text-align: left; box-shadow: inset 4px 0 0 #7559e8; }.rival-table-tools { align-items: stretch; flex-direction: column; }.rival-table-tools > div:last-child { display: grid !important; grid-template-columns: 1fr 1fr; }.rival-table-tools input,.rival-table-tools select { width: 100%; }.rival-table-tools .btn { grid-column: 1/-1; }.rival-chart-area { height: 330px; } }

/* ============================================================
   V19.2 — MOBILE FIRST / RESPONSIVIDADE DE PRODUÇÃO
   ============================================================ */
html, body { max-width: 100%; overflow-x: hidden; overflow-x: clip; }
img, svg, video, canvas { max-width: 100%; }
.row > *, .card, .card-body, .content, .container-fluid { min-width: 0; }
.mobile-nav-tools { display: none; }

@media (max-width: 991.98px) {
    :root { --mobile-header-h: 72px; }
    html { scroll-padding-top: calc(var(--mobile-header-h) + 12px); }
    body { min-height: 100dvh; }
    .app-shell-header { padding-top: env(safe-area-inset-top, 0px); }
    .app-topbar { width: 100%; min-height: var(--mobile-header-h); height: var(--mobile-header-h); padding: 0 12px; gap: 12px; }
    .horizontal-brand { flex: 1 1 auto; overflow: hidden; }
    .horizontal-brand .brand-mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
    .topbar-tools { flex: 0 0 auto; gap: 6px; }
    .topbar-search, .topbar-new, .horizontal-account, .horizontal-menu-toggle, .theme-toggle { min-width: 42px; min-height: 42px; }
    .horizontal-menu-toggle { touch-action: manipulation; }
    .horizontal-nav {
        top: calc(var(--mobile-header-h) + env(safe-area-inset-top, 0px));
        width: min(370px, 94vw);
        height: calc(100dvh - var(--mobile-header-h) - env(safe-area-inset-top, 0px));
        padding: 10px 10px calc(18px + env(safe-area-inset-bottom, 0px));
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(105%);
    }
    .horizontal-nav.open { visibility: visible; pointer-events: auto; transform: none; }
    .horizontal-nav-inner { width: 100%; padding: 0; }
    .horizontal-nav .horizontal-link { min-height: 48px; border-radius: 12px; }
    .horizontal-nav .dropdown-menu { width: 100%; max-width: 100%; }
    .nav-mega-menu .dropdown-item { min-height: 50px; white-space: normal; }
    .nav-mega-menu .dropdown-item span { min-width: 0; }
    .nav-mega-menu .dropdown-item strong,
    .nav-mega-menu .dropdown-item small { white-space: normal; overflow-wrap: anywhere; }
    .horizontal-nav-backdrop.show {
        inset: calc(var(--mobile-header-h) + env(safe-area-inset-top, 0px)) 0 0;
    }
    .mobile-nav-tools {
        display: grid;
        gap: 4px;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid var(--border);
    }
    .mobile-nav-label { padding: 7px 12px 3px; color: var(--muted-soft); font-size: .58rem; font-weight: 850; letter-spacing: .12em; }
    .mobile-nav-action { border: 0; background: transparent; text-align: left; }
    .mobile-nav-action.text-danger { color: var(--danger) !important; }

    .app-body .content, body.nav-collapsed .content {
        width: 100%;
        min-height: calc(100dvh - var(--mobile-header-h));
        padding: 16px 12px calc(24px + env(safe-area-inset-bottom, 0px));
    }
    .app-body .content > .container-fluid { width: 100%; padding-inline: 0; }
    .page-head { gap: 10px; margin-bottom: 16px; }
    .page-head h1 { overflow-wrap: anywhere; }
    .page-head p { max-width: 100%; }
    .page-context { display: none; }
    .row { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
    .card, .stat { border-radius: 17px; }
    .card-body.p-4, .card-body.p-lg-4, .card-body.p-lg-5 { padding: 1rem !important; }
    .section-heading { gap: 10px; }
    .report-hero, .live-hero, .settings-hero, .manual-live-hero, .rival-analysis-head { border-radius: 18px; }

    .table-responsive,
    .queue-table,
    .recipient-table,
    .rival-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .table-responsive > .table { margin-bottom: 0; }
    .table-responsive .table th,
    .table-responsive .table td { white-space: nowrap; }
    .table-responsive .table td > small { white-space: normal; min-width: 140px; }
    .table-responsive::after {
        content: "Arraste para o lado para ver mais";
        display: block;
        padding: 7px 2px 0;
        color: var(--muted-soft);
        font-size: .61rem;
        text-align: right;
    }
    .desktop-table + .table-responsive::after { display: none; }

    .modal-dialog { margin: max(8px, env(safe-area-inset-top, 0px)) 8px max(8px, env(safe-area-inset-bottom, 0px)); }
    .modal-content { max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); overflow: hidden; border-radius: 17px; }
    .modal-body { overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .modal-footer { flex-wrap: wrap; }

    .tree { width: 100%; min-height: 0; padding: 0; overflow: visible !important; }
    .tree ul { width: 100%; min-width: 0; margin-left: 8px; padding-left: 12px; }
    .tree > ul { margin-left: 0; padding-left: 0; }
    .tree li, .tree details, .tree summary { width: 100%; min-width: 0; }
    .tree-node { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: 8px; }
    .tree-copy { min-width: 0; flex: 1 1 150px; }
    .tree-copy b, .tree-copy small { overflow-wrap: anywhere; }
    .tree-node .type-chip, .tree-node .badge-soft { flex: 0 0 auto; }

    .filter-bar { width: 100%; }
    .filter-bar .input-group { min-width: 0 !important; flex: 1 1 100% !important; }
    .filter-bar > .btn { flex: 1 1 160px; min-height: 44px; }

    form.d-flex { flex-wrap: wrap; }
    form.d-flex > .form-control,
    form.d-flex > .form-select,
    form.d-flex > .input-group { min-width: 0; flex: 1 1 210px; }
    form.d-flex > .btn { min-height: 44px; }

    .settings-tabs { scroll-snap-type: x proximity; }
    .settings-tabs > * { flex: 0 0 auto; scroll-snap-align: start; }
    .fields-table { min-width: 780px; }

    .command-palette { padding: calc(var(--mobile-header-h) + 8px) 8px 8px; }
    .command-dialog { width: min(100%, 620px); max-height: calc(100dvh - var(--mobile-header-h) - 16px); }
    .command-list { overflow-y: auto; }

    .scroll-top { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 767.98px) {
    /* 16px evita zoom automático em iOS/Safari ao focar campos. */
    input.form-control,
    select.form-select,
    textarea.form-control,
    .input-group .form-control,
    .input-group .form-select { font-size: 16px !important; }
    .form-control, .form-select, .btn, .input-group-text { min-height: 44px; }
    textarea.form-control { min-height: 104px; }
    .form-check-input { width: 1.15em; height: 1.15em; }
    .btn { touch-action: manipulation; }
    .btn-sm { min-height: 38px; padding-top: .42rem; padding-bottom: .42rem; }
    .dropdown-item { min-height: 44px; display: flex; align-items: center; }
    .pagination { flex-wrap: wrap; gap: 4px; }
    .pagination .page-link { min-width: 40px; min-height: 40px; display: grid; place-items: center; border-radius: 9px !important; }

    .auth-shell { width: 100%; }
    .auth-showcase { min-height: 220px; }
    .auth-panel { min-width: 0; }
    .auth-card { max-width: 100%; }
    .auth-message h1 { overflow-wrap: anywhere; }

    .live-item { align-items: flex-start !important; flex-wrap: wrap; }
    .live-item > div:nth-child(2) { min-width: 0; flex: 1 1 170px; }
    .live-item > .ms-auto { width: 100%; margin-left: 48px !important; text-align: left !important; }

    .manual-panel-list article { align-items: flex-start; gap: 10px; }
    .candidate-row { gap: 8px; }
    .candidate-row > .row { width: calc(100% - 46px); }
    .rival-table { min-width: 760px; }

    .install-modules { grid-template-columns: 1fr 1fr; }
    .brand-preview { position: static; }
}

@media (max-width: 575.98px) {
    .topbar-search, .topbar-new, .theme-toggle, .horizontal-account { display: none !important; }
    .horizontal-brand strong { max-width: calc(100vw - 118px); font-size: .88rem; }
    .horizontal-brand small { display: none; }
    .app-topbar { gap: 8px; padding-inline: 10px; }
    .horizontal-menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; }

    .app-body .content, body.nav-collapsed .content { padding-inline: 9px; }
    .page-head h1 { font-size: 1.38rem; }
    .page-head p { font-size: .76rem; line-height: 1.45; }
    .page-kicker { font-size: .55rem; }
    .card, .stat { border-radius: 15px; }
    .card-body { padding: .9rem !important; }

    .report-hero, .live-hero, .settings-hero, .manual-live-hero, .rival-analysis-head { padding: 18px !important; }
    .report-hero h2, .live-hero h2, .settings-hero h2, .manual-live-hero h2 { font-size: 1.25rem; }
    .report-hero p, .live-hero p, .settings-hero p, .manual-live-hero p { font-size: .74rem; line-height: 1.5; }

    .card-body > .d-flex.justify-content-between,
    .card-body > .d-flex.align-items-center,
    .manual-section > .d-flex,
    .alert > .d-flex { flex-wrap: wrap; }
    .card-body > .d-flex.justify-content-between > .btn,
    .card-body > .d-flex.align-items-center > .btn { flex: 1 1 auto; }

    form.d-flex > .form-control,
    form.d-flex > .form-select,
    form.d-flex > .input-group,
    form.d-flex > .btn { flex-basis: 100%; width: 100%; }
    .input-group { width: 100%; }
    .input-group > .form-control,
    .input-group > .form-select { min-width: 0; }

    .table-responsive { border-radius: 12px; }
    .table-responsive .table { font-size: .78rem; }
    .table > :not(caption) > * > * { padding: .68rem .58rem; }

    .filter-bar > .btn { flex-basis: 100%; width: 100%; }
    .method-selector, .mode-selector, .scenario-results, .install-modules { grid-template-columns: 1fr !important; }

    .tree ul { margin-left: 4px; padding-left: 8px; }
    .tree-node { padding: 9px; }
    .tree-avatar { width: 34px; height: 34px; flex-basis: 34px; }
    .tree-node .type-chip, .tree-node .badge-soft { font-size: .6rem; }
    .tree-node > a.btn { margin-left: auto; }

    .premium-alert { align-items: flex-start; }
    .premium-alert .alert-icon { margin-top: 1px; }
    .alert { font-size: .78rem; }

    .nav-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .nav-tabs::-webkit-scrollbar { display: none; }
    .nav-tabs .nav-link { white-space: nowrap; }

    .modal-dialog { margin-inline: 6px; }
    .modal-header, .modal-body, .modal-footer { padding: .9rem; }
    .modal-footer > * { flex: 1 1 120px; }

    .auth-showcase { min-height: 190px; padding: 22px 18px; }
    .auth-message { padding: 20px 0 0; }
    .auth-message h1 { font-size: 1.85rem; }
    .auth-panel { padding: 24px 16px calc(28px + env(safe-area-inset-bottom, 0px)); }
    .auth-card-head h2 { font-size: 1.45rem; }

    .live-event-logo { width: 64px !important; height: 64px !important; border-radius: 16px !important; }
    .live-item > .ms-auto { margin-left: 0 !important; }
    .manual-publish-bar .btn, .manual-live-hero .btn { width: 100%; }
    .rival-table-tools > div:last-child { grid-template-columns: 1fr !important; }
    .rival-chart-area { height: 280px; }
}

@media (max-width: 360px) {
    .horizontal-brand .brand-mark { width: 35px; height: 35px; flex-basis: 35px; }
    .horizontal-brand strong { max-width: calc(100vw - 105px); font-size: .82rem; }
    .horizontal-menu-toggle { width: 42px; flex-basis: 42px; }
    .app-body .content { padding-inline: 7px; }
    .card-body { padding: .8rem !important; }
    .page-head h1 { font-size: 1.27rem; }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 991.98px) {
    .horizontal-nav { height: calc(100dvh - var(--mobile-header-h) - env(safe-area-inset-top, 0px)); }
    .auth-showcase { min-height: 150px; }
    .auth-message { padding-block: 12px 0; }
}

/* ============================================================
   V19.4 — CORREÇÃO MENU MOBILE / STACKING CONTEXT
   O backdrop deve ficar abaixo do app-shell-header (z-index 1045).
   ============================================================ */
@media (max-width: 991.98px) {
    .app-shell-header { z-index: 1045; }
    .horizontal-nav { z-index: 1060; }
    .horizontal-nav-backdrop.show { z-index: 1040 !important; }
}


/* v21 Intelligence 360 */
.intelligence-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(135deg,var(--primary),#4424a7 72%,#6f42c1);color:#fff;overflow:hidden}.intelligence-hero>div:first-child{max-width:820px}.intelligence-hero .page-kicker{color:rgba(255,255,255,.78)}.intelligence-score-wrap{display:flex;align-items:center;gap:16px;min-width:245px}.intelligence-score{--ring:#22c55e;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring) calc(var(--score)*1%),rgba(255,255,255,.17) 0);position:relative;box-shadow:0 12px 35px rgba(0,0,0,.18)}.intelligence-score:before{content:"";position:absolute;inset:10px;border-radius:50%;background:rgba(12,22,44,.9)}.intelligence-score>div{position:relative;z-index:1;display:flex;align-items:baseline}.intelligence-score strong{font-size:2rem}.intelligence-score small{opacity:.65}.intelligence-score.tone-warning{--ring:#f59e0b}.intelligence-score.tone-danger{--ring:#ef4444}.intelligence-score.tone-primary{--ring:#60a5fa}.intelligence-priority-list{display:grid;gap:10px}.intelligence-priority{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--text);transition:.18s ease}.intelligence-priority:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 8px 22px rgba(20,35,70,.08)}.intelligence-priority small,.intelligence-event-list small{display:block;color:var(--muted);margin-top:2px}.priority-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.intelligence-bars{display:grid;gap:13px}.intelligence-bar-row{display:grid;grid-template-columns:58px 1fr 42px;align-items:center;gap:10px;font-size:.84rem}.intelligence-bar-row>div{height:8px;background:var(--card-soft);border-radius:999px;overflow:hidden}.intelligence-bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--violet))}.intelligence-bar-row strong{text-align:right}.intelligence-kpis{display:grid;gap:2px}.intelligence-kpis>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.intelligence-kpis>div:last-child{border-bottom:0}.intelligence-kpis span{display:flex;align-items:center;gap:9px;color:var(--muted)}.intelligence-kpis strong{font-size:1.1rem}.intelligence-kpis.compact{grid-template-columns:1fr 1fr;gap:0 18px}.intelligence-event-list{display:grid}.intelligence-event-list>a{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.intelligence-event-list>a:last-child{border-bottom:0}@media(max-width:767.98px){.intelligence-hero{align-items:flex-start;flex-direction:column;padding:22px!important}.intelligence-score-wrap{width:100%;min-width:0}.intelligence-score{width:92px;height:92px}.intelligence-score strong{font-size:1.55rem}.intelligence-kpis.compact{grid-template-columns:1fr}.intelligence-priority{grid-template-columns:42px 1fr auto}.intelligence-event-list>a{align-items:flex-start}}

/* v21.1 — análise inteligente e comparação separada */
.intelligence-engine .insight-card em{display:block;margin-top:.35rem;font-size:.78rem;font-style:normal;color:var(--text-secondary,#667085)}
.intelligence-score strong{font-size:1.65rem}
.intelligence-verdict{border:1px solid rgba(23,92,211,.18);border-radius:16px;padding:1rem 1.1rem;background:rgba(23,92,211,.045)}
.intelligence-verdict-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.55rem}
.intelligence-verdict-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(23,92,211,.10);color:#175CD3}
.intelligence-verdict-head small{display:block;font-size:.7rem;letter-spacing:.08em;color:var(--text-secondary,#667085)}
.intelligence-verdict-head strong{display:block;font-size:1rem}
.intelligence-verdict p{margin:0;color:var(--text-primary,#101828)}
.intelligence-list{border:1px solid var(--border-color,#e4e7ec);border-radius:14px;padding:1rem;background:var(--card-bg,#fff)}
.intelligence-list h3{font-size:.9rem;margin:0 0 .7rem;display:flex;align-items:center;gap:.45rem}
.intelligence-list ul{margin:0;padding-left:1.15rem;color:var(--text-secondary,#475467)}
.intelligence-list li+li{margin-top:.5rem}
.intelligence-method{display:flex;gap:.55rem;align-items:flex-start;padding:.7rem .85rem;border-radius:12px;background:rgba(102,112,133,.08);font-size:.82rem;color:var(--text-secondary,#667085)}
.comparison-mode-nav{gap:.5rem}
.comparison-mode-nav .nav-link{border-radius:999px}
.comparison-base-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.comparison-base-chip{display:inline-flex;align-items:center;padding:.4rem .7rem;border:1px solid var(--border-color,#e4e7ec);border-radius:999px;font-size:.8rem;background:var(--card-bg,#fff)}
.comparison-base-chip.is-loaded:before{content:'✓';margin-right:.35rem;color:#039855;font-weight:700}
.comparison-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.comparison-ai-grid article{border:1px solid var(--border-color,#e4e7ec);border-radius:14px;padding:.9rem;background:var(--card-bg,#fff)}
.comparison-ai-grid small,.comparison-ai-grid span{display:block;color:var(--text-secondary,#667085)}
.comparison-ai-grid strong{display:block;margin:.3rem 0;font-size:1.15rem}
.comparison-ai-grid span{font-size:.76rem}
@media(max-width:991.98px){.comparison-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.comparison-ai-grid{grid-template-columns:1fr}.intelligence-verdict{padding:.85rem}}

/* v22.0 — Inteligência Histórica e Qualidade TSE */
.history-timeline{position:relative;display:grid;gap:0}.history-timeline::before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:2px;background:var(--bs-border-color)}.history-timeline-item{position:relative;display:grid;grid-template-columns:24px 1fr;gap:14px;padding:0 0 22px}.history-timeline-item:last-child{padding-bottom:0}.history-timeline-marker{position:relative;z-index:1;padding-top:4px}.history-timeline-marker span{display:block;width:22px;height:22px;border-radius:50%;background:var(--bs-primary);border:5px solid var(--bs-body-bg);box-shadow:0 0 0 1px var(--bs-border-color)}.history-timeline-item.is-missing .history-timeline-marker span{background:var(--bs-warning)}.history-timeline-content{border:1px solid var(--bs-border-color);border-radius:14px;padding:14px;background:var(--bs-body-bg)}.history-inline-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.history-inline-metrics>div{padding:9px 10px;border-radius:10px;background:var(--bs-tertiary-bg)}.history-inline-metrics small{display:block;color:var(--bs-secondary-color);font-size:.76rem}.history-inline-metrics strong{display:block;margin-top:2px;overflow-wrap:anywhere}.anomaly-card{border:1px solid var(--bs-border-color);border-radius:14px;padding:16px;background:var(--bs-body-bg)}.quality-coverage{display:grid;gap:12px}.quality-coverage-group{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:12px;padding:12px 0;border-bottom:1px solid var(--bs-border-color)}.quality-coverage-group:last-child{border-bottom:0}.quality-year-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid var(--bs-border-color);font-size:.82rem}.quality-year-chip.is-ok{background:rgba(var(--bs-success-rgb),.09)}.quality-year-chip.is-warn{background:rgba(var(--bs-warning-rgb),.13)}.quality-year-chip.is-bad{background:rgba(var(--bs-danger-rgb),.10)}.quality-search{max-width:330px}.viz-callout{border-left:4px solid var(--bs-primary);padding:14px 16px;border-radius:0 12px 12px 0;background:var(--bs-tertiary-bg)}
@media(max-width:767.98px){.history-inline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-coverage-group{grid-template-columns:1fr}.quality-search{max-width:none;width:100%}}
@media print{.no-print,.app-shell-header,.page-context,.command-palette,.horizontal-nav-backdrop,footer{display:none!important}.history-report-head{border:0!important}.history-timeline-content,.anomaly-card{break-inside:avoid}.card{box-shadow:none!important}.container-fluid,.app-content{max-width:100%!important;width:100%!important;padding:0!important}}
.intelligence-explain{border:1px solid var(--bs-border-color);border-radius:14px;padding:16px;background:var(--bs-tertiary-bg)}.explain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.explain-grid>div>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.explain-grid .progress{height:8px}.explain-grid small{display:block;color:var(--bs-secondary-color);margin-top:5px}@media(max-width:767.98px){.explain-grid{grid-template-columns:1fr}}

/* v23.0 — TSE Intelligence Lab */
.lab-hero{overflow:hidden;border-color:color-mix(in srgb,var(--primary) 24%,var(--border));background:radial-gradient(circle at 92% 5%,color-mix(in srgb,var(--violet) 22%,transparent),transparent 26rem),linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--card)),var(--card) 62%)}
.lab-badge{display:inline-flex;align-items:center;gap:.4rem;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border))}
.lab-guardrail{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--card-soft) 75%,transparent)}
.lab-guardrail>i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--card));font-size:1.25rem}
.lab-guardrail strong,.lab-guardrail small{display:block}.lab-guardrail small{margin-top:3px;color:var(--muted);font-size:.75rem;line-height:1.45}
.lab-replay-card{border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.lab-replay-control{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--card-soft)}
.lab-replay-focus{height:100%;padding:18px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#09172e,color-mix(in srgb,var(--primary) 76%,#09172e));box-shadow:inset 0 1px rgba(255,255,255,.08)}
.lab-replay-focus>small,.lab-replay-focus>strong,.lab-replay-focus>span{display:block}.lab-replay-focus>small{color:rgba(255,255,255,.65);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.lab-replay-focus>strong{margin-top:7px;font-size:1.35rem}.lab-replay-focus>span{margin-top:5px;color:rgba(255,255,255,.76);font-size:.8rem;line-height:1.5}
.lab-mini-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.lab-mini-kpis>div{padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.06)}.lab-mini-kpis small,.lab-mini-kpis strong{display:block}.lab-mini-kpis small{color:rgba(255,255,255,.58);font-size:.68rem}.lab-mini-kpis strong{margin-top:2px;color:#fff}
.lab-territory-bars{display:grid;gap:10px}.lab-territory-row{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px}.lab-territory-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--card-soft);color:var(--muted);font-size:.72rem;font-weight:800}.lab-territory-row strong{font-size:.83rem}.lab-territory-row small{color:var(--muted);font-size:.72rem}.lab-territory-track{height:9px;margin-top:5px;overflow:hidden;border-radius:99px;background:var(--card-soft)}.lab-territory-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--violet));transition:width .38s ease}
.lab-dna{display:grid;gap:14px}.lab-dna-row{display:grid;gap:6px}.lab-dna-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lab-dna-head>span{display:flex;align-items:center;gap:7px}.lab-dna-head b{font-size:.82rem}.lab-dna-head em{padding:2px 6px;border-radius:99px;font-size:.68rem;font-style:normal}.lab-dna-head em.is-up{color:var(--success);background:color-mix(in srgb,var(--success) 9%,var(--card))}.lab-dna-head em.is-down{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--card))}.lab-dna-track{height:10px;overflow:hidden;border-radius:99px;background:var(--card-soft)}.lab-dna-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--violet))}.lab-dna-row small{color:var(--muted);font-size:.72rem;line-height:1.35}
.lab-ruptures{display:grid;gap:10px}.lab-rupture-item{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--card-soft)}.lab-rupture-item p{margin:3px 0 5px;color:var(--muted);font-size:.76rem;line-height:1.45}.lab-rupture-gauge{--severity:50;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--warning) calc(var(--severity)*1%),var(--border) 0);position:relative}.lab-rupture-gauge:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--card)}.lab-rupture-gauge strong{position:relative;z-index:1;font-size:.76rem}
.lab-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-discovery-card{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--card);transition:.18s ease}.lab-discovery-card:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(20,35,70,.07)}.lab-discovery-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--card))}.lab-discovery-card.tone-success .lab-discovery-icon{color:var(--success);background:color-mix(in srgb,var(--success) 9%,var(--card))}.lab-discovery-card.tone-warning .lab-discovery-icon{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--card))}.lab-discovery-card p{margin:4px 0 7px;color:var(--muted);font-size:.77rem;line-height:1.45}.lab-evidence-link{font-size:.75rem;text-decoration:none}
.lab-explain-result{padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--card-soft)}.lab-explain-title{display:flex;align-items:center;gap:11px;margin-bottom:10px}.lab-explain-title small{display:block;color:var(--muted)}.lab-evidence-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.lab-evidence-kpis>div{padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.lab-evidence-kpis small,.lab-evidence-kpis strong{display:block}.lab-evidence-kpis small{color:var(--muted);font-size:.7rem}.lab-evidence-kpis strong{margin-top:3px}
.lab-question-box{padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--card-soft)}.lab-answer{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--primary) 5%,var(--card))}.lab-answer-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card))}.lab-answer p{margin-top:3px;font-size:.82rem;line-height:1.5}.lab-answer li{margin-top:.25rem;font-size:.78rem}.lab-modal-evidence{display:grid;gap:8px;padding-left:1.1rem}.lab-modal-evidence li{line-height:1.45}
@media(max-width:991.98px){.lab-discovery-grid{grid-template-columns:1fr}.lab-evidence-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.lab-mini-kpis,.lab-evidence-kpis{grid-template-columns:1fr}.lab-replay-focus{padding:15px}.lab-discovery-card{grid-template-columns:38px 1fr;padding:12px}.lab-discovery-icon{width:38px;height:38px}.lab-answer{grid-template-columns:38px 1fr;padding:13px}.lab-answer-icon{width:38px;height:38px}.lab-rupture-item{grid-template-columns:48px 1fr}.lab-rupture-gauge{width:46px;height:46px}}
@media print{.lab-hero,.lab-question-box,#labQuestionExamples,.lab-replay-control,#replayToggle{display:none!important}.lab-discovery-card,.lab-rupture-item,.lab-explain-result{break-inside:avoid}}

/* v30.7 — acabamento profissional, saúde operacional e segurança */
:root{--surface-elevated:color-mix(in srgb,var(--card) 94%,white);--focus-ring:0 0 0 .23rem color-mix(in srgb,var(--primary) 18%,transparent)}
.app-body{background:radial-gradient(circle at 8% 0,color-mix(in srgb,var(--primary) 5%,transparent),transparent 28rem),var(--bg)}
.app-shell-header{box-shadow:0 6px 30px rgba(18,36,68,.045)}.horizontal-brand .brand-mark{box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 18%,transparent)}
.page-head{padding-block:8px 4px}.page-head h1{letter-spacing:-.035em}.page-context{padding:8px 10px;border:1px solid var(--border);border-radius:13px;background:var(--card)}
.card.stat{border-color:color-mix(in srgb,var(--border) 86%,var(--primary));box-shadow:0 12px 34px rgba(26,43,77,.055);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card.stat:hover{border-color:color-mix(in srgb,var(--primary) 18%,var(--border));box-shadow:0 18px 44px rgba(26,43,77,.075)}
.form-control:focus,.form-select:focus,.form-check-input:focus,.btn:focus-visible{box-shadow:var(--focus-ring);border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.table thead th{font-size:.69rem;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--card-soft) 72%,transparent)}
.monitoring-hero{overflow:hidden;color:#fff;border:0!important;background:radial-gradient(circle at 85% 15%,rgba(110,231,183,.18),transparent 23rem),linear-gradient(135deg,#071a35,color-mix(in srgb,var(--primary) 78%,#071a35))}.monitoring-hero>.card-body{display:flex;align-items:center;justify-content:space-between;gap:40px}.monitoring-hero h2{margin:10px 0 8px;font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em}.monitoring-hero p{max-width:760px;color:rgba(255,255,255,.72)}.monitoring-score{display:grid;justify-items:center;gap:10px;min-width:180px}.monitoring-score>div{position:relative;display:flex;align-items:baseline;justify-content:center;width:145px;height:145px;border-radius:50%;background:conic-gradient(#49e2ac calc(var(--score)*1%),rgba(255,255,255,.14) 0);padding-top:49px}.monitoring-score>div:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#0a2242}.monitoring-score strong,.monitoring-score small{position:relative}.monitoring-score strong{font-size:2.3rem}.monitoring-score small{color:rgba(255,255,255,.6)}.monitoring-score>span{font-size:.75rem;color:rgba(255,255,255,.72)}
.monitoring-alerts{display:grid}.monitoring-alert{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.monitoring-alert:last-child{border-bottom:0}.monitoring-alert:hover{background:var(--card-soft)}.monitoring-alert-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px}.monitoring-alert-icon.tone-danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--card))}.monitoring-alert-icon.tone-warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--card))}.monitoring-alert strong,.monitoring-alert small{display:block}.monitoring-alert small{margin-top:3px;color:var(--muted)}.monitoring-empty{display:grid;justify-items:center;gap:5px;padding:44px;color:var(--muted)}.monitoring-empty i{font-size:2.4rem;color:var(--success)}.monitoring-metrics{display:grid}.monitoring-metrics>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--border)}.monitoring-metrics>div:last-child{border:0}.monitoring-metrics span{color:var(--muted)}
.security-status-card{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:17px;border:1px solid color-mix(in srgb,var(--primary) 17%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--primary) 4%,var(--card))}.security-status-card>i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card));font-size:1.25rem}.security-status-card strong,.security-status-card small{display:block}.security-status-card small{margin-top:3px;color:var(--muted)}.security-setup{padding:20px;border:1px solid var(--border);border-radius:17px;background:var(--card-soft)}.mfa-code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;letter-spacing:.22em;text-align:center}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-code-grid code{padding:9px;border:1px dashed color-mix(in srgb,var(--warning) 50%,var(--border));border-radius:9px;background:var(--card);text-align:center}.refund-form{max-width:520px}.refund-form .form-control{border-radius:9px}
@media(max-width:767.98px){.monitoring-hero>.card-body{align-items:flex-start;flex-direction:column}.monitoring-score{min-width:0;grid-template-columns:auto 1fr;align-items:center}.monitoring-score>div{width:105px;height:105px;padding-top:34px}.monitoring-score>div:before{inset:8px}.monitoring-score strong{font-size:1.7rem}.monitoring-alert{grid-template-columns:42px 1fr}.monitoring-alert>i:last-child{display:none}.recovery-code-grid{grid-template-columns:1fr}.page-context{display:none}}

/* v30.7 — Central de Documentos */

/* v30.7 — consulta cadastral de CNPJ */
.cnpj-lookup-status{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 6%,var(--card));color:var(--text)}
.cnpj-lookup-status[hidden]{display:none}
.cnpj-lookup-status>i{margin-top:2px;color:var(--primary)}
.cnpj-lookup-status span,.cnpj-lookup-status strong,.cnpj-lookup-status small{display:block}
.cnpj-lookup-status small{margin-top:2px;color:var(--muted);line-height:1.45}
.cnpj-lookup-status.is-success{border-color:rgba(25,135,84,.28);background:rgba(25,135,84,.08)}
.cnpj-lookup-status.is-success>i{color:#198754}
.cnpj-lookup-status.is-warning{border-color:rgba(255,193,7,.36);background:rgba(255,193,7,.10)}
.cnpj-lookup-status.is-warning>i{color:#b58105}
.cnpj-lookup-status.is-danger{border-color:rgba(220,53,69,.28);background:rgba(220,53,69,.08)}
.cnpj-lookup-status.is-danger>i{color:#dc3545}
[data-cnpj-trigger]{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.document-hero{background:linear-gradient(125deg,#0e1a33 0%,#163a78 58%,#175cd3 100%);color:#fff;border-radius:24px;padding:2rem 2.25rem;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:2rem;align-items:center;box-shadow:0 24px 60px rgba(14,26,51,.2);position:relative;overflow:hidden}.document-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-110px;top:-140px}.document-hero h2{font-size:clamp(1.55rem,3vw,2.4rem);max-width:760px;margin:.55rem 0}.document-hero p{color:#d8e5ff;max-width:780px}.document-health{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);backdrop-filter:blur(9px);border-radius:20px;padding:1.25rem;z-index:1}.document-health div{display:flex;align-items:baseline}.document-health strong{font-size:3rem;line-height:1}.document-health div small{font-size:1.1rem}.document-health span{font-weight:700}.document-health>small{color:#d8e5ff;margin-top:.45rem}.document-grid .document-card{background:#fff;border:1px solid #e1e8f2;border-radius:18px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 10px 30px rgba(14,26,51,.055);transition:.18s ease}.document-grid .document-card:hover{transform:translateY(-3px);border-color:#b9cdf8;box-shadow:0 18px 40px rgba(14,26,51,.1)}.document-card h3{font-size:1rem;margin:0 0 .35rem;color:#0e1a33}.document-card p{font-size:.86rem;color:#68758a;margin:0}.document-icon{width:44px;height:44px;border-radius:13px;background:#edf3ff;color:#175cd3;display:grid;place-items:center;font-size:1.25rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-heading span{font-size:.7rem;letter-spacing:.13em;color:#175cd3;font-weight:800}.section-heading h2{margin:.15rem 0 0}.section-heading>small{color:#748197}.document-progress{width:180px;height:9px}.form-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#175cd3;border-bottom:1px solid #e5eaf1;padding:.9rem 0 .6rem;margin:.35rem 0 0}.budget-limit{height:100%;min-height:86px;background:#f3f7fd;border:1px solid #dfe8f5;border-radius:16px;padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.budget-limit strong,.budget-limit span{display:block}.budget-limit span{font-size:.8rem;color:#748197;margin-top:.2rem}.budget-limit b{font-size:1.6rem;color:#175cd3}.budget-limit.is-over{background:#fff2f1;border-color:#ffc9c5}.budget-limit.is-over b{color:#c92a2a}
@media(max-width:767.98px){.document-hero{grid-template-columns:1fr;padding:1.5rem}.document-health{align-items:flex-start;text-align:left}.section-heading{align-items:flex-start;flex-direction:column}.document-progress{width:100%}}

/* v30.7 — usuários, eventos e funções de equipe */
.team-assignment-panel{margin-top:.55rem;padding:1.25rem;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 5%,var(--card)),var(--card))}
.team-link-chip{display:inline-flex;flex-direction:column;max-width:260px;margin:2px 5px 2px 0;padding:6px 9px;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--primary) 5%,var(--card));vertical-align:top}
.team-link-chip strong,.team-link-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-link-chip strong{font-size:.76rem;color:var(--text)}.team-link-chip small{max-width:220px;color:var(--muted);font-size:.69rem}
