
:root {
    --ihr-front-primary: #667885;
    --ihr-front-dark: #322A4D;
    --ihr-front-text: #4C4C4C;
    --ihr-front-accent: #FF6B35;
    --ihr-front-accent-hover: #E85B29;
    --ihr-front-soft: #F9F8F8;
    --ihr-front-blue-soft: #EEF3F6;
    --ihr-front-border: #E4E7EA;
    --ihr-front-white: #FFFFFF;
}

.ihr-front {
    font-family: Inter, Arial, sans-serif;
    color: var(--ihr-front-text);
    width: 100%;
}

.ihr-front *,
.ihr-front *::before,
.ihr-front *::after {
    box-sizing: border-box;
}

.ihr-front h1,
.ihr-front h2,
.ihr-front h3 {
    color: var(--ihr-front-dark);
    margin-top: 0;
}

.ihr-front h1 {
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.15;
    margin-bottom: 14px;
}

.ihr-front h2 {
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 26px;
    line-height: 1.25;
    margin-bottom: 10px;
}

.ihr-front h3 {
    font-size: 18px;
    line-height: 1.35;
}

.ihr-eyebrow {
    display: inline-block;
    color: var(--ihr-front-primary);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.ihr-login-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
    gap: 70px;
    align-items: center;
    max-width: 1080px;
    margin: 0 auto;
}

.ihr-login-intro > p {
    font-size: 17px;
    line-height: 1.7;
    max-width: 560px;
}

.ihr-login-register {
    margin-top: 28px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    font-size: 14px;
}

.ihr-login-register a,
.ihr-form-footer a,
.ihr-label-row a,
.ihr-dashboard-section-head a {
    color: var(--ihr-front-accent);
    text-decoration: none;
    font-weight: 700;
}

.ihr-front-card {
    background: var(--ihr-front-white);
    border: 1px solid var(--ihr-front-border);
    border-radius: 16px;
    box-shadow: 0 10px 34px rgba(50,42,77,.08);
    padding: 32px;
}

.ihr-card-subtitle {
    color: #70757c;
    margin: -2px 0 24px;
    line-height: 1.6;
}

.ihr-front-form {
    display: grid;
    gap: 18px;
}

.ihr-front-field label {
    display: block;
    color: var(--ihr-front-dark);
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 7px;
}

.ihr-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.ihr-label-row label {
    margin-bottom: 7px;
}

.ihr-label-row a {
    font-size: 12px;
    margin-bottom: 7px;
}

.ihr-front-field input {
    width: 100%;
    min-height: 50px;
    border: 1px solid #D9DDE1;
    border-radius: 9px;
    background: #fff;
    padding: 11px 14px;
    font: inherit;
    color: var(--ihr-front-text);
    outline: none;
    transition: border .2s ease, box-shadow .2s ease;
}

.ihr-front-field input:focus {
    border-color: var(--ihr-front-primary);
    box-shadow: 0 0 0 3px rgba(102,120,133,.12);
}

.ihr-front-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.ihr-check-row {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    color: #666b72;
}

.ihr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 11px 19px;
    border-radius: 9px;
    border: 1px solid transparent;
    text-decoration: none !important;
    font-family: Inter, Arial, sans-serif;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: .2s ease;
}

.ihr-btn-primary {
    background: var(--ihr-front-accent);
    border-color: var(--ihr-front-accent);
    color: #fff !important;
}

.ihr-btn-primary:hover {
    background: var(--ihr-front-accent-hover);
    border-color: var(--ihr-front-accent-hover);
}

.ihr-btn-secondary {
    background: #fff;
    border-color: #C8D0D5;
    color: var(--ihr-front-dark) !important;
}

.ihr-btn-secondary:hover {
    background: #F5F7F8;
    border-color: var(--ihr-front-primary);
}

.ihr-btn-full {
    width: 100%;
}

.ihr-btn-small {
    min-height: 40px;
    padding: 8px 14px;
}

.ihr-button-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ihr-button-row-center {
    justify-content: center;
}

.ihr-single-form-page {
    max-width: 650px;
    margin: 0 auto;
}

.ihr-register-card h1 {
    font-size: 34px;
}

.ihr-form-help {
    margin: -8px 0 0;
    color: #7A7F87;
    font-size: 12px;
}

.ihr-form-footer {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #ECEDEF;
    text-align: center;
    font-size: 13px;
}

