.rsir-portal {
    --rsir-green: #087d23;
    --rsir-green-dark: #046018;
    --rsir-bg: #f6f7f6;
    --rsir-sidebar: #071017;
    --rsir-sidebar-soft: #101c25;
    --rsir-border: #e4e7e4;
    --rsir-text: #1d2520;
    --rsir-muted: #6b746f;

    display: flex;
    min-height: 100vh;
    background: var(--rsir-bg);
    color: var(--rsir-text);
    font-family: Inter, Manrope, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.rsir-portal * {
    box-sizing: border-box;
}

.rsir-sidebar {
    width: 280px;
    background: linear-gradient(180deg, #081119 0%, #02070a 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.rsir-logo {
    height: 96px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.rsir-logo-mark {
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, #fff 0 45%, var(--rsir-green) 45% 70%, transparent 70%);
    border: 1px solid rgba(255,255,255,.25);
}

.rsir-logo strong,
.rsir-logo span {
    display: block;
    line-height: 1;
    letter-spacing: 0;
}

.rsir-logo span {
    font-weight: 700;
}

.rsir-nav {
    padding: 0 0 18px;
}

.rsir-nav-item {
    width: 100%;
    min-height: 56px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 0;
    color: #cbd5d1;
    background: transparent;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.rsir-nav-item:hover,
.rsir-nav-item.active {
    background: var(--rsir-green);
    color: #fff;
}

.rsir-nav-item span {
    width: 22px;
    opacity: .9;
}

.rsir-nav-item em {
    margin-left: auto;
    font-style: normal;
    opacity: .75;
    transition: transform .2s ease;
}

.rsir-nav-item.open em {
    transform: rotate(180deg);
}

.rsir-subnav {
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;
    background: rgba(255,255,255,.03);
}

.rsir-subnav.open {
    max-height: 420px;
}

.rsir-subnav a {
    display: block;
    padding: 10px 24px 10px 62px;
    color: #a9b7b1;
    font-size: 14px;
    text-decoration: none;
}

.rsir-subnav a:hover {
    color: #fff;
}

.rsir-help-card {
    margin: auto 22px 22px;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.03);
}

.rsir-help-icon {
    font-size: 26px;
    margin-bottom: 10px;
}

.rsir-help-card p {
    color: #b8c2bd;
    font-size: 14px;
    line-height: 1.5;
}

.rsir-help-button {
    display: block;
    margin-top: 16px;
    padding: 12px;
    text-align: center;
    color: #fff;
    background: var(--rsir-green);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
}

.rsir-user-card {
    min-height: 82px;
    padding: 18px 22px;
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rsir-user-card span {
    display: block;
    color: #b8c2bd;
    font-size: 13px;
}

.rsir-main {
    flex: 1;
    min-width: 0;
}

.rsir-topbar {
    height: 72px;
    padding: 0 32px;
    background: #050a0f;
    border-bottom: 1px solid #111b23;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rsir-menu-toggle,
.rsir-sidebar-backdrop {
    display: none;
}

.rsir-menu-toggle {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 10px;
    background: transparent;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.rsir-menu-toggle span {
    width: 18px;
    height: 2px;
    background: #fff;
    border-radius: 999px;
}

.rsir-mobile-brand {
    display: none;
}

.rsir-search {
    width: min(440px, 100%);
    position: relative;
}

.rsir-search input {
    width: 100%;
    height: 42px;
    border: 1px solid #1c2832;
    border-radius: 10px;
    padding: 0 42px 0 16px;
    background: #111820;
    color: #fff;
    outline: none;
}

.rsir-search input::placeholder {
    color: #8f9aa2;
}

.rsir-search button {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    border: 0;
    background: transparent;
    color: #c7d0cc;
    font-size: 18px;
    cursor: pointer;
}

.rsir-search button:hover {
    color: var(--rsir-green);
}

.rsir-top-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.rsir-top-actions button {
    border: 0;
    background: transparent;
    font-size: 20px;
    cursor: pointer;
}
.rsir-top-icon-button {
    width: 42px;
    height: 42px;
    position: relative;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255,255,255,.12);
    text-decoration: none;
    font-size: 20px;
}

.rsir-top-icon-button:hover {
    border-color: rgba(8,125,35,.35);
    color: var(--rsir-green);
}

.rsir-top-icon-button em {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    position: absolute;
    top: -6px;
    right: -6px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--rsir-green);
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.rsir-small-avatar {
    width: 38px;
    height: 38px;
    background: #f4f6f5;
    color: #101820;
}

.rsir-search-page-panel {
    margin-bottom: 20px;
}

.rsir-search-results {
    display: grid;
    gap: 18px;
}

.rsir-search-result-list {
    display: grid;
    gap: 10px;
}

.rsir-search-result-item {
    min-height: 68px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 16px;
    align-items: center;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    color: var(--rsir-text);
    text-decoration: none;
    background: #fff;
}

.rsir-search-result-item:hover {
    border-color: rgba(8,125,35,.28);
    box-shadow: 0 10px 24px rgba(12,31,22,.06);
}

.rsir-search-result-item strong {
    min-width: 0;
}

.rsir-search-result-item small {
    grid-column: 1;
    color: var(--rsir-muted);
}

.rsir-search-result-item span {
    grid-row: 1 / span 2;
    grid-column: 2;
    color: var(--rsir-green);
    font-weight: 800;
}

.rsir-content {
    padding: 28px 36px 42px;
}

.rsir-welcome h1 {
    margin: 0 0 6px;
    font-size: 32px;
    line-height: 1.1;
}

.rsir-welcome p {
    margin: 0;
    color: var(--rsir-muted);
}

.rsir-action-grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 16px;
}

.rsir-action-card {
    min-height: 96px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--rsir-border);
    border-radius: 12px;
    color: var(--rsir-text);
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

.rsir-action-card:hover {
    border-color: rgba(8,125,35,.35);
    box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.rsir-action-icon {
    font-size: 30px;
}

.rsir-action-card strong,
.rsir-action-card span {
    display: block;
}

.rsir-action-card span {
    margin-top: 4px;
    color: var(--rsir-muted);
    font-size: 13px;
}

.rsir-action-card em {
    margin-left: auto;
    font-size: 26px;
    font-style: normal;
    color: var(--rsir-muted);
}

.rsir-dashboard-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1.2fr 1.1fr 1fr;
    gap: 18px;
}

.rsir-dashboard-news-list {
    display: grid;
    gap: 12px;
}

.rsir-dashboard-news-link {
    padding: 12px 0;
    display: grid;
    gap: 4px;
    color: var(--rsir-text);
    text-decoration: none;
    border-bottom: 1px solid var(--rsir-border);
}

.rsir-dashboard-news-link:last-child {
    border-bottom: 0;
}

.rsir-dashboard-news-link:hover strong {
    color: var(--rsir-green);
}

.rsir-dashboard-news-link small {
    color: var(--rsir-muted);
}

.rsir-panel,
.rsir-video-card {
    background: #fff;
    border: 1px solid var(--rsir-border);
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

.rsir-panel {
    padding: 20px;
}

.rsir-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.rsir-panel-header h2,
.rsir-quick-links h2 {
    margin: 0;
    font-size: 20px;
}

.rsir-panel-header a {
    color: var(--rsir-green);
    font-weight: 800;
    text-decoration: none;
    font-size: 14px;
}

.rsir-panel-header button {
    border: 0;
    background: transparent;
    color: var(--rsir-muted);
    cursor: pointer;
}

.rsir-order-list {
    display: grid;
    gap: 8px;
}

.rsir-order-row {
    min-height: 62px;
    padding: 12px 14px;
    border: 1px solid var(--rsir-border);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 1fr 110px 110px 20px;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--rsir-text);
}

.rsir-order-row:hover {
    background: #fafbfa;
}

.rsir-order-row span {
    display: block;
    color: var(--rsir-muted);
    font-size: 13px;
}

.rsir-status {
    width: fit-content;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px !important;
    font-weight: 800;
}

.rsir-status-processing {
    background: #e9f1fb;
    color: #2e69ad !important;
}

.rsir-status-confirmed,
.rsir-status-delivered {
    background: #e7f6ea;
    color: #27833c !important;
}

.rsir-status-shipped {
    background: #f0e9fb;
    color: #7744a8 !important;
}

.rsir-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.rsir-stat-card {
    min-height: 126px;
    padding: 18px;
    border: 1px solid var(--rsir-border);
    border-radius: 10px;
}

.rsir-stat-card strong {
    display: block;
    font-size: 22px;
}

.rsir-stat-card span {
    display: block;
    margin-top: 8px;
    color: var(--rsir-muted);
}

.rsir-line-chart {
    height: 30px;
    margin-top: 18px;
    background:
        linear-gradient(135deg, transparent 0 20%, var(--rsir-green) 21% 24%, transparent 25% 36%, var(--rsir-green) 37% 40%, transparent 41% 52%, var(--rsir-green) 53% 56%, transparent 57%);
    opacity: .7;
}

.rsir-line-chart.orange {
    background:
        linear-gradient(135deg, transparent 0 20%, #e8873a 21% 24%, transparent 25% 36%, #e8873a 37% 40%, transparent 41% 52%, #e8873a 53% 56%, transparent 57%);
}

.rsir-line-chart.flat {
    height: 2px;
    margin-top: 42px;
    background: var(--rsir-green);
}

.rsir-video-card {
    padding: 42px 32px;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(2,7,10,.98) 0%, rgba(2,7,10,.86) 50%, rgba(2,7,10,.35) 100%),
        radial-gradient(circle at right, #334038, #02070a 58%);
}

.rsir-video-card span {
    color: #22ad45;
    font-size: 13px;
    font-weight: 900;
}

.rsir-video-card h2 {
    margin: 16px 0;
    font-size: 28px;
    line-height: 1.15;
}

.rsir-video-card p {
    max-width: 280px;
    color: #d4ded8;
    line-height: 1.5;
}

.rsir-video-card a {
    display: inline-block;
    margin-top: 20px;
    padding: 14px 24px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}

.rsir-update-row {
    padding: 16px 0;
    display: grid;
    grid-template-columns: 52px 1fr 20px;
    gap: 14px;
    align-items: center;
    border-bottom: 1px solid var(--rsir-border);
}

.rsir-update-row:last-child {
    border-bottom: 0;
}

.rsir-update-icon,
.rsir-update-img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #e7f4f8;
    display: grid;
    place-items: center;
    color: #267b8b;
}

.rsir-update-img {
    background: linear-gradient(135deg, #8aa083, #e6ded3);
}

.rsir-update-row small {
    display: block;
    color: var(--rsir-green);
    font-weight: 900;
    font-size: 11px;
}

.rsir-update-row strong {
    display: block;
    margin-top: 4px;
}

.rsir-update-row p {
    margin: 3px 0 0;
    color: var(--rsir-muted);
    font-size: 14px;
}

.rsir-academy {
    grid-column: span 1;
}

.rsir-course-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.rsir-course-card {
    border: 1px solid var(--rsir-border);
    border-radius: 10px;
    overflow: hidden;
}

.rsir-course-image {
    height: 112px;
    background: linear-gradient(135deg, #57463b, #d7c6b3);
}

.rsir-course-card span,
.rsir-course-card strong,
.rsir-course-card small {
    display: block;
    margin: 10px 12px;
}

.rsir-course-card span {
    width: fit-content;
    padding: 4px 8px;
    color: var(--rsir-green);
    background: #eaf6ed;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 900;
}

.rsir-course-card small {
    color: var(--rsir-muted);
}

.rsir-academy-page {
    display: grid;
    gap: 22px;
}

.rsir-academy-hero {
    min-height: 310px;
    padding: 48px;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.28) 70%),
        linear-gradient(135deg, #f5f7f5, #dfe7e1);
    border: 1px solid var(--rsir-border);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    overflow: hidden;
}

.rsir-academy-hero h1 {
    margin: 0 0 10px;
    font-size: 48px;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 850;
}

.rsir-academy-hero h1 span {
    color: var(--rsir-green);
}

.rsir-academy-hero p {
    max-width: 520px;
    margin: 0;
    color: #26312b;
    line-height: 1.65;
    font-size: 18px;
    font-weight: 500;
}

.rsir-academy-hero-actions {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rsir-academy-hero-media {
    min-height: 230px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(4, 12, 18, .78), rgba(8, 125, 35, .22)),
        linear-gradient(135deg, #101820, #d5ded8);
    color: #fff;
    display: grid;
    place-items: end start;
    padding: 24px;
    font-weight: 850;
}

.rsir-academy-category-strip {
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    overflow: hidden;
}

.rsir-academy-category-strip a {
    min-height: 88px;
    padding: 16px;
    border-right: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    text-decoration: none;
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 6px 12px;
    align-content: center;
    transition: background .16s ease, box-shadow .16s ease;
}

.rsir-academy-category-strip a:last-child {
    border-right: 0;
}

.rsir-academy-category-strip a.is-active {
    box-shadow: inset 0 -3px 0 var(--rsir-green);
    background: #f8fbf9;
}

.rsir-academy-category-strip span {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #eaf6ed;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    grid-row: span 2;
    font-weight: 850;
}

.rsir-academy-category-strip strong,
.rsir-academy-category-strip small {
    display: block;
}

.rsir-academy-category-strip small {
    color: var(--rsir-muted);
}

.rsir-academy-section,
.rsir-academy-main,
.rsir-academy-side .rsir-panel {
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    padding: 20px;
}

.rsir-section-heading {
    margin-bottom: 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.rsir-section-heading h2 {
    margin: 0 0 4px;
    font-size: 24px;
}

.rsir-section-heading p,
.rsir-muted-copy {
    margin: 0;
    color: var(--rsir-muted);
    line-height: 1.6;
}

.rsir-section-heading a {
    color: var(--rsir-green);
    font-weight: 900;
    text-decoration: none;
}

.rsir-academy-featured-grid,
.rsir-academy-video-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 16px;
}

.rsir-academy-featured-grid {
    grid-template-columns: repeat(5, minmax(160px, 1fr));
}

.rsir-academy-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 22px;
    align-items: start;
}

.rsir-academy-filters {
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 170px 170px 150px auto;
    gap: 12px;
}

.rsir-academy-filters input,
.rsir-academy-filters select {
    min-height: 44px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 12px;
    background: #fff;
}

.rsir-academy-video-card {
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rsir-text);
    text-align: left;
    cursor: pointer;
}

.rsir-academy-video-card:hover .rsir-video-thumb img {
    transform: scale(1.035);
}

.rsir-video-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    background: #eef1ef;
    display: block;
    overflow: hidden;
}

.rsir-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .18s ease;
}

.rsir-video-thumb em {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 46px;
    height: 46px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #fff;
    color: transparent;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 0;
    font-weight: 900;
    line-height: 0;
    box-shadow: 0 8px 22px rgba(0,0,0,.18);
    overflow: hidden;
}

.rsir-video-thumb em::before {
    content: "";
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #111;
}

.rsir-video-thumb small {
    position: absolute;
    right: 8px;
    bottom: 8px;
    padding: 3px 7px;
    border-radius: 5px;
    background: rgba(0, 0, 0, .72);
    color: #fff;
    font-weight: 800;
}

.rsir-video-thumb b {
    position: absolute;
    left: 8px;
    top: 8px;
    z-index: 2;
    padding: 4px 7px;
    border-radius: 5px;
    background: var(--rsir-green);
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
}

.rsir-academy-video-card.is-normal .rsir-video-thumb b {
    background: rgba(5, 14, 19, .78);
}

.rsir-video-type {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    padding: 4px 7px;
    border-radius: 5px;
    background: var(--rsir-green);
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.rsir-academy-video-card strong {
    display: block;
    margin-top: 10px;
    font-size: 17px;
    font-weight: 850;
    line-height: 1.3;
}

.rsir-academy-video-card > span:not(.rsir-video-thumb):not(.rsir-video-type) {
    display: block;
    margin-top: 6px;
    color: var(--rsir-muted);
}

.rsir-video-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rsir-video-tags mark {
    padding: 4px 7px;
    border-radius: 5px;
    background: #f1f4f2;
    color: #536058;
    font-size: 12px;
}

.rsir-academy-side {
    display: grid;
    gap: 18px;
}

.rsir-academy-side-link {
    padding: 12px 0;
    border-bottom: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-weight: 800;
}

.rsir-academy-side-link:last-child {
    border-bottom: 0;
}

.rsir-academy-side-link span {
    color: var(--rsir-muted);
}

.rsir-video-modal[hidden] {
    display: none;
}

.rsir-video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 24px;
}

.rsir-video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
}

.rsir-video-modal-panel {
    position: relative;
    width: min(980px, 100%);
    border-radius: 8px;
    background: #101820;
    color: #fff;
    padding: 18px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}

.rsir-video-modal.is-short .rsir-video-modal-panel {
    width: min(460px, 100%);
}

.rsir-video-modal-panel h2 {
    margin: 0 48px 14px 0;
    font-size: 20px;
}

.rsir-video-modal-close {
    position: absolute;
    right: 14px;
    top: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

.rsir-video-frame {
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    background: #000;
    overflow: hidden;
}

.rsir-video-modal.is-short .rsir-video-frame {
    aspect-ratio: 9 / 16;
    max-height: 78vh;
}

.rsir-video-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.rsir-modal-open {
    overflow: hidden;
}

.rsir-portal-page-academy {
    --rsir-academy-ink: #071017;
    --rsir-academy-line: #e7ebe8;
    background: #f3f5f3;
}

.rsir-portal-page-academy .rsir-topbar {
    background: #050b10;
    border-bottom-color: #111b23;
    color: #fff;
}

.rsir-portal-page-academy .rsir-page-label {
    color: rgba(255,255,255,.72);
}

.rsir-portal-page-academy .rsir-search input {
    background: #101820;
    border-color: #1d2a34;
    color: #fff;
}

.rsir-portal-page-academy .rsir-search input::placeholder {
    color: #8f9aa2;
}

.rsir-portal-page-academy .rsir-search button,
.rsir-portal-page-academy .rsir-top-icon-button {
    color: #fff;
}

.rsir-portal-page-academy .rsir-content {
    padding: 0;
}

.rsir-portal-page-academy .rsir-academy-page {
    gap: 0;
    background: #f4f5f4;
}

.rsir-portal-page-academy .rsir-academy-page.is-video-directory {
    min-height: 100%;
    padding-bottom: 42px;
}

.rsir-portal-page-academy .rsir-academy-archive-head {
    width: calc(100% - 96px);
    margin: 0 auto;
    padding: 36px 0 24px;
}

.rsir-portal-page-academy .rsir-academy-archive-head .rsir-breadcrumbs {
    margin-bottom: 16px;
    color: #7a8580;
    font-size: 13px;
    font-weight: 850;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rsir-portal-page-academy .rsir-academy-archive-head .rsir-breadcrumbs strong:first-child {
    color: var(--rsir-green);
}

.rsir-portal-page-academy .rsir-academy-archive-head h1 {
    margin: 0 0 10px;
    color: #071017;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 900;
}

.rsir-portal-page-academy .rsir-academy-archive-head p {
    margin: 0;
    color: #59655f;
    font-size: 17px;
    line-height: 1.55;
}

.rsir-portal-page-academy .rsir-academy-hero {
    position: relative;
    min-height: 360px;
    padding: 64px 72px 94px;
    border: 0;
    border-radius: 0;
    grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 46%, rgba(255,255,255,.2) 72%),
        radial-gradient(circle at 37% 95%, rgba(8,125,35,.13), transparent 27%),
        linear-gradient(135deg, #ffffff 0%, #f1f4f2 52%, #d6ddd7 100%);
}

.rsir-portal-page-academy .rsir-breadcrumbs {
    display: none;
}

.rsir-portal-page-academy .rsir-academy-hero h1 {
    max-width: 760px;
    margin: 10px 0 14px;
    font-size: clamp(40px, 4.4vw, 68px);
    line-height: .96;
    font-weight: 900;
    color: #050b10;
}

.rsir-portal-page-academy .rsir-academy-hero p {
    max-width: 560px;
    color: #1d2520;
    font-size: 21px;
    line-height: 1.45;
    font-weight: 650;
}

.rsir-portal-page-academy .rsir-academy-hero p::after {
    content: "Step-by-step installation guides, product training, and expert tips to help you work smarter.";
    display: block;
    max-width: 500px;
    margin-top: 22px;
    color: #4f5b55;
    font-size: 16px;
    line-height: 1.75;
    font-weight: 550;
}

.rsir-portal-page-academy .rsir-academy-hero-actions {
    margin-top: 28px;
    gap: 16px;
}

.rsir-portal-page-academy .rsir-button-primary,
.rsir-portal-page-academy .rsir-button-secondary {
    min-height: 52px;
    padding: 0 24px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 850;
    text-decoration: none;
}

.rsir-portal-page-academy .rsir-academy-hero-actions .rsir-button-primary::before {
    content: "▶";
    font-size: 13px;
}

.rsir-portal-page-academy .rsir-academy-hero-actions .rsir-button-secondary::before {
    content: "▷";
    font-size: 16px;
}

.rsir-portal-page-academy .rsir-academy-hero-media {
    position: relative;
    min-height: 296px;
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,0)),
        linear-gradient(145deg, #1b2527, #708071 54%, #ddc994 100%);
    box-shadow: inset 1px 0 rgba(255,255,255,.35);
    overflow: hidden;
}

.rsir-portal-page-academy .rsir-academy-hero-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0 33%, rgba(255,255,255,.16) 33% 34%, transparent 34% 58%, rgba(255,255,255,.15) 58% 59%, transparent 59%),
        radial-gradient(circle at 87% 16%, rgba(255,255,255,.5), transparent 12%),
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.08));
}

