:root {
    --danger: #991b1b;
    --warning: #f59e0b;
    --success: #16a34a;
    --purple: #7c3aed
}

.login-page,
.app-page {
    background: var(--surface);
    min-height: 100vh
}

.login-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px;
    position: relative;
    overflow: hidden
}

.login-shell:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 10% 15%, rgba(27, 152, 224, .18), transparent 35%), radial-gradient(circle at 90% 80%, rgba(15, 76, 92, .2), transparent 42%)
}

.login-card {
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: 34px;
    box-shadow: var(--shadow-elev)
}

.login-brand {
    margin-bottom: 24px
}

.login-card h1 {
    margin: 18px 0 10px;
    font-size: 32px
}

.login-form {
    display: grid;
    gap: 14px;
    margin: 26px 0 18px
}

.login-form label {
    display: grid;
    gap: 8px;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--petroleum)
}

.login-form input,
.form-control {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: #fff;
    color: var(--fg);
    font: inherit
}

.login-aside {
    display: none
}

.login-metric {
    background: rgba(255, 255, 255, .75);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 20px;
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(12px)
}

.login-metric span,
.login-metric small {
    display: block;
    color: var(--muted)
}

.login-metric strong {
    display: block;
    margin: 4px 0;
    font: 700 28px Sora;
    color: var(--petroleum)
}

@media(min-width:980px) {
    .login-shell {
        grid-template-columns: 460px 340px;
        gap: 34px
    }

    .login-aside {
        position: relative;
        z-index: 1;
        display: grid;
        gap: 16px
    }
}

.app {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 100vh
}

.sidebar {
    background: var(--gradient-petroleum);
    color: #fff;
    padding: 22px;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column
}

.sidebar .brand__name {
    color: #fff
}

.sidebar .brand__icon {
    background: linear-gradient(135deg, var(--tech), var(--petroleum-light))
}

.side-nav {
    display: grid;
    gap: 6px;
    margin-top: 28px
}

.side-nav button,
.logout {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    color: rgba(255, 255, 255, .82);
    font-weight: 600;
    text-align: left;
    transition: .2s
}

.side-nav button:hover,
.side-nav button.active,
.logout:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff
}

.side-nav button.active {
    box-shadow: inset 3px 0 0 var(--tech)
}

.side-nav i,
.logout i {
    width: 18px;
    height: 18px
}

.sidebar-footer {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 18px
}

.app-main {
    min-width: 0
}

.topbar {
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    background: rgba(255, 255, 255, .86);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 20
}

.topbar h1 {
    font-size: 22px
}

.topbar p {
    font-size: 13px
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px
}

.icon-btn {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    color: var(--petroleum)
}

.avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--gradient-petroleum);
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 800
}

.user-chip {
    display: none;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 7px 12px
}

.user-chip span {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--gradient-petroleum);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800
}

.user-chip strong {
    display: block;
    color: var(--petroleum);
    font-size: 13px
}

.user-chip small {
    display: block;
    color: var(--muted);
    font-size: 11px
}

@media(min-width:720px) {
    .user-chip {
        display: flex
    }
}

.content {
    padding: 28px
}

.view {
    display: none
}

.view.active {
    display: block
}

.page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px
}

.page-head h2 {
    font-size: 30px
}

.page-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 18px
}

.kpi,
.panel,
.table-card,
.builder-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow-soft)
}

.kpi {
    padding: 20px
}

.kpi-top {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.kpi-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: var(--tech-soft);
    color: var(--tech)
}

.kpi strong {
    display: block;
    margin-top: 14px;
    font: 700 30px Sora;
    color: var(--petroleum)
}

.kpi span {
    font-size: 13px;
    color: var(--muted)
}

.delta {
    font-size: 12px;
    font-weight: 700
}

.delta.good {
    color: var(--success)
}

.delta.warn {
    color: var(--warning)
}

.delta.bad {
    color: var(--danger)
}

.dash-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 18px
}

.panel {
    padding: 22px;
    min-height: 280px
}

.panel h3,
.table-card h3,
.builder-card h3 {
    font-size: 18px;
    margin-bottom: 14px
}

.fake-bars {
    display: grid;
    gap: 16px;
    margin-top: 20px
}

.fake-bar {
    display: grid;
    grid-template-columns: 150px 1fr 42px;
    align-items: center;
    gap: 12px;
    font-size: 13px
}

.bar-track {
    height: 12px;
    border-radius: 99px;
    background: #edf3f7;
    overflow: hidden
}

.bar-fill {
    height: 100%;
    border-radius: inherit;
    background: var(--tech);
    width: var(--v)
}

.bar-fill.warn {
    background: var(--warning)
}

.bar-fill.bad {
    background: #f97316
}

.chart-line {
    width: 100%;
    height: 300px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(27, 152, 224, .08), transparent), repeating-linear-gradient(to bottom, transparent 0 52px, var(--border) 53px);
    position: relative;
    margin-top: 20px
}

.chart-line svg {
    position: absolute;
    inset: 18px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    display: block
}

.risk-list {
    display: grid;
    gap: 10px
}

.risk-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 14px
}

.pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800
}

.pill.good {
    background: #dcfce7;
    color: #166534
}

.pill.warn {
    background: #fef3c7;
    color: #92400e
}

.pill.bad {
    background: #fee2e2;
    color: #991b1b
}

.pill.info {
    background: var(--tech-soft);
    color: var(--petroleum)
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.module-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 22px;
    box-shadow: var(--shadow-soft)
}

.module-card h3 {
    font-size: 18px;
    margin: 12px 0 8px
}

.module-card p {
    font-size: 14px;
    margin-bottom: 18px
}

.table-card {
    padding: 0;
    overflow: hidden
}

.table-card h3 {
    padding: 20px 22px;
    margin: 0
}

.data-table {
    width: 100%;
    border-collapse: collapse
}

.data-table th,
.data-table td {
    padding: 14px 22px;
    text-align: left;
    border-top: 1px solid var(--border);
    font-size: 14px
}

.data-table th {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
    background: #fbfdfe
}

.heatmap {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px
}

.heat-cell {
    min-height: 110px;
    border-radius: 18px;
    padding: 14px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: var(--shadow-soft)
}

.heat-cell.low {
    background: linear-gradient(135deg, #22c55e, #16a34a)
}

.heat-cell.med {
    background: linear-gradient(135deg, #fbbf24, #f59e0b)
}

.heat-cell.high {
    background: linear-gradient(135deg, #fb923c, #f97316)
}

.heat-cell.critical {
    background: linear-gradient(135deg, #ef4444, #991b1b)
}

.filter-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px
}

.filter-row select {
    padding: 12px 14px;
    border-radius: 13px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--fg);
    font: inherit
}

.drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(10, 54, 64, .48);
    backdrop-filter: blur(4px);
    z-index: 100;
    display: none
}

.drawer-backdrop.open {
    display: block
}

.drawer {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: min(100%, 980px);
    background: var(--surface);
    box-shadow: -20px 0 50px rgba(0, 0, 0, .15);
    display: flex;
    flex-direction: column
}

.drawer-header {
    background: #fff;
    border-bottom: 1px solid var(--border);
    padding: 24px 28px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

.drawer-header small {
    font-weight: 800;
    color: var(--tech);
    letter-spacing: .18em;
    text-transform: uppercase
}

.drawer-header h2 {
    font-size: 28px;
    margin-top: 4px
}

.drawer-body {
    padding: 26px;
    overflow: auto
}

.builder-layout {
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    gap: 20px
}

.builder-card {
    padding: 24px
}

.builder-preview {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 24px;
    box-shadow: var(--shadow-soft);
    height: max-content
}

.steps {
    display: flex;
    gap: 10px;
    padding: 16px 26px;
    background: #fff;
    border-bottom: 1px solid var(--border);
    overflow: auto
}

.step-dot {
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid var(--border);
    font-size: 13px;
    font-weight: 800;
    color: var(--muted);
    white-space: nowrap
}

.step-dot.active {
    background: var(--petroleum);
    color: #fff;
    border-color: var(--petroleum)
}

.step-pane {
    display: none
}

.step-pane.active {
    display: block
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px
}

.field {
    display: grid;
    gap: 8px;
    margin-bottom: 14px
}

.field.full {
    grid-column: 1/-1
}

.field label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--petroleum)
}

.field textarea {
    min-height: 110px;
    resize: vertical
}

.check-list {
    display: grid;
    gap: 10px
}

.check-item {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff
}

.builder-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 18px;
    margin-top: 18px;
    border-top: 1px solid var(--border)
}

