:root {
    color-scheme: light;
    --azul-950: #0c314f;
    --azul-900: #113e61;
    --azul-800: #174f79;
    --azul-700: #1d7199;
    --azul-600: #3288bb;
    --azul-400: #64bae2;
    --azul-100: #dff2fa;
    --azul-50: #eef9fc;
    --laranja: #f28a2e;
    --laranja-escuro: #d96d1f;
    --verde: #3ca889;
    --verde-claro: #dff3ec;
    --cinza-50: #f7f9fa;
    --cinza-100: #edf2f4;
    --cinza-200: #d8e3e8;
    --cinza-500: #6d818c;
    --texto: #244052;
    --branco: #fff;
    --sombra: 0 22px 55px rgba(25, 78, 106, 0.14);
    --sombra-card: 0 12px 28px rgba(25, 78, 106, 0.11);
    --ds-brand: var(--azul-800);
    --ds-accent: var(--azul-600);
    --ds-bg: #f4f9fb;
    --ds-surface: #fff;
    --ds-surface-soft: #f4f8fa;
    --ds-surface-elevated: rgba(255, 255, 255, 0.97);
    --ds-border: #d8e5eb;
    --ds-divider: #e8eff2;
    --ds-text: var(--texto);
    --ds-text-strong: var(--azul-950);
    --ds-text-muted: var(--cinza-500);
    --ds-success: #21885b;
    --ds-info: #1769aa;
    --ds-warning: #a9630d;
    --ds-danger: #b42318;
    --ds-radius-sm: .55rem;
    --ds-radius-md: .85rem;
    --ds-radius-lg: 1.15rem;
    --ds-shadow-soft: 0 .35rem 1rem rgba(22, 73, 99, .06);
    --ds-shadow-raised: 0 .75rem 1.8rem rgba(22, 73, 99, .11);
    --ds-shadow-hover: 0 1rem 2.2rem rgba(22, 73, 99, .15);
    --ds-transition: 180ms ease;
    --ds-space-1: .35rem;
    --ds-space-2: .6rem;
    --ds-space-3: .85rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --sidebar-width: 19rem;
    --sidebar-collapsed-width: 5rem;
}

* {
    box-sizing: border-box;
}

.skip-link {
    position: fixed;
    z-index: 100;
    top: .75rem;
    left: .75rem;
    padding: .6rem .85rem;
    border-radius: var(--ds-radius-sm);
    background: var(--azul-950);
    color: var(--branco);
    text-decoration: none;
    transform: translateY(-200%);
    transition: transform var(--ds-transition);
}

.skip-link:focus {
    transform: translateY(0);
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--texto);
    background: radial-gradient(circle at 8% 4%, rgba(100, 186, 226, .14), transparent 25rem), linear-gradient(180deg, #f9fcfd, var(--ds-bg));
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

a {
    color: inherit;
}

:focus-visible {
    outline: 3px solid rgba(50, 136, 187, .28);
    outline-offset: 3px;
}

::selection {
    color: var(--branco);
    background: var(--azul-800);
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

.admin-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    transition: grid-template-columns 240ms ease;
}

.admin-sidebar {
    position: sticky;
    top: 0;
    width: var(--sidebar-width);
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--branco);
    background: linear-gradient(180deg, var(--azul-950), #0e3d63 70%, #113c5a);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 12px 0 32px rgba(12, 49, 79, .2);
    transition: width 240ms ease, transform 240ms ease;
}

.admin-brand {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    padding: 1rem 0.8rem 0.8rem 1rem;
    min-height: 5.35rem;
    transition: padding 240ms ease, gap 240ms ease;
}

.admin-brand a {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
    color: var(--branco);
    text-decoration: none;
    transition: gap 240ms ease;
}

.admin-brand img {
    flex: 0 0 auto;
    width: 3.4rem;
    height: 3.4rem;
    object-fit: contain;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 1rem;
    padding: 0.25rem;
    transition: width 240ms ease, height 240ms ease, border-radius 240ms ease;
}

.admin-brand-text {
    min-width: 0;
    max-width: 10rem;
    opacity: 1;
    white-space: nowrap;
    transition: opacity 180ms ease, max-width 240ms ease;
}

.admin-brand-text strong,
.admin-brand-text small {
    display: block;
}

.admin-brand-text small {
    color: #cce5f0;
}

.sidebar-collapse-toggle {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 5.55rem;
    min-height: 2.15rem;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    color: var(--branco);
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    cursor: pointer;
    padding: 0.42rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.sidebar-collapse-toggle:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.38);
    transform: translateY(-1px);
}

.sidebar-toggle-symbol {
    display: none;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 0.8;
}

.sidebar-toggle-label {
    white-space: nowrap;
}

.admin-nav {
    display: grid;
    gap: 0.25rem;
    padding: 0.5rem 0.7rem 1.5rem;
    opacity: 1;
    transform: translateX(0);
    transition: opacity 180ms ease, transform 240ms ease, padding 240ms ease;
}

.admin-nav-link,
.admin-nav-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: .72rem .85rem;
    color: #eaf7fb;
    background: transparent;
    border: 0;
    border-radius: var(--ds-radius-md);
    cursor: pointer;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
}

.admin-nav-link:hover,
.admin-nav-toggle:hover,
.admin-nav-link.is-active {
    background: rgba(255, 255, 255, .13);
    box-shadow: inset 3px 0 0 var(--laranja);
}

.admin-nav-toggle:hover {
    transform: none;
}

.admin-nav-group.is-open > .admin-nav-toggle {
    background: rgba(255, 255, 255, 0.1);
}

.admin-nav-arrow {
    transition: transform 160ms ease;
}

.admin-nav-group.is-open .admin-nav-arrow {
    transform: rotate(90deg);
}

.admin-nav-submenu {
    display: none;
    padding: 0.25rem 0 0.45rem 0.7rem;
}

.admin-nav-group.is-open .admin-nav-submenu {
    display: grid;
}

.admin-nav-submenu a {
    padding: .5rem .7rem;
    color: #d4ebf4;
    border-left: 2px solid rgba(255, 255, 255, 0.16);
    text-decoration: none;
    font-size: 0.92rem;
    transition: color var(--ds-transition), border-color var(--ds-transition), background var(--ds-transition), padding-left var(--ds-transition);
}

.admin-nav-submenu a:hover,
.admin-nav-submenu a.is-active {
    color: var(--branco);
    border-left-color: var(--laranja);
    background: rgba(255, 255, 255, 0.08);
    padding-left: .85rem;
}

.admin-main-wrap {
    min-width: 0;
    transition: margin-left 240ms ease;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    min-height: 4.7rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem clamp(1rem, 3vw, 2rem);
    background: rgba(250, 253, 254, .92);
    border-bottom: 1px solid rgba(174, 207, 221, 0.75);
    box-shadow: 0 7px 22px rgba(27, 79, 106, 0.08);
    backdrop-filter: blur(16px);
}