.rsir-academy-door-scene {
    position: absolute;
    inset: 24px 28px 0;
    display: grid;
    grid-template-columns: .72fr 1fr .78fr;
    gap: 16px;
    align-items: end;
}

.rsir-academy-door-scene span {
    height: 260px;
    border: 10px solid #111719;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 2px, rgba(0,0,0,.18) 2px 11px),
        linear-gradient(135deg, rgba(0,0,0,.25), rgba(255,255,255,.18));
    box-shadow: 0 28px 44px rgba(0,0,0,.24);
}

.rsir-academy-door-scene span:nth-child(1) {
    height: 218px;
    background: rgba(255,255,255,.82);
}

.rsir-academy-door-scene span:nth-child(3) {
    height: 238px;
}

.rsir-portal-page-academy .rsir-academy-category-strip {
    position: relative;
    z-index: 2;
    width: calc(100% - 96px);
    margin: -48px auto 34px;
    border: 1px solid var(--rsir-academy-line);
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(6,16,12,.08);
    grid-template-columns: repeat(6, minmax(120px, 1fr));
}

.rsir-portal-page-academy .rsir-academy-category-strip a {
    min-height: 116px;
    padding: 22px 18px;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
}

.rsir-portal-page-academy .rsir-academy-category-strip span {
    width: 42px;
    height: 42px;
    grid-row: auto;
    border: 1px solid #dfe7e2;
    background: #fff;
    color: #1f2a23;
    font-size: 21px;
}

.rsir-portal-page-academy .rsir-academy-category-strip a.is-active span {
    background: #e7f5eb;
    color: var(--rsir-green);
}