.question-card {
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    background: #fbfdfe
}

.preview-doc {
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 20px;
    background: #fff
}

.preview-line {
    height: 10px;
    border-radius: 99px;
    background: #e8f4fc;
    margin: 12px 0
}

.preview-block {
    height: 76px;
    border-radius: 14px;
    background: linear-gradient(90deg, #e8f4fc, #cbeafa);
    margin-top: 18px
}

.single-form {
    max-width: 760px
}

.simple-layout {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 20px
}

.toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 200;
    background: var(--petroleum);
    color: #fff;
    padding: 14px 16px;
    border-radius: 14px;
    box-shadow: var(--shadow-elev);
    display: none
}

.toast.show {
    display: block
}

.mobile-top {
    display: none
}

@media(max-width:1000px) {
    .app {
        grid-template-columns: 1fr
    }

    .sidebar {
        display: none
    }

    .mobile-top {
        display: flex
    }

    .kpis,
    .module-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .dash-grid,
    .builder-layout,
    .simple-layout {
        grid-template-columns: 1fr
    }

    .heatmap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:640px) {
    .content {
        padding: 18px
    }

    .topbar {
        padding: 0 16px
    }

    .kpis,
    .module-grid,
    .form-grid {
        grid-template-columns: 1fr
    }

    .page-head {
        display: block
    }

    .page-actions {
        margin-top: 14px
    }

    .drawer {
        width: 100%
    }

    .fake-bar {
        grid-template-columns: 1fr
    }

    .steps {
        padding: 12px
    }

    .drawer-header {
        padding: 20px
    }

    .drawer-body {
        padding: 18px
    }
}

/* ============ AUTH ============ */
.auth-page {
    min-height: 100vh;
    background: linear-gradient(135deg, #f8fbfd 0%, #eef7fc 45%, #fff 100%)
}

.auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr
}

@media(min-width:900px) {
    .auth-shell {
        grid-template-columns: 1.05fr .95fr
    }
}

.auth-brand-panel {
    position: relative;
    overflow: hidden;
    padding: 34px clamp(24px, 5vw, 70px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 48vh;
    background: var(--gradient-petroleum);
    color: #fff
}

.auth-brand-panel:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: .45
}

.auth-brand,
.auth-copy,
.auth-preview-card {
    position: relative;
    z-index: 1
}

.auth-brand .brand__name {
    color: #fff
}

.auth-brand .brand__icon {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .2)
}

.auth-copy {
    max-width: 620px;
    margin: 70px 0
}

.auth-copy h1 {
    margin-top: 24px;
    color: #fff;
    font-size: clamp(34px, 5vw, 58px)
}

.auth-copy p {
    margin-top: 18px;
    color: rgba(255, 255, 255, .78);
    font-size: 17px;
    max-width: 520px
}

.auth-preview-card {
    max-width: 520px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    border-radius: 26px;
    backdrop-filter: blur(10px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .16)
}

.preview-header {
    display: flex;
    gap: 8px
}

.preview-header span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .4)
}

.preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 22px
}

.preview-grid div {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .1)
}

.preview-grid strong {
    display: block;
    font-family: Sora, sans-serif;
    color: #fff;
    font-size: 24px
}

.preview-grid small {
    color: rgba(255, 255, 255, .72)
}

.preview-bars {
    display: grid;
    gap: 10px;
    margin-top: 18px
}

.preview-bars span {
    height: 10px;
    border-radius: 999px;
    background: #1B98E0;
    display: block
}

.auth-card-wrap {
    display: grid;
    place-items: center;
    padding: 36px 24px
}

.auth-card {
    width: min(440px, 100%);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 28px;
    box-shadow: var(--shadow-elev);
    padding: 34px
}

.auth-card__head {
    text-align: center;
    margin-bottom: 28px
}

.auth-card__head h2 {
    font-size: 28px
}

.auth-card__head p {
    margin-top: 8px;
    font-size: 14px
}

.auth-card label {
    display: grid;
    gap: 8px;
    margin-bottom: 16px
}

.auth-card label span {
    font-size: 13px;
    font-weight: 700;
    color: var(--petroleum)
}

.auth-card input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--border);
    font: inherit;
    color: var(--fg);
    background: #fff
}

.auth-card input:focus {
    outline: none;
    border-color: var(--tech);
    box-shadow: 0 0 0 4px rgba(27, 152, 224, .12)
}

.password-field {
    position: relative
}

.password-field button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--muted)
}

.auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 4px 0 22px;
    font-size: 13px
}

.auth-row a {
    color: var(--tech);
    font-weight: 700
}

.check {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important
}

.check input {
    width: auto
}

.check span {
    font-weight: 500 !important;
    color: var(--muted) !important
}

.auth-note {
    text-align: center;
    font-size: 12px;
    margin-top: 16px
}



/* ============ FRONTEND REFINEMENT v1.4 ============ */
.content{max-width:1680px;width:100%;margin:0 auto;padding:30px clamp(20px,2.4vw,38px)}
.page-head{align-items:center;margin-bottom:20px}
.page-head h2{font-size:clamp(24px,2vw,30px);margin-bottom:6px}
.page-head p{font-size:14px}
.page-actions .btn{min-height:42px;padding:10px 16px}