.admin-page-title {
    display: grid;
    gap: .08rem;
}

.admin-topbar .admin-page-title small {
    color: var(--azul-600);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.admin-page-title strong {
    color: var(--azul-950);
    font-size: clamp(1rem, 2vw, 1.2rem);
    letter-spacing: -.012em;
}

.admin-topbar small,
.admin-user small {
    display: block;
    color: var(--cinza-500);
    font-size: 0.75rem;
}

.admin-user {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.admin-avatar {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--branco);
    background: linear-gradient(145deg, var(--laranja), #f6b653);
    border: 3px solid var(--branco);
    border-radius: 50%;
    box-shadow: 0 5px 12px rgba(167, 90, 29, 0.2);
    font-weight: 800;
}

.admin-logout,
.button,
button {
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--azul-800), var(--azul-600));
    color: var(--branco);
    cursor: pointer;
    font-weight: 800;
    padding: 0.72rem 1rem;
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.2;
    min-height: 2.55rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    appearance: none;
    transition: transform var(--ds-transition), box-shadow var(--ds-transition), background var(--ds-transition), border-color var(--ds-transition), color var(--ds-transition), opacity var(--ds-transition);
}

.admin-logout:hover,
.button:hover,
button:hover {
    transform: translateY(-1px);
    box-shadow: 0 .45rem 1rem rgba(23, 79, 121, .16);
}

.button:active,
button:active {
    transform: translateY(0);
}

.button:disabled,
button:disabled,
.button.is-disabled {
    cursor: not-allowed;
    opacity: .58;
    transform: none;
    box-shadow: none;
}

.button-secondary {
    border: 1px solid var(--ds-border);
    background: var(--ds-surface);
    color: var(--azul-800);
}

.button-neutral {
    background: #526d7b;
}

.button-success {
    background: linear-gradient(135deg, #1d7650, var(--ds-success));
}

.button-danger {
    background: linear-gradient(135deg, #9f2017, #d13a2e);
}

.button-ghost {
    background: transparent;
    color: var(--azul-800);
    box-shadow: none;
}

.button-small {
    min-height: 2.1rem;
    padding: .42rem .72rem;
    font-size: .83rem;
}

.button.is-loading::before,
button.is-loading::before {
    width: .9rem;
    height: .9rem;
    margin-right: .45rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    content: '';
    animation: ds-spin .7s linear infinite;
}

.admin-logout {
    background: transparent;
    color: var(--azul-800);
    padding: 0.35rem;
}

.admin-logout:hover {
    background: var(--azul-100);
    box-shadow: none;
}

.admin-content {
    width: min(100%, 82rem);
    margin: 0 auto;
    padding: clamp(1.25rem, 3vw, 2.35rem) clamp(1rem, 2vw, 1.5rem) 3rem;
}

.auth-content {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 2rem 1rem;
    background: radial-gradient(circle at 15% 15%, rgba(100, 186, 226, .2), transparent 22rem), radial-gradient(circle at 88% 82%, rgba(242, 138, 46, .12), transparent 20rem);
}

.card,
.dashboard-card,
.dashboard-hero {
    background: var(--ds-surface-elevated);
    border: 1px solid var(--ds-border);
    border-radius: var(--ds-radius-lg);
    box-shadow: var(--ds-shadow-soft);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.dashboard-hero {
    margin-bottom: 1.25rem;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(242, 138, 46, 0.16), transparent 18rem),
        linear-gradient(135deg, #ffffff, var(--azul-50));
}

.eyebrow {
    display: inline-block;
    margin-bottom: 0.45rem;
    color: var(--laranja-escuro);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

h1,
h2 {
    color: var(--azul-950);
    line-height: 1.1;
}

h1 {
    margin: 0 0 0.65rem;
    font-size: clamp(1.8rem, 4vw, 3rem);
}

h2 {
    margin: 0.4rem 0 0.35rem;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.dashboard-card-icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    color: var(--branco);
    background: linear-gradient(145deg, var(--azul-600), var(--azul-800));
    border-radius: 0.85rem;
}

label {
    display: block;
    margin: var(--ds-space-4) 0 var(--ds-space-1);
    color: var(--azul-950);
    font-size: .86rem;
    font-weight: 800;
}

input,
select,
textarea {
    width: 100%;
    min-height: 2.75rem;
    border: 1px solid var(--ds-border);
    border-radius: var(--ds-radius-md);
    background: var(--branco);
    color: var(--texto);
    padding: 0.75rem 0.85rem;
    box-shadow: inset 0 1px 2px rgba(22, 73, 99, .025);
    transition: border-color var(--ds-transition), box-shadow var(--ds-transition), background var(--ds-transition);
}

input:hover,
select:hover,
textarea:hover {
    border-color: #b7d0dc;
}

input:focus,
select:focus,
textarea:focus {
    outline: 0;
    border-color: var(--azul-600);
    box-shadow: 0 0 0 3px rgba(50, 136, 187, .16);
}

input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
    background: var(--cinza-100);
    color: var(--cinza-500);
    opacity: .72;
}

input[readonly],
textarea[readonly] {
    cursor: default;
    border-color: #dfe9ed;
    background: var(--ds-surface-soft);
    color: #3b5666;
}

input[type="checkbox"],
input[type="radio"] {
    width: 1.05rem;
    min-height: 1.05rem;
    accent-color: var(--azul-700);
    box-shadow: none;
}

textarea {
    min-height: 9rem;
}

.table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
    font-size: .9rem;
}

.page-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    margin-bottom: .8rem;
}

.admin-table-card {
    overflow: hidden;
    padding: .6rem 1rem 1rem;
}

.admin-table-card .table {
    margin-top: 0;
}

.table-responsive {
    overflow-x: auto;
    border: 1px solid var(--ds-divider);
    border-radius: var(--ds-radius-md);
}

.table-actions form {
    margin: 0;
}

.admin-form-card {
    margin-top: 1rem;
    padding: 1.15rem 1.3rem;
}

.admin-search-card {
    position: relative;
    margin-bottom: 1rem;
    padding: 1.1rem 1.25rem;
    overflow: hidden;
}

.admin-search-card::before {
    position: absolute;
    top: 0;
    left: 1.25rem;
    width: 2.5rem;
    height: .22rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--azul-600), var(--azul-400));
    content: '';
}

.filter-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .35rem;
}

.filter-panel-heading h2 {
    margin: 0;
    font-size: .98rem;
}

.filter-panel-heading p {
    margin: .15rem 0 0;
    color: var(--cinza-500);
    font-size: .78rem;
}

.admin-form-card input[readonly] {
    cursor: not-allowed;
    background: #f3f6f8;
}

.admin-form-surface {
    max-width: 58rem;
    margin-inline: auto;
}

.admin-form-surface > .admin-form-card {
    margin: 0;
    padding: 0;
}

.form-error,
.error {
    margin-top: .35rem;
    color: var(--ds-danger);
    font-size: .82rem;
    font-weight: 700;
}