.ihr-honeypot {
    position: absolute !important;
    left: -99999px !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.ihr-front-message {
    border-radius: 9px;
    padding: 12px 14px;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.5;
}

.ihr-front-message-error {
    background: #FFF1F0;
    border: 1px solid #FFD0CC;
    color: #9B2C24;
}

.ihr-front-message-success {
    background: #EFF9F1;
    border: 1px solid #CCE8D2;
    color: #26733A;
}

.ihr-center-card {
    max-width: 650px;
    margin: 0 auto;
    text-align: center;
}

.ihr-dashboard,
.ihr-resources-page {
    max-width: 1180px;
    margin: 0 auto;
}

.ihr-dashboard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

.ihr-dashboard-header p {
    font-size: 16px;
    color: #6C727A;
    margin: 0;
}

.ihr-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 38px;
}

.ihr-stat-card {
    display: grid;
    grid-template-columns: 44px auto;
    grid-template-rows: auto auto;
    column-gap: 14px;
    background: #fff;
    border: 1px solid var(--ihr-front-border);
    border-radius: 14px;
    padding: 20px;
    text-decoration: none !important;
    box-shadow: 0 5px 18px rgba(50,42,77,.04);
    transition: .2s ease;
}

.ihr-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(50,42,77,.08);
}

.ihr-stat-card .dashicons {
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--ihr-front-blue-soft);
    color: var(--ihr-front-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
}

.ihr-stat-card strong {
    color: var(--ihr-front-dark);
    font-size: 24px;
    line-height: 1;
}

.ihr-stat-card small {
    color: #71767C;
    font-size: 13px;
    margin-top: 4px;
}

.ihr-dashboard-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 18px;
}

.ihr-dashboard-section-head h2 {
    margin-bottom: 3px;
    font-size: 23px;
}

.ihr-dashboard-section-head p {
    margin: 0;
    color: #777C82;
}

.ihr-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ihr-resource-card {
    background: #fff;
    border: 1px solid var(--ihr-front-border);
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(50,42,77,.05);
    overflow: hidden;
}

.ihr-resource-card-head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.ihr-resource-card-icon {
    flex: 0 0 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--ihr-front-blue-soft);
    color: var(--ihr-front-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ihr-resource-card-icon .dashicons {
    font-size: 21px;
    width: 21px;
    height: 21px;
}

.ihr-resource-type {
    display: block;
    color: var(--ihr-front-primary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 4px;
}

.ihr-resource-card h3 {
    margin: 0;
    font-size: 17px;
}

.ihr-resource-description {
    font-size: 13px;
    line-height: 1.6;
    color: #6C7178;
    margin: 0 0 16px;
}

.ihr-media-player {
    margin-top: 12px;
}

.ihr-media-player video {
    display: block;
    width: 100%;
    max-height: 280px;
    border-radius: 10px;
    background: #111;
}

.ihr-audio-player audio {
    width: 100%;
}

.ihr-document-actions {
    margin-top: 12px;
}

.ihr-document-note {
    display: block;
    background: #F6F7F8;
    border-radius: 9px;
    padding: 12px;
    color: #6B7077;
    font-size: 12px;
    line-height: 1.5;
}

.ihr-resource-footer {
    padding-top: 14px;
    margin-top: 15px;
    border-top: 1px solid #ECEEF0;
}

.ihr-download-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ihr-front-accent);
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
}

.ihr-resource-unavailable {
    border-radius: 9px;
    padding: 12px;
    background: #FFF8EB;
    color: #8A5B12;
    font-size: 12px;
}

.ihr-filter-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 24px;
}

.ihr-filter-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 14px;
    border: 1px solid #D5DADF;
    border-radius: 999px;
    background: #fff;
    color: #5B6067;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
}

.ihr-filter-nav a:hover,
.ihr-filter-nav a.is-active {
    border-color: var(--ihr-front-primary);
    background: var(--ihr-front-primary);
    color: #fff;
}

.ihr-empty-front {
    text-align: center;
    padding: 46px 30px;
}

.ihr-empty-front .dashicons {
    width: 46px;
    height: 46px;
    font-size: 46px;
    color: var(--ihr-front-primary);
    margin-bottom: 14px;
}

.ihr-empty-front h3 {
    margin-bottom: 7px;
}

.ihr-empty-front p {
    color: #747980;
    margin: 0;
}

@media (max-width: 900px) {
    .ihr-login-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .ihr-stat-grid,
    .ihr-resource-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .ihr-front-card {
        padding: 23px;
        border-radius: 13px;
    }

    .ihr-front-grid-2,
    .ihr-stat-grid,
    .ihr-resource-grid {
        grid-template-columns: 1fr;
    }

    .ihr-dashboard-header,
    .ihr-dashboard-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .ihr-login-layout {
        gap: 26px;
    }

    .ihr-front h1 {
        font-size: 31px;
    }
}