.rsir-portal-page-academy .rsir-academy-category-strip strong {
    font-size: 15px;
    font-weight: 850;
}

.rsir-portal-page-academy .rsir-academy-category-strip small {
    font-size: 13px;
}

.rsir-portal-page-academy .rsir-academy-section,
.rsir-portal-page-academy .rsir-academy-layout,
.rsir-portal-page-academy .rsir-academy-concept-strip {
    width: calc(100% - 96px);
    margin-right: auto;
    margin-left: auto;
}

.rsir-portal-page-academy .rsir-academy-section {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0 0 36px;
}

.rsir-portal-page-academy .rsir-section-heading h2 {
    font-size: 25px;
    font-weight: 900;
}

.rsir-portal-page-academy .rsir-section-heading p {
    display: none;
}

.rsir-portal-page-academy .rsir-academy-featured-grid {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 18px;
}

.rsir-portal-page-academy .rsir-academy-video-card {
    border-radius: 8px;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card {
    min-height: 276px;
    overflow: hidden;
    background: #0b1115;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-video-thumb {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
    border-radius: 8px;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-video-thumb::after {
    content: "";
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.78) 62%, rgba(0,0,0,.92));
}

.rsir-portal-page-academy .rsir-video-thumb em {
    width: 46px;
    height: 46px;
    background: #fff;
    color: transparent;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card strong,
.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card > span:not(.rsir-video-thumb):not(.rsir-video-type) {
    position: relative;
    z-index: 2;
    color: #fff;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card strong {
    margin: 184px 16px 0;
    font-size: 18px;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card > span:not(.rsir-video-thumb):not(.rsir-video-type) {
    margin: 8px 16px 16px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
}

.rsir-portal-page-academy .rsir-video-thumb b,
.rsir-portal-page-academy .rsir-video-type {
    border-radius: 4px;
    background: #078329;
    box-shadow: 0 6px 16px rgba(0,0,0,.18);
}

.rsir-portal-page-academy .rsir-academy-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
    padding-bottom: 38px;
}

.rsir-portal-page-academy .is-video-directory .rsir-academy-layout {
    align-items: start;
}

.rsir-portal-page-academy .rsir-academy-main,
.rsir-portal-page-academy .rsir-academy-side .rsir-panel {
    border-color: var(--rsir-academy-line);
    box-shadow: 0 10px 30px rgba(6,16,12,.04);
}

.rsir-portal-page-academy .rsir-academy-filterbar {
    grid-template-columns: minmax(190px, 1.5fr) repeat(3, minmax(130px, 1fr)) auto auto;
    align-items: center;
}

.rsir-portal-page-academy .rsir-academy-filterbar .rsir-button-primary {
    min-height: 44px;
    padding: 0 22px;
}

.rsir-portal-page-academy .rsir-academy-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rsir-portal-page-academy .rsir-academy-view-toggle b {
    width: 44px;
    height: 44px;
    border: 1px solid var(--rsir-academy-line);
    border-radius: 8px;
    background: #fff;
    color: #5c6761;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 18px;
}

.rsir-portal-page-academy .rsir-academy-view-toggle b:first-child {
    background: #edf8f0;
    color: var(--rsir-green);
    border-color: #cfe8d6;
}

.rsir-portal-page-academy .rsir-academy-count-heading {
    margin-top: 4px;
    margin-bottom: 18px;
}

.rsir-portal-page-academy .rsir-academy-count-heading h2 {
    font-size: 18px;
}

.rsir-portal-page-academy .rsir-academy-video-grid {
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 22px;
}

.rsir-portal-page-academy .rsir-academy-video-grid .rsir-academy-video-card strong {
    font-size: 18px;
}

.rsir-portal-page-academy .rsir-academy-side-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 16px;
    border-radius: 50%;
    background: #eaf6ed;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    font-size: 24px;
}

.rsir-portal-page-academy .rsir-academy-about-panel {
    padding: 28px;
}

.rsir-portal-page-academy .rsir-academy-topic-panel .rsir-academy-side-link {
    align-items: center;
}

.rsir-portal-page-academy .rsir-academy-side-link small {
    padding: 4px 8px;
    border-radius: 999px;
    background: #f3f5f4;
    color: #7a8580;
    font-size: 12px;
    font-weight: 850;
}

.rsir-portal-page-academy .rsir-academy-side-link-action {
    color: var(--rsir-green);
}

.rsir-portal-page-academy .rsir-academy-request-panel .rsir-full-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 900;
}

.rsir-portal-page-academy .rsir-academy-whats-new {
    width: calc(100% - 96px);
    margin: 0 auto;
    padding-bottom: 42px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.rsir-portal-page-academy .rsir-academy-update-column {
    padding: 22px;
}

.rsir-portal-page-academy .rsir-academy-update-column .rsir-panel-header {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.rsir-portal-page-academy .rsir-academy-update-column .rsir-panel-header h2 {
    margin: 0;
    font-size: 22px;
}

.rsir-portal-page-academy .rsir-academy-update-column .rsir-panel-header a {
    color: var(--rsir-green);
    font-weight: 900;
    text-decoration: none;
}

.rsir-portal-page-academy .rsir-academy-update-row {
    width: 100%;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid var(--rsir-academy-line);
    background: transparent;
    color: var(--rsir-text);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    display: grid;
    gap: 5px;
}

.rsir-portal-page-academy .rsir-academy-update-row:last-child {
    border-bottom: 0;
}

.rsir-portal-page-academy .rsir-academy-update-row span {
    width: max-content;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eaf6ed;
    color: var(--rsir-green);
    font-size: 12px;
    font-weight: 900;
}

.rsir-portal-page-academy .rsir-academy-update-row strong {
    font-size: 16px;
    line-height: 1.35;
}

.rsir-portal-page-academy .rsir-academy-update-row small {
    color: var(--rsir-muted);
    font-weight: 700;
}

.rsir-portal-page-academy .rsir-academy-concept-strip {
    margin-bottom: 32px;
    border: 1px solid var(--rsir-academy-line);
    border-radius: 8px;
    background: #fff;
    display: grid;
    grid-template-columns: 1.35fr repeat(4, 1fr);
    box-shadow: 0 12px 30px rgba(6,16,12,.05);
    overflow: hidden;
}

.rsir-portal-page-academy .rsir-academy-concept-strip > div {
    min-height: 126px;
    padding: 24px;
    border-right: 1px solid var(--rsir-academy-line);
}

.rsir-portal-page-academy .rsir-academy-concept-strip > div:last-child {
    border-right: 0;
}

.rsir-portal-page-academy .rsir-academy-concept-strip span {
    color: var(--rsir-green);
    display: block;
    font-size: 32px;
    margin-bottom: 10px;
}

.rsir-portal-page-academy .rsir-academy-concept-strip strong {
    display: block;
    color: var(--rsir-green);
    font-size: 18px;
    font-weight: 900;
}

.rsir-portal-page-academy .rsir-academy-concept-strip p {
    margin: 8px 0 0;
    color: #5d6963;
    line-height: 1.55;
}

.rsir-portal-page-academy .rsir-sidebar {
    width: 300px;
    background: linear-gradient(180deg, #061018 0%, #03080c 100%);
    box-shadow: inset -1px 0 rgba(255,255,255,.06);
}

.rsir-portal-page-academy .rsir-logo {
    height: 104px;
    padding: 30px 36px;
}

.rsir-portal-page-academy .rsir-logo-mark {
    width: 42px;
    height: 42px;
}

.rsir-portal-page-academy .rsir-logo strong,
.rsir-portal-page-academy .rsir-logo span {
    font-size: 22px;
    font-weight: 850;
}

.rsir-portal-page-academy .rsir-nav-item {
    min-height: 58px;
    padding: 0 30px;
    font-size: 16px;
    border-bottom: 1px solid rgba(255,255,255,.035);
}

.rsir-portal-page-academy .rsir-subnav {
    background: rgba(255,255,255,.015);
}

.rsir-portal-page-academy .rsir-subnav.open {
    max-height: 430px;
}

.rsir-portal-page-academy .rsir-subnav a {
    padding: 12px 28px 12px 88px;
    color: #a7b5af;
    font-size: 15px;
    font-weight: 750;
}

.rsir-portal-page-academy .rsir-subnav a.active,
.rsir-portal-page-academy .rsir-subnav a:hover {
    color: #20a044;
}

.rsir-portal-page-academy .rsir-academy-nav .rsir-subnav-parent {
    padding-left: 62px;
    color: #d7e1dc;
    font-weight: 850;
}

.rsir-portal-page-academy .rsir-academy-nav .rsir-subnav-parent::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 12px 2px 0;
    border-radius: 50%;
    background: currentColor;
}

.rsir-portal-page-academy .rsir-academy-nav .rsir-subnav-child {
    padding-left: 92px;
    font-size: 14px;
    color: #8fa09a;
}

.rsir-portal-page-academy .rsir-help-card {
    margin: auto 26px 26px;
    border-radius: 6px;
}

.rsir-portal-page-academy .rsir-help-button {
    border-radius: 6px;
}

.rsir-portal-page-academy .rsir-topbar {
    height: 94px;
    padding: 0 34px;
    background: #050a0f;
}

.rsir-portal-page-academy .rsir-page-label {
    display: none;
}

.rsir-portal-page-academy .rsir-search {
    width: min(520px, 48vw);
    margin-left: auto;
    margin-right: auto;
}

.rsir-portal-page-academy .rsir-search input {
    height: 52px;
    border-radius: 5px;
    background: #111820;
    border-color: #1c2832;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.rsir-portal-page-academy .rsir-small-avatar {
    background: #f4f6f5;
    color: #101820;
}

.rsir-portal-page-academy .rsir-top-icon-button {
    background: transparent;
    border: 0;
}

.rsir-portal-page-academy .rsir-academy-hero {
    min-height: 374px;
    padding: 78px 44px 98px 84px;
    grid-template-columns: minmax(520px, 1fr) 430px;
    gap: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 58%, rgba(255,255,255,.84) 76%, rgba(255,255,255,.18) 100%),
        linear-gradient(180deg, #ffffff, #f3f5f4);
}

.rsir-portal-page-academy .rsir-academy-hero h1 {
    max-width: 760px;
    font-size: clamp(46px, 4vw, 62px);
    letter-spacing: 0;
}

.rsir-portal-page-academy .rsir-academy-hero p {
    font-size: 20px;
    font-weight: 700;
}

.rsir-portal-page-academy .rsir-academy-hero p::after {
    max-width: 520px;
    margin-top: 26px;
    font-size: 16px;
}

.rsir-portal-page-academy .rsir-academy-hero-actions {
    margin-top: 32px;
}

.rsir-portal-page-academy .rsir-academy-hero-media {
    position: relative;
    align-self: stretch;
    min-height: 270px;
    padding: 0;
    background: #d9ded8;
    box-shadow: none;
    clip-path: inset(0 0 0 0);
}

.rsir-portal-page-academy .rsir-academy-hero-media::before {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.38) 28%, rgba(255,255,255,0) 62%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.08));
}

.rsir-portal-page-academy .rsir-academy-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% 48%;
    display: block;
    filter: saturate(.98) contrast(1.02);
}

.rsir-portal-page-academy .rsir-academy-hero > div:first-child {
    position: relative;
    z-index: 2;
}

