/* Refinamentos visuais da Alius Academy */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    min-width: 320px;
}

img {
    display: block;
    max-width: 100%;
}

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

a:focus-visible,
button:focus-visible,
input:focus-visible {
    outline: 3px solid rgba(43, 81, 252, .24);
    outline-offset: 3px;
}

.container {
    width: min(1376px, calc(100% - 64px));
}

.site-header {
    position: relative;
    min-height: 88px;
    height: auto;
}

.brand {
    flex: 0 0 auto;
    gap: 12px;
    white-space: nowrap;
}

.brand img {
    width: 106px;
    height: 40px;
    object-fit: contain;
}

.brand small {
    margin-left: 0;
    letter-spacing: .14em;
    line-height: 1;
}

.main-nav {
    align-self: stretch;
    align-items: center;
}

.main-nav a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    color: #53586c;
    transition: color .2s ease;
}

.main-nav a.active,
.main-nav a[aria-current="page"] {
    color: var(--blue);
}

.main-nav a.active::after,
.main-nav a[aria-current="page"]::after {
    position: absolute;
    right: 0;
    bottom: 17px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--blue);
    content: "";
}

.profile-button,
.button {
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}

.profile-button:hover {
    border-color: #cbd2ea;
    background: #f7f8fc;
}

.header-actions { display:flex;align-items:center;gap:10px; }
.header-actions form { margin:0; }
.profile-menu { position:relative; }
.profile-menu summary { list-style:none;display:flex;align-items:center;gap:7px;user-select:none; }
.profile-menu summary::-webkit-details-marker { display:none; }
.profile-menu .profile-button:hover,.profile-menu[open] .profile-button { background:#2348e8;color:#fff; }
.profile-menu .profile-button:focus-visible { outline:3px solid rgba(43,81,252,.22);outline-offset:3px; }
.profile-menu summary span { transition:transform .18s ease; }
.profile-menu[open] summary span { transform:rotate(180deg); }
.profile-menu-popover { position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:220px;padding:10px;border:1px solid #e0e4ed;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(18,44,91,.16); }
.profile-menu-popover > div { display:grid;gap:3px;padding:10px 11px 13px;border-bottom:1px solid #edf0f5; }
.profile-menu-popover strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }
.profile-menu-popover small { color:#747b8c;font-size:11px; }
.profile-menu-popover form { margin:7px 0 0; }
.profile-menu-logout { display:flex;width:100%;align-items:center;gap:9px;border:0;border-radius:10px;padding:11px;background:transparent;color:#b13932;cursor:pointer;font:inherit;font-size:13px;font-weight:650;text-align:left; }
.profile-menu-logout:hover { background:#fff0ee; }
.notification-button { position:relative;display:grid;width:44px;height:44px;place-items:center;border:1px solid #dfe2eb;border-radius:50%;background:#fff;color:transparent;font-size:0; }
.notification-button::before { width:14px;height:15px;border:2px solid #51576a;border-radius:9px 9px 5px 5px;content:""; }
.notification-button::after { position:absolute;bottom:9px;width:5px;height:2px;border-radius:2px;background:#51576a;content:""; }
.notification-button:hover,.notification-button.active { border-color:#cbd4ff;background:#f1f3ff; }
.notification-button span { position:absolute;top:-3px;right:-3px;display:grid;min-width:19px;height:19px;place-items:center;border:2px solid #fff;border-radius:999px;padding:0 4px;background:#ff5c54;color:#fff;font-size:10px;font-weight:700; }

.button-primary:hover {
    transform: translateY(-1px);
    background: #1f44ef;
    box-shadow: 0 10px 24px rgba(43, 81, 252, .22);
}

.page-stack {
    gap: 48px;
    padding-top: 8px;
    padding-bottom: 80px;
}

.academy-hero,
.page-hero,
.track-hero,
.panel,
.metrics article,
.track-card,
.journey-row,
.lesson-row,
.content-table {
    border: 1px solid rgba(22, 27, 52, .045);
}

.academy-hero {
    overflow: hidden;
}

.hero-copy {
    max-width: 590px;
}

.hero-copy h1,
.page-hero h1,
.track-hero h1,
.admin-title h1 {
    letter-spacing: -.045em;
    line-height: 1.02;
}

.hero-copy p,
.page-hero p,
.track-hero p,
.admin-title p,
.track-card p,
.active-track p {
    line-height: 1.55;
}

.progress-visual {
    align-self: stretch;
    min-height: 326px;
}

.section-title,
.section-heading h2,
.panel h2 {
    letter-spacing: -.03em;
    line-height: 1.15;
}

.section-heading {
    min-height: 48px;
    align-items: flex-end;
}

.section-heading .button-primary {
    color: #fff;
}

.featured-learning {
    align-items: stretch;
}

.featured-learning > article {
    min-height: 322px;
}

.next-lesson,
.active-track,
.track-card {
    display: flex;
    flex-direction: column;
}

.next-lesson > a,
.track-card > strong {
    margin-top: auto;
}

.active-track .progress-bar {
    margin-top: auto;
}

.card-grid {
    align-items: stretch;
}

.track-card {
    min-height: 280px;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.track-card:hover {
    transform: translateY(-3px);
    border-color: rgba(43, 81, 252, .16);
    box-shadow: 0 18px 40px rgba(28, 36, 76, .08);
}

.track-card h3 {
    line-height: 1.16;
}

.track-card.has-cover {
    min-height: 410px;
}

.track-card-cover {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8;
    margin-bottom: 20px;
    border-radius: 16px;
    object-fit: cover;
    object-position: center;
    background: #eaf6fb;
}

.track-card-progress {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 22px;
}

.track-card-progress small {
    color: #545a6c;
    font-weight: 600;
}

.track-card-progress + strong {
    margin-top: 18px;
}

.next-lesson h3,
.active-track h3 {
    overflow-wrap: anywhere;
    line-height: 1.08;
}

.metrics {
    align-items: stretch;
}

.metrics article {
    min-height: 150px;
}

.journey-row,
.lesson-row,
.content-table article,
.table-head {
    column-gap: 24px;
}

.journey-row h3,
.lesson-row h3 {
    line-height: 1.3;
}

.track-hero > div {
    max-width: 720px;
}

.track-hero aside {
    min-width: 270px;
}

.lesson-row.completed {
    background: #f2fbf6;
}

.lesson-row.completed > span,
.lesson-row.completed > strong {
    color: #27764a;
}

/* Experiência de aula */
.lesson-view {
    padding-bottom: 88px;
}

.lesson-topbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    min-height: 82px;
    border-top: 1px solid #ececf1;
}

.lesson-topbar > a {
    color: var(--blue);
    font-size: 14px;
    font-weight: 600;
}

.lesson-topbar > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lesson-topbar > div span {
    color: #7b8091;
    font-size: 12px;
}

.lesson-duration {
    justify-self: end;
    border-radius: 999px;
    padding: 8px 12px;
    background: #f0f2f8;
    color: #5d6375;
    font-size: 13px;
    font-weight: 600;
}

.preview-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    border-radius: 14px;
    padding: 13px 17px;
    background: #fff3d2;
    color: #765815;
    font-size: 14px;
}

.lesson-view > .flash {
    margin-bottom: 20px;
}

.lesson-view-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: start;
    gap: 40px;
    padding-top: 48px;
}

.lesson-content {
    max-width: 880px;
}

.lesson-content > h1 {
    max-width: 820px;
    margin: 18px 0 18px;
    font-size: clamp(44px, 5.2vw, 72px);
    letter-spacing: -.055em;
    line-height: 1.03;
}

.lesson-lead {
    max-width: 760px;
    margin: 0 0 34px;
    color: #5f6578;
    font-size: 20px;
    line-height: 1.55;
}

.video-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;
    border-radius: 26px;
    background: #10182c;
    box-shadow: 0 20px 48px rgba(22, 28, 52, .12);
}

.video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.external-content,
.material-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    border: 1px solid #dfe4f4;
    border-radius: 22px;
    padding: 22px;
    background: #eaf9fc;
}

.lesson-empty-content {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 780px;
    border: 1px dashed #d9ddea;
    border-radius: 22px;
    padding: 28px;
    background: #f8f8fa;
}

.lesson-empty-content > span {
    display: grid;
    width: 50px;
    height: 50px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 16px;
    background: #e9edff;
    color: var(--blue);
    font-size: 20px;
}

.lesson-empty-content p {
    margin: 5px 0 0;
    color: #6d7283;
    line-height: 1.5;
}

.button:disabled {
    cursor: not-allowed;
    opacity: .6;
}

.external-content > span,
.material-card > span {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 17px;
    background: var(--blue);
    color: #fff;
    font-size: 19px;
}

.external-content div,
.material-card div {
    display: grid;
    gap: 5px;
}

.external-content small,
.material-card small {
    color: #697184;
}

.external-content > b,
.material-card > b {
    color: var(--blue);
}

.lesson-body {
    max-width: 780px;
    margin-top: 42px;
    color: #303544;
    font-size: 18px;
    line-height: 1.75;
}

.lesson-body p {
    margin: 0 0 24px;
}

.material-card {
    margin-top: 34px;
    background: #f8f8fa;
}

.lesson-progress-panel {
    position: sticky;
    top: 24px;
    border: 1px solid #e4e6ed;
    border-radius: 28px;
    padding: 30px;
    background: #f9f9fb;
}

.completion-icon {
    display: grid;
    width: 86px;
    height: 86px;
    margin: 24px 0;
    place-items: center;
    border-radius: 50%;
    background: #e9edff;
    color: var(--blue);
    font-size: 32px;
    font-weight: 700;
}

.completion-icon.done {
    background: #dff6e9;
    color: #247447;
}

.lesson-progress-panel h2 {
    margin: 0 0 10px;
    font-size: 28px;
    letter-spacing: -.035em;
}

.lesson-progress-panel > p {
    margin: 0 0 24px;
    color: #666d80;
    line-height: 1.55;
}

.lesson-progress-panel form {
    margin: 0;
}

.lesson-sequence {
    display: grid;
    gap: 12px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #e1e3ea;
}

.lesson-sequence a {
    display: grid;
    gap: 4px;
    border-radius: 13px;
    padding: 11px 12px;
    background: #fff;
}

.lesson-sequence span {
    color: var(--blue);
    font-size: 12px;
    font-weight: 600;
}

.lesson-sequence strong {
    font-size: 13px;
    line-height: 1.35;
}

.panel {
    height: 100%;
}

.performance-row {
    align-items: center;
}

.content-table article > div {
    min-width: 0;
}

.content-table article strong,
.content-table article span {
    overflow-wrap: anywhere;
}

.toolbar input {
    min-width: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.search-field {
    flex: 1;
}

.search-field input {
    width: 100%;
}

.filter-pills button {
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    background: transparent;
    color: #555b70;
    font: inherit;
    cursor: pointer;
}

.filter-pills button.active {
    background: var(--blue);
    color: #fff;
}

.content-table .table-head,
.content-table article {
    grid-template-columns: minmax(220px, 1.6fr) minmax(110px, .7fr) minmax(110px, .65fr) 110px minmax(120px, .65fr);
}

.status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    padding: 7px 11px;
    background: #f0f1f5;
    color: #565b6d;
    font-size: 12px;
    font-weight: 700;
}

.status-published {
    background: #e8f8ee;
    color: #227647;
}

.status-review,
.status-scheduled {
    background: #fff4d9;
    color: #8a6310;
}

.status-draft {
    background: #eef1ff;
    color: var(--blue);
}

.status-archived {
    background: #ececf0;
    color: #646879;
}

.row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.row-actions a,
.row-actions button {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--blue);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.row-actions button {
    color: #777c8e;
}

.empty-filter,
.empty-state {
    padding: 40px;
    text-align: center;
    color: #666c80;
}

.flash {
    border-radius: 16px;
    padding: 16px 18px;
    background: #eaf8ef;
    color: #226a42;
    line-height: 1.45;
}

.flash-error {
    background: #fff0ef;
    color: #983b35;
}

.flash ul {
    margin: 8px 0 0;
    padding-left: 20px;
}

/* Editor de conteúdo */
.editor-page {
    padding: 30px 0 88px;
}

.editor-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 32px;
}

.back-link {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--blue);
    font-size: 14px;
    font-weight: 600;
}

.editor-header h1 {
    margin: 0 0 12px;
    font-size: clamp(42px, 5vw, 64px);
    letter-spacing: -.05em;
    line-height: 1;
}

.editor-header p,
.editor-card-heading p,
.lesson-manager-header p {
    margin: 0;
    color: #686e81;
    line-height: 1.5;
}

.editor-page > .flash {
    margin-bottom: 24px;
}

.editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: start;
    gap: 24px;
}

.editor-card,
.editor-tip,
.editor-aside dl,
.lesson-manager {
    border: 1px solid #e7e8ee;
    border-radius: 28px;
    background: #f9f9fb;
}

.editor-card {
    display: grid;
    gap: 24px;
    padding: 36px;
}

.editor-card-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e6ec;
}

.editor-card-heading > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.editor-card-heading span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.editor-card h2,
.editor-tip h2,
.lesson-manager h2 {
    margin: 0;
    letter-spacing: -.03em;
}

.track-editor-form label,
.add-lesson-form label {
    display: grid;
    gap: 9px;
    color: #292d3b;
    font-size: 14px;
    font-weight: 600;
}

.track-editor-form input,
.track-editor-form textarea,
.track-editor-form select,
.add-lesson-form input,
.add-lesson-form select {
    width: 100%;
    border: 1px solid #dcdfe9;
    border-radius: 13px;
    padding: 14px 15px;
    background: #fff;
    color: #202331;
    font: inherit;
    font-weight: 400;
}

.track-editor-form textarea {
    min-height: 130px;
    resize: vertical;
}

.track-editor-form input:focus,
.track-editor-form textarea:focus,
.track-editor-form select:focus,
.add-lesson-form input:focus,
.add-lesson-form select:focus {
    outline: 0;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(43, 81, 252, .1);
}

.form-columns {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 18px;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 6px;
}

.button-secondary {
    border: 1px solid #d9dce7;
    background: #fff;
    color: #333747;
}

.editor-aside {
    display: grid;
    gap: 18px;
}

.editor-tip {
    padding: 30px;
    background: #e9f9fc;
}

.editor-tip > span {
    color: var(--blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.editor-tip h2 {
    margin: 18px 0 12px;
    font-size: 26px;
    line-height: 1.15;
}

.editor-tip p {
    margin: 0;
    color: #596174;
    line-height: 1.55;
}

.editor-aside dl {
    margin: 0;
    padding: 14px 28px;
}

.editor-aside dl div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid #e5e6ec;
}

.editor-aside dl div:last-child {
    border-bottom: 0;
}

.editor-aside dt {
    color: #6a7082;
}

.editor-aside dd {
    margin: 0;
    font-weight: 600;
}

.lesson-manager {
    margin-top: 28px;
    padding: 36px;
}

.lesson-manager-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.lesson-manager-header h2 {
    margin: 12px 0 8px;
    font-size: 34px;
}

.lesson-manager-header > strong {
    border-radius: 999px;
    padding: 9px 13px;
    background: #eef1ff;
    color: var(--blue);
    font-size: 13px;
}

.add-lesson-form {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 180px 120px auto;
    align-items: end;
    gap: 14px;
    margin: 28px 0;
    padding: 22px;
    border-radius: 18px;
    background: #eaf9fc;
}

.add-lesson-form label:nth-of-type(3) {
    position: relative;
}

.add-lesson-form label:nth-of-type(3) input {
    padding-right: 42px;
}

.add-lesson-form label:nth-of-type(3) span {
    position: absolute;
    right: 13px;
    bottom: 15px;
    color: #73798b;
    font-size: 12px;
}

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

.lesson-admin-list article {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 18px;
    border: 1px solid #e5e6ed;
    border-radius: 16px;
    padding: 17px 18px;
    background: #fff;
}

.lesson-position {
    color: var(--blue);
    font-variant-numeric: tabular-nums;
}

.lesson-main {
    display: grid;
    gap: 5px;
}

.lesson-main > span {
    color: #74798a;
    font-size: 13px;
}

.lesson-published {
    color: #267749;
    font-size: 12px;
    font-weight: 700;
}

.lesson-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lesson-actions button {
    min-width: 34px;
    height: 34px;
    border: 1px solid #dee1ea;
    border-radius: 9px;
    background: #fff;
    color: #4e5364;
    cursor: pointer;
}

.lesson-actions button:disabled {
    opacity: .35;
    cursor: default;
}

.lesson-actions button.danger {
    padding-inline: 11px;
    color: #a33c38;
    font-size: 12px;
}

.lesson-actions .lesson-edit {
    display: inline-flex;
    height: 34px;
    align-items: center;
    border: 1px solid #d8def8;
    border-radius: 9px;
    padding: 0 11px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
}

.lesson-status-draft {
    color: #6f7485;
}

.lesson-status-review {
    color: #966b0d;
}

.lesson-editor-page .editor-header .eyebrow {
    display: block;
    margin-bottom: 12px;
}

.lesson-content-form label {
    display: grid;
    gap: 9px;
    color: #292d3b;
    font-size: 14px;
    font-weight: 600;
}

.lesson-content-form input,
.lesson-content-form textarea,
.lesson-content-form select {
    width: 100%;
    border: 1px solid #dcdfe9;
    border-radius: 13px;
    padding: 14px 15px;
    background: #fff;
    color: #202331;
    font: inherit;
    font-weight: 400;
}

.lesson-content-form textarea {
    resize: vertical;
}

.lesson-content-form .content-editor {
    min-height: 280px;
    line-height: 1.55;
}

.lesson-content-form label > small {
    color: #7b8091;
    font-size: 12px;
    font-weight: 400;
}

.lesson-content-form input:focus,
.lesson-content-form textarea:focus,
.lesson-content-form select:focus {
    outline: 0;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(43, 81, 252, .1);
}

.lesson-editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: start;
    gap: 24px;
}

.lesson-editor-main {
    display: grid;
    gap: 24px;
}

.form-columns.three {
    grid-template-columns: minmax(160px, 1fr) 180px 180px;
}

.lesson-editor-sidebar {
    position: sticky;
    top: 24px;
    display: grid;
    gap: 16px;
}

.lesson-preview-card {
    background: #eaf9fc;
}

.preview-icon {
    display: grid;
    width: 64px;
    height: 64px;
    margin: 22px 0;
    place-items: center;
    border-radius: 20px;
    background: var(--blue);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
}

.lesson-preview-card h2 {
    overflow-wrap: anywhere;
}

.lesson-preview-card dl {
    margin: 22px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(34, 56, 84, .12);
}

.lesson-preview-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 0;
}

.lesson-preview-card dt {
    color: #6e7586;
}

.lesson-preview-card dd {
    margin: 0;
    font-weight: 600;
}

.publish-checklist {
    display: grid;
    gap: 13px;
    border: 1px solid #e4e6ed;
    border-radius: 20px;
    padding: 24px;
    background: #fff;
}

.publish-checklist h3 {
    margin: 0 0 4px;
}

.publish-checklist label {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 9px;
    color: #606678;
    font-size: 13px;
    font-weight: 400;
}

.publish-checklist input {
    width: 16px;
    height: 16px;
    padding: 0;
    accent-color: var(--blue);
}

.sticky-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    border: 1px solid #e4e6ed;
    border-radius: 18px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(29, 34, 64, .08);
}