.table th,
.table td {
    border-bottom: 1px solid var(--ds-divider);
    padding: .8rem .75rem;
    text-align: left;
    vertical-align: middle;
}

.table th {
    color: var(--azul-950);
    background: #f3f8fa;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
    white-space: nowrap;
}

.table tbody tr {
    transition: background var(--ds-transition);
}

.table tbody tr:hover {
    background: #f8fbfc;
}

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

.actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 1.35rem;
}

.actions form {
    margin: 0;
}


.form-hint-warning {
    color: var(--ds-danger);
    font-size: 0.85rem;
    margin: .35rem 0 .75rem;
    font-weight: 700;
}

.notice {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    border: 1px solid transparent;
    border-radius: var(--ds-radius-md);
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    box-shadow: var(--ds-shadow-soft);
}

.notice::before {
    display: grid;
    flex: 0 0 auto;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: 50%;
    content: 'i';
    font-size: .72rem;
    font-weight: 900;
}

.success {
    background: var(--verde-claro);
    color: #1f7a63;
}

.notice.success { border-color: #bfe5d7; }
.notice.success::before { color: var(--branco); background: var(--ds-success); content: '✓'; }

.danger,
.error {
    color: #b42318;
}

.notice.danger {
    background: #fef3f2;
    border-color: #f3c6c2;
}

.notice.danger::before { color: var(--branco); background: var(--ds-danger); content: '!'; }

.muted {
    color: var(--cinza-500);
}

.warning { background: #fff8e6; color: #8a5a00; }
.notice.warning { border-color: #f0d5a8; }
.notice.warning::before { color: var(--branco); background: var(--ds-warning); content: '!'; }
.info { background: #eef7fb; color: var(--azul-800); }
.notice.info { border-color: #cfe4ee; }
.notice.info::before { color: var(--branco); background: var(--ds-info); }

.auth-card {
    width: min(100%, 30rem);
    padding: clamp(1.4rem, 4vw, 2.2rem);
    box-shadow: var(--ds-shadow-raised);
}

.auth-brand {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1.35rem;
}

.auth-brand img {
    width: 3.6rem;
    height: 3.6rem;
    object-fit: contain;
    padding: .25rem;
    border: 1px solid var(--ds-border);
    border-radius: 1rem;
    background: var(--branco);
    box-shadow: var(--ds-shadow-soft);
}

.auth-brand span,
.auth-brand strong,
.auth-brand small {
    display: block;
}

.auth-brand small {
    color: var(--cinza-500);
    font-size: .78rem;
}

.auth-card h1 {
    margin-bottom: .45rem;
    font-size: clamp(1.55rem, 4vw, 2rem);
}

.auth-card > p {
    margin-top: 0;
    color: var(--cinza-500);
}

.auth-card .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.editorial-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem 1rem; align-items: end; }
.editorial-filter-grid label, .young-results-filter-grid label, .dashboard-filters label { margin-top: .45rem; }
.editorial-filter-grid label span { display: block; margin-bottom: .35rem; font-weight: 700; }
.editorial-filter-search { grid-column: span 2; }
.editorial-filter-actions { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; }
.young-results-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: end; }
.young-results-filter-grid label span { display: block; margin-bottom: .35rem; font-weight: 700; }
.young-results-pagination-control { display: flex; justify-content: flex-end; margin: .25rem 0 .75rem; }
.young-results-pagination-control form, .young-results-pagination-control label { margin: 0; }
.young-results-pagination-control label { display: flex; align-items: center; gap: .5rem; font-weight: 700; }
.young-results-pagination-control select { width: auto; min-width: 4.5rem; padding: .45rem .65rem; }
.young-results-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem 1.25rem; margin: 0; }
.young-results-summary dt { margin-bottom: .32rem; color: var(--cinza-500); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.young-results-summary dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.young-results-readonly { display: flex; min-height: 2.85rem; align-items: center; width: 100%; box-sizing: border-box; padding: .75rem .85rem; border: 1px solid #dfe9ed; border-radius: var(--ds-radius-md); background: linear-gradient(135deg, #f7fafb, #f1f6f8); color: var(--texto); overflow-wrap: anywhere; }
.young-results-readonly-link { color: var(--azul-700); text-decoration: none; }
.young-results-readonly-link:hover { border-color: var(--azul-400); background: #eef8fc; text-decoration: underline; }
.young-results-journeys h2 { margin-top: 0; }
.young-results-journey-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .7rem; padding: 1rem; border: 1px solid var(--ds-divider); border-radius: var(--ds-radius-md); background: var(--ds-surface-soft); transition: border-color var(--ds-transition), transform var(--ds-transition), box-shadow var(--ds-transition); }
.young-results-journey-card:hover { transform: translateY(-1px); border-color: #bdd7e2; box-shadow: var(--ds-shadow-soft); }
.young-results-journey-card small { display: block; margin-top: .35rem; color: var(--cinza-500); }
.young-results-area-legend { display: flex; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; margin-top: 1rem; padding: .75rem 1rem; border: 1px solid var(--ds-divider); border-radius: var(--ds-radius-md); background: var(--ds-surface-soft); color: var(--cinza-500); }
.young-results-area-legend-items { display: flex; align-items: center; gap: .55rem 1rem; flex-wrap: wrap; }
.young-results-area-legend-item { --young-area-rgb: 23, 105, 170; display: inline-flex; align-items: center; gap: .4rem; color: var(--azul-950); font-size: .8rem; font-weight: 800; }
.young-results-area-legend-dot { width: .68rem; height: .68rem; border-radius: 50%; background: rgb(var(--young-area-rgb)); box-shadow: 0 0 0 .2rem rgba(var(--young-area-rgb), .12); }
.young-results-area-legend small { max-width: 28rem; text-align: right; }
.young-results-areas { display: grid; gap: .8rem; margin-top: .8rem; }
.young-results-area { --young-area-rgb: 23, 105, 170; --young-area-strength: .16; --young-area-border-strength: .5; padding: 0; overflow: hidden; border-left: .3rem solid rgba(var(--young-area-rgb), var(--young-area-border-strength)); }
.young-results-area--responsavel { --young-area-rgb: 55, 86, 155; }
.young-results-area--jovem { --young-area-rgb: 19, 127, 145; }
.young-results-area--questionario-1 { --young-area-rgb: 23, 105, 170; }
.young-results-area--questionario-2 { --young-area-rgb: 116, 71, 181; }
.young-results-area--questionario-3 { --young-area-rgb: 20, 132, 155; }
.young-results-area--level-1 { --young-area-strength: .07; --young-area-border-strength: .34; }
.young-results-area--level-2 { --young-area-strength: .1; --young-area-border-strength: .43; }
.young-results-area--level-3 { --young-area-strength: .14; --young-area-border-strength: .54; }
.young-results-area--level-4 { --young-area-strength: .19; --young-area-border-strength: .68; }
.young-results-area--level-5 { --young-area-strength: .25; --young-area-border-strength: .84; }
.young-results-area summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; color: var(--azul-950); background: linear-gradient(90deg, rgba(var(--young-area-rgb), var(--young-area-strength)), rgba(var(--young-area-rgb), .025) 72%, transparent); font-weight: 800; transition: box-shadow var(--ds-transition), background var(--ds-transition); }
.young-results-area summary:hover { box-shadow: inset 0 0 0 999px rgba(var(--young-area-rgb), .035); }
.young-results-area summary::marker { color: rgb(var(--young-area-rgb)); }
.young-results-area-heading { display: flex; min-width: 0; align-items: center; gap: .65rem; }
.young-results-area-heading > span { overflow-wrap: anywhere; }
.young-results-area-marker { flex: 0 0 auto; padding: .2rem .45rem; border: 1px solid rgba(var(--young-area-rgb), .38); border-radius: 999px; background: rgba(var(--young-area-rgb), .11); color: rgb(var(--young-area-rgb)); font-size: .68rem; font-weight: 900; letter-spacing: .035em; }
.young-results-area summary strong { display: inline-flex; flex: 0 0 auto; min-width: 2.5rem; justify-content: center; padding: .25rem .6rem; border: 1px solid rgba(var(--young-area-rgb), var(--young-area-border-strength)); border-radius: 999px; background: rgba(var(--young-area-rgb), var(--young-area-strength)); color: rgb(var(--young-area-rgb)); }
.young-results-area-body { border-top: 1px solid var(--cinza-200); padding: 0 1.25rem; }
.young-results-question { padding: 1rem 0; border-bottom: 1px solid var(--cinza-200); }
.young-results-question:last-child { border-bottom: 0; }
.young-results-question p { margin: .35rem 0; }
.dashboard-filters { padding: .85rem 1rem; }
.dashboard-filters-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--azul-950); }
.dashboard-filters-header strong { font-size: .95rem; }
.dashboard-filters-toggle { display: inline-flex; align-items: center; gap: .4rem; min-height: 2rem; padding: .35rem .65rem; font-size: .8rem; }
.dashboard-filters form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem 1rem; align-items: end; margin-top: .75rem; }
.dashboard-filters label span { display: block; margin-bottom: .35rem; font-weight: 700; }
.dashboard-filters .editorial-filter-actions { grid-column: 1 / -1; justify-content: flex-end; gap: .5rem; }
.dashboard-block { margin-top: 1.5rem; }
.dashboard-block-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 .75rem; color: var(--azul-950); font-size: 1.05rem; font-weight: 800; }
.dashboard-block-heading small { color: var(--cinza-500); font-size: .78rem; font-weight: 500; }
.dashboard-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .8rem; margin-bottom: .8rem; }
.dashboard-kpi, .dashboard-secondary { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; align-items: start; justify-items: start; align-content: start; border: 1px solid var(--cinza-200); background: var(--branco); text-align: left; cursor: pointer; }
.dashboard-metric-card { --dashboard-card-accent: var(--azul-700); --dashboard-card-surface: #edf5ff; min-height: 6.35rem; padding: .85rem 1rem; border-color: var(--dashboard-card-accent); border-top: .28rem solid var(--dashboard-card-accent); background: linear-gradient(135deg, var(--dashboard-card-surface), var(--branco) 72%); }
.dashboard-metric-card--blue { --dashboard-card-accent: #1769aa; --dashboard-card-surface: #eef6ff; }
.dashboard-metric-card--green { --dashboard-card-accent: #21885b; --dashboard-card-surface: #eefaf3; }
.dashboard-metric-card--orange { --dashboard-card-accent: #bd6a13; --dashboard-card-surface: #fff6e8; }
.dashboard-metric-card--red { --dashboard-card-accent: #b42318; --dashboard-card-surface: #fff1f0; }
.dashboard-metric-card--purple { --dashboard-card-accent: #7447b5; --dashboard-card-surface: #f6f0ff; }
.dashboard-metric-card--cyan { --dashboard-card-accent: #137f91; --dashboard-card-surface: #ecfbfd; }
.dashboard-kpi > span, .dashboard-secondary > span { grid-row: 1; display: block; width: 100%; color: var(--cinza-500); font-size: .8rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.dashboard-metric-card span { color: var(--dashboard-card-accent); }
.dashboard-metric-card strong { grid-row: 2; display: block; width: 100%; margin-top: .55rem; color: var(--azul-950); font-size: 1.55rem; line-height: 1.15; overflow-wrap: anywhere; }
.dashboard-secondary strong { grid-row: 2; display: block; width: 100%; margin-top: .55rem; color: var(--azul-950); font-size: 1.55rem; line-height: 1.15; overflow-wrap: anywhere; }
.dashboard-kpi small { grid-row: 3; display: block; width: 100%; margin-top: .45rem; font-size: .74rem; line-height: 1.25; }
.dashboard-kpi .is-positive { color: #21885b; }.dashboard-kpi .is-negative { color: #b42318; }
.dashboard-secondary-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin-bottom: .8rem; }
.dashboard-secondary { padding: .85rem 1rem; }
.dashboard-secondary { --dashboard-card-accent: var(--azul-700); --dashboard-card-surface: #edf5ff; min-height: 6.35rem; border-color: var(--dashboard-card-accent); border-top: .28rem solid var(--dashboard-card-accent); background: linear-gradient(135deg, var(--dashboard-card-surface), var(--branco) 72%); }
.dashboard-secondary:nth-child(1) { --dashboard-card-accent: #1769aa; --dashboard-card-surface: #eef6ff; }
.dashboard-secondary:nth-child(2) { --dashboard-card-accent: #21885b; --dashboard-card-surface: #eefaf3; }
.dashboard-secondary:nth-child(3) { --dashboard-card-accent: #bd6a13; --dashboard-card-surface: #fff6e8; }
.dashboard-secondary:nth-child(4) { --dashboard-card-accent: #7447b5; --dashboard-card-surface: #f6f0ff; }
.dashboard-secondary span { color: var(--dashboard-card-accent); }
.dashboard-secondary strong { margin-top: .35rem; font-size: 1.55rem; line-height: 1.15; }
.dashboard-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.dashboard-chart-grid-two { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }.dashboard-chart-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-chart { min-width: 0; padding: 1rem; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease; }.dashboard-chart:hover, .dashboard-kpi:hover, .dashboard-secondary:hover { transform: translateY(-2px); box-shadow: var(--sombra-card); }
.dashboard-chart h2 { margin: 0 0 .5rem; color: var(--azul-950); font-size: 1rem; }.dashboard-chart-submetrics { display: flex; gap: .5rem; flex-wrap: wrap; color: var(--cinza-500); font-size: .78rem; }.dashboard-chart-submetrics span { background: #f3f6f8; border-radius: 999px; padding: .2rem .45rem; }
.dashboard-rank-metrics { display: flex; gap: .35rem; flex-wrap: wrap; margin-bottom: .45rem; }.dashboard-rank-metrics button { min-height: 1.85rem; padding: .25rem .45rem; border: 1px solid var(--cinza-200); border-radius: .45rem; background: var(--branco); color: var(--azul-700); font-size: .72rem; font-weight: 700; }.dashboard-rank-metrics button.is-active { border-color: var(--azul-700); background: var(--azul-700); color: var(--branco); }
.dashboard-alerts { display: grid; gap: .65rem; margin-top: 1rem; }.dashboard-alert { display: flex; justify-content: space-between; gap: 1rem; width: 100%; border: 1px solid #f0d5a8; border-radius: .8rem; background: #fff8e6; color: #8a5a00; padding: .8rem 1rem; text-align: left; cursor: pointer; }.dashboard-alert span { font-weight: 800; }.dashboard-alert-empty { cursor: default; color: var(--cinza-500); border-color: var(--cinza-200); background: #f8fafb; }
.dashboard-detail-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.dashboard-detail-metric strong { display: block; color: var(--azul-950); font-size: 1.1rem; }.dashboard-detail-metric small { color: var(--cinza-500); }
.dashboard-detail-link { color: var(--azul-700); font-weight: 700; text-decoration: none; }.dashboard-detail-link:hover { text-decoration: underline; }.dashboard-responsible-action { display: inline-flex; align-items: center; gap: .3rem; }.dashboard-responsible-action form { display: inline; }.dashboard-invitation-button { border: 0; background: transparent; color: var(--azul-700); cursor: pointer; font: inherit; padding: .15rem; }
.dashboard-whatsapp-column { width: 3.2rem; text-align: center; }.dashboard-whatsapp-link { display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #e9f8ef; color: #16834c; transition: transform .16s ease, background .16s ease; }.dashboard-whatsapp-link:hover { background: #c9f0d9; transform: translateY(-1px); }.dashboard-whatsapp-link svg { width: 1rem; height: 1rem; fill: currentColor; }.dashboard-whatsapp-link.is-disabled { background: var(--cinza-100); color: var(--cinza-500); cursor: not-allowed; }
.question-table-actions { display: flex; align-items: center; gap: .45rem; flex-wrap: nowrap; white-space: nowrap; }
.question-table-actions form { margin: 0; }
.question-action-button { min-height: 2.1rem; padding: .4rem .7rem; font-size: .85rem; }
.question-version-warning { text-align: center; }
.question-readonly-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.25rem; }
.question-readonly-grid label { margin-top: 0; }
.question-textarea { min-height: 4.6rem; }
.question-form, .seller-form { margin-top: 0; }
.question-create-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.seller-status-fieldset { display: flex; align-items: center; gap: 1rem; margin: 1rem 0 0; padding: 0; border: 0; }
.seller-status-fieldset legend { color: var(--azul-950); font-weight: 800; }
.seller-status-fieldset label { display: inline-flex; align-items: center; gap: .35rem; margin: 0; font-weight: 700; }
.seller-status-fieldset input[type="radio"] { width: auto; margin: 0; }
.admin-switch-label { display: flex; align-items: center; gap: .65rem; margin-top: 1rem; color: var(--azul-950); font-weight: 800; }
.admin-switch { display: inline-flex; position: relative; width: 2.85rem; height: 1.55rem; }
.admin-switch input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.admin-switch span { width: 100%; border-radius: 999px; background: #c93b3b; cursor: pointer; transition: background .16s ease; }
.admin-switch span::after { content: ''; display: block; width: 1.15rem; height: 1.15rem; margin: .2rem; border-radius: 50%; background: var(--branco); box-shadow: 0 .08rem .22rem rgba(0,0,0,.2); transition: transform .16s ease; }
.admin-switch input:checked + span { background: #21885b; }
.admin-switch input:checked + span::after { transform: translateX(1.3rem); }
.admin-switch input:focus-visible + span { outline: 3px solid rgba(29, 113, 153, .25); outline-offset: 2px; }
.coupon-fields-grid, .coupon-readonly-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.25rem; }
.coupon-readonly-grid { margin-bottom: 1rem; }
.editorial-summary { max-width: 28rem; color: var(--cinza-500); }
.editorial-status, .status-badge { display: inline-flex; align-items: center; gap: .3rem; margin: .35rem .25rem 0 0; padding: .22rem .52rem; border: 1px solid #dfe8ec; border-radius: 999px; background: var(--cinza-100); color: var(--cinza-500); font-size: .72rem; font-weight: 800; line-height: 1.2; }
.editorial-status::before, .status-badge::before { width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; content: ''; opacity: .8; }
.editorial-status.is-active, .status-badge--success { border-color: #c5e6d8; background: #edf9f3; color: var(--ds-success); }
.editorial-status.is-inactive, .status-badge--danger { border-color: #f0cbc8; background: #fff2f1; color: var(--ds-danger); }
.editorial-status.is-legacy, .status-badge--warning { border-color: #f0d5a8; background: #fff8e6; color: #8a5a00; }
.status-badge--info { border-color: #cfe4ee; background: #eef7fb; color: var(--azul-800); }
.editorial-empty-state, .empty-state { display: grid; min-height: 10rem; place-items: center; align-content: center; gap: .35rem; color: var(--cinza-500); text-align: center; }
.editorial-empty-state::before, .empty-state::before { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: var(--azul-100); color: var(--azul-800); content: '⌕'; font-size: 1.25rem; font-weight: 800; }
.editorial-empty-state p, .empty-state p { margin: 0; }
.table-empty { padding: 2rem 1rem !important; color: var(--cinza-500); text-align: center !important; }
.editorial-filter-grid select:disabled, .editorial-filter-grid input:disabled { cursor: not-allowed; opacity: .62; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: .85rem; flex-wrap: wrap; margin-top: 1rem; color: var(--cinza-500); font-size: .9rem; }
.admin-pagination-links { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.admin-pagination-control, .admin-pagination-page { display: inline-flex; align-items: center; justify-content: center; min-height: 2.15rem; padding: .35rem .62rem; border: 1px solid var(--ds-border); border-radius: var(--ds-radius-sm); background: var(--branco); color: var(--azul-700); text-decoration: none; font-size: .875rem; line-height: 1.1; transition: border-color var(--ds-transition), background var(--ds-transition), color var(--ds-transition), transform var(--ds-transition); }
.admin-pagination-control:hover, .admin-pagination-page:hover { transform: translateY(-1px); border-color: var(--azul-600); background: #f2f8fb; }
.admin-pagination-page { min-width: 2.1rem; padding-inline: .45rem; }
.admin-pagination-page.is-current { border-color: var(--azul-700); background: var(--azul-700); color: var(--branco); box-shadow: 0 .25rem .6rem rgba(23, 79, 121, .18); font-weight: 700; }
.admin-pagination-control.is-disabled { color: var(--cinza-500); cursor: default; opacity: .55; }
.admin-pagination-ellipsis { padding: .2rem; }
.table td small { display: block; margin-top: .35rem; color: var(--cinza-500); }
.editorial-metadata { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem 1.25rem; margin: 0; }
.editorial-metadata div { min-width: 0; }
.editorial-metadata dt { color: var(--cinza-500); font-size: .8rem; font-weight: 700; }
.editorial-metadata dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.editorial-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(13rem, .38fr); gap: 1.25rem; margin-top: 1rem; }
.editorial-toolbar { display: flex; gap: .4rem; flex-wrap: wrap; margin: .4rem 0 .6rem; }
.editorial-toolbar button { min-height: 2.35rem; padding: .45rem .7rem; }
.editorial-editor { min-height: 15rem; border: 1px solid var(--cinza-200); border-radius: .8rem; background: var(--branco); color: var(--texto); padding: .85rem; overflow-wrap: anywhere; }
.editorial-editor:focus { outline: 3px solid rgba(29, 113, 153, .2); border-color: var(--azul-600); }
.editorial-placeholders { align-self: start; padding: 1rem; border: 1px solid var(--cinza-200); border-radius: .8rem; background: #f7fbfd; }
.editorial-placeholders h3 { margin-top: 0; }
.editorial-placeholders ul { max-height: 15rem; margin: .75rem 0 0; overflow: auto; padding-left: 1.2rem; }
.entity-identity { display: flex; min-width: 10rem; align-items: center; gap: .65rem; }
.entity-avatar { display: grid; flex: 0 0 auto; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .7rem; background: linear-gradient(145deg, var(--azul-100), #edf8fb); color: var(--azul-800); font-size: .8rem; font-weight: 900; }
.entity-identity strong, .entity-identity small { display: block; }
.entity-identity small { color: var(--cinza-500); font-size: .75rem; }
.usage-progress { display: grid; gap: .35rem; min-width: 6rem; }
.usage-progress-track { display: block; height: .34rem; overflow: hidden; border-radius: 999px; background: var(--cinza-100); }
.usage-progress-bar { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--azul-600), var(--verde)); }
.coupon-code { display: inline-flex; padding: .25rem .52rem; border: 1px dashed #9bc7da; border-radius: .45rem; background: #f0f9fc; color: var(--azul-800); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .82rem; font-weight: 900; letter-spacing: .04em; }
.program-price-card { position: relative; max-width: 36rem; margin-inline: auto; overflow: hidden; }
.program-price-card::after { position: absolute; top: -4rem; right: -4rem; width: 12rem; height: 12rem; border-radius: 50%; background: var(--azul-50); content: ''; }
.program-price-card form, .program-price-card .notice { position: relative; z-index: 1; }
.program-price-card label[for="valor"] { color: var(--cinza-500); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.program-price-card [data-currency-input] { min-height: 4rem; border-width: 2px; color: var(--azul-950); font-size: clamp(1.55rem, 4vw, 2.25rem); font-weight: 900; letter-spacing: -.03em; }
.form-section-title { margin: 0 0 .25rem; font-size: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Painel de Gestão: superfície executiva compartilhada por cards e gráficos. */
.dashboard-hero.dashboard-management-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.35rem 1.5rem; border-color: #d9e8ef; border-radius: 1rem; background: radial-gradient(circle at 94% 8%, rgba(113, 180, 201, .22), transparent 15rem), linear-gradient(118deg, #f8fcfe, #edf7fb 58%, #fbfdfe); box-shadow: 0 .5rem 1.35rem rgba(22, 73, 99, .07); }
.dashboard-management-hero .dashboard-hero-eyebrow { display: block; margin-bottom: .35rem; color: var(--azul-700); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-management-hero h1 { margin: 0; font-size: clamp(1.55rem, 2.4vw, 2.05rem); }
.dashboard-management-hero p { margin: .45rem 0 0; color: var(--cinza-500); font-size: .92rem; }
.dashboard-hero-meta { display: grid; flex: 0 0 auto; gap: .25rem; min-width: 12rem; padding: .75rem .9rem; border: 1px solid #d7e6ee; border-radius: .75rem; background: rgba(255, 255, 255, .75); color: var(--cinza-500); font-size: .72rem; }
.dashboard-hero-meta strong { color: var(--azul-900); font-size: .82rem; line-height: 1.3; }
.dashboard-filters { padding: .9rem 1rem; border: 1px solid #dbe7ed; box-shadow: 0 .35rem 1rem rgba(22, 73, 99, .05); }
.dashboard-filters-header strong { display: inline-flex; align-items: center; gap: .55rem; }
.dashboard-filters-header strong::before { width: .55rem; height: .55rem; border-radius: 50%; background: var(--azul-600); box-shadow: 0 0 0 .25rem #e5f3f8; content: ''; }
.dashboard-filters-toggle [aria-hidden] { transition: transform .18s ease; }
.dashboard-filters.is-collapsed .dashboard-filters-toggle [aria-hidden] { transform: rotate(180deg); }
.dashboard-filters [data-dashboard-filters-content] { display: block; max-height: 16rem; overflow: hidden; opacity: 1; transition: max-height .24s ease, opacity .16s ease; }
.dashboard-filters.is-collapsed [data-dashboard-filters-content] { display: block; max-height: 0; opacity: 0; pointer-events: none; }
.dashboard-filters label span { color: var(--cinza-500); font-size: .78rem; font-weight: 800; }
.dashboard-block { margin-top: 1.8rem; }
.dashboard-block-heading { margin-bottom: .9rem; font-size: 1.1rem; letter-spacing: -.01em; }
.dashboard-block-heading span { display: inline-flex; align-items: center; gap: .55rem; }
.dashboard-block-heading span::before { width: .26rem; height: 1.15rem; border-radius: 999px; background: var(--azul-600); content: ''; }
.dashboard-kpis, .dashboard-secondary-kpis { gap: .9rem; margin-bottom: 1rem; }
.dashboard-kpi, .dashboard-secondary { position: relative; grid-template-rows: auto minmax(2.2rem, auto) auto; min-width: 0; min-height: 7.2rem; overflow: hidden; padding: 1rem 1.05rem; border-color: #d9e8ef; border-radius: .9rem; box-shadow: 0 .3rem .9rem rgba(22, 73, 99, .06); isolation: isolate; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.dashboard-kpi::after, .dashboard-secondary::after { position: absolute; z-index: -1; top: -.65rem; right: -.65rem; width: 3.8rem; height: 3.8rem; border-radius: 50%; background: var(--dashboard-card-surface); content: ''; opacity: .9; }
.dashboard-kpi > span, .dashboard-secondary > span { font-size: .78rem; font-weight: 800; line-height: 1.35; }
.dashboard-metric-card strong, .dashboard-secondary strong { align-self: end; margin-top: .55rem; font-size: clamp(1.45rem, 2vw, 1.8rem); font-variant-numeric: tabular-nums; line-height: 1.1; letter-spacing: -.025em; }
.dashboard-kpi small { margin-top: .5rem; font-size: .72rem; line-height: 1.3; }
.dashboard-chart { min-height: 21rem; padding: 1.15rem; border: 1px solid #e0eaef; border-radius: .9rem; box-shadow: 0 .3rem .9rem rgba(22, 73, 99, .055); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.dashboard-chart::before { display: block; width: 2.1rem; height: .22rem; margin-bottom: .85rem; border-radius: 999px; background: linear-gradient(90deg, var(--azul-600), #71b4c9); content: ''; }
.dashboard-chart:hover, .dashboard-kpi:hover, .dashboard-secondary:hover { transform: translateY(-3px); border-color: #bcd8e4; box-shadow: 0 .7rem 1.45rem rgba(22, 73, 99, .12); }
.dashboard-chart h2 { margin-bottom: .65rem; font-size: 1rem; letter-spacing: -.01em; }
.dashboard-chart-submetrics { gap: .45rem; margin-bottom: .15rem; font-size: .76rem; }
.dashboard-chart-submetrics span { border: 1px solid #dfeaf0; background: #f5f9fb; padding: .22rem .5rem; }
.dashboard-rank-metrics { margin-bottom: .55rem; }
.dashboard-rank-metrics button { border-color: #dce8ee; background: #f8fbfc; transition: background .16s ease, color .16s ease, border-color .16s ease; }
.dashboard-rank-metrics button:hover { transform: none; border-color: var(--azul-600); box-shadow: none; }
.dashboard-alert { padding: .85rem 1rem; transition: transform .16s ease, box-shadow .16s ease; }
.dashboard-alert:hover { transform: translateY(-1px); box-shadow: 0 .35rem .85rem rgba(138, 90, 0, .09); }

@media (max-width: 42rem) {
    .dashboard-hero.dashboard-management-hero { align-items: flex-start; flex-direction: column; padding: 1.1rem; }
    .dashboard-hero-meta { width: 100%; min-width: 0; }
    .dashboard-kpi, .dashboard-secondary { min-height: 6.6rem; }
    .dashboard-chart { min-height: 19rem; }
}

/* Aprovação manual de pagamentos em espécie. */
.cash-approval-page { display: grid; gap: 1.25rem; }
.cash-approval-header, .cash-approval-header-actions, .cash-approval-section-heading, .cash-approval-choice, .cash-approval-actions { display: flex; align-items: center; gap: .85rem; }
.cash-approval-header, .cash-approval-section-heading { justify-content: space-between; }
.cash-approval-header h1 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.cash-approval-breadcrumb { margin: 0 0 .35rem; color: var(--ds-text-muted); font-size: .84rem; font-weight: 700; }
.cash-approval-header-actions { flex-wrap: wrap; justify-content: flex-end; }
.cash-approval-section-heading { margin-bottom: 1.25rem; }
.cash-approval-section-heading h2 { margin: 0; font-size: 1.2rem; }
.cash-approval-section-heading p { margin: .35rem 0 0; color: var(--ds-text-muted); }
.cash-approval-date { color: var(--ds-text-muted); font-size: .88rem; white-space: nowrap; }
.cash-approval-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.cash-approval-summary-group + .cash-approval-summary-group { padding-left: 1.5rem; border-left: 1px solid var(--ds-divider); }
.cash-approval-summary-group h3 { margin: 0 0 .8rem; color: var(--ds-text-strong); font-size: 1rem; }
.cash-approval-details, .cash-approval-history-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1.25rem; margin: 0; }
.cash-approval-details dt, .cash-approval-history-grid dt { color: var(--ds-text-muted); font-size: .78rem; font-weight: 700; }
.cash-approval-details dd, .cash-approval-history-grid dd { margin: .15rem 0 0; color: var(--ds-text-strong); font-weight: 700; overflow-wrap: anywhere; }
.cash-approval-details .status-badge { margin: 0; }
.cash-approval-total { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--ds-divider); }
.cash-approval-total span { color: var(--ds-text-muted); font-size: .84rem; font-weight: 700; }
.cash-approval-total strong { color: var(--azul-950); font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1; }
.cash-approval-history-grid { margin-bottom: 1.25rem; }
.cash-approval-history-wide { grid-column: 1 / -1; padding-top: .2rem; }
.cash-approval-choice { align-items: stretch; margin: 0 0 1.25rem; padding: 0; border: 0; }
.cash-approval-choice legend { width: 100%; margin-bottom: .6rem; color: var(--ds-text-strong); font-size: .9rem; font-weight: 800; }
.cash-approval-choice-option { display: flex; flex: 1 1 15rem; align-items: flex-start; gap: .65rem; margin: 0; padding: .9rem 1rem; border: 1px solid var(--ds-border); border-radius: var(--ds-radius-md); background: var(--ds-surface-soft); cursor: pointer; }
.cash-approval-choice-option:has(input:checked) { border-color: var(--azul-600); background: var(--azul-50); box-shadow: 0 0 0 3px rgba(50, 136, 187, .1); }
.cash-approval-choice-option.is-danger:has(input:checked) { border-color: #df8b85; background: #fff5f4; box-shadow: 0 0 0 3px rgba(180, 35, 24, .08); }
.cash-approval-choice-option span { display: grid; gap: .15rem; }
.cash-approval-choice-option small, .cash-approval-shared-fields small { color: var(--ds-text-muted); font-size: .8rem; font-weight: 400; }
.cash-approval-decision-panel { margin-bottom: 1.15rem; }
.cash-approval-decision-panel .notice { margin: 0 0 .75rem; }
.cash-approval-confirmation { display: flex; align-items: flex-start; gap: .65rem; padding: .9rem 1rem; border: 1px solid #cfe4ee; border-radius: var(--ds-radius-md); background: #f5fbfd; color: var(--ds-text); line-height: 1.45; }
.cash-approval-confirmation input { flex: 0 0 auto; margin-top: .15rem; }
.cash-approval-shared-fields { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(13rem, .6fr); gap: 1.25rem; padding-top: .25rem; border-top: 1px solid var(--ds-divider); }
.cash-approval-shared-fields label > span { color: var(--ds-text-muted); font-weight: 400; }
.cash-approval-actions { margin-top: 1.5rem; }
.cash-approval-actions [hidden] { display: none; }

@media (max-width: 62rem) {
    .cash-approval-summary-grid, .cash-approval-shared-fields { grid-template-columns: 1fr; }
    .cash-approval-summary-group + .cash-approval-summary-group { padding-top: 1.25rem; padding-left: 0; border-top: 1px solid var(--ds-divider); border-left: 0; }
}

@media (max-width: 42rem) {
    .cash-approval-header, .cash-approval-section-heading { align-items: flex-start; flex-direction: column; }
    .cash-approval-header-actions { justify-content: flex-start; }
    .cash-approval-date { white-space: normal; }
    .cash-approval-details, .cash-approval-history-grid { grid-template-columns: 1fr; }
    .cash-approval-choice { flex-direction: column; }
    .cash-approval-actions { align-items: stretch; flex-direction: column; }
    .cash-approval-actions > .button, .cash-approval-actions > button { width: 100%; }
}

@media (max-width: 62rem) {
    .editorial-filter-grid, .young-results-filter-grid, .editorial-metadata, .young-results-summary, .editorial-editor-layout, .question-readonly-grid, .question-create-fields-grid, .coupon-fields-grid, .coupon-readonly-grid, .dashboard-filters form, .dashboard-kpis, .dashboard-secondary-kpis, .dashboard-chart-grid, .dashboard-chart-grid-two, .dashboard-chart-grid-three { grid-template-columns: 1fr; }
    .editorial-filter-search { grid-column: auto; }
    .admin-pagination { align-items: flex-start; }
    .young-results-pagination-control { justify-content: flex-start; }
    .young-results-journey-card { align-items: flex-start; flex-direction: column; }
    .dashboard-detail-card { align-items: flex-start; flex-direction: column; }
    .dashboard-filters-header { align-items: flex-start; }
    .dashboard-filters .editorial-filter-actions { justify-content: flex-start; }
}

.admin-shell.is-sidebar-collapsed {
    grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr);
}

.admin-shell.is-sidebar-collapsed .admin-sidebar {
    width: var(--sidebar-collapsed-width);
}

.admin-shell.is-sidebar-collapsed .admin-brand {
    flex-direction: column;
    justify-content: center;
    gap: 0.65rem;
    padding: 0.95rem 0.45rem;
}

.admin-shell.is-sidebar-collapsed .admin-brand a {
    justify-content: center;
    gap: 0;
}

.admin-shell.is-sidebar-collapsed .admin-brand img {
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
}

.admin-shell.is-sidebar-collapsed .admin-nav {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-0.45rem);
    padding: 0;
}

.admin-shell.is-sidebar-collapsed .admin-brand-text {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

.admin-shell.is-sidebar-collapsed .sidebar-collapse-toggle {
    min-width: 3.85rem;
    min-height: 2.25rem;
    padding-inline: 0.55rem;
    background: rgba(255, 255, 255, 0.2);
    font-size: 0.74rem;
}

.admin-shell.is-sidebar-collapsed .sidebar-toggle-symbol {
    display: none;
}

@media (max-width: 62rem) {
    .admin-shell {
        grid-template-columns: 1fr;
        transition: none;
    }

    .admin-sidebar {
        position: fixed;
        z-index: 30;
        width: min(86vw, var(--sidebar-width));
        transform: translateX(calc(-100% + var(--sidebar-collapsed-width)));
        transition: transform 240ms ease;
    }

    .admin-shell.is-sidebar-open .admin-sidebar {
        transform: translateX(0);
    }

    .admin-main-wrap {
        margin-left: var(--sidebar-collapsed-width);
    }

    .admin-topbar {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .admin-user {
        width: 100%;
        justify-content: space-between;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 42rem) {
    .admin-content {
        padding-inline: .75rem;
    }

    .admin-topbar {
        padding-inline: .8rem;
    }

    .admin-user > span:not(.admin-avatar) {
        min-width: 0;
        overflow: hidden;
    }

    .admin-user > span:not(.admin-avatar) strong {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .card,
    .dashboard-card,
    .dashboard-hero {
        padding: 1rem;
        border-radius: 1rem;
    }

    .auth-card .actions,
    .auth-actions {
        grid-template-columns: 1fr;
    }

    .page-actions,
    .filter-panel-heading,
    .editorial-filter-actions,
    .actions {
        align-items: stretch;
        flex-direction: column;
    }

    .page-actions .button,
    .editorial-filter-actions .button,
    .editorial-filter-actions button,
    .actions > .button,
    .actions > button {
        width: 100%;
    }

    .admin-pagination-links {
        width: 100%;
    }

    .admin-pagination-control {
        flex: 1 1 auto;
    }

    .young-results-area-legend {
        align-items: flex-start;
        flex-direction: column;
    }

    .young-results-area-legend small {
        text-align: left;
    }
}

.buyer-support-search h2, .buyer-support-profile h2, .buyer-support-alerts h2,
.buyer-support-tabs-section h2, .buyer-support-kpis + p { margin-top: 0; }
.buyer-support-search-form { display: flex; gap: .75rem; align-items: end; }
.buyer-support-search-form label { flex: 1 1 24rem; min-width: 0; }
.buyer-support-search-form label span, .buyer-support-filters label span { display: block; margin-bottom: .35rem; font-weight: 700; }
.buyer-support-profile, .buyer-support-alerts { margin: 1rem 0; padding: 1.15rem 1.3rem; }
.buyer-support-profile-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem 1rem; margin: 1rem 0; }
.buyer-support-profile-grid dt { color: var(--cinza-500); font-size: .8rem; }
.buyer-support-profile-grid dd { margin: .2rem 0 0; overflow-wrap: anywhere; font-weight: 700; }
.buyer-support-actions, .buyer-support-tabs { display: flex; flex-wrap: wrap; gap: .55rem; }
.buyer-support-search-pages { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; }
.buyer-support-search-pages form { margin: 0; }
.buyer-support-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; margin: .8rem 0; }
.buyer-support-kpis .dashboard-kpi { cursor: default; }
.buyer-support-kpis .dashboard-kpi:hover { transform: none; box-shadow: none; }
.buyer-support-alert { display: flex; align-items: center; gap: .7rem; padding: .65rem 0; border-bottom: 1px solid var(--ds-divider); text-decoration: none; flex-wrap: wrap; }
.buyer-support-alert:last-child { border-bottom: 0; }
.buyer-support-alert strong { flex: 1 1 14rem; }
.buyer-support-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; margin-top: 1rem; align-items: end; }
.buyer-support-filters label { min-width: 0; }
.buyer-support-filters .editorial-filter-actions { grid-column: 1 / -1; }
.buyer-support-timeline { min-width: 13rem; }
.buyer-support-timeline summary { cursor: pointer; color: var(--azul-700); }
.buyer-support-timeline div { padding: .5rem 0; white-space: normal; }
@media (max-width: 68rem) {
    .buyer-support-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .buyer-support-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .buyer-support-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
    .buyer-support-search-form { align-items: stretch; flex-direction: column; }
    .buyer-support-search-form label, .buyer-support-search-form button { width: 100%; flex-basis: auto; }
    .buyer-support-kpis, .buyer-support-filters, .buyer-support-profile-grid { grid-template-columns: 1fr; }
    .buyer-support-tabs .button { flex: 1 1 auto; text-align: center; }
}

@keyframes ds-spin {
    to { transform: rotate(360deg); }
}

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

@media (min-width: 62.01rem) {
    .admin-sidebar {
        transition: width 240ms ease, transform 240ms ease;
    }
}