.rsir-portal-page-academy .rsir-academy-category-strip {
    width: calc(100% - 84px);
    margin-top: -52px;
    margin-bottom: 40px;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.rsir-portal-page-academy .rsir-academy-category-strip > a:first-child {
    display: grid;
}

.rsir-portal-page-academy .rsir-academy-category-strip a {
    min-height: 134px;
    padding: 26px 16px 22px;
}

.rsir-portal-page-academy .rsir-academy-category-strip span {
    width: 48px;
    height: 48px;
    font-size: 26px;
    border: 0;
    background: transparent;
}

.rsir-portal-page-academy .rsir-academy-category-strip strong {
    font-size: 16px;
}

.rsir-portal-page-academy .rsir-academy-section,
.rsir-portal-page-academy .rsir-academy-layout,
.rsir-portal-page-academy .rsir-academy-concept-strip {
    width: calc(100% - 104px);
}

.rsir-portal-page-academy .rsir-academy-featured-grid {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 18px;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card {
    min-height: 274px;
}

.rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card strong {
    margin-top: 182px;
    font-size: 18px;
}

.rsir-portal-page-academy .rsir-academy-concept-strip {
    margin-top: 8px;
    margin-bottom: 0;
    border-radius: 0;
    border-right: 0;
    border-left: 0;
    box-shadow: none;
}

.rsir-portal-page-academy .rsir-academy-concept-strip > div {
    min-height: 142px;
    padding: 26px 32px;
}

.rsir-portal-page-academy .rsir-academy-concept-strip strong {
    font-size: 20px;
}

.rsir-resources-page {
    display: grid;
    gap: 20px;
}

.rsir-resources-hero {
    min-height: 132px;
    padding: 12px 12px 12px;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 82% 10%, rgba(8,125,35,.07), transparent 30%),
        linear-gradient(90deg, #fff 0%, #fff 64%, #f4f6f3 100%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 24px;
    overflow: hidden;
    position: relative;
}

.rsir-resources-hero h1 {
    margin: 0 0 8px;
    font-size: 42px;
    line-height: 1.05;
    letter-spacing: 0;
}

.rsir-resources-hero p {
    max-width: 640px;
    margin: 0;
    color: var(--rsir-muted);
    line-height: 1.7;
}

.rsir-resources-hero-media {
    min-height: 132px;
    border-radius: 8px;
    background: transparent;
    position: relative;
}

.rsir-resource-doc {
    position: absolute;
    display: block;
    width: 136px;
    height: 108px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 18px 35px rgba(15,23,42,.12);
    transform-origin: center bottom;
}

.rsir-resource-doc::before,
.rsir-resource-doc::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    border-radius: 999px;
}

.rsir-resource-doc::before {
    top: 18px;
    height: 13px;
    background: #111827;
}

.rsir-resource-doc::after {
    top: 44px;
    height: 48px;
    background:
        repeating-linear-gradient(0deg, rgba(17,24,39,.18) 0 1px, transparent 1px 11px),
        linear-gradient(90deg, rgba(8,125,35,.18), rgba(8,125,35,.03));
}

.rsir-resource-doc.is-brochure {
    right: 210px;
    top: 14px;
    z-index: 3;
    background:
        linear-gradient(145deg, rgba(7,19,29,.82), rgba(7,19,29,.35) 48%, transparent 49%),
        linear-gradient(145deg, #f7faf8, #dce6dd);
    transform: rotate(-8deg);
}

.rsir-resource-doc.is-brochure::before {
    background: #fff;
}

.rsir-resource-doc.is-drawing {
    right: 112px;
    top: 4px;
    z-index: 2;
    transform: rotate(5deg);
}

.rsir-resource-doc.is-drawing::after {
    background:
        linear-gradient(90deg, transparent 0 15%, rgba(17,24,39,.22) 15% 16%, transparent 16% 100%),
        linear-gradient(0deg, transparent 0 24%, rgba(17,24,39,.18) 24% 25%, transparent 25% 100%),
        repeating-linear-gradient(0deg, rgba(17,24,39,.14) 0 1px, transparent 1px 13px);
}

.rsir-resource-doc.is-sheet {
    right: 24px;
    top: 18px;
    z-index: 1;
    transform: rotate(12deg);
}

.rsir-resource-doc.is-sheet::before {
    background: var(--rsir-green);
}

.rsir-resource-category-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 18px;
}

.rsir-resource-category-strip a {
    --resource-accent: var(--rsir-green);
    min-height: 148px;
    padding: 22px 18px 18px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    color: var(--rsir-text);
    text-decoration: none;
    display: grid;
    gap: 8px;
    place-items: center;
    text-align: center;
    box-shadow: inset 0 -4px 0 var(--resource-accent, var(--rsir-green)), 0 8px 22px rgba(15,23,42,.04);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.rsir-resource-category-strip .is-resource-brochures,
.rsir-resource-card.is-resource-brochures {
    --resource-accent: #087d23;
}

.rsir-resource-category-strip .is-resource-spec_sheets,
.rsir-resource-card.is-resource-spec_sheets {
    --resource-accent: #0f8b8d;
}

.rsir-resource-category-strip .is-resource-cad_files,
.rsir-resource-card.is-resource-cad_files {
    --resource-accent: #e66b1f;
}

.rsir-resource-category-strip .is-resource-pdf,
.rsir-resource-card.is-resource-pdf {
    --resource-accent: #7c3aed;
}

.rsir-resource-category-strip .is-resource-warranty,
.rsir-resource-card.is-resource-warranty {
    --resource-accent: #1f7ab8;
}

.rsir-resource-category-strip .is-resource-service_infographics,
.rsir-resource-card.is-resource-service_infographics {
    --resource-accent: #178f38;
}

.rsir-resource-category-strip a.is-active,
.rsir-resource-category-strip a:hover {
    border-color: color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 52%, var(--rsir-border));
    box-shadow: inset 0 -4px 0 var(--resource-accent, var(--rsir-green)), 0 14px 28px rgba(15,23,42,.08);
    transform: translateY(-2px);
}

.rsir-resource-category-strip span {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 12%, #fff);
    color: var(--resource-accent, var(--rsir-green));
    display: grid;
    place-items: center;
    font-size: 28px;
}

.rsir-resource-category-strip strong {
    font-size: 16px;
    line-height: 1.25;
}

.rsir-resource-category-strip small {
    color: var(--rsir-muted);
    font-weight: 700;
}

.rsir-resource-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 190px 190px 170px auto auto;
    gap: 14px;
    align-items: center;
}

.rsir-resource-filters input,
.rsir-resource-filters select {
    min-height: 52px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,23,42,.04);
}

.rsir-resource-filters .rsir-button-secondary {
    min-height: 52px;
}

.rsir-resource-filters .rsir-button-primary {
    min-height: 52px;
    padding-inline: 22px;
}

.rsir-resource-section,
.rsir-resource-main,
.rsir-resource-side .rsir-panel {
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    padding: 20px;
}

.rsir-resource-featured-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 18px;
}

.rsir-resource-card {
    --resource-accent: var(--rsir-green);
    min-height: 210px;
    padding: 20px;
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 11%, #fff), #fff 60%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 116px;
    gap: 14px;
    overflow: hidden;
    position: relative;
}

.rsir-resource-card span {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 12%, #fff);
    color: var(--resource-accent, var(--rsir-green));
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    border: 1px solid color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 20%, transparent);
}

.rsir-resource-card h3 {
    margin: 18px 0 10px;
    font-size: 19px;
    line-height: 1.35;
}

.rsir-resource-card p {
    margin: 0 0 18px;
    color: var(--rsir-muted);
}

.rsir-resource-thumb {
    min-height: 138px;
    border-radius: 8px;
    background: rgba(255,255,255,.62);
    color: var(--resource-accent, var(--rsir-green));
    display: grid;
    place-items: center;
    font-size: 36px;
    overflow: hidden;
    box-shadow: -10px 12px 25px rgba(15,23,42,.09);
}

.rsir-resource-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rsir-resource-category-head {
    padding: 18px 0 10px;
}

.rsir-resource-title-line {
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
}

.rsir-resource-title-line span,
.rsir-resource-title-line strong {
    color: var(--rsir-muted);
    font-size: 34px;
    line-height: 1.1;
    font-weight: 900;
}

.rsir-resource-title-line h1 {
    margin: 0;
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0;
}

.rsir-resource-category-head p {
    margin: 10px 0 0;
    color: var(--rsir-muted);
    font-weight: 650;
}

.rsir-resource-tabs {
    min-height: 72px;
    border-bottom: 1px solid var(--rsir-border);
    display: flex;
    align-items: center;
    gap: 34px;
    overflow-x: auto;
}

.rsir-resource-tabs a {
    --resource-accent: var(--rsir-green);
    min-height: 72px;
    padding: 0 2px;
    color: var(--rsir-text);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    font-weight: 900;
    border-bottom: 3px solid transparent;
}

.rsir-resource-tabs a.is-active {
    color: var(--resource-accent, var(--rsir-green));
    border-bottom-color: var(--resource-accent, var(--rsir-green));
}

.rsir-resource-tabs span {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    color: var(--resource-accent, var(--rsir-green));
    background: color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 10%, #fff);
}

.rsir-resource-tabs .is-resource-brochures,
.rsir-resource-detail-row.is-resource-brochures,
.rsir-resource-about-icon.is-resource-brochures {
    --resource-accent: #087d23;
}

.rsir-resource-tabs .is-resource-spec_sheets,
.rsir-resource-detail-row.is-resource-spec_sheets,
.rsir-resource-about-icon.is-resource-spec_sheets {
    --resource-accent: #0f8b8d;
}

.rsir-resource-tabs .is-resource-cad_files,
.rsir-resource-detail-row.is-resource-cad_files,
.rsir-resource-about-icon.is-resource-cad_files {
    --resource-accent: #e66b1f;
}

.rsir-resource-tabs .is-resource-pdf,
.rsir-resource-detail-row.is-resource-pdf,
.rsir-resource-about-icon.is-resource-pdf {
    --resource-accent: #7c3aed;
}

.rsir-resource-tabs .is-resource-warranty,
.rsir-resource-detail-row.is-resource-warranty,
.rsir-resource-about-icon.is-resource-warranty {
    --resource-accent: #1f7ab8;
}

.rsir-resource-tabs .is-resource-service_infographics,
.rsir-resource-detail-row.is-resource-service_infographics,
.rsir-resource-about-icon.is-resource-service_infographics {
    --resource-accent: #178f38;
}

.rsir-resource-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: start;
}

.rsir-resource-detail-main,
.rsir-resource-detail-side .rsir-panel {
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
}

.rsir-resource-detail-main {
    overflow: hidden;
}

.rsir-resource-detail-filters {
    padding: 22px;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 180px 180px 180px auto;
    gap: 14px;
    align-items: center;
}

.rsir-resource-detail-filters input,
.rsir-resource-detail-filters select {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    padding: 0 14px;
}

.rsir-resource-detail-filters label {
    display: block;
}

.rsir-resource-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rsir-resource-view-toggle b {
    width: 46px;
    height: 46px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: var(--rsir-muted);
    background: #fff;
}

.rsir-resource-view-toggle b:first-child {
    color: var(--rsir-green);
    background: #eef8f1;
    border-color: #bfe5c8;
}

.rsir-resource-detail-head,
.rsir-resource-detail-row {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 150px 120px 100px 150px;
    gap: 18px;
    align-items: center;
}