.sticky-actions .button {
    width: 100%;
    padding-inline: 14px;
}

/* Gestão de avaliações */
.assessment-admin {
    margin-bottom: 88px;
    border: 1px solid #e5e6ed;
    border-radius: 28px;
    padding: 36px;
    background: #f9f9fb;
}

.assessment-settings {
    display: grid;
    grid-template-columns: 180px 220px auto;
    align-items: end;
    gap: 16px;
    margin: 28px 0 18px;
    padding: 20px;
    border-radius: 18px;
    background: #eaf9fc;
}

.assessment-settings label,
.question-form > label {
    position: relative;
    display: grid;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
}

.assessment-settings input,
.question-form input[type="text"],
.question-form textarea {
    width: 100%;
    border: 1px solid #dce0ea;
    border-radius: 12px;
    padding: 13px 14px;
    background: #fff;
    font: inherit;
}

.assessment-settings label span {
    position: absolute;
    right: 14px;
    bottom: 14px;
    color: #73798b;
}

.question-form {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) 1.2fr auto;
    align-items: end;
    gap: 20px;
    border: 1px solid #e3e5ed;
    border-radius: 18px;
    padding: 22px;
    background: #fff;
}

.question-form fieldset {
    display: grid;
    gap: 8px;
    margin: 0;
    border: 0;
    padding: 0;
}