.ihr-filter-group {
    margin-bottom: 20px;
}

.ihr-filter-label {
    color: var(--ihr-front-dark);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 9px;
}

.ihr-topic-filter-nav a {
    border-color: #DCE2E5;
}

.ihr-topic-front-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ihr-topic-front-card {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-height: 120px;
    padding: 18px;
    border: 1px solid var(--ihr-front-border);
    border-radius: 14px;
    background: #fff;
    text-decoration: none !important;
    box-shadow: 0 5px 18px rgba(50,42,77,.04);
    transition: .2s ease;
}

.ihr-topic-front-card:hover {
    transform: translateY(-2px);
    border-color: #CBD4D9;
    box-shadow: 0 10px 24px rgba(50,42,77,.08);
}

.ihr-topic-front-card .dashicons {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: var(--ihr-front-blue-soft);
    color: var(--ihr-front-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 7px;
}

.ihr-topic-front-card strong {
    color: var(--ihr-front-dark);
    font-size: 15px;
}

.ihr-topic-front-card small {
    color: var(--ihr-front-accent);
    font-weight: 700;
    margin-top: auto;
}

.ihr-elementor-block {
    width: 100%;
}

@media (max-width: 900px) {
    .ihr-topic-front-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .ihr-topic-front-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Cartões de recursos — acabamento premium v0.9.0
   ========================================================================== */

.ihr-resource-grid {
    gap: 22px;
}

.ihr-resource-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E3E7EA;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 8px 26px rgba(50,42,77,.06);
    overflow: hidden;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.ihr-resource-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #C7DDE7;
}

.ihr-resource-card[data-type="audio"]::before {
    background: #DCCFE8;
}

.ihr-resource-card[data-type="document"]::before {
    background: #F1CDB9;
}

.ihr-resource-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(50,42,77,.10);
    border-color: #D7DEE2;
}

.ihr-resource-card-head {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-bottom: 12px;
}

.ihr-resource-card-title-wrap {
    min-width: 0;
}

.ihr-resource-card-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #EDF5F8;
    color: #55798A;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ihr-resource-card[data-type="audio"] .ihr-resource-card-icon {
    background: #F2EDF7;
    color: #79638C;
}

.ihr-resource-card[data-type="document"] .ihr-resource-card-icon {
    background: #FFF1E9;
    color: #A66A49;
}

.ihr-resource-card-icon .dashicons {
    font-size: 21px;
    width: 21px;
    height: 21px;
}

.ihr-resource-type {
    display: block;
    color: #667885;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-bottom: 3px;
}

.ihr-resource-card h3 {
    margin: 0;
    color: #322A4D;
    font-size: 19px;
    line-height: 1.3;
}

.ihr-resource-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 1px 0 12px;
}

.ihr-resource-topic {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 9px;
    border: 1px solid #DCE5E9;
    border-radius: 999px;
    background: #F6F9FA;
    color: #627985;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.ihr-resource-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    font-size: 13px;
    line-height: 1.65;
    color: #6C7178;
    margin: 0 0 17px;
}

.ihr-media-player {
    margin-top: auto;
}

.ihr-media-player video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: none;
    object-fit: contain;
    border-radius: 12px;
    background: #171717;
}

.ihr-audio-player {
    padding: 14px;
    border: 1px solid #E8E3ED;
    border-radius: 12px;
    background: #FAF8FC;
}

.ihr-audio-player audio {
    display: block;
    width: 100%;
}

.ihr-document-actions {
    margin-top: auto;
    padding-top: 4px;
}

.ihr-document-actions .ihr-btn {
    width: 100%;
}

.ihr-document-note {
    display: block;
    background: #F7F8F9;
    border: 1px solid #E8EAEC;
    border-radius: 10px;
    padding: 13px;
    color: #6B7077;
    font-size: 12px;
    line-height: 1.5;
}

.ihr-resource-footer {
    padding-top: 13px;
    margin-top: 15px;
    border-top: 1px solid #ECEEF0;
}

.ihr-download-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #FF6B35;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
}

.ihr-download-link:hover {
    color: #E85B29;
}