.rsir-resource-detail-head {
    padding: 18px 28px;
    border-top: 1px solid var(--rsir-border);
    border-bottom: 1px solid var(--rsir-border);
    color: var(--rsir-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.rsir-resource-detail-row {
    min-height: 92px;
    padding: 14px 28px;
    color: var(--rsir-text);
    text-decoration: none;
    border-bottom: 1px solid var(--rsir-border);
}

.rsir-resource-detail-row:last-child {
    border-bottom: 0;
}

.rsir-resource-detail-row:hover {
    background: #fafbfa;
}

.rsir-resource-detail-name {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.rsir-resource-detail-name em {
    width: 70px;
    height: 58px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 12%, #fff);
    color: var(--resource-accent, var(--rsir-green));
    display: grid;
    place-items: center;
    font-size: 26px;
    font-style: normal;
    overflow: hidden;
}

.rsir-resource-detail-name img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rsir-resource-detail-name strong {
    display: block;
    font-size: 16px;
    line-height: 1.3;
}

.rsir-resource-detail-name small {
    display: block;
    margin-top: 4px;
    color: var(--rsir-muted);
}

.rsir-resource-detail-name i {
    width: fit-content;
    display: inline-flex;
    margin-top: 6px;
    padding: 3px 8px;
    border-radius: 5px;
    background: #f0f2f1;
    color: var(--rsir-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.rsir-resource-detail-download {
    justify-self: end;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #9ccdac;
    border-radius: 8px;
    color: var(--rsir-green);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
}

.rsir-resource-detail-side {
    display: grid;
    gap: 18px;
}

.rsir-resource-detail-side .rsir-panel {
    padding: 26px;
}

.rsir-resource-about-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--resource-accent, var(--rsir-green)) 12%, #fff);
    color: var(--resource-accent, var(--rsir-green));
    display: grid;
    place-items: center;
    font-size: 28px;
}

.rsir-resource-detail-side h2 {
    margin: 0 0 18px;
    font-size: 19px;
}

.rsir-resource-detail-side p {
    color: var(--rsir-muted);
    line-height: 1.7;
}

.rsir-resource-detail-side hr {
    border: 0;
    border-top: 1px solid var(--rsir-border);
    margin: 22px 0;
}

.rsir-resource-detail-side a:not(.rsir-resource-side-link) {
    color: var(--rsir-green);
    font-weight: 900;
    text-decoration: none;
}

.rsir-resource-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 22px;
    align-items: start;
}

.rsir-resource-table {
    display: grid;
}

.rsir-resource-table-head,
.rsir-resource-row {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) 150px 140px 110px 90px 110px 34px;
    gap: 14px;
    align-items: center;
}

.rsir-resource-table-head {
    padding: 0 18px 12px;
    color: var(--rsir-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.rsir-resource-row {
    min-height: 72px;
    padding: 12px 18px;
    border-top: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    text-decoration: none;
}

.rsir-resource-row:hover {
    background: #fafbfa;
}

.rsir-resource-name {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: center;
}

.rsir-resource-name em,
.rsir-resource-download {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #eaf6ed;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    font-style: normal;
    font-weight: 900;
}

.rsir-resource-side {
    display: grid;
    gap: 18px;
}

.rsir-resource-side-link {
    padding: 12px 0;
    border-bottom: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-weight: 800;
}

.rsir-resource-side-link:last-child {
    border-bottom: 0;
}

.rsir-resource-side-link span {
    color: var(--rsir-muted);
}

.rsir-news-page,
.rsir-news-detail-page {
    display: grid;
    gap: 18px;
}

.rsir-news-hero {
    padding: 6px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rsir-news-hero h1 {
    margin: 0 0 8px;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: 0;
}

.rsir-news-hero p {
    margin: 0;
    color: var(--rsir-muted);
    font-weight: 650;
}

.rsir-news-search {
    max-width: 620px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}

.rsir-news-search input {
    min-height: 44px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 12px;
}

.rsir-news-search button {
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    background: var(--rsir-green);
    color: #fff;
    font-weight: 900;
    padding: 0 18px;
}

.rsir-news-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 8px 0 6px;
}

.rsir-news-tabs a {
    min-height: 54px;
    padding: 0 20px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    color: var(--rsir-text);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
}

.rsir-news-tabs a.is-active {
    background: var(--rsir-green);
    border-color: var(--rsir-green);
    color: #fff;
}

.rsir-news-featured-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
}

.rsir-news-featured {
    min-height: 320px;
    border-radius: 8px;
    color: #fff;
    background: #101820;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(260px, 1.05fr);
    overflow: hidden;
    text-decoration: none;
}

.rsir-news-featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    grid-column: 2;
    grid-row: 1;
    opacity: .78;
}

.rsir-news-featured-placeholder {
    grid-column: 2;
    grid-row: 1;
    display: block;
    min-height: 320px;
    background:
        linear-gradient(90deg, rgba(16,24,32,.1), rgba(16,24,32,.18)),
        linear-gradient(135deg, #d8ddd9 0%, #f4f1eb 45%, #b9c2bd 100%);
    position: relative;
    overflow: hidden;
}

.rsir-news-featured-placeholder::before,
.rsir-news-featured-placeholder::after {
    content: "";
    position: absolute;
    inset: 32px auto 26px 48px;
    width: 38%;
    border: 10px solid rgba(18,30,28,.42);
    border-bottom-width: 18px;
    box-shadow: 110px 12px 0 -18px rgba(18,30,28,.26);
}

.rsir-news-featured-placeholder::after {
    inset: auto 28px 26px auto;
    width: 34%;
    height: 58%;
    border: 0;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(180deg, rgba(15,135,55,.24), rgba(15,135,55,0));
    box-shadow: -70px -22px 0 -32px rgba(15,135,55,.24);
}

.rsir-news-featured > div {
    position: relative;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    padding: 34px 36px;
    display: grid;
    align-content: center;
    gap: 16px;
    background: linear-gradient(90deg, rgba(6,13,20,.94), rgba(6,13,20,.84) 70%, rgba(6,13,20,.18));
}

.rsir-news-featured-meta {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rsir-news-featured-meta span,
.rsir-news-badge {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 5px;
    background: #eaf6ed;
    color: var(--rsir-green);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.rsir-news-featured h2 {
    margin: 0;
    font-size: 31px;
    line-height: 1.2;
}

.rsir-news-featured p,
.rsir-news-featured-meta time {
    margin: 0;
    color: rgba(255,255,255,.82);
}

.rsir-news-featured strong {
    width: fit-content;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 8px;
    background: #fff;
    color: var(--rsir-text);
    display: inline-flex;
    align-items: center;
    font-weight: 900;
}

.rsir-news-highlight-stack {
    display: grid;
    gap: 20px;
}

.rsir-news-highlight-stack a,
.rsir-news-highlight-card,
.rsir-news-main,
.rsir-news-side .rsir-panel,
.rsir-news-article {
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
}

.rsir-news-highlight-stack a,
.rsir-news-highlight-card {
    --news-accent: var(--rsir-green);
    min-height: 150px;
    padding: 24px;
    color: var(--rsir-text);
    display: block;
    text-decoration: none;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--news-accent) 9%, #fff), #fff 72%);
}

.rsir-news-highlight-stack .is-news-product_updates {
    --news-accent: #6d5dfc;
}

.rsir-news-highlight-stack .is-news-lead_time_updates {
    --news-accent: #13905b;
}

.rsir-news-highlight-stack .is-news-new_colours {
    --news-accent: #2274d6;
}

.rsir-news-highlight-stack .is-news-promotions {
    --news-accent: #db7a26;
}

.rsir-news-highlight-stack .is-news-technical_bulletins {
    --news-accent: #c79a13;
}

.rsir-news-highlight-stack > a > span,
.rsir-news-highlight-card > span {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--news-accent) 12%, #fff);
    color: var(--news-accent);
    display: grid;
    place-items: center;
    font-weight: 900;
}

.rsir-news-highlight-stack > a > strong,
.rsir-news-highlight-stack > a > small,
.rsir-news-highlight-stack > a > em,
.rsir-news-highlight-card > strong,
.rsir-news-highlight-card > small,
.rsir-news-highlight-card > em {
    display: block;
    margin-top: 10px;
}

.rsir-news-highlight-stack > a > small,
.rsir-news-highlight-card > small {
    color: var(--rsir-muted);
    line-height: 1.5;
}

.rsir-news-highlight-stack > a > em,
.rsir-news-highlight-card > em {
    color: var(--rsir-green);
    font-style: normal;
    font-weight: 900;
}

.rsir-news-layout,
.rsir-news-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 22px;
    align-items: start;
}

.rsir-news-main,
.rsir-news-article {
    padding: 20px 22px;
}

.rsir-news-list {
    display: grid;
}

.rsir-news-row {
    min-height: 106px;
    padding: 16px 0;
    border-top: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) 120px 20px;
    gap: 18px;
    align-items: center;
    text-decoration: none;
}

.rsir-news-row-image {
    width: 90px;
    height: 72px;
    border-radius: 8px;
    background: #eef1ef;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    overflow: hidden;
    font-weight: 900;
}

.rsir-news-row-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rsir-news-row mark {
    padding: 4px 8px;
    border-radius: 5px;
    background: #edf7f0;
    color: var(--rsir-green);
    font-size: 11px;
    font-weight: 900;
}

.rsir-news-row strong,
.rsir-news-row small {
    display: block;
    margin-top: 7px;
}

.rsir-news-row small,
.rsir-news-row time {
    color: var(--rsir-muted);
}

.rsir-news-side {
    display: grid;
    gap: 18px;
}

.rsir-news-side .rsir-panel {
    padding: 22px;
}

.rsir-news-side-link,
.rsir-news-related-link {
    padding: 13px 14px;
    border-bottom: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-weight: 800;
    border-radius: 7px;
}

.rsir-news-side-link.active {
    background: #eef8f1;
    color: var(--rsir-green);
}

.rsir-news-loop-icon {
    width: 68px;
    height: 68px;
    margin: 10px auto 12px;
    border-radius: 50%;
    background: #eef8f1;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    font-size: 34px;
}

.rsir-news-side .rsir-panel:last-child {
    text-align: center;
    background: linear-gradient(180deg, #fff, #f2f9f4);
}

.rsir-news-related-link {
    display: block;
}

.rsir-news-side-link:last-child,
.rsir-news-related-link:last-child {
    border-bottom: 0;
}

.rsir-news-side-link span,
.rsir-news-related-link small {
    color: var(--rsir-muted);
}

.rsir-news-article-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 30px;
    align-items: center;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--rsir-border);
}

.rsir-news-article-head h1 {
    margin: 18px 0 12px;
    font-size: 38px;
    line-height: 1.18;
    letter-spacing: 0;
}

.rsir-news-article-head p {
    margin: 0;
    color: var(--rsir-muted);
    line-height: 1.7;
}

.rsir-news-article-head time {
    margin-left: 12px;
    color: var(--rsir-muted);
    font-weight: 800;
}

.rsir-news-author {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 42px auto;
    gap: 2px 12px;
    align-items: center;
}

.rsir-news-author span {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #eef1ef;
    display: grid;
    place-items: center;
    grid-row: span 2;
    font-weight: 900;
}

.rsir-news-author small {
    color: var(--rsir-muted);
}

.rsir-news-article-image {
    min-height: 260px;
    border-radius: 8px;
    background: #eef1ef;
    display: grid;
    place-items: center;
    overflow: hidden;
    font-weight: 900;
}

.rsir-news-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rsir-news-content {
    padding: 28px 0;
    color: var(--rsir-text);
    line-height: 1.8;
    font-size: 16px;
}

.rsir-news-helpful {
    padding: 16px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.rsir-news-helpful span {
    margin-right: auto;
    color: var(--rsir-muted);
    font-weight: 800;
}

.rsir-news-helpful button,
.rsir-news-helpful a {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    color: var(--rsir-text);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 800;
}

.rsir-support-page {
    display: grid;
    gap: 22px;
}

.rsir-support-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
    align-items: center;
}

.rsir-support-hero h1,
.rsir-support-page-head h1 {
    margin: 0 0 8px;
    font-size: 36px;
    letter-spacing: 0;
}

.rsir-support-hero p,
.rsir-support-page-head p {
    margin: 0;
    color: var(--rsir-muted);
    line-height: 1.6;
}

.rsir-support-callout,
.rsir-support-urgent {
    padding: 18px;
    border-radius: 8px;
    background: #eef8f1;
    display: flex;
    align-items: center;
    gap: 14px;
}