.question-form legend {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
}

.question-form fieldset label {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 8px;
}

.question-form fieldset small {
    color: #747a8d;
}

.question-admin-list {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.question-admin-list article {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 18px;
    border: 1px solid #e4e6ed;
    border-radius: 17px;
    padding: 22px;
    background: #fff;
}

.question-admin-list article > span {
    color: var(--blue);
}

.question-admin-list h3 {
    margin: 0 0 12px;
    font-size: 17px;
}

.question-admin-list ol {
    margin: 0;
    padding-left: 22px;
    color: #696f81;
    line-height: 1.7;
}

.question-admin-list li.correct {
    color: #267548;
    font-weight: 600;
}

.question-admin-list article button {
    border: 0;
    background: transparent;
    color: #a33c38;
    cursor: pointer;
}

/* Avaliação do colaborador */
.assessment-view {
    padding-top: 38px;
    padding-bottom: 88px;
}

.assessment-hero {
    max-width: 900px;
    margin-bottom: 32px;
}

.assessment-hero > a {
    display: inline-block;
    margin-bottom: 34px;
    color: var(--blue);
    font-size: 14px;
    font-weight: 600;
}

.assessment-hero > .eyebrow {
    display: block;
}

.assessment-hero h1 {
    margin: 16px 0;
    font-size: clamp(48px, 6vw, 76px);
    letter-spacing: -.055em;
    line-height: 1.02;
}

.assessment-hero > p {
    max-width: 720px;
    color: #656b7d;
    font-size: 19px;
    line-height: 1.55;
}

.assessment-hero > div {
    display: flex;
    gap: 28px;
    margin-top: 24px;
}

.assessment-hero > div span {
    color: #717789;
}

.assessment-hero > div strong {
    margin-right: 5px;
    color: #252936;
}

.assessment-view > .flash,
.assessment-view > .preview-banner {
    margin-bottom: 22px;
}

.assessment-result,
.assessment-complete {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 900px;
    margin-bottom: 28px;
    border-radius: 20px;
    padding: 22px;
    background: #eef1ff;
}

.assessment-result > span,
.assessment-complete > span {
    display: grid;
    width: 58px;
    height: 58px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}

.assessment-result.passed,
.assessment-complete {
    background: #e8f8ee;
}

.assessment-result.passed > span,
.assessment-complete > span {
    background: #2b8655;
}

.assessment-result.failed {
    background: #fff1ef;
}

.assessment-result.failed > span {
    background: #bd5048;
}

.assessment-result strong {
    font-size: 30px;
}

.assessment-result p,
.assessment-complete p,
.assessment-complete h2 {
    margin: 3px 0;
}

.assessment-complete .button {
    margin-left: auto;
}

.assessment-form {
    display: grid;
    gap: 18px;
    max-width: 960px;
}

.assessment-form fieldset {
    margin: 0;
    border: 1px solid #e3e5ed;
    border-radius: 24px;
    padding: 30px;
    background: #f9f9fb;
}

.assessment-form legend {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 8px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
}

.assessment-form legend span {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 12px;
}

.assessment-form fieldset > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 22px;
}