@media (max-width: 900px) {
    .ihr-resource-grid {
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .ihr-resource-card {
        padding: 18px;
        border-radius: 15px;
    }

    .ihr-resource-card h3 {
        font-size: 17px;
    }
}

/* --------------------------------------------------------------------------
 * Mensagens — frontend do cliente
 * -------------------------------------------------------------------------- */
.ihr-messages-front{width:100%}
.ihr-messages-front-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.ihr-messages-front-head h2{margin:4px 0 5px;color:#322a4d;font-family:"Libre Baskerville",serif;font-size:28px}
.ihr-messages-front-head p{margin:0;color:#667885}
.ihr-messages-front-head>.dashicons{width:48px;height:48px;font-size:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f5eef8;color:#6d4b87}
.ihr-message-front-safety{display:flex;align-items:center;gap:10px;background:#fff7f2;border:1px solid #f3ded3;color:#765b50;border-radius:14px;padding:12px 15px;margin-bottom:16px;font-size:13px}
.ihr-message-front-card{background:#fff;border:1px solid #e9e5ec;border-radius:20px;box-shadow:0 10px 30px rgba(50,42,77,.07);overflow:hidden}
.ihr-message-thread-front{max-height:510px;overflow-y:auto;padding:24px;background:#faf9fb;display:flex;flex-direction:column;gap:12px}
.ihr-message-bubble-row{display:flex}
.ihr-message-bubble-row.is-mine{justify-content:flex-end}
.ihr-message-bubble{max-width:min(76%,700px);border-radius:16px;padding:12px 15px;background:#f3f7f9;border:1px solid #dfe9ed;color:#393548;line-height:1.55;box-shadow:0 5px 15px rgba(50,42,77,.035)}
.ihr-message-thread-front .ihr-message-bubble-row.is-mine .ihr-message-bubble{background:#fff1eb;border-color:#ffd8c8}
.ihr-message-bubble small{display:block;margin-bottom:5px;color:#7b7584;font-size:11px;font-weight:600}
.ihr-message-thread-empty{text-align:center;padding:45px 20px;color:#727983}
.ihr-message-thread-empty .dashicons{width:44px;height:44px;font-size:44px;color:#c2b8cc}
.ihr-message-thread-empty h3{margin:12px 0 6px;color:#322a4d}
.ihr-message-compose-front{padding:20px 22px;border-top:1px solid #eeeaf1;background:#fff}
.ihr-message-compose-front>label{display:block;font-weight:700;color:#322a4d;margin-bottom:8px}
.ihr-message-compose-front textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #dcd7e1;border-radius:12px;padding:13px 14px;min-height:108px;resize:vertical;font:inherit;color:#322a4d;background:#fff}
.ihr-message-compose-front textarea:focus{border-color:#ff6b35;outline:0;box-shadow:0 0 0 2px rgba(255,107,53,.12)}
.ihr-message-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}
.ihr-message-compose-footer small{color:#808790;font-size:12px}
.ihr-messages-nav-link{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;position:relative}
.ihr-messages-nav-link .dashicons{width:18px;height:18px;font-size:18px}
.ihr-messages-nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff6b35;color:#fff;font-size:10px;font-weight:700;line-height:1}
@media(max-width:767px){.ihr-messages-front-head{align-items:flex-start}.ihr-message-thread-front{padding:16px;max-height:430px}.ihr-message-bubble{max-width:88%}.ihr-message-compose-front{padding:16px}.ihr-message-compose-footer{align-items:stretch;flex-direction:column}.ihr-message-compose-footer .ihr-btn{width:100%;justify-content:center}}

/* --------------------------------------------------------------------------
 * Progresso de vídeo / áudio
 * -------------------------------------------------------------------------- */
.ihr-media-progress{margin:14px 0 12px;padding:12px 13px;background:#fbfafc;border:1px solid #ebe6ee;border-radius:12px}
.ihr-media-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.ihr-media-progress-label{font-size:12px;font-weight:800;color:#322a4d}
.ihr-media-progress-percent{font-size:11px;font-weight:800;color:#7a7183}
.ihr-media-progress-track{display:block;width:100%;height:6px;overflow:hidden;border-radius:999px;background:#ebe8ed}
.ihr-media-progress-bar{display:block;height:100%;border-radius:inherit;background:#ff6b35;transition:width .25s ease}
.ihr-media-progress[data-progress-status="completed"]{background:#f4fbf6;border-color:#dceee1}
.ihr-media-progress[data-progress-status="completed"] .ihr-media-progress-label{color:#26743c}
.ihr-media-progress[data-progress-status="completed"] .ihr-media-progress-bar{background:#48a868}