.rsir-support-callout span,
.rsir-support-urgent span {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ddf2e4;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    font-size: 22px;
    flex: 0 0 auto;
}

.rsir-support-callout small {
    color: var(--rsir-muted);
    display: block;
}

.rsir-support-callout strong,
.rsir-support-phone {
    color: var(--rsir-green);
    display: block;
    font-size: 24px;
}

.rsir-support-card-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 16px;
}

.rsir-support-card {
    min-height: 230px;
    padding: 22px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    color: var(--rsir-text);
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 12px;
    text-align: center;
    text-decoration: none;
}

.rsir-support-card span {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #eaf6ed;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    font-size: 28px;
}

.rsir-support-card p,
.rsir-support-card small {
    margin: 0;
    color: var(--rsir-muted);
    line-height: 1.55;
}

.rsir-support-card small {
    color: var(--rsir-green);
    font-weight: 900;
}

.rsir-support-requests,
.rsir-support-bottom-grid .rsir-panel,
.rsir-support-main,
.rsir-support-side .rsir-panel,
.rsir-support-embed-panel {
    border-radius: 8px;
}

.rsir-support-request-table {
    display: grid;
}

.rsir-support-request-head,
.rsir-support-request-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr .9fr .9fr 90px;
    gap: 14px;
    align-items: center;
}

.rsir-support-request-head {
    padding: 0 0 12px;
    color: var(--rsir-muted);
    font-size: 12px;
    font-weight: 900;
}

.rsir-support-request-row {
    min-height: 56px;
    border-top: 1px solid var(--rsir-border);
}

.rsir-support-request-row mark {
    width: fit-content;
    padding: 4px 8px;
    border-radius: 5px;
    background: #eef3ff;
    color: #3863b5;
    font-size: 12px;
    font-weight: 900;
}

.rsir-support-request-row button {
    min-height: 34px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    font-weight: 800;
}

.rsir-support-bottom-grid,
.rsir-support-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: start;
}

.rsir-support-topic-list,
.rsir-support-bulletins {
    display: grid;
}

.rsir-support-topic-list a,
.rsir-support-bulletins a,
.rsir-support-side-link {
    padding: 13px 0;
    border-top: 1px solid var(--rsir-border);
    color: var(--rsir-text);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-weight: 800;
}

.rsir-support-bulletins a {
    display: block;
}

.rsir-support-bulletins small {
    display: block;
    margin-top: 5px;
    color: var(--rsir-muted);
}

.rsir-support-urgent {
    justify-content: space-between;
}

.rsir-support-urgent p {
    margin: 4px 0 0;
    color: var(--rsir-muted);
}

.rsir-support-main,
.rsir-support-side .rsir-panel,
.rsir-support-embed-panel {
    border: 1px solid var(--rsir-border);
    background: #fff;
    padding: 22px;
}

.rsir-support-embed-panel iframe {
    width: 100%;
    min-height: 820px;
    border: 0;
    display: block;
}

.rsir-support-embed-empty {
    min-height: 420px;
    border: 1px dashed var(--rsir-border);
    border-radius: 8px;
    background: #fafbfa;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
    text-align: center;
    padding: 28px;
}

.rsir-support-info-list {
    display: grid;
    gap: 18px;
}

.rsir-support-info-list div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 2px 12px;
}

.rsir-support-info-list span {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #eaf6ed;
    color: var(--rsir-green);
    display: grid;
    place-items: center;
    grid-row: span 2;
}

.rsir-support-info-list small {
    color: var(--rsir-muted);
}

.rsir-support-faq-search input {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 16px;
}

.rsir-support-faq-list {
    margin-top: 22px;
    display: grid;
    gap: 18px;
}