.assessment-form fieldset label {
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: center;
    gap: 12px;
    border: 1px solid #dfe2eb;
    border-radius: 14px;
    padding: 16px;
    background: #fff;
    cursor: pointer;
}

.assessment-form fieldset label:has(input:checked) {
    border-color: var(--blue);
    background: #eef1ff;
}

.assessment-form input {
    accent-color: var(--blue);
}

.assessment-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 0;
}

.assessment-submit p {
    color: #707688;
}

.attempt-history {
    max-width: 960px;
    margin-top: 42px;
}

.attempt-history h2 {
    margin-bottom: 18px;
}

.attempt-history > div {
    display: grid;
    grid-template-columns: 1fr 80px 130px;
    align-items: center;
    gap: 20px;
    border-top: 1px solid #e4e6ed;
    padding: 15px 0;
}

.attempt-history b {
    border-radius: 999px;
    padding: 7px 10px;
    text-align: center;
    font-size: 12px;
}

.attempt-history b.passed { background:#e6f7ed; color:#267548; }
.attempt-history b.failed { background:#fff0ef; color:#a5443e; }

.assessment-cards {
    display: grid;
    gap: 14px;
}

.assessment-cards > a {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) 180px;
    align-items: center;
    gap: 24px;
    border: 1px solid #e4e6ed;
    border-radius: 22px;
    padding: 24px;
    background: #f9f9fb;
    transition: transform .2s ease, box-shadow .2s ease;
}

.assessment-cards > a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(27, 34, 70, .07);
}

.assessment-card-icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border-radius: 20px;
    background: var(--blue);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}

.assessment-cards small {
    color: var(--blue);
    font-weight: 600;
}

.assessment-cards h3 {
    margin: 7px 0;
    font-size: 24px;
}

.assessment-cards p {
    margin: 0;
    color: #696f81;
}

.assessment-cards aside {
    display: grid;
    justify-items: end;
    gap: 5px;
}

.assessment-cards aside span {
    color: #767c8d;
    font-size: 12px;
}

.assessment-cards aside strong {
    color: var(--blue);
    font-size: 24px;
}

.assessment-cards aside b {
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
}