/* Resource cards / tables */
.resource-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden}
.resource-card__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbfdfe)}
.resource-card__top strong{font:600 14px 'Sora',sans-serif;color:var(--petroleum)}
.resource-card__top span{font-size:12px;color:var(--muted)}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:auto}
.table-wrap th,.table-wrap td{padding:16px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid #edf1f4;font-size:13.5px;line-height:1.4}
.table-wrap th{height:48px;background:#fbfdfe;color:#657785;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap tbody tr{transition:background .18s ease}
.table-wrap tbody tr:hover{background:#f9fcfd}
.table-wrap td{color:#273746}
.table-wrap td:first-child,.table-wrap th:first-child{padding-left:22px;width:64px;color:#778895}
.table-wrap td:last-child,.table-wrap th:last-child{padding-right:22px}
.table-wrap .col-description{min-width:260px;max-width:430px;white-space:normal}
.table-wrap .col-name,.table-wrap .col-title{min-width:190px;font-weight:600;color:#18303d}
.table-wrap .col-email{min-width:220px}
.table-wrap .col-registration_code{min-width:120px}
.table-wrap .col-start_date,.table-wrap .col-end_date,.table-wrap .col-due_date,.table-wrap .col-period_start,.table-wrap .col-period_end{min-width:130px;white-space:nowrap}
.table-wrap .col-status,.table-wrap .col-level,.table-wrap .col-priority,.table-wrap .col-role{min-width:120px}
.table-wrap .col-actions{min-width:190px;width:190px;white-space:nowrap}
.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.btn--table{min-height:36px;padding:8px 11px;border-radius:11px;font-size:12.5px;gap:6px}
.risk-actions{display:flex;gap:7px;white-space:nowrap}.risk-ai-note,.risk-plan-progress{display:block;margin-top:5px;color:var(--muted);font-size:11px}.risk-treatment-context{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;padding:13px 15px;border:1px solid var(--border);border-radius:13px;background:#fff}.status-badge.in_treatment{background:#eff8ff;color:#175cd3}.status-badge.awaiting_review{background:#fff8eb;color:#b54708}.status-badge.treated,.status-badge.accepted{background:#ecfdf3;color:#067647}
.btn--table i{width:14px;height:14px}
.btn--danger-soft{background:#fff;color:#a33a3a;border-color:#f2d9d9}
.btn--danger-soft:hover{background:#fff6f6;border-color:#e9bcbc;color:#8d2424}
.cell-muted{color:var(--muted)}
.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;background:#edf3f7;color:#526574}
.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
.status-badge.good{background:#e7f8ed;color:#17763a}
.status-badge.warn{background:#fff6dd;color:#9a6900}
.status-badge.bad{background:#ffeded;color:#a73333}
.status-badge.info{background:#eaf5fc;color:#176b98}
.empty-state{padding:54px 24px 58px;text-align:center;color:var(--muted)}
.empty-state__icon{width:46px;height:46px;margin:0 auto 14px;display:grid;place-items:center;border-radius:15px;background:#f0f6f9;color:#7b909c;border:1px solid #e2ebef}
.empty-state__icon i{width:22px;height:22px}
.empty-state strong{display:block;color:#293c48;font-size:14px;margin-bottom:5px}
.empty-state p{font-size:13px}

/* Drawer used by all “Novo / Editar” flows */
.drawer-backdrop{position:fixed;inset:0;background:rgba(7,34,41,.46);backdrop-filter:blur(4px);z-index:100;display:block;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.drawer-backdrop.open{opacity:1;visibility:visible}
.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(760px,calc(100vw - 28px));background:#f7fafb;box-shadow:-24px 0 70px rgba(8,40,48,.20);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.drawer-backdrop.open .drawer-panel{transform:translateX(0)}
.drawer-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 28px 22px;background:#fff;border-bottom:1px solid var(--border)}
.drawer-head small{display:block;margin-bottom:6px;color:var(--tech);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.drawer-head h2{font-size:24px;color:var(--petroleum)}
.drawer-head p{margin-top:7px;font-size:13px}
.drawer-content{flex:1;overflow:auto;padding:24px 28px 32px;overscroll-behavior:contain}
.drawer-content .builder-card{padding:24px;border:0;border-radius:0;box-shadow:none;background:transparent;max-width:none}
.drawer-content .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow-soft)}
.drawer-content .field{gap:7px;margin:0;min-width:0}
.drawer-content .field.full{grid-column:1/-1}
.drawer-content .field label{font-size:12px;letter-spacing:0;text-transform:none;color:#344c59;font-weight:700}
.drawer-content .form-control{min-height:45px;padding:11px 13px;border-radius:11px;border:1px solid #dce6eb;background:#fff;transition:border-color .18s,box-shadow .18s,background .18s}
.drawer-content textarea.form-control{min-height:120px;line-height:1.5}
.drawer-content .form-control:hover{border-color:#c8d8df}
.drawer-content .form-control:focus{outline:none;border-color:var(--tech);box-shadow:0 0 0 3px rgba(27,152,224,.12);background:#fff}
.drawer-content .builder-actions{position:sticky;bottom:-32px;z-index:3;margin:22px -28px -32px;padding:16px 28px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--border);justify-content:flex-end;box-shadow:0 -10px 28px rgba(15,76,92,.05)}
.drawer-content .builder-actions .btn{min-width:112px;justify-content:center}
.drawer-form-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border:1px solid #dbeaf2;background:#f0f8fc;border-radius:13px;font-size:12.5px;color:#45616f}
.drawer-form-note i{flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:var(--tech)}

@media(max-width:1180px){
  .table-wrap table{min-width:980px}
}
@media(max-width:640px){
  .content{padding:18px 14px}
  .resource-card{border-radius:17px}
  .resource-card__top{padding:15px 16px}
  .table-wrap th,.table-wrap td{padding:14px 13px}
  .drawer-panel{width:100vw}
  .drawer-head{padding:20px 18px}
  .drawer-content{padding:18px}
  .drawer-content .form-grid{grid-template-columns:1fr;padding:17px;gap:15px}
  .drawer-content .field.full{grid-column:auto}
  .drawer-content .builder-actions{bottom:-18px;margin:20px -18px -18px;padding:14px 18px}
}

/* ===== MindESG v2 — survey targeting & white-label ===== */
:root{--brand-primary:var(--petroleum)}
.sidebar{background:linear-gradient(145deg,color-mix(in srgb,var(--petroleum) 76%,#000),var(--petroleum) 62%,color-mix(in srgb,var(--petroleum) 78%,#fff))}
.btn--primary,.bar-fill,.brand__icon,.user-chip span{background:var(--petroleum)!important}.side-nav button.active{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--petroleum) 35%,#fff)}
.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff;padding:4px;flex:0 0 auto}.sidebar-brand .brand-logo{background:rgba(255,255,255,.96)}
.resource-card table{min-width:980px}.resource-card th,.resource-card td{padding:17px 16px;vertical-align:middle}.resource-card th{white-space:nowrap}.resource-card td{line-height:1.45}.resource-card tbody tr+tr td{border-top:1px solid var(--border)}
.link-btn{border:0;background:none;padding:0;color:var(--petroleum);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.survey-builder{display:grid;gap:18px}.builder-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:22px;box-shadow:var(--shadow-soft)}.section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.section-title>span{width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--petroleum) 12%,#fff);color:var(--petroleum);display:grid;place-items:center;font-weight:800;flex:none}.section-title h3{margin-bottom:4px}.section-title p{font-size:13px}
.audience-group{padding:17px 0;border-top:1px solid var(--border)}.audience-group h4{margin:0 0 10px;color:var(--fg);font-size:14px}.chip-grid{display:flex;flex-wrap:wrap;gap:9px}.check-chip{position:relative}.check-chip input{position:absolute;opacity:0;pointer-events:none}.check-chip span{display:block;border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:.18s}.check-chip input:checked+span{border-color:var(--petroleum);background:color-mix(in srgb,var(--petroleum) 9%,#fff);color:var(--petroleum);box-shadow:0 0 0 2px color-mix(in srgb,var(--petroleum) 9%,transparent)}
.audience-live,.callout{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:13px 14px;background:color-mix(in srgb,var(--petroleum) 7%,#fff);color:var(--petroleum);font-size:13px}.audience-live i,.callout i{width:18px;flex:none}.audience-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.audience-stats>div{border:1px solid var(--border);border-radius:15px;padding:15px;background:var(--surface)}.audience-stats strong{display:block;font:700 24px Sora;color:var(--petroleum)}.audience-stats span{font-size:12px;color:var(--muted)}
.mini-list{display:grid;margin-top:12px;border:1px solid var(--border);border-radius:14px;overflow:hidden}.mini-list>div{padding:12px 14px;display:flex;justify-content:space-between;gap:18px}.mini-list>div+div{border-top:1px solid var(--border)}.mini-list span{color:var(--muted);font-size:12px;text-align:right}
.distribution-block{margin:20px 0}.distribution-block>label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--petroleum)}.distribution-block p{font-size:12px;margin-top:8px}.copy-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:8px}.distribution-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.brand-preview{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:18px}.brand-preview-logo{width:52px;height:52px;border:1px solid var(--border);border-radius:13px;background:#fff;display:grid;place-items:center;overflow:hidden}.brand-preview-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.brand-preview strong,.brand-preview span{display:block}.brand-preview span{font-size:12px;color:var(--muted)}.color-field{display:grid;grid-template-columns:52px 1fr;gap:8px}.color-field input[type=color]{width:52px;height:48px;padding:3px;border:1px solid var(--border);border-radius:12px;background:#fff}
@media(max-width:1050px){.settings-grid{grid-template-columns:1fr}}@media(max-width:720px){.audience-stats{grid-template-columns:1fr}.copy-row{grid-template-columns:1fr}.mini-list>div{display:block}.mini-list span{display:block;text-align:left;margin-top:4px}}
.question-editor{border:1px solid var(--border);border-radius:18px;padding:18px;margin:0 0 14px;background:#fff}.question-editor .removeQuestion{margin-top:10px}.question-editor textarea{min-height:86px}
[hidden]{display:none!important}
.resource-tools{display:flex;gap:8px;align-items:center}.resource-tools .form-control{min-width:240px}.pager{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 18px;border-top:1px solid var(--border)}
@media(max-width:720px){.resource-tools{width:100%;flex-wrap:wrap}.resource-tools .form-control{min-width:0;flex:1}.pager{justify-content:center}}

/* Security hardening: substitui estilos inline para CSP mais estrita. */
.auth-card-wrap--full{min-height:100vh}
.form-error{color:#b42318;font-size:14px}
.auth-help-row{display:flex;justify-content:flex-end;margin-top:-4px}
.auth-help-link{font-size:13px}
.preview-bars .preview-bar--72{width:72%}
.preview-bars .preview-bar--48{width:48%}
.preview-bars .preview-bar--88{width:88%}
.survey-submit{margin-top:24px}
.survey-message{margin-top:18px}
.form-grid--spaced{margin-top:16px}

/* ===== MindESG 3.5.4.1 — frontend recovery ===== */
.side-nav button > svg.lucide,
.side-nav button > [data-lucide],
.logout > svg.lucide,
.logout > [data-lucide] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  min-height: 18px;
  max-width: 18px;
  max-height: 18px;
  flex: 0 0 18px;
}
.empty-state__icon svg.lucide,
.empty-state__icon [data-lucide] { width: 24px; height: 24px; }
.section-title svg.lucide,
.section-title [data-lucide] { width: 18px; height: 18px; }
.callout svg.lucide,
.callout [data-lucide],
.audience-live svg.lucide,
.audience-live [data-lucide] { width: 18px; height: 18px; flex: 0 0 18px; }
.password-field button svg.lucide,
.password-field button [data-lucide] { width: 18px; height: 18px; }

/* ===== MindESG 3.5.4.1 — estados de navegação ===== */
.view-loading,
.view-error {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
}
.view-loading p,
.view-error p { margin: 0; color: var(--muted); }
.loading-line {
  width: min(420px, 80%);
  height: 12px;
  border-radius: 999px;
  background: rgba(15, 76, 92, .10);
  animation: mindesgPulse 1.1s ease-in-out infinite alternate;
}
.loading-line--short { width: min(260px, 55%); }
@keyframes mindesgPulse { from { opacity: .45; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .loading-line { animation: none; } }

/* ===== MindESG 3.6.0 — Resultados: hierarquia analítica e privacidade ===== */
.results-shell{display:grid;gap:18px}
.results-context,.results-section{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-soft)}
.results-context{padding:22px}
.results-context__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:24px;align-items:end}
.results-eyebrow,.results-state-kicker{display:block;color:var(--petroleum);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.results-context__identity h2{margin:6px 0 8px;font-size:clamp(19px,1.65vw,25px);line-height:1.2;color:var(--fg)}
.results-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.results-meta>span:not(.status-badge){display:inline-flex;align-items:center;gap:6px}
.results-meta svg{width:14px;height:14px}
.results-selector{display:grid;gap:7px;min-width:0}
.results-selector>span{font-size:11px;font-weight:800;color:#536773;letter-spacing:.04em;text-transform:uppercase}
.results-selector .form-control{width:100%;min-height:46px;border-radius:12px;background:#fff;font-weight:600;color:#243a46}
.results-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.results-stat{min-height:116px;display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #e6edf1;border-radius:17px;background:linear-gradient(180deg,#fbfdfe,#f7fafb)}
.results-stat__icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:13px;background:color-mix(in srgb,var(--petroleum) 9%,#fff);color:var(--petroleum)}
.results-stat__icon svg{width:19px;height:19px}
.results-stat>div:not(.results-stat__icon),.results-stat__top>div:last-child{min-width:0}
.results-stat span{display:block;color:var(--muted);font-size:11px;font-weight:700}
.results-stat strong{display:block;margin:4px 0 2px;font:700 25px 'Sora',sans-serif;color:var(--fg);line-height:1.1}
.results-stat strong em{font:600 13px 'Inter',sans-serif;color:var(--muted);font-style:normal}
.results-stat small{display:block;color:var(--muted);font-size:11px;line-height:1.35}
.results-stat--privacy{display:block}
.results-stat__top{display:flex;align-items:flex-start;gap:13px;margin-bottom:10px}
.results-progress-track{height:8px;border-radius:999px;background:#e7eef2;overflow:hidden}
.results-progress-fill{height:100%;width:var(--progress,0%);border-radius:inherit;background:var(--petroleum);transition:width .35s ease}
.results-stat--privacy>.results-progress-track{margin:2px 0 7px}
.results-section{padding:22px;min-height:0}
.results-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
.results-section__head h3,.results-detail-head h3{margin:5px 0 5px;font-size:18px;color:var(--fg)}
.results-section__head p,.results-detail-head p{font-size:12.5px;color:var(--muted)}
.results-method-note{max-width:420px;display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #dfe9ee;border-radius:12px;background:#f7fafb;color:#526773;font-size:11.5px;line-height:1.45}
.results-method-note svg{width:16px;height:16px;flex:0 0 16px;color:var(--petroleum)}
.results-dimensions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.results-dimension-card{padding:17px;border:1px solid #e4ebef;border-radius:16px;background:#fff}
.results-dimension-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:39px}
.results-dimension-card__head strong{font-size:13.5px;line-height:1.35;color:#243a46}
.results-dimension-card__head span{white-space:nowrap;font-size:10.5px;color:var(--muted)}
.results-dimension-value{display:flex;align-items:baseline;gap:7px;margin:13px 0 10px}
.results-dimension-value strong{font:700 24px 'Sora',sans-serif;color:var(--petroleum)}
.results-dimension-value span{font-size:10.5px;color:var(--muted)}
.results-dimension-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:var(--muted);font-size:10.5px}
.results-detail-head{margin:26px -22px 0;padding:20px 22px 12px;border-top:1px solid var(--border)}
.results-table{margin:0 -22px -22px;width:calc(100% + 44px);border-radius:0 0 22px 22px;overflow-x:auto}
.results-table table{min-width:720px}
.results-table th:first-child,.results-table td:first-child{width:auto;color:inherit}
.results-table .results-dimension-name{font-weight:700;color:#243a46}
.results-empty-card,.results-privacy-state{padding:56px 28px;text-align:center}
.results-empty-card{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.results-state-icon{width:52px;height:52px;margin:0 auto 14px;display:grid;place-items:center;border-radius:17px;background:#f0f5f7;color:var(--petroleum);border:1px solid #e1e9ed}
.results-state-icon svg{width:23px;height:23px}
.results-state-icon--privacy{background:color-mix(in srgb,var(--petroleum) 9%,#fff);border-color:color-mix(in srgb,var(--petroleum) 18%,#fff)}
.results-empty-card h3,.results-privacy-state h3{margin:7px 0 8px;font-size:21px;color:var(--fg)}
.results-empty-card>p,.results-privacy-state>p{max-width:650px;margin:0 auto;color:var(--muted);font-size:13.5px;line-height:1.55}
.results-privacy-progress{width:min(600px,100%);margin:25px auto 0;padding:16px 18px;border:1px solid #e1e9ed;border-radius:15px;background:#f9fbfc;text-align:left}
.results-privacy-progress__head,.results-privacy-progress__footer{display:flex;justify-content:space-between;align-items:center;gap:16px}
.results-privacy-progress__head{margin-bottom:10px;color:#526773;font-size:11px;font-weight:700}
.results-privacy-progress__head strong{font:700 14px 'Sora',sans-serif;color:var(--fg)}
.results-progress-track--large{height:10px}
.results-privacy-progress__footer{margin-top:9px;color:var(--muted);font-size:10.5px}
.results-privacy-progress__footer strong{color:var(--petroleum);font-size:11px}
.results-privacy-note{width:min(600px,100%);margin:12px auto 0;display:flex;justify-content:center;align-items:flex-start;gap:8px;color:var(--muted);font-size:11px;line-height:1.45}
.results-privacy-note svg{width:15px;height:15px;flex:0 0 15px;color:var(--petroleum)}
@media(max-width:1100px){.results-context__top{grid-template-columns:1fr}.results-stats,.results-dimensions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-stat--privacy{grid-column:1/-1}}
@media(max-width:720px){.results-context,.results-section{border-radius:17px}.results-context{padding:17px}.results-stats,.results-dimensions-grid{grid-template-columns:1fr}.results-stat--privacy{grid-column:auto}.results-section{padding:18px}.results-section__head{display:block}.results-method-note{max-width:none;margin-top:13px}.results-detail-head{margin:22px -18px 0;padding:18px 18px 10px}.results-table{margin:0 -18px -18px;width:calc(100% + 36px);border-radius:0 0 17px 17px}.results-empty-card,.results-privacy-state{padding:42px 20px}.results-privacy-progress__footer{align-items:flex-start;flex-direction:column;gap:3px}}

/* Dashboard — aderência geral com filtro local do KPI */
.kpi--participation{display:flex;flex-direction:column;min-width:0}
.kpi-top--participation{gap:10px}
.kpi-participation-note{display:block;min-height:34px;line-height:1.45;margin-top:4px}
.kpi-filter{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}
.kpi-filter label{flex:none;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kpi-select{width:100%;min-width:0;height:34px;padding:5px 28px 5px 9px;border:1px solid #dce6eb;border-radius:10px;background:#fff;color:var(--petroleum);font:600 11px Inter,Arial,sans-serif;outline:none;text-overflow:ellipsis}
.kpi-select:focus{border-color:var(--tech);box-shadow:0 0 0 3px rgba(27,152,224,.10)}
.kpi-select:disabled{opacity:.65;cursor:wait}

/* Pesquisas — convite individual para compartilhamento manual */
.individual-invite-block{margin-top:24px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.distribution-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.distribution-heading>div>label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--tech)}
.distribution-heading h4{margin:4px 0 0;color:var(--petroleum);font-size:17px}
.distribution-heading>i{width:22px;height:22px;color:var(--petroleum);flex:none}
.individual-invite-search{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:14px}
.individual-invite-list{display:grid;gap:8px;margin-top:14px;max-height:360px;overflow:auto;padding-right:2px}
.individual-invite-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:#fbfdfe}
.individual-invite-person{min-width:0}
.individual-invite-person strong{display:block;color:var(--petroleum);font-size:13px}
.individual-invite-person span{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}
.individual-invite-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:none}
.invite-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}
.invite-status--good{background:#dcfce7;color:#166534}
.invite-status--info{background:#e0f2fe;color:#075985}
.invite-status--neutral{background:#eef3f5;color:#526a76}
.individual-invite-empty,.individual-invite-hint{padding:12px 13px;border-radius:12px;background:#f4f7f8;color:var(--muted);font-size:12px;line-height:1.5}
.individual-invite-empty--error{background:#fff1f2;color:#9f1239}
.individual-invite-hint{background:#eff8fc;color:#315c70}
.manual-invite-result{margin-top:14px;padding:14px;border:1px solid color-mix(in srgb,var(--petroleum) 20%,#dce6eb);border-radius:14px;background:color-mix(in srgb,var(--petroleum) 5%,#fff)}
.manual-invite-result[hidden]{display:none}
.manual-invite-result__head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.manual-invite-result__head span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.manual-invite-result__head strong{display:block;margin-top:3px;color:var(--petroleum);font-size:14px}
.manual-invite-result__head i{width:20px;height:20px;color:var(--petroleum)}
.manual-invite-result p{margin-bottom:0}

@media(max-width:720px){.kpi-filter{align-items:stretch;flex-direction:column;gap:5px}.individual-invite-search{grid-template-columns:1fr}.individual-invite-row{align-items:flex-start;flex-direction:column}.individual-invite-actions{width:100%;justify-content:space-between}.individual-invite-actions .btn{flex:1}.manual-invite-result .copy-row{grid-template-columns:1fr}}

/* WhatsApp do colaborador */
.field--checkbox{grid-column:1/-1}.checkbox-line{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line,#dfe7ec);border-radius:14px;background:#f8fafb;cursor:pointer}.checkbox-line input{margin-top:3px;width:18px;height:18px;accent-color:var(--primary,#0f4c5c)}.checkbox-line span{display:flex;flex-direction:column;gap:3px}.checkbox-line small{font-weight:400;color:var(--muted,#607080);line-height:1.4}.contact-whatsapp{display:inline-flex;align-items:center;gap:5px;color:var(--primary,#0f4c5c);margin-top:4px}.contact-whatsapp svg{width:14px;height:14px}.manual-invite-result .copy-row{flex-wrap:wrap}.manual-invite-result .copy-row .form-control{min-width:240px;flex:1}

/* Tabelas responsivas: em telas estreitas cada linha vira um cartão legível. */
@media (max-width:760px){
  .responsive-card-table{min-width:0!important;width:100%!important;display:block}
  .responsive-card-table thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  .responsive-card-table tbody{display:grid;gap:12px;width:100%}
  .responsive-card-table tbody tr{display:block;background:var(--surface,#fff);border:1px solid var(--border,#dfe7ec);border-radius:14px;padding:6px 12px;box-shadow:0 4px 14px rgba(15,76,92,.05)}
  .responsive-card-table tbody td{display:grid;grid-template-columns:minmax(104px,34%) minmax(0,1fr);gap:10px;align-items:start;width:100%!important;max-width:none!important;padding:10px 0!important;border:0!important;border-bottom:1px solid var(--border,#edf1f4)!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}
  .responsive-card-table tbody td::before{content:attr(data-label);font-size:.72rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;color:var(--muted,#627487)}
  .responsive-card-table tbody td:last-child{border-bottom:0!important}
  .responsive-card-table tbody td[colspan]{display:block;text-align:center!important;padding:18px 0!important}
  .responsive-card-table tbody td[colspan]::before{content:none}
  .responsive-card-table .table-actions{justify-content:flex-start!important;flex-wrap:wrap}
}

/* Dashboard — escala visual de risco psicossocial (somente frontend) */
.risk-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.risk-panel-head h3{margin-bottom:0}
.risk-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-weight:700}
.risk-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.risk-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.risk-dot.risk-low{background:#16a34a}
.risk-dot.risk-moderate{background:#eab308}
.risk-dot.risk-high{background:#991b1b}
.fake-bar.risk-scale-row{grid-template-columns:150px minmax(120px,1fr) 62px}
.risk-bar-fill.risk-low{background:#16a34a!important}
.risk-bar-fill.risk-moderate{background:#eab308!important}
.risk-bar-fill.risk-high{background:#991b1b!important}
.risk-score{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;font-weight:800;font-variant-numeric:tabular-nums}
.risk-score::before{content:"";width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.risk-score.risk-low{color:#15803d}
.risk-score.risk-low::before{background:#16a34a}
.risk-score.risk-moderate{color:#a16207}
.risk-score.risk-moderate::before{background:#eab308}
.risk-score.risk-high{color:#b91c1c}
.risk-score.risk-high::before{background:#991b1b}
@media(max-width:700px){.risk-panel-head{display:block}.risk-legend{margin:8px 0 2px}.fake-bar.risk-scale-row{grid-template-columns:1fr}.risk-score{justify-content:flex-start}}
/* MindESG Intelligence 3.6.8.0 */
.intel-shell{display:grid;gap:20px}.intel-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:22px;background:linear-gradient(135deg,var(--petroleum,#0f4c5c),#102f3a);color:#fff;box-shadow:0 18px 45px rgba(15,76,92,.16)}.intel-hero h2{margin:6px 0;font-size:30px}.intel-hero p{max-width:720px;margin:0;opacity:.86}.intel-provider{display:grid;gap:8px;min-width:250px;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08)}.intel-provider span,.intel-provider strong{display:block}.intel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.intel-kpis article{padding:20px;border:1px solid var(--border,#e3e8eb);border-radius:18px;background:#fff}.intel-kpis span{display:block;color:#65747b;font-size:13px}.intel-kpis strong{font-size:30px}.intel-summary{display:flex;justify-content:space-between;gap:24px;padding:24px;border-radius:18px;background:#fff;border:1px solid var(--border,#e3e8eb)}.intel-summary p{max-width:900px;line-height:1.65}.intel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.intel-card{padding:22px;border:1px solid var(--border,#e3e8eb);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(22,43,51,.05)}.intel-card--critical{border-left:4px solid #b42318}.intel-card--high{border-left:4px solid #dc6803}.intel-card--moderate{border-left:4px solid #b54708}.intel-card--low,.intel-card--info{border-left:4px solid var(--petroleum,#0f4c5c)}.intel-card__top{display:flex;justify-content:space-between;align-items:center}.intel-card h3{margin:14px 0 8px}.intel-card p{line-height:1.55;color:#4f6067}.intel-evidence,.intel-recs{display:grid;gap:7px;margin-top:14px;padding:13px;border-radius:12px;background:#f7f9fa}.intel-evidence span{font-size:13px;color:#53636a}.intel-recs ul{margin:4px 0 0;padding-left:20px}.intel-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}@media(max-width:900px){.intel-hero,.intel-summary{flex-direction:column;align-items:stretch}.intel-kpis,.intel-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.intel-kpis,.intel-grid{grid-template-columns:1fr}}


/* ================================================================
   MindESG 3.7.0 — UI Evolution
   Camada exclusivamente visual. Mantém IDs, data-view e contratos JS.
   ================================================================ */
:root{
  --ui-bg:#f5f7fb;--ui-surface:#fff;--ui-surface-2:#f9fafc;--ui-ink:#172033;
  --ui-muted:#6c7890;--ui-line:#e7eaf1;--ui-purple:#5b57c7;--ui-purple-2:#7659e8;
  --ui-purple-soft:#f0efff;--ui-blue-soft:#edf7ff;--ui-radius:18px;
  --ui-shadow:0 10px 32px rgba(26,34,55,.065);--ui-shadow-hover:0 18px 42px rgba(43,45,90,.11)
}
.app-page{background:var(--ui-bg);color:var(--ui-ink)}
.app-page h1,.app-page h2,.app-page h3,.app-page h4,.app-page .brand__name,.app-page .kpi strong{font-family:'Saira','Inter',sans-serif}
.app{grid-template-columns:248px minmax(0,1fr);background:var(--ui-bg)}
.sidebar{padding:20px 16px;background:linear-gradient(180deg,#11182b 0%,#171b36 52%,#1d1741 100%);border-right:1px solid rgba(255,255,255,.06);box-shadow:14px 0 42px rgba(18,24,43,.08);z-index:50}
.sidebar-brand{padding:6px 8px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.sidebar .brand__icon{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#6f68ed,#7f5cf1);box-shadow:0 10px 28px rgba(113,91,232,.3)}
.sidebar .brand__name{font-size:21px;letter-spacing:-.03em}
.sidebar-kicker{padding:22px 12px 7px;color:rgba(255,255,255,.38);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.side-nav{gap:4px;margin-top:0;overflow:auto;padding-right:2px}
.side-nav button,.logout{position:relative;min-height:43px;padding:10px 12px;border-radius:11px;color:rgba(239,242,255,.68);font-size:13px;font-weight:600}
.side-nav button:hover,.logout:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(1px)}
.side-nav button.active{background:linear-gradient(90deg,rgba(117,89,232,.24),rgba(117,89,232,.10));color:#fff;box-shadow:inset 0 0 0 1px rgba(160,143,255,.14)}
.side-nav button.active:before{content:"";position:absolute;left:-4px;top:10px;bottom:10px;width:3px;border-radius:6px;background:#8d78ff;box-shadow:0 0 14px rgba(141,120,255,.75)}
.side-nav button.active{box-shadow:inset 0 0 0 1px rgba(160,143,255,.14)}
.side-nav button i,.logout i{width:17px;height:17px;color:#aaa5ff}
.sidebar-footer{padding-top:12px;border-color:rgba(255,255,255,.08)}
.app-main{background:radial-gradient(circle at 92% 2%,rgba(112,91,232,.055),transparent 24%),var(--ui-bg)}
.topbar{height:82px;padding:0 30px;background:rgba(255,255,255,.86);border-color:var(--ui-line);box-shadow:0 1px 0 rgba(31,39,61,.02);backdrop-filter:blur(18px) saturate(150%)}
.topbar h1{font-size:22px;color:#27295a;letter-spacing:-.02em}.topbar p{margin-top:3px;color:var(--ui-muted);font-size:12.5px}
.topbar-actions{gap:10px}.icon-btn{border-color:var(--ui-line);border-radius:12px;color:var(--ui-purple);box-shadow:0 3px 12px rgba(28,34,54,.03)}
.user-chip{border-color:var(--ui-line);border-radius:14px;box-shadow:0 4px 16px rgba(30,37,58,.035)}
.user-chip span{background:linear-gradient(135deg,var(--ui-purple),var(--ui-purple-2));border-radius:10px}.user-chip strong{color:#303265}.user-chip small{color:var(--ui-muted)}
.mobile-menu-btn{display:none;width:42px;height:42px;place-items:center;border:1px solid var(--ui-line);border-radius:12px;background:#fff;color:var(--ui-purple)}
.mobile-nav-backdrop{display:none}
.content{max-width:1600px;width:100%;margin:0 auto;padding:30px clamp(20px,2.5vw,40px) 48px}
.page-head{margin-bottom:24px}.page-head h2{font-size:28px;color:#23254f}.page-head p{margin-top:6px}
.kpis{gap:14px}.kpi,.panel,.table-card,.builder-card,.module-card{border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.kpi{padding:19px;background:linear-gradient(180deg,#fff,#fcfcff)}
.kpi:hover,.module-card:hover{border-color:#dadcf0;box-shadow:var(--ui-shadow-hover);transform:translateY(-1px)}
.kpi strong{color:#242653;font-size:32px;letter-spacing:-.03em}.kpi-top>span:first-child{font-weight:700;color:#626d84}.panel{padding:24px;min-height:0}.panel h3,.table-card h3,.builder-card h3{color:#2d2f61}
.btn{border-radius:11px;min-height:40px}.btn--primary{background:linear-gradient(135deg,var(--ui-purple),#6756d8);box-shadow:0 8px 18px rgba(91,87,199,.18)}.btn--primary:hover{background:linear-gradient(135deg,#4f4bb8,#5e4bce);box-shadow:0 12px 24px rgba(91,87,199,.23)}
.btn--accent{background:linear-gradient(135deg,#5e63dc,#7b5dea)}.btn--ghost{border-color:var(--ui-line);color:#4e5190}.btn--ghost:hover{border-color:#c9c8f3;color:var(--ui-purple);background:#faf9ff}
.form-control,.filter-row select,.kpi-select{border-color:#dde2eb;border-radius:11px;background:#fff}.form-control:focus,.filter-row select:focus,.kpi-select:focus{border-color:#8b83e8;box-shadow:0 0 0 3px rgba(91,87,199,.10);outline:none}
.table-card{overflow:hidden}.data-table th{background:#fafbfe;color:#7b8498}.data-table td,.data-table th{border-color:#edf0f5}.data-table tbody tr:hover td{background:#fbfbff}
.status-badge,.pill{border-radius:999px}.empty-state{padding:42px 20px}
.drawer-backdrop{background:rgba(20,24,44,.42)}.drawer-panel{box-shadow:-28px 0 70px rgba(22,26,47,.18)}
/* Intelligence: premium AI surface, sem alterar lógica */
.intel-shell{gap:18px}.intel-hero{position:relative;overflow:hidden;min-height:210px;padding:34px;border:1px solid #dcdaf8;border-radius:24px;background:radial-gradient(circle at 78% 18%,rgba(91,184,255,.24),transparent 25%),radial-gradient(circle at 60% 100%,rgba(127,92,241,.22),transparent 33%),linear-gradient(135deg,#fafaff 0%,#f0efff 55%,#eef8ff 100%);color:var(--ui-ink);box-shadow:0 18px 48px rgba(78,72,163,.09)}
.intel-hero:after{content:"AI";position:absolute;right:29%;top:50%;transform:translateY(-50%) rotate(-8deg);font:700 86px 'Saira',sans-serif;letter-spacing:-.08em;color:rgba(91,87,199,.075);pointer-events:none}
.intel-hero h2{position:relative;margin:7px 0 8px;font-size:38px;color:#24265a;letter-spacing:-.035em}.intel-hero p{position:relative;max-width:700px;color:#5f6b82;opacity:1;font-size:15px}.intel-hero .results-eyebrow{color:var(--ui-purple);font-weight:800;letter-spacing:.14em}.intel-provider{position:relative;z-index:1;min-width:275px;padding:18px;border:1px solid rgba(91,87,199,.14);border-radius:16px;background:rgba(255,255,255,.74);box-shadow:0 12px 30px rgba(55,52,112,.08);backdrop-filter:blur(12px)}.intel-provider span{color:#6e7890;font-size:12px}.intel-provider strong{color:#292b5d}.intel-provider .btn{margin-top:5px}
.intel-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.intel-kpis article{position:relative;overflow:hidden;padding:20px 21px;border:1px solid var(--ui-line);border-radius:17px;background:#fff;box-shadow:var(--ui-shadow)}.intel-kpis article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#6f68ed,#7f5cf1)}.intel-kpis span{color:#788297;font-weight:600}.intel-kpis strong{margin-top:4px;color:#252756;font:700 31px 'Saira',sans-serif}
.intel-summary{padding:25px;border:1px solid var(--ui-line);border-radius:18px;box-shadow:var(--ui-shadow)}.intel-summary h3{color:#2c2e62}.intel-grid{gap:14px}.intel-card{border-color:var(--ui-line);border-radius:17px;box-shadow:var(--ui-shadow)}.intel-card:hover{box-shadow:var(--ui-shadow-hover)}.intel-evidence,.intel-recs{background:#f8f9fc}.intel-actions{padding-top:2px}
/* Dashboard refinements */
.dash-grid{gap:16px}.risk-item{border-color:#edf0f5;background:#fcfdff}.bar-track{background:#eef1f6}.risk-panel-head h3{color:#2c2e62}
@media(max-width:1050px){.app{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-inline:12px}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
 .app{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(82vw,280px);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;z-index:120}.mobile-nav-open .sidebar{transform:translateX(0)}
 .mobile-nav-backdrop{position:fixed;inset:0;background:rgba(15,19,36,.42);backdrop-filter:blur(2px);z-index:110}.mobile-nav-open .mobile-nav-backdrop{display:block}.mobile-nav-open{overflow:hidden}
 .mobile-menu-btn{display:grid;flex:none}.topbar{padding:0 16px;gap:12px}.topbar-copy{min-width:0;flex:1}.topbar h1{font-size:19px}.topbar p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:22px 16px 40px}.intel-hero{flex-direction:column;align-items:stretch}.intel-hero:after{right:6%;top:30%;font-size:68px}.intel-provider{min-width:0}.dash-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){.topbar{height:72px}.user-chip div{display:none}.user-chip{padding:5px}.content{padding-inline:12px}.kpis,.intel-kpis,.intel-grid,.module-grid{grid-template-columns:1fr}.intel-hero{padding:24px 20px;min-height:0}.intel-hero h2{font-size:31px}.page-head{flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1;justify-content:center}}

/* v3.10.0 — Central de Suporte */
.support-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;overflow:hidden;margin-bottom:16px;padding:26px 28px;border:1px solid #d9dcf2;border-radius:22px;background:radial-gradient(circle at 82% 20%,rgba(68,204,193,.18),transparent 28%),linear-gradient(135deg,#fafaff 0%,#f0f2ff 58%,#eefcf9 100%);box-shadow:var(--ui-shadow)}
.support-hero:after{content:"";position:absolute;right:-42px;bottom:-68px;width:190px;height:190px;border:28px solid rgba(91,87,199,.055);border-radius:50%;pointer-events:none}.support-hero__icon{position:relative;z-index:1;width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--ui-purple),#7763df);color:#fff;box-shadow:0 14px 28px rgba(91,87,199,.23)}.support-hero__icon svg{width:29px;height:29px}.support-hero h2{margin:4px 0 5px;color:#252756;font-size:26px;letter-spacing:-.025em}.support-hero p{max-width:680px;margin:0;color:#68738a;line-height:1.55}.support-hero__actions{position:relative;z-index:1;display:grid;justify-items:end;gap:10px}.support-hero__actions>span{display:flex;align-items:center;gap:7px;color:#25715f;font-size:11px;font-weight:800}.support-hero__actions>span i{width:8px;height:8px;border-radius:50%;background:#18b789;box-shadow:0 0 0 4px rgba(24,183,137,.12)}
.support-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.support-summary article{padding:15px 17px;border:1px solid var(--ui-line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(36,39,86,.035)}.support-summary span,.support-summary strong{display:block}.support-summary span{color:#7b8498;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.support-summary strong{margin-top:6px;color:#292b5d;font:700 24px/1.1 'Saira',sans-serif}.support-summary article:nth-child(2) strong{color:#4d54c6}.support-summary article:nth-child(3) strong{color:#a15c08}.support-summary article:nth-child(4) strong{color:#08775d}
.support-workspace{display:grid;grid-template-columns:minmax(300px,35%) minmax(0,1fr);min-height:610px;overflow:hidden;border:1px solid var(--ui-line);border-radius:20px;background:#fff;box-shadow:var(--ui-shadow)}
.support-ticket-panel{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--ui-line);background:#fbfcff}.support-ticket-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid var(--ui-line)}.support-ticket-panel h3{margin:3px 0 0;color:#2b2d60}.support-ticket-panel>header>strong{min-width:34px;padding:6px 9px;border-radius:999px;background:#eeeffd;color:var(--ui-purple);text-align:center;font-size:11px}.support-list-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr) auto;gap:7px;padding:12px;border-bottom:1px solid var(--ui-line)}.support-list-filters .btn{width:42px;padding:0}.support-ticket-list{flex:1;overflow:auto;min-height:300px}.support-ticket-item{width:100%;display:grid;gap:8px;padding:15px 16px;border:0;border-bottom:1px solid #e8ebf2;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:.16s ease}.support-ticket-item:hover{background:#f5f6ff}.support-ticket-item.active{position:relative;background:#eeeffd}.support-ticket-item.active:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--ui-purple)}.support-ticket-item__top,.support-ticket-item__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.support-ticket-item__top>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#30325f;font-size:12px}.support-ticket-item__message{overflow:hidden;color:#727c91;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.support-ticket-item__meta time{color:#8d96a8;font-size:10px}.support-status,.support-priority{display:inline-flex;align-items:center;width:max-content;border-radius:999px;font-size:9px;font-style:normal;font-weight:850;line-height:1;white-space:nowrap}.support-status{padding:6px 8px;background:#f2f4f7;color:#475467}.support-status--open{background:#eff8ff;color:#175cd3}.support-status--in_progress{background:#eef4ff;color:#3538cd}.support-status--waiting_customer{background:#fff6ed;color:#b54708}.support-status--resolved{background:#ecfdf3;color:#067647}.support-status--closed{background:#f2f4f7;color:#475467}.support-priority{padding:5px 7px;background:#f2f4f7;color:#667085}.support-priority--high{background:#fff6ed;color:#b54708}.support-priority--urgent{background:#fef3f2;color:#b42318}.support-priority--low{background:#f0f9ff;color:#026aa2}.support-list-empty,.support-list-loading,.support-chat-loading{display:grid;place-items:center;gap:6px;padding:34px 18px;color:#7a8498;text-align:center;font-size:11px}.support-list-empty svg{width:24px}.support-list-empty strong{color:#4d5670}.support-list-pagination{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px;border-top:1px solid var(--ui-line);color:#7e8799;font-size:10px}.support-list-pagination .btn{min-height:31px;padding:6px 9px}
.support-conversation{display:flex;min-width:0;flex-direction:column;background:linear-gradient(180deg,#fff,#fdfdff)}.support-chat-empty{display:grid;place-items:center;align-content:center;flex:1;padding:40px;text-align:center}.support-chat-empty>span{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#f0f1fd;color:var(--ui-purple)}.support-chat-empty>span svg{width:29px;height:29px}.support-chat-empty h3{margin:14px 0 5px;color:#303262}.support-chat-empty p{max-width:400px;margin:0;color:#778197;line-height:1.55}.support-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--ui-line)}.support-chat-head h3{margin:3px 0 4px;color:#292b5d}.support-chat-head p{margin:0;color:#818a9d;font-size:11px}.support-chat-head__actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.support-chat-head__actions .btn{width:34px;min-height:34px;padding:0}.support-message-stream{display:flex;flex:1;flex-direction:column;gap:12px;min-height:320px;max-height:520px;overflow:auto;padding:22px;background:radial-gradient(circle at 100% 0,rgba(91,87,199,.04),transparent 32%),#fafbfe}.support-message{max-width:min(76%,680px);padding:12px 14px;border:1px solid #e1e5ee;border-radius:6px 16px 16px;background:#fff;box-shadow:0 4px 14px rgba(36,39,86,.045)}.support-message--agent{align-self:flex-end;border-color:#d9d9f7;border-radius:16px 6px 16px 16px;background:#f0efff}.support-message>div{display:flex;justify-content:space-between;gap:14px;margin-bottom:5px}.support-message strong{color:#404363;font-size:10px}.support-message time{color:#929bad;font-size:9px}.support-message p{margin:0;color:#414c61;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.support-system-message{display:flex;align-items:center;justify-content:center;gap:8px;color:#8790a1;font-size:9px;text-align:center}.support-system-message span{padding:5px 9px;border-radius:999px;background:#eef1f5}.support-composer{padding:15px 18px;border-top:1px solid var(--ui-line);background:#fff}.support-composer textarea{resize:vertical}.support-composer>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.support-composer>div>span{color:#939bad;font-size:9px}.support-composer>div>div{display:flex;gap:8px}.support-chat-closed{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 19px;border-top:1px solid #d8dce5;background:#f8f9fb}.support-chat-closed>div{display:flex;align-items:center;gap:10px;color:#667085}.support-chat-closed svg{width:20px}.support-chat-closed strong,.support-chat-closed small{display:block}.support-chat-closed strong{font-size:11px}.support-chat-closed small{margin-top:2px;color:#8790a1;font-size:9px}.support-new-intro{display:flex;align-items:center;gap:12px;margin-bottom:17px;padding:14px 15px;border:1px solid #d6d8f5;border-radius:14px;background:#f6f6ff;color:#34376b}.support-new-intro>svg{width:25px;height:25px;color:var(--ui-purple)}.support-new-intro strong,.support-new-intro span{display:block}.support-new-intro span{margin-top:3px;color:#747d92;font-size:11px}.control-support-manage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:13px 18px;border-bottom:1px solid var(--ui-line);background:#fafbfe}.control-support-manage label{display:grid;gap:5px}.control-support-manage label>span{color:#737d91;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1100px){.support-workspace{grid-template-columns:minmax(270px,40%) minmax(0,1fr)}.support-summary{grid-template-columns:repeat(2,1fr)}.support-list-filters{grid-template-columns:1fr auto}.support-list-filters select{grid-column:1/-1;grid-row:2}.control-support-manage{grid-template-columns:1fr}}
@media(max-width:820px){.support-hero{grid-template-columns:auto 1fr}.support-hero__actions{grid-column:1/-1;display:flex;justify-content:space-between;justify-items:stretch}.support-workspace{grid-template-columns:1fr}.support-ticket-panel{max-height:430px;border-right:0;border-bottom:1px solid var(--ui-line)}.support-conversation{min-height:540px}.support-message{max-width:88%}}
@media(max-width:620px){.support-hero{grid-template-columns:1fr;padding:22px}.support-hero__icon{width:52px;height:52px}.support-hero__actions{align-items:stretch;flex-direction:column}.support-hero__actions .btn{justify-content:center}.support-summary{grid-template-columns:1fr 1fr}.support-workspace{border-radius:16px}.support-chat-head{flex-direction:column}.support-chat-head__actions{justify-content:flex-start}.support-message-stream{padding:14px}.support-message{max-width:94%}.support-composer>div,.support-chat-closed{align-items:stretch;flex-direction:column}.support-composer>div>div{display:grid}.support-summary article{padding:13px}.support-summary strong{font-size:21px}}

.support-ticket-item__tenant{overflow:hidden;color:#525c75;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.support-composer--control>div>label{display:flex;align-items:center;gap:8px;color:#737d91;font-size:10px}.support-composer--control>div>label .form-control{min-width:185px}.control-support-manage{grid-template-columns:minmax(125px,1fr) minmax(150px,1fr) auto auto;align-items:end}
@media(max-width:1100px){.control-support-manage{grid-template-columns:1fr 1fr}.control-support-manage .btn{justify-content:center}}
@media(max-width:620px){.control-support-manage{grid-template-columns:1fr}.support-composer--control>div>label{align-items:stretch;flex-direction:column}.support-composer--control>div>label .form-control{min-width:0}}
.support-chat-empty>span{font-size:28px}

/* 3.11.0 · Autogestão de perfil e estados definitivos do Intelligence */
.user-chip--editable{cursor:pointer;font:inherit;text-align:left;background:transparent;display:flex;align-items:center;gap:10px;padding:7px 12px;color:inherit}
.user-chip--editable:hover{background:rgba(90,80,174,.06);border-color:rgba(101,88,195,.25)}
.user-chip--editable:focus-visible{outline:3px solid #8878eb;outline-offset:3px}
.user-chip--editable .user-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:11px;object-fit:cover;background:#eef0fb}
.profile-editor{display:grid;gap:20px}.profile-intro{display:flex;align-items:center;gap:16px;padding:15px;border-radius:16px;background:#f8f8fe;border:1px solid #ececf6}
.profile-preview{width:66px;height:66px;border-radius:18px;display:grid;place-items:center;background:#ececf8;overflow:hidden;color:#635ab6;flex-shrink:0}
.profile-preview img{width:100%;height:100%;object-fit:cover}.profile-intro strong,.profile-intro span{display:block}.profile-intro span{color:#74758b;font-size:13px;margin-top:5px}
.profile-security{border-top:1px solid #ececf6;padding-top:18px}.profile-security p{font-size:13px;color:#72798a;margin:7px 0 14px}
.intel-feedback-saved,.intel-risk-converted{display:inline-flex;gap:7px;align-items:center;padding:9px 13px;border:1px solid #d9e8e3;border-radius:10px;background:#f1faf6;font-size:12px;color:#246851;font-weight:700}
.intel-risk-converted{background:#f0f0ff;border-color:#dedcf6;color:#5551a4}
.intel-feedback-saved svg,.intel-risk-converted svg{width:16px;height:16px}
@media(max-width:540px){.user-chip--editable{padding:6px}.profile-editor{gap:14px}}


/* MindESG 3.12.0 — Atendimento / workspace refinement, isolated from other modules */
#view-support .page-head{align-items:center}
.support-workspace{border:1px solid #dfe5f2;border-radius:24px;background:#fff;box-shadow:0 18px 56px rgba(24,35,80,.07),0 2px 8px rgba(24,35,80,.035)}
.support-ticket-panel{background:linear-gradient(180deg,#f7f9fe 0%,#fcfdff 90%);border-right-color:#e3e8f3}
.support-ticket-panel>header{padding:22px 24px;background:rgba(255,255,255,.86)}
.support-ticket-panel>header h3{font-size:18px;font-weight:800;letter-spacing:-.035em;color:#202c49}
.support-ticket-panel>header>strong{font-size:12px;background:#e9eeff;color:#3446a0;padding:8px 12px}
.support-ticket-item{gap:10px;padding:19px 20px;border-bottom:1px solid #edf0f6;transition:background-color .2s ease, box-shadow .2s ease}
.support-ticket-item:hover{background:#f1f5ff}
.support-ticket-item.active{background:linear-gradient(90deg,#e9efff 0%,#f1f6ff 100%);box-shadow:inset 3px 0 0 #5065c9}
.support-ticket-item.active:before{background:transparent}
.support-ticket-item__top>strong{font-size:13px;color:#243250;letter-spacing:-.01em}
.support-ticket-item__message{font-size:12px;color:#69758b}
.support-ticket-item__meta time{font-size:11px}
.support-list-filters{padding:15px;border-bottom-color:#e9edf5;background:#fff}
.support-list-filters input,.support-list-filters select{min-height:39px;border-radius:10px}
.support-list-pagination{padding:16px;color:#5a6780;background:#fff}
.support-conversation{background:#fff}
.support-chat-head{padding:24px 27px;background:linear-gradient(115deg,#fff,#f9fbff);border-bottom:1px solid #e9edf5}
.support-chat-head h3{font-size:19px;font-weight:800;color:#27334e;line-height:1.3;letter-spacing:-.035em}
.support-chat-head p{font-size:12px;line-height:1.65;color:#748196}
.support-chat-head__actions{gap:9px}
.support-status,.support-priority{font-size:10px;padding:8px 11px;font-weight:800}
.support-message-stream{gap:18px;min-height:350px;max-height:590px;padding:27px;background:radial-gradient(circle at 5% 0%,rgba(90,121,213,.055),transparent 40%),linear-gradient(180deg,#f7f9fe,#fbfcff)}
.support-message{position:relative;max-width:min(77%,670px);border-radius:18px 18px 18px 5px;padding:16px 18px;border-color:#e3e8f2;box-shadow:0 7px 24px rgba(42,53,86,.045)}
.support-message--agent{border-radius:18px 18px 5px 18px;border-color:#d9e1fb;background:linear-gradient(135deg,#ebf1ff,#eff4ff)}
.support-message>div{align-items:center;margin-bottom:9px}
.support-message strong{font-size:11px;font-weight:800;color:#344366}
.support-message time{font-size:10px;color:#7c889d}
.support-message p{font-size:13px;color:#33415a;line-height:1.75}
.support-system-message{font-size:11px;color:#76839d}
.support-system-message span{padding:8px 15px;background:#e9edf6;color:#64728b}
.support-composer{padding:20px 25px;background:#fff;border-top:1px solid #e6eaf3}
.support-composer textarea{min-height:85px;border:1px solid #dbe2f0;border-radius:14px;padding:14px 16px;line-height:1.6;background:#fcfdff;box-shadow:inset 0 1px 2px rgba(24,35,80,.015)}
.support-composer textarea:focus{outline:2px solid rgba(78,104,212,.15);outline-offset:1px;border-color:#8193db}
.support-composer .btn--primary{border-radius:11px;min-height:42px;font-weight:800}
.support-chat-empty h3{font-size:20px;color:#273653}
.support-chat-empty p{font-size:13px}
.support-new-intro{border-color:#dce5f6;background:#f4f7ff;border-radius:16px;padding:18px}
.support-hero{border-radius:24px;box-shadow:0 12px 30px rgba(35,50,90,.07)}
.support-summary article{border-radius:17px;box-shadow:0 8px 24px rgba(33,50,96,.035)}
.control-support-manage{padding:18px 24px;gap:13px;background:#fbfcff}
.control-support-manage label>span{font-size:11px}
.support-refined-refresh,.support-chat-head__actions .support-refined-refresh{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-width:0;min-height:39px;padding:9px 15px;border:1px solid #dce4f3;border-radius:12px;background:#fff;color:#465b88;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 3px 10px rgba(34,55,102,.045);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.support-refined-refresh svg{width:15px;height:15px}
.support-refined-refresh .support-refresh-icon{font-size:21px;line-height:.6;font-weight:400}
.support-refined-refresh:hover{background:#eff4ff;border-color:#b5c5ea;transform:translateY(-1px)}
.support-refined-refresh:focus-visible{outline:3px solid rgba(78,104,212,.3);outline-offset:2px}
.support-refined-refresh:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:820px){.support-workspace{grid-template-columns:1fr}.support-ticket-panel{border-right:0;border-bottom:1px solid #e4eaf4}.support-conversation{min-height:540px}}
@media(max-width:620px){.support-workspace{border-radius:18px}.support-chat-head{padding:19px}.support-message-stream{padding:15px}.support-message{max-width:93%}.support-composer{padding:16px}.support-chat-head__actions{flex-wrap:wrap}}