.rsir-support-faq-group {
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.rsir-support-faq-group h2 {
    margin: 0;
    padding: 18px;
    font-size: 20px;
}

.rsir-support-faq-group details {
    border-top: 1px solid var(--rsir-border);
}

.rsir-support-faq-group summary {
    padding: 16px 18px;
    cursor: pointer;
    font-weight: 900;
}

.rsir-support-faq-group p {
    margin: 0;
    padding: 0 18px 18px;
    color: var(--rsir-muted);
    line-height: 1.6;
}

.rsir-support-need-help {
    text-align: center;
}

.rsir-support-need-help .rsir-help-icon {
    margin: 0 auto 12px;
}

.rsir-quick-link {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid var(--rsir-border);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 34px 1fr 20px;
    align-items: center;
    gap: 12px;
    color: var(--rsir-text);
    text-decoration: none;
}

.rsir-quick-link:hover {
    background: #fafbfa;
}

.rsir-quick-link span {
    font-size: 24px;
}

.rsir-quick-link small {
    display: block;
    margin-top: 3px;
    color: var(--rsir-muted);
}

@media (max-width: 1200px) {
    .rsir-action-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .rsir-academy-hero,
    .rsir-academy-layout,
    .rsir-resources-hero,
    .rsir-resource-detail-layout,
    .rsir-resource-layout,
    .rsir-news-featured-layout,
    .rsir-news-layout,
    .rsir-news-detail-layout,
    .rsir-news-article-head,
    .rsir-support-hero,
    .rsir-support-bottom-grid,
    .rsir-support-layout {
        grid-template-columns: 1fr;
    }

    .rsir-academy-category-strip,
    .rsir-academy-featured-grid,
    .rsir-academy-video-grid,
    .rsir-academy-whats-new,
    .rsir-resource-category-strip,
    .rsir-resource-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rsir-academy-filters,
    .rsir-resource-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rsir-resource-table-head {
        display: none;
    }

    .rsir-resource-row {
        grid-template-columns: 1fr 1fr;
    }

    .rsir-resource-detail-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rsir-resource-detail-filters label {
        grid-column: 1 / -1;
    }

    .rsir-resource-detail-head {
        display: none;
    }

    .rsir-resource-detail-row {
        grid-template-columns: 1fr 1fr;
    }

    .rsir-resource-detail-name,
    .rsir-resource-detail-download {
        grid-column: 1 / -1;
    }

    .rsir-resource-detail-download {
        justify-self: start;
    }

    .rsir-news-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 12px;
    }

    .rsir-news-tabs a {
        flex: 0 0 auto;
    }

    .rsir-news-featured {
        min-height: 280px;
    }

    .rsir-support-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rsir-support-request-head {
        display: none;
    }

    .rsir-support-request-row {
        grid-template-columns: 1fr 1fr;
        padding: 12px 0;
    }

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

    .rsir-news-featured img,
    .rsir-news-featured > div {
        grid-column: 1;
    }

    .rsir-news-row {
        grid-template-columns: 78px minmax(0, 1fr) 20px;
    }

    .rsir-news-row time {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-hero {
        padding: 54px 42px 88px;
        grid-template-columns: minmax(0, 1fr) 340px;
    }

    .rsir-portal-page-academy .rsir-academy-hero-media {
        min-height: 250px;
    }

    .rsir-portal-page-academy .rsir-academy-category-strip,
    .rsir-portal-page-academy .rsir-academy-featured-grid,
    .rsir-portal-page-academy .rsir-academy-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rsir-portal-page-academy .rsir-academy-layout {
        grid-template-columns: 1fr;
    }

    .rsir-portal-page-academy .rsir-academy-filterbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rsir-portal-page-academy .rsir-academy-filterbar input {
        grid-column: 1 / -1;
    }

    .rsir-portal-page-academy .rsir-academy-concept-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .rsir-portal {
        display: block;
    }

    .rsir-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 50;
        width: min(86vw, 320px);
        transform: translateX(-100%);
        transition: transform .2s ease;
        overflow-y: auto;
        box-shadow: 18px 0 50px rgba(0,0,0,.18);
    }

    .rsir-portal.is-sidebar-open .rsir-sidebar {
        transform: translateX(0);
    }

    .rsir-sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 45;
        border: 0;
        background: rgba(0,0,0,.38);
    }

    .rsir-portal.is-sidebar-open .rsir-sidebar-backdrop {
        display: block;
    }

    .rsir-menu-toggle {
        display: inline-flex;
    }

    .rsir-content {
        padding: 18px;
    }

    .rsir-topbar {
        padding: 0 14px;
        gap: 10px;
    }

    .rsir-page-label {
        display: none;
    }

    .rsir-search {
        flex: 1;
        min-width: 0;
    }

    .rsir-top-actions {
        gap: 10px;
    }

    .rsir-action-grid,
    .rsir-summary-grid,
    .rsir-course-grid,
    .rsir-academy-category-strip,
    .rsir-academy-featured-grid,
    .rsir-academy-video-grid,
    .rsir-academy-whats-new,
    .rsir-academy-filters,
    .rsir-resource-category-strip,
    .rsir-resource-featured-grid,
    .rsir-resource-filters,
    .rsir-resource-card,
    .rsir-resource-row {
        grid-template-columns: 1fr;
    }

    .rsir-resource-title-line span,
    .rsir-resource-title-line strong,
    .rsir-resource-title-line h1 {
        font-size: 30px;
    }

    .rsir-resource-tabs {
        gap: 22px;
    }

    .rsir-resource-detail-filters,
    .rsir-resource-detail-row {
        grid-template-columns: 1fr;
    }

    .rsir-resource-detail-name {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .rsir-resource-detail-name em {
        width: 58px;
        height: 52px;
    }

    .rsir-news-hero h1 {
        font-size: 32px;
    }

    .rsir-news-tabs {
        gap: 12px;
    }

    .rsir-news-tabs a {
        min-width: 86px;
        min-height: 78px;
        padding: 10px;
        border-radius: 999px;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        font-size: 12px;
    }

    .rsir-news-tabs a span {
        font-size: 20px;
    }

    .rsir-news-featured {
        grid-template-columns: 1fr;
        min-height: 260px;
    }

    .rsir-news-featured img,
    .rsir-news-featured-placeholder,
    .rsir-news-featured > div {
        grid-column: 1;
    }

    .rsir-news-featured img,
    .rsir-news-featured-placeholder {
        grid-row: 1;
        opacity: .62;
    }

    .rsir-news-featured > div {
        grid-row: 1;
        padding: 22px;
        background: linear-gradient(90deg, rgba(6,13,20,.9), rgba(6,13,20,.35));
    }

    .rsir-news-featured h2 {
        font-size: 24px;
    }

    .rsir-news-row {
        grid-template-columns: 94px minmax(0, 1fr) 18px;
        gap: 14px;
    }

    .rsir-news-row time {
        display: none;
    }

    .rsir-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .rsir-table {
        min-width: 720px;
    }

    .rsir-academy-hero,
    .rsir-resources-hero,
    .rsir-news-hero {
        padding: 24px;
    }

    .rsir-academy-hero h1,
    .rsir-resources-hero h1,
    .rsir-news-hero h1,
    .rsir-news-article-head h1 {
        font-size: 34px;
    }

    .rsir-news-search,
    .rsir-news-row,
    .rsir-support-card-grid,
    .rsir-support-request-row {
        grid-template-columns: 1fr;
    }

    .rsir-news-row-image {
        width: 100%;
        height: 170px;
    }

    .rsir-support-card {
        min-height: auto;
    }

    .rsir-support-urgent,
    .rsir-support-callout {
        flex-direction: column;
        align-items: flex-start;
    }

    .rsir-section-heading,
    .rsir-academy-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .rsir-order-row {
        grid-template-columns: 1fr;
    }

    .rsir-portal-page-academy .rsir-topbar {
        height: 76px;
        padding: 0 18px;
        background: #050a0f;
        justify-content: space-between;
    }

    .rsir-portal-page-academy .rsir-content {
        padding: 0;
    }

    .rsir-portal-page-academy .rsir-menu-toggle {
        width: 44px;
        height: 44px;
        border: 0;
        background: transparent;
    }

    .rsir-portal-page-academy .rsir-menu-toggle span {
        background: #fff;
    }

    .rsir-portal-page-academy .rsir-mobile-brand {
        display: flex;
        align-items: center;
        gap: 8px;
        color: #fff;
        text-decoration: none;
        line-height: .9;
        font-size: 14px;
        font-weight: 900;
    }

    .rsir-portal-page-academy .rsir-mobile-brand span {
        width: 28px;
        height: 28px;
        background: linear-gradient(135deg, #fff 0 45%, var(--rsir-green) 45% 70%, transparent 70%);
        border: 1px solid rgba(255,255,255,.25);
    }

    .rsir-portal-page-academy .rsir-search {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-archive-head {
        width: calc(100% - 36px);
        padding: 28px 0 18px;
    }

    .rsir-portal-page-academy .rsir-academy-archive-head .rsir-breadcrumbs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 14px;
        font-size: 12px;
    }

    .rsir-portal-page-academy .rsir-academy-archive-head h1 {
        font-size: 34px;
    }

    .rsir-portal-page-academy .rsir-academy-archive-head p {
        font-size: 15px;
    }

    .rsir-portal-page-academy .rsir-academy-hero {
        min-height: 420px;
        padding: 34px 22px 128px;
        color: #fff;
        display: block;
        background:
            linear-gradient(180deg, rgba(5,11,16,.28), rgba(5,11,16,.88)),
            url("../images/academy/academy-hero.png") center right / cover no-repeat;
    }

    .rsir-portal-page-academy .rsir-academy-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(90deg, rgba(255,255,255,.18) 0 1px, transparent 1px 21%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 2px, rgba(0,0,0,.16) 2px 13px);
        opacity: .42;
    }

    .rsir-portal-page-academy .rsir-academy-hero > div:first-child {
        position: relative;
        z-index: 2;
    }

    .rsir-portal-page-academy .rsir-academy-hero h1 {
        margin-top: 58px;
        max-width: 320px;
        color: #fff;
        font-size: 36px;
    }

    .rsir-portal-page-academy .rsir-academy-hero h1 span {
        color: #fff;
    }

    .rsir-portal-page-academy .rsir-academy-hero p {
        color: rgba(255,255,255,.9);
        font-size: 19px;
        line-height: 1.45;
    }

    .rsir-portal-page-academy .rsir-academy-hero p::after,
    .rsir-portal-page-academy .rsir-academy-hero-media,
    .rsir-portal-page-academy .rsir-academy-hero-actions .rsir-button-secondary {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-hero-actions .rsir-button-primary {
        min-height: 54px;
        width: 100%;
        max-width: 250px;
        justify-content: center;
    }

    .rsir-portal-page-academy .rsir-academy-category-strip {
        width: calc(100% - 32px);
        margin: -72px auto 26px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .rsir-portal-page-academy .rsir-academy-category-strip > a:first-child {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-category-strip a {
        min-width: 82px;
        min-height: 94px;
        padding: 10px 8px;
        border: 0;
        border-radius: 8px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 10px 24px rgba(0,0,0,.12);
        flex: 0 0 92px;
    }

    .rsir-portal-page-academy .rsir-academy-category-strip span {
        width: 48px;
        height: 48px;
        font-size: 22px;
        box-shadow: 0 5px 14px rgba(0,0,0,.08);
    }

    .rsir-portal-page-academy .rsir-academy-category-strip strong {
        font-size: 12px;
        line-height: 1.25;
    }

    .rsir-portal-page-academy .rsir-academy-category-strip small {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-section,
    .rsir-portal-page-academy .rsir-academy-layout,
    .rsir-portal-page-academy .rsir-academy-concept-strip {
        width: calc(100% - 32px);
    }

    .rsir-portal-page-academy .is-video-directory .rsir-academy-layout {
        width: calc(100% - 32px);
    }

    .rsir-portal-page-academy .rsir-academy-filterbar {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .rsir-portal-page-academy .rsir-academy-filterbar input {
        grid-column: auto;
    }

    .rsir-portal-page-academy .rsir-academy-view-toggle {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-section {
        padding-bottom: 28px;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card {
        min-height: 98px;
        display: grid;
        grid-template-columns: 132px 1fr;
        gap: 14px;
        background: transparent;
        overflow: visible;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-video-thumb {
        position: relative;
        inset: auto;
        aspect-ratio: 16 / 9;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-video-thumb::after {
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.32));
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card strong {
        margin: 4px 0 0;
        color: #111c16;
        font-size: 15px;
        align-self: end;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-academy-video-card > span:not(.rsir-video-thumb):not(.rsir-video-type) {
        margin: 0;
        color: var(--rsir-muted);
        font-size: 12px;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-video-thumb em {
        width: 34px;
        height: 34px;
        font-size: 12px;
    }

    .rsir-portal-page-academy .rsir-academy-featured-grid .rsir-video-thumb b {
        padding: 3px 6px;
        font-size: 10px;
    }

    .rsir-portal-page-academy .rsir-academy-main {
        padding: 16px;
    }

    .rsir-portal-page-academy .rsir-academy-video-grid {
        grid-template-columns: 1fr;
    }

    .rsir-portal-page-academy .rsir-academy-side {
        display: none;
    }

    .rsir-portal-page-academy .rsir-academy-concept-strip {
        display: none;
    }
}

html,
body.rsir-portal-body {
    margin: 0;
    padding: 0;
    background: #f6f7f6;
}

body.rsir-portal-body #wpadminbar {
    position: fixed;
}

.rsir-page-head {
    margin-bottom: 24px;
}

.rsir-page-head h1 {
    margin: 0 0 8px;
    font-size: 32px;
}

.rsir-page-head p {
    margin: 0;
    color: var(--rsir-muted);
}

.rsir-subnav a.active {
    color: #fff;
    background: rgba(8, 125, 35, .35);
}

.rsir-page-label {
    font-weight: 800;
    color: #fff;
}

.rsir-account-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.rsir-account-grid .rsir-panel:nth-child(3) {
    grid-column: span 2;
}

.rsir-detail-list {
    display: grid;
    gap: 14px;
}

.rsir-detail-list div,
.rsir-permission-row {
    padding: 14px 0;
    border-bottom: 1px solid var(--rsir-border);
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.rsir-detail-list div:last-child,
.rsir-permission-row:last-child {
    border-bottom: 0;
}

.rsir-detail-list span,
.rsir-permission-row span {
    color: var(--rsir-muted);
}

.rsir-status-text.approved,
.rsir-permission-yes {
    color: #087d23;
}

.rsir-status-text.pending,
.rsir-permission-no {
    color: #c26a00;
}

@media (max-width: 900px) {
    .rsir-account-grid {
        grid-template-columns: 1fr;
    }

    .rsir-account-grid .rsir-panel:nth-child(3) {
        grid-column: auto;
    }
}

.rsir-button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 8px;
    background: var(--rsir-green);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}

.rsir-button-primary:hover {
    background: var(--rsir-green-dark);
    color: #fff;
}

.rsir-table-wrap {
    width: 100%;
    overflow-x: auto;
}

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

.rsir-table th,
.rsir-table td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--rsir-border);
    text-align: left;
    vertical-align: middle;
}

.rsir-table th {
    color: var(--rsir-muted);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

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

.rsir-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    background: #eef1ef;
    color: #4d5752;
}

.rsir-status-processing,
.rsir-status-pending,
.rsir-status-on-hold {
    background: #fff4df;
    color: #a45f00;
}

.rsir-status-completed {
    background: #e8f6eb;
    color: #087d23;
}

.rsir-status-cancelled,
.rsir-status-failed,
.rsir-status-refunded {
    background: #fdecec;
    color: #a62a2a;
}

.rsir-table-link {
    color: var(--rsir-green);
    font-weight: 800;
    text-decoration: none;
}

.rsir-order-detail-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 18px;
}

.rsir-order-side {
    display: grid;
    gap: 18px;
    align-content: start;
}

.rsir-item-meta {
    margin-top: 8px;
    color: var(--rsir-muted);
    font-size: 13px;
    display: grid;
    gap: 4px;
}

.rsir-item-meta span {
    font-weight: 800;
    color: var(--rsir-text);
}

.rsir-button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 8px;
    border: 1px solid var(--rsir-border);
    background: #fff;
    color: var(--rsir-text);
    text-decoration: none;
    font-weight: 800;
}

.rsir-button-secondary:hover {
    border-color: var(--rsir-green);
    color: var(--rsir-green);
}

@media (max-width: 1100px) {
    .rsir-order-detail-grid {
        grid-template-columns: 1fr;
    }
}

.rsir-filter-panel {
    margin-bottom: 18px;
}

.rsir-order-filters {
    display: flex;
    gap: 12px;
    align-items: center;
}

.rsir-order-filters input,
.rsir-order-filters select {
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
}

.rsir-order-filters input {
    width: 280px;
}

.rsir-empty-state {
    min-height: 220px;
    padding: 32px 20px;
    border: 1px dashed var(--rsir-border);
    border-radius: 12px;
    background: #fafbfa;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.rsir-empty-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #eef7f0;
    display: grid;
    place-items: center;
    font-size: 26px;
}

.rsir-empty-state h3 {
    margin: 6px 0 0;
    font-size: 20px;
}

.rsir-empty-state p {
    margin: 0 0 10px;
    color: var(--rsir-muted);
}
.rsir-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 18px;
}

.rsir-product-card {
    background: #fff;
    border: 1px solid var(--rsir-border);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
    display: flex;
    flex-direction: column;
}

.rsir-product-card:hover {
    border-color: rgba(8, 125, 35, .35);
    box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.rsir-product-image {
    height: 170px;
    background: #f0f2f0;
    display: block;
    text-decoration: none;
    overflow: hidden;
}

.rsir-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rsir-product-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--rsir-muted);
    font-weight: 900;
    letter-spacing: .08em;
}

.rsir-product-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.rsir-product-body h2 {
    margin: 0 0 8px;
    font-size: 20px;
}

.rsir-product-body p {
    margin: 0;
    color: var(--rsir-muted);
    line-height: 1.5;
    font-size: 14px;
}

.rsir-product-footer {
    margin-top: auto;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rsir-product-price {
    font-weight: 900;
    color: var(--rsir-text);
}

.rsir-product-list-meta {
    margin: 0 0 16px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--rsir-muted);
    font-size: 14px;
}

.rsir-pagination {
    margin: 22px 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rsir-pagination-link,
.rsir-pagination-ellipsis {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    background: #fff;
    color: var(--rsir-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 800;
}

.rsir-pagination-link:hover {
    border-color: rgba(8, 125, 35, .45);
    color: var(--rsir-green);
}

.rsir-pagination-link.is-current {
    border-color: var(--rsir-green);
    background: var(--rsir-green);
    color: #fff;
}

.rsir-pagination-link.is-disabled,
.rsir-pagination-ellipsis {
    color: var(--rsir-muted);
    background: #f6f7f6;
    pointer-events: none;
}

@media (max-width: 1300px) {
    .rsir-product-grid {
        grid-template-columns: repeat(3, minmax(220px, 1fr));
    }
}

@media (max-width: 900px) {
    .rsir-product-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 640px) {
    .rsir-product-list-meta {
        flex-direction: column;
    }

    .rsir-product-grid {
        grid-template-columns: 1fr;
    }
}

.rsir-product-detail-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 18px;
}

.rsir-product-detail-image {
    min-height: 420px;
    border-radius: 12px;
    background: #f0f2f0;
    overflow: hidden;
}

.rsir-product-detail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rsir-product-description {
    margin: 18px 0;
    color: var(--rsir-muted);
    line-height: 1.6;
}

.rsir-add-to-cart-form {
    margin: 22px 0;
    display: grid;
    gap: 10px;
}

.rsir-add-to-cart-form label {
    font-weight: 800;
}

.rsir-add-to-cart-form input[type="number"] {
    width: 120px;
    height: 42px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 12px;
}

@media (max-width: 1100px) {
    .rsir-product-detail-grid {
        grid-template-columns: 1fr;
    }
}

.rsir-cart-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 18px;
}

.rsir-cart-qty {
    width: 80px;
    height: 38px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 10px;
}

.rsir-full-button {
    width: 100%;
    margin-top: 14px;
}

@media (max-width: 1100px) {
    .rsir-cart-grid {
        grid-template-columns: 1fr;
    }
}
.rsir-checkout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.rsir-panel .woocommerce {
    width: 100%;
}

.rsir-panel .woocommerce form.checkout {
    display: block;
}

.rsir-panel .woocommerce-input-wrapper input,
.rsir-panel .woocommerce-input-wrapper select,
.rsir-panel .woocommerce-input-wrapper textarea,
.rsir-panel .input-text,
.rsir-panel select {
    min-height: 42px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 12px;
}

.rsir-panel .woocommerce button.button,
.rsir-panel .woocommerce #place_order {
    min-height: 44px;
    border-radius: 8px;
    background: var(--rsir-green);
    color: #fff;
    font-weight: 800;
}

.rsir-panel .woocommerce button.button:hover,
.rsir-panel .woocommerce #place_order:hover {
    background: var(--rsir-green-dark);
    color: #fff;
}

.rsir-configurator {
    margin: 22px 0;
    padding: 18px;
    border: 1px solid var(--rsir-border);
    border-radius: 12px;
    background: #fafbfa;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.rsir-configurator label {
    display: block;
    margin-bottom: 6px;
    font-weight: 800;
}

.rsir-configurator input,
.rsir-configurator select {
    width: 100%;
    height: 42px;
    border: 1px solid var(--rsir-border);
    border-radius: 8px;
    padding: 0 12px;
}

.rsir-colour-card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rsir-colour-card {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #d9dee2;
  border-radius: 8px;
  background: #fff;
  color: #17201b;
  font: inherit;
  cursor: pointer;
}

.rsir-colour-card:hover {
  border-color: #0b7f2a;
}

.rsir-colour-card.is-selected {
  border-color: #0b7f2a;
  box-shadow: 0 0 0 2px rgba(11, 127, 42, 0.14);
}

.rsir-colour-card img {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  object-fit: cover;
}

.rsir-colour-card[hidden],
.rsir-custom-colour-field[hidden] {
  display: none;
}

.rsir-custom-colour-field {
  margin-top: 10px;
}

.rsir-price-preview {
    grid-column: span 2;
    padding: 16px;
    border-radius: 10px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rsir-price-preview span {
    color: var(--rsir-muted);
    font-weight: 700;
}

.rsir-price-preview strong {
    font-size: 24px;
    color: var(--rsir-green);
}

.rsir-price-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  text-align: right;
}

.rsir-price-stack small,
.rsir-discount-note {
  color: var(--rsir-muted);
  font-size: 12px;
  font-weight: 700;
}

.rsir-price-strike {
  display: block;
  color: var(--rsir-muted);
  font-size: 13px;
  text-decoration: line-through;
}

.rsir-price-sale {
  display: block;
  color: var(--rsir-green);
}
.rsir-notice-success {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid rgba(8,125,35,.25);
    border-radius: 8px;
    background: #edf8f0;
    color: #075f1d;
    font-weight: 700;
}

.rsir-notice-success a {
    margin-left: 10px;
    color: #075f1d;
    text-decoration: underline;
}

.rsir-link-button {
    border: 0;
    background: transparent;
    color: #a33;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
}

.rsir-link-button:hover {
    color: #7a1f1f;
}

.rsir-cart-config {
    margin-top: 8px;
    color: var(--rsir-muted);
    font-size: 14px;
    line-height: 1.6;
}

.rsir-cart-config div {
    margin: 0;
}

.rsir-order-item-config {
    margin-top: 8px;
    color: var(--rsir-muted);
    font-size: 14px;
    line-height: 1.6;
}

.rsir-order-item-config div {
    margin: 0;
}

.rsir-calculated-field {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--rsir-border);
  border-radius: 8px;
  padding: 0 12px;
  background: #f2f5f3;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  color: #17201b;
}