.assessment-cards aside b.passed { background:#e6f7ed; color:#267548; }
.assessment-cards aside b.pending { background:#fff3d7; color:#896310; }

/* Gestão de pessoas */
.people-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.people-summary article { display:grid;gap:7px;border:1px solid #e5e7ee;border-radius:20px;padding:24px;background:#f9f9fb; }
.people-summary article:first-child { background:#eaf9fc; }
.people-summary strong { font-size:34px; }
.people-summary span { color:#6e7486; }
.people-list { display:grid;gap:9px; }
.people-list > a { display:grid;grid-template-columns:48px minmax(190px,1.3fr) minmax(130px,.8fr) 120px 100px 70px 20px;align-items:center;gap:18px;border:1px solid #e5e7ed;border-radius:16px;padding:16px 18px;background:#fff; }
.people-list > a:hover { border-color:#ccd5ff;box-shadow:0 10px 26px rgba(28,35,70,.06); }
.person-avatar { display:grid;width:44px;height:44px;place-items:center;border-radius:15px;background:#e9edff;color:var(--blue);font-weight:700; }
.people-list > a > div:nth-of-type(1),.person-progress { display:grid;gap:4px; }
.people-list small { color:#73798b; }
.person-progress strong { color:var(--blue); }
.people-list b { border-radius:999px;padding:6px 8px;text-align:center;font-size:11px; }
.people-list b.active { background:#e6f7ed;color:#277549; }
.people-list b.inactive { background:#eeeef1;color:#6d7180; }
.people-list i { color:var(--blue);font-style:normal; }
.person-editor > .flash { margin-bottom:22px; }
.person-form { margin-bottom:28px; }
.person-form label { display:grid;gap:9px;color:#292d3b;font-size:14px;font-weight:600; }
.person-form input:not([type="checkbox"]),.person-form select { width:100%;border:1px solid #dcdfe9;border-radius:13px;padding:14px 15px;background:#fff;color:#202331;font:inherit;font-weight:400; }
.person-form input:focus,.person-form select:focus { outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(43,81,252,.1); }
.person-form .form-columns { grid-template-columns:1fr 1fr; }
.person-form .form-columns.three { grid-template-columns:1fr 1fr 220px; }
.access-switch { display:flex!important;align-items:flex-start;gap:12px;border:1px solid #dfe3ec;border-radius:16px;padding:17px;background:#fff; }
.access-switch input { width:20px!important;height:20px;margin-top:2px;accent-color:var(--blue); }
.access-switch span { display:grid;gap:4px; }
.access-switch small { color:#73798b;font-weight:400; }
.enrollment-manager { border:1px solid #e5e7ed;border-radius:28px;padding:36px;background:#f9f9fb; }
.enrollment-list { display:grid;gap:10px;margin-top:28px; }
.enrollment-list article { display:grid;grid-template-columns:minmax(230px,1fr) minmax(120px,.8fr) 55px 170px;align-items:center;gap:18px;border:1px solid #e2e5ed;border-radius:16px;padding:17px 20px;background:#fff; }
.enrollment-list article > label:first-child { display:flex;align-items:center;gap:12px; }
.enrollment-list input[type="checkbox"] { width:20px;height:20px;accent-color:var(--blue); }
.enrollment-list article > label span { display:grid;gap:3px; }
.enrollment-list article small { color:var(--blue);font-size:11px;text-transform:uppercase; }
.enrollment-list article > label:last-child { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-size:12px; }
.enrollment-list input[type="date"] { min-width:0;border:1px solid #dce0e9;border-radius:10px;padding:9px;font:inherit; }
.mini-progress { overflow:hidden;height:7px;border-radius:999px;background:#e1e3e9; }
.mini-progress span { display:block;height:100%;border-radius:inherit;background:var(--blue); }

/* Relatórios */
.reports-page { padding:34px 0 88px; }
.reports-header { display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px; }
.reports-header h1 { margin:15px 0 10px;font-size:64px;letter-spacing:-.05em;line-height:1; }
.reports-header p { margin:0;color:#686e80; }
.report-metrics { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px; }
.report-metrics article { display:grid;gap:7px;border:1px solid #e4e6ed;border-radius:22px;padding:26px;background:#f9f9fb; }
.report-metrics article.highlight { background:#eaf9fc; }
.report-metrics article.warning { background:#fff1ef; }
.report-metrics span,.report-metrics small { color:#6e7486; }
.report-metrics strong { font-size:38px; }
.reports-grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;margin-bottom:18px; }
.reports-grid.lower { margin-top:18px; }
.report-panel { border:1px solid #e4e6ed;border-radius:24px;padding:28px;background:#f9f9fb; }
.report-panel-title { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px; }
.report-panel-title h2 { margin:0 0 7px;font-size:25px;letter-spacing:-.03em; }
.report-panel-title p { margin:0;color:#707688; }
.report-panel-title > a { color:var(--blue);font-size:13px;font-weight:600; }
.report-bars { display:grid;gap:22px; }
.report-bars > div { display:grid;grid-template-columns:minmax(180px,.9fr) minmax(180px,1fr) 50px;align-items:center;gap:18px; }
.report-bars > div > div:first-child { display:grid;gap:4px; }
.report-bars span { color:#767c8e;font-size:12px; }
.report-bars b { text-align:right; }
.report-departments > div:not(.report-panel-title) { display:grid;grid-template-columns:1fr auto;gap:5px;border-top:1px solid #e1e3e9;padding:16px 0; }
.report-departments small { grid-column:1/-1;color:#777d8e; }
.report-table-head,.people-report > a { display:grid;grid-template-columns:1.3fr 1fr 100px 100px 1fr;align-items:center;gap:18px; }
.report-table-head { padding:0 16px 12px;color:#7a8091;font-size:11px;text-transform:uppercase; }
.people-report > a { border-top:1px solid #e1e3e9;padding:16px; }
.people-report > a:hover { background:#fff; }
.people-report > a > div { display:grid;grid-template-columns:1fr 42px;align-items:center;gap:10px; }
.people-report b { text-align:right; }
.assessment-report { display:grid;gap:10px; }
.assessment-report article { display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px 90px;align-items:center;gap:16px;border-top:1px solid #e1e3e9;padding:15px 0; }
.assessment-report article > div { display:grid;gap:4px; }
.assessment-report small { color:var(--blue); }
.assessment-report span { color:#73798b;font-size:12px; }
.assessment-report b { display:block;color:#252936;font-size:18px; }
.report-empty { display:grid;justify-items:center;gap:7px;padding:34px;text-align:center; }
.report-empty > span { display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#e4f7ec;color:#267548;font-size:22px; }
.report-empty p { margin:0;color:#747a8c; }
.overdue-panel > a { display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e1e3e9;padding:15px 0; }
.overdue-panel > a div { display:grid;gap:4px; }
.overdue-panel > a small { color:#747a8b; }
.overdue-panel > a b { color:#b34a43; }

/* Notificações */
.notifications-page { padding:38px 0 88px; }
.notifications-header { display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px; }
.notifications-header h1 { margin:15px 0 10px;font-size:64px;letter-spacing:-.05em;line-height:1; }
.notifications-header p { margin:0;color:#6d7385; }
.notification-summary { display:flex;align-items:baseline;gap:9px;margin-bottom:20px;color:#6f7587; }
.notification-summary strong { color:var(--blue);font-size:28px; }
.notification-list { display:grid;gap:12px;max-width:960px; }
.notification-item { display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:20px;border:1px solid #e1e4ed;border-radius:20px;padding:20px;background:#fff; }
.notification-item:not(.read) { border-color:#d1d9ff;background:#f8f9ff; }
.notification-item.read { opacity:.72; }
.notification-icon { display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:#e9edff;color:var(--blue);font-size:20px;font-weight:700; }
.notification-item.warning .notification-icon { background:#fff1cf;color:#8b6512; }
.notification-item.danger .notification-icon { background:#ffe6e3;color:#ae413b; }
.notification-item.assessment .notification-icon { background:#eaf9fc;color:#247089; }
.notification-item > div { display:grid;gap:6px; }
.notification-item > div > div { display:flex;align-items:center;gap:9px; }
.notification-item i { border-radius:999px;padding:4px 7px;background:var(--blue);color:#fff;font-size:9px;font-style:normal;text-transform:uppercase; }
.notification-item p { margin:0;color:#606779;line-height:1.45; }
.notification-item small { color:#858a99; }
.notification-item > b { color:var(--blue); }
.notification-empty { display:grid;justify-items:center;gap:8px;border:1px solid #e3e6ed;border-radius:24px;padding:56px;background:#f9f9fb;text-align:center; }
.notification-empty > span { display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:#e4f7ec;color:#267548;font-size:24px; }
.notification-empty h2,.notification-empty p { margin:0; }
.notification-empty p { color:#727889; }
.notification-empty .button { margin-top:12px; }
.dashboard-alerts { display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch;gap:12px; }
.dashboard-alert { display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:13px;border:1px solid #e1e5ef;border-radius:17px;padding:15px 17px;background:#f9f9fb; }
.dashboard-alert.warning { background:#fff8e7; }
.dashboard-alert > span { display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#e9edff;color:var(--blue);font-weight:700; }
.dashboard-alert.warning > span { background:#ffeab7;color:#855f0c; }
.dashboard-alert > div { display:grid;gap:3px; }
.dashboard-alert small { color:#6f7586;line-height:1.35; }
.dashboard-alert > b { color:var(--blue); }
.all-alerts { display:grid;min-width:120px;place-items:center;border:1px solid #dfe3ed;border-radius:17px;padding:12px;color:var(--blue);font-size:13px;font-weight:600;text-align:center; }
.performance-row > span { display:grid;gap:4px; }
.performance-row > span small { color:#7a8090;font-size:11px; }
.admin-empty-state { display:grid;gap:7px;margin-top:24px;padding:30px;border:1px dashed #cfd5e2;border-radius:18px;color:#6c7282;text-align:center; }

/* Acesso */
.login-shell {
    min-height: 100svh;
    grid-template-columns: minmax(0, 1fr) minmax(520px, 1.03fr);
    padding-top: 0;
}

.login-visual,
.login-form-panel {
    min-width: 0;
}

.login-photo {
    height: calc(100svh - 16px);
    min-height: 672px;
}

.login-copy {
    max-width: 620px;
}

.login-copy h1 {
    max-width: 590px;
    letter-spacing: -.045em;
    line-height: 1.06;
}

.login-form-panel {
    display: flex;
    flex-direction: column;
}

.login-form-panel > .brand {
    align-self: flex-start;
}

.login-form {
    width: min(100%, 520px);
    margin-block: auto;
    padding-block: 40px;
}

.login-form h2 {
    letter-spacing: -.04em;
    line-height: 1.1;
}

.login-form > p {
    line-height: 1.55;
}

.login-form input {
    transition: border-color .2s ease, box-shadow .2s ease;
}

.login-form input:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(43, 81, 252, .1);
}

.login-support {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin-top: 16px;
    text-align: center;
}

.login-support small {
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .site-header {
        gap: 20px;
    }

    .main-nav {
        gap: 20px;
    }

    .brand small {
        display: none;
    }

    .academy-hero {
        padding-left: 64px;
        gap: 40px;
    }

    .featured-learning {
        grid-template-columns: minmax(360px, .8fr) 1fr;
    }

    .login-shell {
        grid-template-columns: minmax(0, .9fr) minmax(480px, 1fr);
    }

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

    .lesson-editor-grid {
        grid-template-columns: 1fr;
    }

    .question-form {
        grid-template-columns: 1fr;
    }

    .lesson-editor-sidebar {
        position: static;
        grid-template-columns: 1fr 1fr;
    }

    .sticky-actions {
        grid-column: 1 / -1;
    }

    .editor-aside {
        grid-template-columns: 1fr 1fr;
    }

    .add-lesson-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 900px) {
    .container {
        width: min(100% - 40px, 720px);
    }

    .site-header {
        min-height: 80px;
    }

    .main-nav {
        display: none;
    }

    .profile-button {
        max-width: 180px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .notification-button { width:42px;height:42px; }

    .page-stack {
        gap: 36px;
        padding-top: 4px;
        padding-bottom: 56px;
    }

    .academy-hero {
        padding: 44px;
        gap: 32px;
    }

    .progress-visual {
        min-height: 280px;
    }

    .featured-learning {
        grid-template-columns: 1fr;
    }

    .featured-learning > article {
        min-height: 280px;
    }

    .track-card {
        min-height: 240px;
    }

    .section-heading {
        align-items: flex-start;
    }

    .track-hero aside {
        min-width: 0;
    }

    .lesson-topbar {
        grid-template-columns: 1fr auto;
    }

    .lesson-topbar > div {
        display: none;
    }

    .lesson-view-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .lesson-progress-panel {
        position: static;
    }

    .assessment-form fieldset > div {
        grid-template-columns: 1fr;
    }

    .assessment-cards > a {
        grid-template-columns: 62px 1fr;
    }

    .people-list > a { grid-template-columns:48px 1fr auto; }
    .people-list > a > span:not(.person-avatar),.people-list > a > div.person-progress { display:none; }
    .people-list > a > b { grid-column:3;grid-row:1; }
    .people-list > a > i { grid-column:3;grid-row:2;justify-self:end; }
    .enrollment-list article { grid-template-columns:1fr 60px; }
    .enrollment-list .mini-progress { grid-column:1; }
    .enrollment-list article > label:last-child { grid-column:1/-1; }
    .report-metrics { grid-template-columns:1fr 1fr; }
    .reports-grid { grid-template-columns:1fr; }
    .report-table { overflow-x:auto; }
    .report-table-head,.people-report > a { min-width:760px; }
    .dashboard-alerts { grid-template-columns:1fr; }
    .all-alerts { min-height:48px; }

    .assessment-cards aside {
        grid-column: 2;
        justify-items: start;
    }

    .login-shell {
        display: block;
        min-height: 100svh;
        padding: 0;
    }

    .login-visual {
        display: block;
        padding: 16px 16px 0;
    }

    .login-photo {
        height: 260px;
        min-height: 0;
        border-radius: 26px;
        background-position: center 30%;
    }

    .login-copy {
        padding: 28px;
    }

    .login-copy h1 {
        max-width: 480px;
        font-size: clamp(28px, 6vw, 38px);
    }

    .login-copy p {
        margin-top: 10px;
    }

    .login-form-panel {
        min-height: auto;
        padding: 28px 24px 48px;
    }

    .login-form-panel > .brand {
        order: 2;
        margin-top: 32px;
    }

    .login-form {
        order: 1;
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 620px) {
    .container {
        width: calc(100% - 32px);
    }

    .brand img {
        width: 94px;
        height: auto;
    }

    .header-actions { gap:6px; }
    .notification-button { width:40px;height:40px; }

    .profile-button {
        max-width: 142px;
        padding-inline: 14px;
        font-size: 13px;
    }

    .academy-hero,
    .page-hero,
    .track-hero {
        padding: 30px 24px;
        border-radius: 24px;
    }

    .hero-copy h1,
    .page-hero h1,
    .track-hero h1,
    .admin-title h1 {
        font-size: clamp(38px, 12vw, 54px);
    }

    .academy-hero {
        gap: 28px;
    }

    .progress-visual {
        min-height: 238px;
        border-radius: 20px;
    }

    .progress-circle {
        width: 178px;
        height: 178px;
    }

    .section-title,
    .section-heading h2 {
        font-size: 32px;
    }

    .featured-learning > article,
    .track-card,
    .metrics article,
    .panel {
        padding: 28px 24px;
        border-radius: 22px;
    }

    .next-lesson h3,
    .active-track h3 {
        font-size: 34px;
    }

    .metrics article {
        min-height: 128px;
    }

    .journey-row,
    .lesson-row {
        row-gap: 16px;
        padding: 24px;
        border-radius: 20px;
    }

    .lesson-row {
        grid-template-columns: 44px 1fr auto;
    }

    .lesson-row strong {
        grid-column: 2 / -1;
        justify-self: start;
    }

    .journey-row {
        grid-template-columns: 1fr auto;
    }

    .journey-row > div,
    .journey-row > .progress-bar {
        grid-column: 1 / -1;
    }

    .journey-row > strong {
        grid-column: 1;
    }

    .journey-row > b {
        grid-column: 2;
        justify-self: end;
    }

    .track-hero aside .button {
        width: 100%;
        white-space: nowrap;
        font-size: 14px;
    }

    .lesson-view {
        padding-bottom: 56px;
    }

    .lesson-topbar {
        min-height: 68px;
    }

    .lesson-view-grid {
        padding-top: 34px;
    }

    .lesson-content > h1 {
        font-size: 42px;
    }

    .lesson-lead {
        font-size: 17px;
    }

    .video-frame {
        border-radius: 20px;
    }

    .external-content,
    .material-card {
        gap: 13px;
        padding: 18px;
        border-radius: 20px;
    }

    .external-content > span,
    .material-card > span {
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    .lesson-body {
        margin-top: 32px;
        font-size: 17px;
    }

    .lesson-progress-panel {
        padding: 26px 24px;
        border-radius: 22px;
    }

    .admin-title {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }

    .admin-title .button {
        width: 100%;
    }

    .performance-row {
        grid-template-columns: 1fr auto;
        row-gap: 10px;
    }

    .performance-row .progress-bar {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .performance-row strong {
        grid-column: 2;
        grid-row: 1;
    }

    .toolbar {
        gap: 16px;
    }

    .filter-pills {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .filter-pills::-webkit-scrollbar {
        display: none;
    }

    .filter-pills span {
        flex: 0 0 auto;
    }

    .content-table {
        overflow-x: auto;
    }

    .table-head,
    .content-table article {
        min-width: 840px;
    }

    .editor-page {
        padding-top: 18px;
        padding-bottom: 56px;
    }

    .editor-header,
    .editor-card-heading,
    .lesson-manager-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .editor-header h1 {
        font-size: 44px;
    }

    .editor-card,
    .lesson-manager {
        padding: 26px 22px;
        border-radius: 22px;
    }

    .editor-card-heading > p {
        max-width: 36ch;
    }

    .form-columns,
    .editor-aside,
    .add-lesson-form {
        grid-template-columns: 1fr;
    }

    .form-columns.three,
    .lesson-editor-sidebar {
        grid-template-columns: 1fr;
    }

    .sticky-actions {
        grid-column: auto;
    }

    .assessment-admin {
        width: calc(100% - 32px);
        margin-bottom: 56px;
        padding: 26px 22px;
        border-radius: 22px;
    }

    .assessment-settings {
        grid-template-columns: 1fr;
    }

    .question-admin-list article {
        grid-template-columns: 34px 1fr;
    }

    .question-admin-list article form {
        grid-column: 2;
    }

    .assessment-view {
        padding-top: 22px;
        padding-bottom: 56px;
    }

    .assessment-hero > a {
        margin-bottom: 28px;
    }

    .assessment-hero h1 {
        font-size: 44px;
    }

    .assessment-hero > div {
        flex-direction: column;
        gap: 8px;
    }

    .assessment-form fieldset {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .assessment-form legend {
        font-size: 17px;
    }

    .assessment-submit,
    .assessment-complete {
        align-items: stretch;
        flex-direction: column;
    }

    .assessment-submit .button,
    .assessment-complete .button {
        width: 100%;
        margin-left: 0;
    }

    .assessment-cards > a {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .people-summary { grid-template-columns:1fr; }
    .person-form .form-columns,.person-form .form-columns.three { grid-template-columns:1fr; }
    .people-list > a { grid-template-columns:44px 1fr auto;gap:12px;padding:15px; }
    .enrollment-manager { padding:26px 22px;border-radius:22px; }
    .enrollment-list article { padding:17px 15px; }
    .reports-page { padding-top:20px;padding-bottom:56px; }
    .reports-header { align-items:stretch;flex-direction:column; }
    .reports-header h1 { font-size:46px; }
    .reports-header .button { width:100%; }
    .report-metrics { grid-template-columns:1fr; }
    .report-panel { padding:24px 20px;border-radius:22px; }
    .report-bars > div { grid-template-columns:1fr 45px; }
    .report-bars > div > div:first-child { grid-column:1/-1; }
    .assessment-report article { grid-template-columns:1fr 1fr; }
    .assessment-report article > div { grid-column:1/-1; }
    .notifications-page { padding-top:24px;padding-bottom:56px; }
    .notifications-header { align-items:stretch;flex-direction:column; }
    .notifications-header h1 { font-size:46px; }
    .notifications-header .button { width:100%; }
    .notification-item { grid-template-columns:48px 1fr;padding:17px;gap:13px; }
    .notification-icon { width:46px;height:46px;border-radius:14px; }
    .notification-item > b { grid-column:2; }

    .assessment-cards aside {
        grid-column: auto;
    }

    .form-actions {
        flex-direction: column-reverse;
    }

    .form-actions .button,
    .add-lesson-form .button {
        width: 100%;
    }

    .lesson-admin-list article {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .lesson-published,
    .lesson-actions {
        grid-column: 2;
    }

    .lesson-actions {
        flex-wrap: wrap;
    }

    .login-visual {
        padding: 12px 12px 0;
    }

    .login-photo {
        height: 230px;
        border-radius: 22px;
    }

    .login-copy {
        right: 0;
        bottom: 0;
        left: 0;
        padding: 22px;
        background: linear-gradient(0deg, rgba(15, 31, 74, .76), rgba(15, 31, 74, 0));
    }

    .login-copy h1 {
        font-size: 27px;
    }

    .login-copy p {
        font-size: 13px;
    }

    .login-form-panel {
        padding: 28px 20px 40px;
    }
}

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

.auth-link,.auth-back-link{color:#175ee7;font-weight:650;text-align:center;text-decoration:none}.auth-link:hover,.auth-back-link:hover{text-decoration:underline}.auth-compact-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 10%,#e6f6ff 0,transparent 35%),#f6f8fc}.auth-compact-card{width:min(100%,500px);padding:42px;border:1px solid #e2e7f0;border-radius:28px;background:#fff;box-shadow:0 22px 70px rgba(16,43,84,.12)}.auth-compact-card .brand{display:inline-flex;margin-bottom:38px}.auth-compact-copy span{color:#175ee7;font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.auth-compact-copy h1{margin:8px 0 12px;color:#122c5b;font-size:38px;line-height:1.08}.auth-compact-copy p{margin:0 0 24px;color:#5c677a;line-height:1.6}.auth-compact-form{width:100%;margin:22px 0}.auth-back-link{display:block;margin-top:24px}.alert-success{border-color:#b9e4d2;background:#ebfaf3;color:#176944}.dev-reset-link{display:grid;gap:7px;padding:16px;border:1px solid #bcd8ff;border-radius:14px;background:#eef6ff;color:#183b70}.dev-reset-link a{color:#175ee7;font-weight:700}@media(max-width:600px){.auth-compact-shell{padding:14px}.auth-compact-card{padding:28px 22px;border-radius:22px}.auth-compact-copy h1{font-size:32px}}

/* Sistema visual v3: ritmo, tipografia e alinhamento */
:root {
    --layout-max: 1240px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --border-soft: #e8eaf0;
    --text-soft: #656b7c;
    --shadow-soft: 0 14px 38px rgba(25, 38, 78, .055);
}

body { color: #202125; font-size: 16px; line-height: 1.55; }
.container { width: min(var(--layout-max), calc(100% - 64px)); }

.site-header {
    min-height: 80px;
    gap: var(--space-8);
    border-bottom: 1px solid rgba(26, 33, 58, .055);
}
.main-nav { gap: 28px; }
.main-nav a { font-size: 15px; }
.main-nav a.active::after,
.main-nav a[aria-current="page"]::after { bottom: 13px; }

.page-stack { gap: var(--space-10); padding-top: var(--space-8); padding-bottom: 72px; }

.hero-copy h1,
.page-hero h1,
.track-hero h1,
.admin-title h1,
.reports-header h1,
.notifications-header h1 {
    margin: 0;
    font-size: clamp(44px, 4.4vw, 56px);
    font-weight: 650;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.page-hero,
.track-hero,
.academy-hero { border-radius: 28px; }

.page-hero { min-height: 196px; padding: var(--space-10) var(--space-12); }
.page-hero h1 { margin-bottom: var(--space-5); }
.page-hero p,
.admin-title p {
    max-width: 680px;
    margin: var(--space-3) 0 0;
    color: var(--text-soft);
    font-size: 16px;
}

.academy-hero {
    min-height: 360px;
    padding: var(--space-10) var(--space-10) var(--space-10) 72px;
    gap: var(--space-12);
}
.hero-copy h1 { margin: var(--space-4) 0; }
.progress-visual { min-height: 280px; }
.progress-circle { width: 190px; height: 190px; }
.progress-circle strong { font-size: 48px; }

.section-title,
.section-heading h2,
.panel h2 {
    margin: 0;
    font-size: clamp(28px, 2.6vw, 34px);
    font-weight: 650;
    letter-spacing: -.035em;
    line-height: 1.15;
}
.section-heading { min-height: auto; gap: var(--space-6); }
.admin-title { align-items: flex-end; padding-top: var(--space-8); padding-bottom: var(--space-2); }

.button,
.profile-button {
    min-height: 44px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 650;
}
.button { height: 46px; padding-inline: 20px; }
.button-large { height: 54px; margin-top: var(--space-5); }

.academy-hero,
.page-hero,
.track-hero,
.panel,
.metrics article,
.track-card,
.journey-row,
.lesson-row,
.content-table,
.toolbar { border-color: var(--border-soft); }

.panel,
.metrics article,
.track-card { border-radius: 20px; }
.metrics { gap: var(--space-4); }
.metrics article { min-height: 132px; padding: var(--space-6); }
.metrics strong { font-size: 36px; line-height: 1; }
.metrics span { font-size: 14px; }
.admin-grid { gap: var(--space-6); }
.panel { padding: 28px; }
.performance-row { margin: 28px 0; }

.featured-learning { gap: var(--space-4); }
.featured-learning > article { min-height: 270px; padding: var(--space-10); border-radius: 24px; }
.next-lesson h3,
.active-track h3 { font-size: 28px; }

.card-grid { gap: var(--space-4); }
.track-card { min-height: 250px; padding: var(--space-6); box-shadow: none; }
.track-card.has-cover { min-height: 420px; }
.track-card-cover { aspect-ratio: 16 / 8.5; margin-bottom: var(--space-5); border-radius: 14px; }
.track-card h3 { margin: var(--space-3) 0 var(--space-2); font-size: 21px; }
.track-card p { margin: 0 0 var(--space-5); font-size: 15px; }

.filter-pills { margin-top: var(--space-5); }
.filter-pills span,
.filter-pills button { min-height: 36px; border-radius: 999px; padding: 8px 14px; font-size: 12px; }

.toolbar { gap: var(--space-4); border-radius: 16px; padding: 10px 12px; }
.toolbar input { height: 48px; }
.content-table { border-radius: 20px; padding: 10px; }
.content-table article { min-height: 78px; margin-top: 6px; padding: 14px 16px; border-radius: 14px; }

.track-hero { min-height: 300px; padding: var(--space-12) 56px; gap: var(--space-12); }
.track-hero h1 { margin: var(--space-4) 0; }
.track-hero p { max-width: 700px; margin: 0; font-size: 16px; }
.track-hero aside { min-width: 260px; border-radius: 24px; padding: var(--space-6); }
.track-hero aside strong { font-size: 54px; line-height: 1; }

.track-page { gap: 0; }
.track-page > .track-hero { margin-bottom: 56px; }
.track-page > .section-title { margin: 0 0 32px; }
.track-page > .list-stack { margin: 0; }

.lesson-row,
.journey-row { min-height: 86px; padding: 20px 22px; border-radius: 16px; }
.lesson-row h3,
.journey-row h3 { font-size: 17px; }

.lesson-topbar { min-height: 72px; }
.lesson-view-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; padding-top: var(--space-12); }
.lesson-content { min-width: 0; }
.lesson-content > h1 {
    max-width: 760px;
    margin: var(--space-3) 0 var(--space-4);
    font-size: clamp(28px, 2.6vw, 34px);
    font-weight: 650;
    letter-spacing: -.035em;
    line-height: 1.15;
}
.lesson-lead { max-width: 760px; margin: 0; font-size: 18px; line-height: 1.55; }
.lesson-body { max-width: 760px; margin-top: var(--space-12); }
.lesson-body h2 {
    margin: 42px 0 var(--space-4);
    color: #202125;
    font-size: 25px;
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.2;
}
.lesson-body h2:first-child { margin-top: 0; }
.lesson-body p,
.lesson-body li { color: #454a59; font-size: 17px; line-height: 1.72; }
.lesson-body p { margin: 0 0 var(--space-6); }
.lesson-body ul,
.lesson-body ol { display: grid; gap: 10px; margin: 0 0 var(--space-8); padding-left: 24px; }
.lesson-body li { padding-left: 6px; }
.lesson-progress-panel { top: 24px; border-radius: 22px; padding: 28px; box-shadow: var(--shadow-soft); }
.lesson-progress-panel h2 { font-size: 27px; line-height: 1.15; }

.login-shell { grid-template-columns: minmax(520px, .98fr) minmax(520px, 1.02fr); padding-top: 0; }
.login-photo { height: calc(100vh - 16px); min-height: 680px; border-radius: 0 28px 28px 0; }
.login-form-panel { padding: 48px 72px; }
.login-form-panel > .brand { margin-bottom: 0; }
.login-form { width: min(100%, 440px); padding-block: 80px; }
.login-form h2 { font-size: 34px; }
.login-form label { margin: 20px 0; }
.login-form input { height: 50px; }

@media (max-width: 900px) {
    .container { width: min(100% - 40px, 720px); }
    .site-header { flex-wrap: wrap; gap: 10px 18px; padding-block: 14px 10px; }
    .main-nav {
        order: 3;
        display: flex;
        width: 100%;
        gap: 22px;
        overflow-x: auto;
        padding-top: 5px;
        scrollbar-width: none;
    }
    .main-nav::-webkit-scrollbar { display: none; }
    .main-nav a { flex: 0 0 auto; min-height: 38px; }
    .main-nav a.active::after,
    .main-nav a[aria-current="page"]::after { bottom: 0; }
    .page-stack { padding-top: 24px; }
    .academy-hero { padding: 40px; }
    .lesson-view-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .lesson-progress-panel { position: static; width: 100%; }
    .login-shell { display: block; }
    .login-photo { height: 300px; min-height: 0; border-radius: 0 0 28px 28px; }
    .login-form { padding-block: 28px; }
}

@media (max-width: 620px) {
    .container { width: calc(100% - 32px); }
    .site-header { min-height: 72px; }
    .header-actions { margin-left: auto; }
    .notification-button { display: none; }
    .page-stack { gap: 32px; padding-bottom: 52px; }
    .hero-copy h1,
    .page-hero h1,
    .track-hero h1,
    .admin-title h1,
    .reports-header h1,
    .notifications-header h1 { font-size: clamp(36px, 11vw, 44px); }
    .page-hero,
    .track-hero,
    .academy-hero { padding: 28px 24px; border-radius: 22px; }
    .page-hero { min-height: 168px; }
    .academy-hero { gap: 24px; }
    .progress-visual { min-height: 220px; }
    .section-title,
    .section-heading h2,
    .panel h2 { font-size: 28px; }
    .featured-learning > article,
    .track-card,
    .metrics article,
    .panel { padding: 24px; border-radius: 18px; }
    .track-card.has-cover { min-height: 390px; }
    .track-hero { gap: 28px; }
    .lesson-row { grid-template-columns: 38px 1fr auto; padding: 18px; }
    .track-page { gap: 0; }
    .track-page > .track-hero { margin-bottom: 40px; }
    .track-page > .section-title { margin-bottom: 24px; }
    .lesson-content > h1 { font-size: 28px; }
    .lesson-lead { font-size: 17px; }
    .lesson-body { margin-top: 36px; }
    .lesson-body h2 { margin-top: 34px; font-size: 23px; }
    .lesson-body p,
    .lesson-body li { font-size: 16px; line-height: 1.68; }
    .login-visual { padding: 0; }
    .login-photo { height: 240px; border-radius: 0 0 22px 22px; }
    .login-form-panel { padding: 24px 20px 36px; }
    .login-form { padding-block: 20px; }

    .content-table { overflow: visible; padding: 8px; }
    .content-table .table-head { display: none; }
    .content-table article {
        min-width: 0;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px 16px;
        padding: 18px 16px;
    }
    .content-table article > div:first-child { grid-column: 1 / -1; }
    .content-table article > span:nth-of-type(1),
    .content-table article > span:nth-of-type(3) { grid-column: 1; }
    .content-table article > span:nth-of-type(2),
    .content-table article > .row-actions { grid-column: 2; justify-self: end; }
    .content-table article > span:nth-of-type(2) { grid-row: 2; }
    .content-table article > .row-actions { grid-row: 3; }
    .row-actions { align-items: flex-end; }
    .toolbar .filter-pills { gap: 6px; }
    .toolbar .filter-pills button { min-width: max-content; }
}