.rsir-breadcrumbs {
  margin: 0 0 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--rsir-muted);
  font-size: 14px;
  font-weight: 800;
}

.rsir-breadcrumbs span::after {
  content: ">";
  margin-left: 10px;
  color: #a8b0ab;
}

.rsir-breadcrumbs strong {
  color: var(--rsir-text);
}

.rsir-order-builder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
}

.rsir-stepper,
.rsir-wizard-panel,
.rsir-wizard-footer,
.rsir-order-summary-panel {
  border: 1px solid var(--rsir-border);
  border-radius: 8px;
  background: #fff;
}

.rsir-stepper {
  margin: 0 0 18px;
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.rsir-step {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--rsir-muted);
}

.rsir-step strong {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #edf0ee;
  color: var(--rsir-muted);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.rsir-step.is-active strong {
  background: var(--rsir-green);
  color: #fff;
}

.rsir-step span {
  display: block;
  color: var(--rsir-text);
  font-weight: 900;
}

.rsir-step small {
  display: block;
  margin-top: 2px;
  font-size: 12px;
}

.rsir-wizard-panel {
  padding: 22px;
}

.rsir-wizard-panel-head {
  margin: 0 0 20px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.rsir-wizard-panel-head h2 {
  margin: 0 0 6px;
  font-size: 24px;
}

.rsir-wizard-panel-head p {
  margin: 0;
  color: var(--rsir-muted);
}

.rsir-wizard-panel-head > span {
  color: var(--rsir-muted);
  font-weight: 900;
}

.rsir-system-grid,
.rsir-category-grid,
.rsir-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 16px;
}

.rsir-wizard-panel[hidden],
.rsir-category-grid[hidden],
.rsir-type-grid[hidden] {
  display: none;
}

.rsir-system-card,
.rsir-category-card,
.rsir-type-card {
  position: relative;
  border: 1px solid var(--rsir-border);
  border-radius: 8px;
  background: #fff;
  color: var(--rsir-text);
  cursor: pointer;
  text-align: left;
}

.rsir-system-card {
  min-height: 310px;
  padding: 18px;
}

.rsir-type-card {
  padding: 14px;
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 14px;
  align-items: start;
}

.rsir-category-card {
  min-height: 150px;
  padding: 14px;
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 14px;
  align-items: start;
}

.rsir-system-card:hover,
.rsir-category-card:hover,
.rsir-type-card:hover,
.rsir-system-card.is-selected,
.rsir-category-card.is-selected,
.rsir-type-card.is-selected {
  border-color: rgba(8, 125, 35, .6);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.rsir-card-check {
  position: absolute;
  top: 14px;
  left: 14px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--rsir-green);
  color: #fff;
  display: none;
  place-items: center;
  font-weight: 900;
  z-index: 2;
}

.is-selected > .rsir-card-check {
  display: grid;
}

.rsir-system-image {
  height: 145px;
  margin: 0 0 16px;
  border-radius: 8px;
  background: #f2f4f2;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.rsir-type-card-media {
  width: 82px;
  height: 82px;
  border-radius: 8px;
  background: #f2f4f2;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.rsir-system-image img,
.rsir-type-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rsir-system-card strong,
.rsir-category-card strong,
.rsir-type-card strong {
  display: block;
  font-size: 18px;
}

.rsir-system-card p,
.rsir-category-card p,
.rsir-type-card p {
  margin: 8px 0 14px;
  color: var(--rsir-muted);
  line-height: 1.5;
}

.rsir-system-card small,
.rsir-category-card small,
.rsir-type-card small {
  color: var(--rsir-green);
  font-weight: 900;
}

.rsir-wizard-footer {
  margin-top: 18px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}

.rsir-wizard-footer p {
  margin: 4px 0 0;
  color: var(--rsir-muted);
}

.rsir-wizard-actions {
  display: flex;
  gap: 10px;
}

.rsir-button-primary.is-disabled {
  opacity: .45;
  pointer-events: none;
}

.rsir-order-summary-panel {
  position: sticky;
  top: 18px;
  padding: 18px;
}

.rsir-order-summary-panel .rsir-panel-header {
  margin-bottom: 18px;
}

.rsir-summary-rows {
  display: grid;
  gap: 14px;
}

.rsir-summary-rows div,
.rsir-summary-total {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.rsir-summary-rows span,
.rsir-summary-total span {
  color: var(--rsir-muted);
  font-weight: 800;
}

.rsir-summary-rows strong {
  max-width: 150px;
  text-align: right;
}

.rsir-summary-total {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--rsir-border);
  align-items: center;
}

.rsir-summary-total strong {
  color: var(--rsir-green);
  font-size: 26px;
}

.rsir-configure-page {
  display: grid;
  gap: 18px;
}

.rsir-configure-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.rsir-configure-header h1 {
  margin: 0 0 8px;
  font-size: 32px;
}

.rsir-configure-header p {
  margin: 0;
  color: var(--rsir-muted);
}

.rsir-configure-stepper {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
}

.rsir-configure-layout {
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(420px, 1fr) 320px;
  gap: 18px;
  align-items: start;
}

.rsir-configure-media-panel,
.rsir-configure-form-panel {
  padding: 18px;
}

.rsir-configure-media-panel .rsir-product-detail-image {
  min-height: 520px;
  border-radius: 8px;
}

.rsir-configure-media-panel .rsir-product-description {
  margin-bottom: 0;
}

.rsir-configure-form {
  margin: 0;
}

.rsir-configure-form .rsir-configurator {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.rsir-configure-form .rsir-price-preview,
.rsir-fixed-price-panel {
  grid-column: span 2;
  margin-top: 6px;
  padding: 18px;
  border-radius: 8px;
  background: #f8faf8;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rsir-fixed-price-panel span {
  color: var(--rsir-muted);
  font-weight: 800;
}

.rsir-fixed-price-panel strong {
  color: var(--rsir-green);
  font-size: 24px;
}

.rsir-configure-actions {
  display: grid;
  grid-template-columns: auto 110px minmax(180px, 1fr);
  gap: 12px;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid var(--rsir-border);
}

.rsir-configure-actions label {
  margin: 0;
}

.rsir-configure-actions input[type="number"] {
  width: 100%;
}

.rsir-configure-actions .rsir-button-primary {
  min-height: 46px;
}

.rsir-configure-summary {
  min-width: 0;
}

@media (max-width: 1280px) {
  .rsir-order-builder {
    grid-template-columns: 1fr;
  }

  .rsir-order-summary-panel {
    position: static;
  }

  .rsir-configure-layout {
    grid-template-columns: minmax(260px, 420px) 1fr;
  }

  .rsir-configure-summary {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .rsir-stepper,
  .rsir-system-grid,
  .rsir-category-grid,
  .rsir-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rsir-stepper,
  .rsir-system-grid,
  .rsir-category-grid,
  .rsir-type-grid {
    grid-template-columns: 1fr;
  }

  .rsir-configure-header,
  .rsir-wizard-footer,
  .rsir-wizard-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .rsir-configure-layout {
    grid-template-columns: 1fr;
  }

  .rsir-configure-media-panel .rsir-product-detail-image {
    min-height: 320px;
  }

  .rsir-configure-actions,
  .rsir-configure-form .rsir-configurator {
    grid-template-columns: 1fr;
  }

  .rsir-configure-form .rsir-price-preview,
  .rsir-fixed-price-panel {
    grid-column: auto;
  }
}
