
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
    --brand-blue: #1d54d8;
    --brand-blue-dark: #113ea9;
    --brand-blue-soft: #eaf1ff;
    --hero-yellow: #ffc82f;
    --surface-1: #ffffff;
    --surface-2: #f4f7ff;
    --surface-3: #eaf0ff;
    --text-main: #182236;
    --text-soft: #5b6780;
    --line-soft: #d6deef;
    --line-strong: #c6d2eb;
    --radius-sm: 12px;
    --radius-md: 18px;
    --radius-lg: 24px;
    --shadow-soft: 0 12px 28px rgba(16, 36, 92, 0.08);
    --shadow-mid: 0 20px 40px rgba(18, 39, 94, 0.14);
    --motion-fast: 160ms;
    --motion-base: 260ms;
    --motion-slow: 420ms;
    --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --motion-distance: 14px;
}

body {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
    color: var(--text-main);
    background: radial-gradient(circle at top left, #eef4ff, transparent 28%), #f7f9ff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Baloo 2', 'Plus Jakarta Sans', sans-serif;
    line-height: 1.2;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(29, 84, 216, 0.35);
    outline-offset: 2px;
}

body.is-motion-ready [data-anim] {
    opacity: 0;
    transform: translate3d(0, var(--motion-distance), 0);
    transition-property: opacity, transform;
    transition-duration: var(--motion-base);
    transition-timing-function: var(--motion-ease);
    transition-delay: var(--gm-anim-delay, 0ms);
    will-change: opacity, transform;
}

body.is-motion-ready [data-anim="fade-in"] {
    transform: none;
}

body.is-motion-ready [data-anim="slide-left"] {
    transform: translate3d(calc(var(--motion-distance) * 1.2), 0, 0);
}

body.is-motion-ready [data-anim="scale-in"] {
    transform: scale(0.98);
    transform-origin: center top;
}

body.is-motion-ready [data-anim].is-inview {
    opacity: 1;
    transform: none;
    will-change: auto;
}

.gm-main {
    min-height: calc(100vh - 300px);
}

.gm-topbar {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--line-soft);
}

.gm-brand-mark {
    box-shadow: 0 10px 24px rgba(29, 84, 216, 0.24);
}

.gm-brand strong {
    font-size: 1.08rem;
    color: #132240;
}

.gm-brand small {
    font-size: 0.78rem;
    color: var(--text-soft);
}

.gm-nav {
    gap: 0.35rem;
}

.gm-nav a {
    position: relative;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    color: var(--text-soft);
    font-weight: 600;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.gm-nav a::after {
    content: '';
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 6px;
    height: 3px;
    border-radius: 999px;
    background: transparent;
}

.gm-nav a:hover,
.gm-nav a.active {
    color: var(--brand-blue-dark);
    background: var(--brand-blue-soft);
    text-decoration: none;
}

.gm-nav a.active::after {
    background: var(--brand-blue);
}

.gm-topbar-actions {
    gap: 0.55rem;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.gm-topbar-actions form {
    margin: 0;
    display: inline-flex;
}

.gm-topbar-actions form .gm-btn {
    font-family: inherit;
    font-size: 0.87rem;
    line-height: 1.2;
    min-height: 42px;
    padding: 0.5rem 0.95rem;
    border-radius: 10px;
    white-space: nowrap;
}

.gm-topbar-actions > .gm-btn {
    font-size: 0.87rem;
    min-height: 42px;
    padding: 0.5rem 0.95rem;
    border-radius: 10px;
    white-space: nowrap;
}

.gm-topbar-actions .gm-topbar-btn-dashboard {
    background: #e6f2ff;
    border-color: #b8ceec;
    color: #254f85;
}

.gm-topbar-actions .gm-topbar-btn-dashboard:hover {
    background: #d9eaff;
    border-color: #a7c2e8;
    color: #1f436f;
}

.gm-topbar-actions .gm-topbar-btn-bookmark {
    background: #fff4d8;
    border-color: #e9d39a;
    color: #6f5a1f;
}

.gm-topbar-actions .gm-topbar-btn-bookmark:hover {
    background: #fdeec8;
    border-color: #e3c980;
    color: #5b4919;
}

.gm-btn {
    border-radius: 12px;
    font-weight: 700;
    min-height: 44px;
    transition: transform var(--motion-fast) var(--motion-ease), background var(--motion-fast) ease, box-shadow var(--motion-base) var(--motion-ease);
}

.gm-btn:hover {
    box-shadow: 0 10px 22px rgba(17, 62, 169, 0.22);
}

.gm-btn-ghost {
    border-color: var(--line-strong);
}

.gm-btn-ghost:hover {
    background: #f2f6ff;
    box-shadow: none;
}

.gm-btn-ghost.is-active {
    border-color: #8eaff1;
    background: #eaf2ff;
    color: #143f9f;
}

.gm-btn-soft {
    background: #0f2a74;
    color: #fff;
}

.gm-btn-soft:hover {
    background: #0a1f58;
}

.gm-media-card,
.gm-info-card,
.gm-quick-card,
.gm-quick-item,
.gm-detail-main,
.gm-detail-side,
.gm-info-detail,
.gm-side-help,
.gm-submission-tracker-card {
    transition: transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);
}

@media (hover: hover) and (pointer: fine) {
    .gm-btn:hover {
        transform: translateY(-2px);
    }

    .gm-media-card:hover,
    .gm-info-card:hover,
    .gm-quick-card:hover,
    .gm-quick-item:hover,
    .gm-detail-main:hover,
    .gm-detail-side:hover,
    .gm-info-detail:hover,
    .gm-side-help:hover,
    .gm-submission-tracker-card:hover {
        transform: translateY(-2px);
    }

    .gm-review-star:hover {
        color: #f3b726;
        transform: translateY(-1px);
    }
}

.gm-section {
    padding: 2.3rem 0;
}

.gm-section-tight {
    padding-top: 1.3rem;
}

.gm-section-last {
    padding-bottom: 3.5rem;
}

.gm-section-compact-top {
    padding-top: 1rem;
}

.gm-section-head h1,
.gm-section-head h2 {
    font-size: clamp(1.65rem, 2.6vw, 2.05rem);
}

.gm-section-head-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.1;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.gm-section-head-link-pill {
    border: 1px solid #b9cdf8;
    border-radius: 999px;
    background: #f8fbff;
    color: #1b4fc8;
    padding: 0.48rem 0.9rem;
    box-shadow: 0 4px 12px rgba(19, 66, 168, 0.08);
}

.gm-section-head-link-pill:hover {
    text-decoration: none;
    color: #143f9f;
    border-color: #8eaff1;
    background: #eef4ff;
    box-shadow: 0 8px 16px rgba(19, 66, 168, 0.14);
    transform: translateY(-1px);
}

.gm-section-head-link-pill:focus-visible {
    outline: 2px solid #2f66de;
    outline-offset: 2px;
}

.gm-section-head-link-pill:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(19, 66, 168, 0.1);
}

.gm-form h3 {
    margin-top: 0.95rem;
    margin-bottom: 0.45rem;
}

.gm-form h3:first-of-type {
    margin-top: 0;
}

.gm-form-hint-muted {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    line-height: 1.35;
    color: #7d879b;
    font-weight: 500;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-layout {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-content {
    display: grid;
    gap: 1.5rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-panel {
    position: sticky;
    top: 1.5rem;
}

:is(.gm-admin-body) .gm-guide-toc-panel {
    padding: 1rem;
}

:is(.gm-admin-body) .gm-guide-toc-panel .gm-admin-section-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
}

:is(.gm-admin-body) .gm-guide-toc-panel .gm-admin-section-head p {
    margin: 0;
    color: #667b99;
    font-size: 0.9rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-list a {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(33, 72, 155, 0.12);
    background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(239, 245, 255, 0.92));
    color: #21489b;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-list a:hover {
    transform: translateY(-2px);
    border-color: rgba(33, 72, 155, 0.24);
    box-shadow: 0 12px 26px rgba(33, 72, 155, 0.12);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-list span {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #21489b;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-list strong {
    color: #182236;
    font-size: 0.97rem;
    line-height: 1.45;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section {
    scroll-margin-top: 6.5rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section-kicker {
    margin: 0 0 0.4rem;
    color: #21489b;
    font-size: 0.83rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 1.5rem;
    align-items: start;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-step-column {
    display: grid;
    gap: 1rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-card {
    padding: 1.15rem 1.2rem;
    border-radius: 20px;
    border: 1px solid rgba(33, 72, 155, 0.12);
    background: #f8fbff;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-card h3 {
    margin: 0 0 0.75rem;
    color: #182236;
    font-size: 1rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-card-note {
    background: linear-gradient(180deg, #fffaf0, #fff5dd);
    border-color: rgba(178, 120, 16, 0.16);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-card-highlight {
    background: linear-gradient(180deg, #eef6ff, #f8fbff);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-step-list,
:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-note-list {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.75rem;
    color: #3d4a62;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-step-list li::marker {
    color: #21489b;
    font-weight: 700;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-note-list li::marker {
    color: #be8b2c;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot {
    margin: 0;
    display: grid;
    gap: 0.85rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-frame {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(24, 34, 54, 0.1);
    background: #fff;
    box-shadow: 0 18px 40px rgba(17, 40, 88, 0.12);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-frame img {
    display: block;
    width: 100%;
    height: auto;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot figcaption {
    color: #5b6780;
    font-size: 0.92rem;
    line-height: 1.5;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-pin {
    position: absolute;
    top: var(--pin-top);
    left: var(--pin-left);
    width: var(--pin-width, 0);
    height: var(--pin-height, 0);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-focus {
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 2px solid rgba(33, 72, 155, 0.9);
    background: rgba(33, 72, 155, 0.12);
    box-shadow: 0 10px 24px rgba(14, 43, 98, 0.12);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-dot {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    transform: translate(-35%, -35%);
    background: #21489b;
    border: 3px solid rgba(255, 255, 255, 0.95);
    color: #fff;
    font-size: 0.84rem;
    font-weight: 700;
    box-shadow: 0 12px 24px rgba(14, 43, 98, 0.28);
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
    padding: 0.75rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(33, 72, 155, 0.1);
    background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(243, 247, 255, 0.94));
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend span {
    display: inline-flex;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #21489b;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend p {
    margin: 0;
    color: #32405a;
    font-size: 0.88rem;
    line-height: 1.5;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

:is(.gm-pengguna-body, .gm-admin-body) .gm-guide-faq-item p {
    margin: 0;
    color: #4d5970;
    line-height: 1.6;
}

@media (max-width: 1180px) {
    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-layout {
        grid-template-columns: 1fr;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-panel {
        position: static;
    }
}

@media (max-width: 980px) {
    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section-grid {
        grid-template-columns: 1fr;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend p {
        font-size: 0.84rem;
    }
}

@media (max-width: 720px) {
    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-toc-list a {
        padding: 0.85rem 0.95rem;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-card {
        padding: 1rem;
        border-radius: 18px;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section-actions {
        flex-direction: column;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-section-actions .gm-btn {
        width: 100%;
        justify-content: center;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-dot {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 0.78rem;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-focus {
        border-radius: 12px;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend li {
        padding: 0.68rem 0.78rem;
        gap: 0.65rem;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-shot-legend p {
        font-size: 0.82rem;
    }

    :is(.gm-pengguna-body, .gm-admin-body) .gm-guide-faq-grid {
        grid-template-columns: 1fr;
    }
}

.gm-upload-inline-error {
    margin: 0.4rem 0 0;
    font-size: 0.79rem;
    line-height: 1.35;
    color: #b4232c;
    font-weight: 600;
}

input[aria-invalid='true'],
select[aria-invalid='true'],
textarea[aria-invalid='true'] {
    border-color: #d7474f !important;
    box-shadow: 0 0 0 3px rgba(215, 71, 79, 0.12);
}

input[type='file'][aria-invalid='true'] {
    border-color: #d7474f !important;
    box-shadow: 0 0 0 3px rgba(215, 71, 79, 0.12);
}

.gm-checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.55rem 0.9rem;
    margin-top: 0.55rem;
}

[data-npsn-status].gm-alert {
    margin-top: 0.4rem;
}

.gm-npsn-inline-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: end;
}

.gm-npsn-inline-compact {
    width: min(100%, 680px);
}

.gm-npsn-inline-field {
    min-width: 0;
}

.gm-npsn-inline-action {
    display: flex;
    align-items: end;
}

.gm-npsn-inline-action .gm-btn {
    min-width: 124px;
}

.gm-empty-state {
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-md);
    padding: 1rem;
    color: var(--text-soft);
    background: #fafcff;
}

.gm-page-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line-soft);
    box-shadow: var(--shadow-soft);
}

.gm-page-hero-blue {
    background: linear-gradient(135deg, #eaf2ff, #f5f8ff);
}

.gm-page-hero-label {
    color: var(--brand-blue-dark);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.gm-page-hero h1 {
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    margin-bottom: 0.25rem;
}

.gm-page-hero p {
    color: var(--text-soft);
}

.gm-page-hero-chip {
    min-width: 150px;
    text-align: center;
    border: 1px solid #b9ccf3;
    border-radius: 16px;
    background: #fff;
    padding: 0.8rem 0.9rem;
}

.gm-page-hero-chip span {
    display: block;
    color: var(--brand-blue-dark);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
}

.gm-page-hero-chip small {
    color: var(--text-soft);
    font-weight: 600;
}

.gm-page-hero.gm-collection-hero {
    border-color: #c8d6ef;
    background: linear-gradient(140deg, #edf4ff 0%, #f6f9ff 58%, #eef6ff 100%);
    box-shadow: 0 14px 30px rgba(16, 48, 117, 0.1);
}

.gm-page-hero.gm-collection-hero .gm-page-hero-chip {
    border-color: #aecaee;
    box-shadow: 0 10px 20px rgba(36, 80, 168, 0.12);
}

.gm-page-hero.gm-collection-hero .gm-page-hero-chip span {
    color: #173f9a;
}

.gm-hero-public.gm-collection-hero {
    background: linear-gradient(120deg, #1f56dc 0%, #1644b8 54%, #1d72c6 100%);
}

.gm-hero-public.gm-collection-hero .gm-hero-subtitle {
    max-width: 60ch;
}
.gm-hero-public {
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg, #1f56dc 0%, #123caa 100%);
    padding: 2.1rem 0 2.5rem;
}

.gm-hero-public::before,
.gm-hero-public::after {
    content: '';
    position: absolute;
    border-radius: 999px;
    opacity: 0.25;
    pointer-events: none;
}

.gm-hero-public::before {
    width: 380px;
    height: 380px;
    right: -120px;
    top: -140px;
    background: #d6e6ff;
}

.gm-hero-public::after {
    width: 260px;
    height: 260px;
    left: -80px;
    bottom: -120px;
    background: #c4d8ff;
}

.gm-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 1.4rem;
    align-items: center;
}

.gm-hero-copy h1 {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    margin: 0.15rem 0 0.45rem;
}

.gm-hero-public .gm-hero-tag {
    display: inline-flex;
    align-items: center;
    background: #dbe8ff;
    color: #173b95;
    border: 1px solid #98b7ff;
    border-radius: 999px;
    padding: 0.18rem 0.7rem;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.gm-hero-public .gm-hero-subtitle {
    max-width: 56ch;
    color: #eaf1ff;
    font-weight: 500;
}

.gm-search-form {
    margin-top: 1.05rem;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.6rem;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(80, 61, 16, 0.18);
    padding: 0.5rem;
    box-shadow: var(--shadow-soft);
}

.gm-search-form input {
    border: none;
    background: #fff;
    padding: 0.7rem 0.82rem;
    border-radius: 10px;
    min-height: 44px;
}

.gm-search-form input:focus {
    outline: 2px solid rgba(29, 84, 216, 0.28);
}

.gm-search-form-large .gm-btn {
    min-width: 110px;
}

.gm-hero-links {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.gm-hero-links .gm-btn-hero-primary {
    background: #f08a24;
    border-color: #db7818;
    color: #ffffff;
}

.gm-hero-links .gm-btn-hero-primary:hover {
    background: #de7a15;
    border-color: #c96d12;
    color: #ffffff;
}

.gm-hero-links .gm-btn-hero-primary:focus-visible {
    outline: 2px solid rgba(240, 138, 36, 0.35);
    outline-offset: 2px;
}

.gm-hero-links .gm-btn-hero-secondary {
    background: #ffffff;
    border-color: #dbe5f8;
    color: #173e93;
}

.gm-hero-links .gm-btn-hero-secondary:hover {
    background: #f8fbff;
    border-color: #c7d6f5;
    color: #123477;
}

.gm-hero-highlights {
    margin-top: 0.85rem;
    display: grid;
    gap: 0.35rem;
}

.gm-hero-public .gm-hero-highlights span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #f5f8ff;
    font-size: 0.93rem;
    font-weight: 600;
}

.gm-hero-public .gm-hero-highlights span::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ffd14f;
}

.gm-hero-visual {
    min-height: 280px;
    position: relative;
}

.gm-hero-burst {
    position: absolute;
    right: 0;
    top: 6px;
    width: min(370px, 90%);
    height: 220px;
    border-radius: 34px;
    background: linear-gradient(150deg, #ffd44f 0%, #ffbb1f 100%);
    transform: rotate(-2deg);
    box-shadow: var(--shadow-mid);
}

.gm-hero-illustration {
    position: absolute;
    left: 0;
    right: 42px;
    bottom: 0;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(41, 59, 104, 0.18);
    box-shadow: 0 14px 36px rgba(40, 54, 101, 0.18);
    padding: 1rem;
}

.gm-hero-illustration-badge {
    display: inline-flex;
    background: #ffd44f;
    color: #5a3f00;
    border-radius: 999px;
    padding: 0.18rem 0.6rem;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.gm-hero-illustration h3 {
    margin: 0.4rem 0 0.25rem;
    font-size: 1.35rem;
}

.gm-hero-illustration p {
    color: var(--text-soft);
    font-size: 0.92rem;
    margin-bottom: 0.65rem;
}

.gm-hero-illustration ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.42rem;
}

.gm-hero-illustration li {
    background: #fff7db;
    border: 1px solid #f2d889;
    border-radius: 10px;
    padding: 0.45rem 0.6rem;
    font-size: 0.88rem;
    color: #3f350f;
}

.gm-filter-panel,
.gm-form {
    background: var(--surface-1);
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}

.gm-filter-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 200px;
    gap: 0.9rem;
    align-items: start;
}

.gm-filter-main {
    min-width: 0;
    display: grid;
    gap: 0.8rem;
}

.gm-filter-grid-collection {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gm-filter-types-wrap {
    min-width: 0;
}

.gm-filter-chip-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 0.45rem;
}

.gm-filter-types-scroll .gm-filter-chip-grid {
    max-height: 108px;
    overflow: auto;
    padding-right: 0.2rem;
}

.gm-filter-types-scroll .gm-filter-chip-grid::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.gm-filter-types-scroll .gm-filter-chip-grid::-webkit-scrollbar-thumb {
    background: #c8d5ef;
    border-radius: 999px;
}

.gm-filter-actions-sticky {
    position: sticky;
    top: 84px;
    display: grid;
    gap: 0.55rem;
    align-content: start;
    padding: 0.6rem;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: #f7faff;
}

.gm-filter-panel-modern {
    padding: 1rem;
    display: grid;
    gap: 0.85rem;
}

.gm-collection-filter {
    border-color: #d3e0f3;
    border-radius: 18px;
    background: linear-gradient(162deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 24px rgba(15, 46, 115, 0.08);
}

.gm-collection-filter .gm-filter-head h3 {
    font-size: 1.08rem;
    letter-spacing: 0.01em;
}

.gm-collection-filter .gm-filter-field label {
    font-weight: 700;
    color: #51688c;
}

.gm-collection-filter .gm-filter-field input,
.gm-collection-filter .gm-filter-field select {
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid #c9d8ef;
    background: #fff;
}

.gm-collection-filter .gm-filter-field input:focus-visible,
.gm-collection-filter .gm-filter-field select:focus-visible {
    outline: 2px solid rgba(33, 88, 213, 0.32);
    outline-offset: 1px;
    border-color: #8fb0ea;
}

.gm-home-media-filter-section {
    padding-bottom: 0.8rem;
}

.gm-home-media-list-section {
    padding-top: 0.8rem;
}

.gm-info-filter-section {
    padding-bottom: 0.55rem;
}

.gm-info-list-section {
    padding-top: 0.55rem;
}

.gm-media-filter-section {
    padding-bottom: 0.55rem;
}

.gm-media-list-section {
    padding-top: 0.55rem;
}

.gm-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.gm-filter-head-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.gm-filter-head h3 {
    margin: 0;
    font-size: 1.1rem;
}

.gm-filter-auto-hint {
    margin: 0;
    color: var(--text-soft);
    font-size: 0.78rem;
    line-height: 1.35;
}

.gm-filter-fallback-submit {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.gm-filter-toggle {
    display: none;
    border: 1px solid var(--line-soft);
    background: #fff;
    color: var(--text-main);
    border-radius: 10px;
    padding: 0.48rem 0.7rem;
    min-height: 40px;
    cursor: pointer;
    font-weight: 600;
}

.gm-filter-toggle:hover {
    background: #f5f8ff;
}

.gm-filter-panel-modern .gm-filter-body {
    display: grid;
    gap: 0.8rem;
}

.gm-filter-row-inline {
    display: grid;
    gap: 0.75rem;
    align-items: end;
}

.gm-filter-row-inline-media {
    grid-template-columns: minmax(220px, 1.4fr) minmax(130px, 0.9fr) minmax(120px, 0.85fr) minmax(130px, 0.9fr) minmax(120px, 0.85fr) minmax(52px, 0.3fr);
}

.gm-filter-field-icon {
    align-items: flex-end;
}

.gm-filter-select-icon {
    width: 52px;
    min-width: 52px;
    padding: 0;
    text-indent: -9999px;
    overflow: hidden;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f3f5f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='6' y1='4' x2='6' y2='18'/%3E%3Cpolyline points='3%2015%206%2018%209%2015'/%3E%3Cline x1='12' y1='6' x2='20' y2='6'/%3E%3Cline x1='12' y1='11' x2='18' y2='11'/%3E%3Cline x1='12' y1='16' x2='16' y2='16'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
}

.gm-filter-select-icon option {
    color: var(--text-main);
}

.gm-filter-row-inline-info,
.gm-filter-row-inline-submissions {
    grid-template-columns: minmax(260px, 1.4fr) minmax(170px, 0.8fr);
}

.gm-filter-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.gm-filter-row {
    display: grid;
    gap: 0.75rem;
}

.gm-filter-row > div {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.gm-filter-row label {
    font-size: 0.88rem;
    color: var(--text-soft);
    font-weight: 600;
}

.gm-filter-field label {
    font-size: 0.88rem;
    color: var(--text-soft);
    font-weight: 600;
}

.gm-filter-row-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-filter-row-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.gm-quick-card {
    border: 1px solid #d9e2f2;
    border-radius: 22px;
    background: linear-gradient(170deg, #fffdf4, #fff);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
}

.gm-quick-card-alt {
    background: linear-gradient(170deg, #eef4ff, #fff);
}

.gm-quick-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.gm-quick-head h2 {
    font-size: 1.55rem;
}

.gm-quick-head a {
    font-weight: 700;
    font-size: 0.92rem;
}

.gm-quick-list {
    display: grid;
    gap: 0.55rem;
}

.gm-quick-item {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: center;
    gap: 0.65rem;
    border: 1px solid #dce3f4;
    background: #fff;
    border-radius: 12px;
    padding: 0.55rem 0.65rem;
    text-decoration: none;
    min-height: 56px;
}

.gm-quick-item:hover {
    text-decoration: none;
    border-color: #9ab5ea;
    box-shadow: 0 8px 18px rgba(22, 61, 151, 0.12);
}

.gm-quick-item > span:nth-child(2) {
    color: var(--text-main);
    font-weight: 700;
}

.gm-quick-item strong {
    display: block;
    line-height: 1.2;
}

.gm-quick-item small {
    display: block;
    color: var(--text-soft);
    font-size: 0.78rem;
    font-weight: 500;
}

.gm-quick-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #ffecad;
    color: #664300;
    font-weight: 800;
}

.gm-quick-icon-alt {
    background: #dcebff;
    color: #18438f;
}

.gm-quick-arrow {
    font-weight: 700;
    color: var(--brand-blue);
}

.gm-home-quick-layout {
    display: grid;
    gap: 1rem;
}

.gm-home-quick-level-card {
    border: 1px solid #cfe0f6;
    border-radius: 22px;
    background: linear-gradient(168deg, #e8f1ff 0%, #d8e8ff 100%);
    box-shadow: 0 10px 20px rgba(17, 62, 169, 0.1);
    padding: 1rem;
    display: grid;
    gap: 0.85rem;
}

.gm-home-quick-level-head {
    display: grid;
    gap: 0.24rem;
}

.gm-home-quick-level-head h2 {
    margin: 0;
    font-size: 1.58rem;
}

.gm-home-quick-level-head p {
    margin: 0;
    font-size: 0.86rem;
    color: #4f668e;
}

.gm-home-quick-level-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.58rem;
}

.gm-home-quick-level-item {
    min-height: 62px;
    border: 1px solid #d7e3f8;
    border-radius: 14px;
    background: #fff;
    color: #324b77;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    text-align: center;
    padding: 0.42rem 0.65rem;
}

.gm-home-quick-level-item:hover {
    text-decoration: none;
    border-color: #8fb0ea;
    box-shadow: 0 8px 16px rgba(21, 73, 184, 0.15);
}

.gm-home-quick-level-item.is-active {
    background: #3f84e9;
    border-color: #3175d7;
    color: #fff;
    box-shadow: 0 10px 18px rgba(18, 77, 191, 0.28);
}

.gm-home-quick-class-wrap {
    display: grid;
    gap: 0.5rem;
}

.gm-home-quick-class-wrap h3 {
    margin: 0;
    font-size: 0.95rem;
    color: #2d4370;
}

.gm-home-quick-class-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
}

.gm-home-quick-class-item {
    border: 1px solid #c8d8f2;
    border-radius: 999px;
    background: #fff;
    color: #37527f;
    min-height: 36px;
    padding: 0.34rem 0.84rem;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
}

.gm-home-quick-class-item:hover {
    text-decoration: none;
    border-color: #8fb0ea;
    box-shadow: 0 6px 12px rgba(20, 69, 172, 0.14);
}

.gm-home-quick-class-item.is-active {
    background: #e7f0ff;
    border-color: #7da4e5;
    color: #2255b1;
}

.gm-home-quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (min-width: 1200px) {
    .gm-home-quick-level-list,
    .gm-home-quick-class-list {
        display: grid;
        grid-template-columns: repeat(var(--gm-inline-count, 1), minmax(0, 1fr));
        overflow: hidden;
    }

    .gm-home-quick-level-list {
        gap: 0.58rem;
    }

    .gm-home-quick-class-list {
        gap: 0.42rem;
    }

    .gm-home-quick-level-item {
        min-width: 0;
        width: 100%;
        min-height: calc(62px * var(--gm-inline-scale, 1));
        padding: calc(0.42rem * var(--gm-inline-scale, 1)) calc(0.7rem * var(--gm-inline-scale, 1));
        font-size: calc(0.98rem * var(--gm-inline-scale, 1));
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .gm-home-quick-level-item span {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .gm-home-quick-class-item {
        min-width: 0;
        width: 100%;
        min-height: calc(36px * var(--gm-inline-scale, 1));
        padding: calc(0.34rem * var(--gm-inline-scale, 1)) calc(0.7rem * var(--gm-inline-scale, 1));
        font-size: calc(0.88rem * var(--gm-inline-scale, 1));
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        justify-content: center;
    }
}

.gm-home-quick-panel {
    border: 1px solid #d8e2f4;
    border-radius: 22px;
    box-shadow: 0 10px 20px rgba(17, 62, 169, 0.08);
    padding: 1rem;
    display: grid;
    gap: 0.7rem;
}

.gm-home-quick-panel-subject {
    background: linear-gradient(162deg, #fff4cb 0%, #fffce8 100%);
    border-color: #e7dbb3;
    box-shadow: 0 10px 20px rgba(146, 118, 31, 0.12);
}

.gm-home-quick-panel-type {
    background: linear-gradient(162deg, #e8f1ff 0%, #f8fbff 100%);
}

.gm-home-quick-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}

.gm-home-quick-panel-head h2 {
    margin: 0;
    font-size: 1.56rem;
}

.gm-home-quick-view-all {
    border: 0;
    background: transparent;
    color: #2b4f90;
    font-weight: 700;
    cursor: pointer;
    padding: 0.2rem 0.1rem;
}

.gm-home-quick-view-all:hover {
    text-decoration: underline;
}

.gm-home-quick-empty,
.gm-home-quick-empty-inline {
    margin: 0;
    color: #5d7193;
    font-size: 0.9rem;
    line-height: 1.45;
}

.gm-home-quick-subject-prompt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.44rem;
}

.gm-home-quick-subject-prompt-action {
    border: 1px solid #d5cfae;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #6a5a1a;
    text-decoration: none;
    padding: 0.35rem 0.8rem;
    font-size: 0.86rem;
    font-weight: 700;
}

.gm-home-quick-subject-prompt-action:hover {
    text-decoration: none;
    border-color: #bba15d;
    box-shadow: 0 7px 14px rgba(155, 121, 30, 0.16);
}

.gm-home-quick-subject-list {
    display: grid;
    gap: 0.52rem;
}

.gm-home-quick-subject-item {
    min-height: 74px;
    border: 1px solid #e3ddc8;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    text-decoration: none;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.62rem;
    align-items: center;
    padding: 0.68rem;
}

.gm-home-quick-subject-item:hover {
    text-decoration: none;
    border-color: #c8b57a;
    box-shadow: 0 10px 18px rgba(146, 118, 31, 0.14);
}

.gm-home-quick-subject-item.is-active {
    border-color: #b38217;
    background: linear-gradient(180deg, #fff8e6 0%, #fff4d8 100%);
    box-shadow: 0 12px 22px rgba(168, 128, 20, 0.2), inset 0 0 0 1px rgba(179, 130, 23, 0.18);
}

.gm-home-quick-subject-item.is-active .gm-home-quick-subject-icon {
    background: #efd38b;
    color: #6f5005;
}

.gm-home-quick-subject-item.is-active .gm-home-quick-subject-copy strong {
    color: #44350f;
}

.gm-home-quick-subject-item.is-active .gm-home-quick-subject-arrow {
    color: #6e560f;
}

.gm-home-quick-subject-item:focus-visible {
    outline: 3px solid rgba(179, 130, 23, 0.3);
    outline-offset: 2px;
}

.gm-home-quick-subject-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #f3e5bc;
    color: #7a5a08;
    display: grid;
    place-items: center;
    font-weight: 800;
}

.gm-home-quick-subject-copy {
    display: grid;
    gap: 0.12rem;
}

.gm-home-quick-subject-copy strong {
    color: #5a4a19;
    line-height: 1.2;
}

.gm-home-quick-subject-copy small {
    color: #7e714a;
    font-size: 0.8rem;
}

.gm-home-quick-subject-arrow {
    color: #8a7436;
    font-weight: 800;
}

.gm-home-quick-subject-skeleton-list {
    display: grid;
    gap: 0.52rem;
}

.gm-home-quick-subject-skeleton-item {
    min-height: 74px;
    border: 1px solid #e3ddc8;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.62rem;
    align-items: center;
    padding: 0.68rem;
}

.gm-home-quick-skeleton-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: linear-gradient(120deg, #f8e8bf 25%, #f2dca1 50%, #f8e8bf 75%);
    background-size: 200% 100%;
    animation: gmSkeletonPulse 1.4s ease-in-out infinite;
}

.gm-home-quick-skeleton-copy {
    display: grid;
    gap: 0.26rem;
}

.gm-home-quick-skeleton-line {
    display: block;
    height: 10px;
    width: 74%;
    border-radius: 999px;
    background: linear-gradient(120deg, #f5e6bd 25%, #edd79c 50%, #f5e6bd 75%);
    background-size: 220% 100%;
    animation: gmSkeletonPulse 1.4s ease-in-out infinite;
}

.gm-home-quick-skeleton-line.is-strong {
    width: 56%;
    height: 12px;
}

.gm-home-quick-skeleton-arrow {
    width: 20px;
    height: 8px;
}

@keyframes gmSkeletonPulse {
    0% {
        background-position: 180% 0;
    }
    100% {
        background-position: -40% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gm-home-quick-skeleton-icon,
    .gm-home-quick-skeleton-line {
        animation: none;
    }
}

.gm-home-quick-type-list {
    display: grid;
    gap: 0.52rem;
}

.gm-home-quick-type-item {
    min-height: 74px;
    border: 1px solid #d6e2f7;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.93);
    text-decoration: none;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.62rem;
    align-items: center;
    padding: 0.68rem;
}

.gm-home-quick-type-item:hover {
    text-decoration: none;
    border-color: #9bb8e8;
    box-shadow: 0 10px 18px rgba(28, 82, 188, 0.13);
}

.gm-home-quick-type-item.is-active {
    border-color: #4f79cf;
    background: linear-gradient(180deg, #f4f8ff 0%, #ebf2ff 100%);
    box-shadow: 0 11px 20px rgba(31, 88, 197, 0.19), inset 0 0 0 1px rgba(79, 121, 207, 0.2);
}

.gm-home-quick-type-item.is-active .gm-home-quick-type-icon {
    background: #c9defe;
    color: #163e8a;
}

.gm-home-quick-type-item.is-active .gm-home-quick-type-copy strong {
    color: #1e335b;
}

.gm-home-quick-type-item.is-active .gm-home-quick-type-arrow {
    color: #2852a0;
}

.gm-home-quick-type-item:focus-visible {
    outline: 3px solid rgba(79, 121, 207, 0.34);
    outline-offset: 2px;
}

.gm-home-quick-type-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #dfeeff;
    color: #1a4ba0;
    display: grid;
    place-items: center;
    font-weight: 800;
}

.gm-home-quick-type-copy {
    display: grid;
    gap: 0.12rem;
}

.gm-home-quick-type-copy strong {
    color: #283a5d;
    line-height: 1.2;
}

.gm-home-quick-type-copy small {
    color: #5f7293;
    font-size: 0.8rem;
}

.gm-home-quick-type-arrow {
    color: #6b7f9f;
    font-weight: 800;
}

.gm-home-quick-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 1rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.gm-home-quick-modal[hidden] {
    display: none;
}

.gm-home-quick-modal-backdrop {
    border: 0;
    background: rgba(10, 23, 48, 0.52);
    position: absolute;
    inset: 0;
    cursor: pointer;
}

.gm-home-quick-modal-panel {
    position: relative;
    width: min(720px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
    border: 1px solid #d2def3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(13, 41, 97, 0.24);
    padding: 0.95rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow: hidden;
    min-height: 0;
}

.gm-home-quick-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.gm-home-quick-modal-head h3 {
    margin: 0;
    font-size: 1.3rem;
}

.gm-home-quick-modal-close {
    border: 1px solid #cfdbf1;
    border-radius: 10px;
    background: #fff;
    color: #345282;
    width: 34px;
    height: 34px;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
}

.gm-home-quick-modal-search input {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid #c9d8ef;
    padding: 0.6rem 0.78rem;
    font-size: 0.95rem;
}

.gm-home-quick-modal-search input:focus-visible {
    outline: 2px solid rgba(33, 88, 213, 0.28);
    outline-offset: 1px;
}

.gm-home-quick-modal-list {
    display: grid;
    flex: 1 1 auto;
    gap: 0.52rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 0.2rem;
    min-height: 0;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.gm-home-quick-modal-option {
    border: 1px solid #d8e3f5;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    padding: 0.64rem 0.72rem;
    display: grid;
    gap: 0.2rem;
}

.gm-home-quick-modal-option:hover {
    text-decoration: none;
    border-color: #97b5e7;
    box-shadow: 0 8px 14px rgba(31, 88, 197, 0.12);
}

.gm-home-quick-modal-option.is-active {
    border-color: #4f79cf;
    background: #eaf2ff;
    box-shadow: inset 0 0 0 1px rgba(79, 121, 207, 0.2), 0 9px 16px rgba(31, 88, 197, 0.13);
}

.gm-home-quick-modal-option.is-active > span {
    color: #1f3763;
}

.gm-home-quick-modal-option.is-active > small {
    color: #486189;
}

.gm-home-quick-modal-option:focus-visible {
    outline: 3px solid rgba(79, 121, 207, 0.34);
    outline-offset: 2px;
}

.gm-home-quick-modal-option > span {
    color: #253a62;
    font-weight: 700;
}

.gm-home-quick-modal-option > small {
    color: #5e7194;
    font-size: 0.8rem;
}

body.is-home-quick-modal-open {
    overflow: hidden;
}

.gm-info-carousel {
    position: relative;
}

.gm-info-carousel-viewport {
    border-radius: var(--radius-md);
}

.gm-info-slide {
    display: grid;
    grid-template-columns: minmax(220px, 34%) 1fr;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.gm-info-slide-media {
    min-height: 185px;
    background-size: cover;
    background-position: center;
}

.gm-info-slide-media-placeholder {
    background: linear-gradient(145deg, #7ba9ff, #d3e4ff);
}

.gm-info-slide-body {
    padding: 1rem;
    display: grid;
    align-content: center;
    gap: 0.5rem;
}

.gm-info-slide-body h3 {
    font-size: clamp(1.35rem, 2.3vw, 1.8rem);
}

.gm-info-slide-body p {
    color: var(--text-soft);
}

.gm-carousel-nav,
.gm-info-carousel-dots {
    display: none;
}

.gm-info-carousel.is-enhanced .gm-info-carousel-track {
    gap: 0;
    transition: transform 0.35s ease;
    will-change: transform;
}

.gm-info-carousel.is-enhanced .gm-info-slide {
    min-width: 100%;
}

.gm-info-carousel.is-enhanced .gm-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid #bed0f4;
    background: #fff;
    color: var(--brand-blue-dark);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(16, 39, 99, 0.16);
    z-index: 2;
}

.gm-info-carousel.is-enhanced .gm-carousel-prev {
    left: -18px;
}

.gm-info-carousel.is-enhanced .gm-carousel-next {
    right: -18px;
}

.gm-info-carousel.is-enhanced .gm-info-carousel-dots {
    margin-top: 0.75rem;
    display: flex;
    justify-content: center;
    gap: 0.4rem;
}

.gm-carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 1px solid #b8c8ea;
    background: #eaf0ff;
    cursor: pointer;
}

.gm-carousel-dot.is-active {
    width: 24px;
    background: var(--brand-blue);
    border-color: var(--brand-blue);
}

.gm-card-grid-media {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
}

.gm-collection-grid {
    gap: 1rem;
}

.gm-media-card {
    border-radius: 18px;
    box-shadow: var(--shadow-soft);
}

.gm-collection-card {
    --gm-card-title-lines: 2;
    --gm-card-summary-lines: 2;
    --gm-card-title-line-height: 1.32;
    --gm-card-summary-line-height: 1.48;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid #d5e1f2;
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(20, 48, 108, 0.09);
    transition: transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);
}

.gm-media-list-section .gm-media-index-card-link {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
    transition: transform var(--motion-fast) var(--motion-ease), filter var(--motion-fast) var(--motion-ease);
}

.gm-media-list-section .gm-media-index-card {
    position: relative;
}

.gm-media-list-section .gm-media-index-card > .gm-media-index-card-link:first-child {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.gm-media-list-section .gm-media-index-card > .gm-media-thumb,
.gm-media-list-section .gm-media-index-card > .gm-media-body {
    position: relative;
    z-index: 1;
}

.gm-media-list-section .gm-media-index-card > .gm-media-thumb {
    z-index: 1;
}

.gm-media-list-section .gm-media-index-card > .gm-media-body {
    pointer-events: none;
    z-index: 3;
}

.gm-media-list-section .gm-media-index-card > .gm-media-body a {
    pointer-events: auto;
}

.gm-media-list-section .gm-media-index-card-link:focus-visible {
    outline: none;
}

.gm-media-list-section .gm-media-index-card:focus-within {
    border-color: #7fabea;
    box-shadow: 0 0 0 3px rgba(29, 84, 216, 0.2), 0 16px 30px rgba(20, 48, 108, 0.14);
}

.gm-media-list-section .gm-media-index-card-link:active {
    transform: scale(0.992);
    filter: brightness(0.98);
}

.gm-collection-card:hover {
    border-color: #aac2e8;
    box-shadow: 0 16px 30px rgba(20, 48, 108, 0.14);
}

.gm-media-thumb {
    min-height: 180px;
    justify-content: space-between;
}

.gm-collection-card-thumb {
    position: relative;
    min-height: 196px;
    align-items: flex-start;
    padding: 0.72rem;
}

.gm-collection-card-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 20, 46, 0.04) 0%, rgba(8, 20, 46, 0.22) 100%);
}

.gm-collection-card-thumb > span,
.gm-collection-card-thumb > strong {
    position: relative;
    z-index: 1;
}

.gm-media-thumb-placeholder {
    background: linear-gradient(145deg, #2f68ea, #1ea084);
}

.gm-collection-card-thumb.gm-media-thumb-placeholder {
    background: linear-gradient(145deg, #7ba9ff 0%, #1d54d8 100%);
}

.gm-media-thumb strong {
    background: #fff;
    color: #0e3d9f;
}

.gm-media-thumb strong.gm-pin-badge {
    position: absolute;
    top: 12px;
    right: -8px;
    background: linear-gradient(120deg, #ffc15e 0%, #f08a24 100%);
    color: #fff7e6;
    padding: 0.28rem 0.7rem 0.3rem 0.6rem;
    border-radius: 999px 0 0 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    box-shadow: 0 10px 18px rgba(176, 93, 18, 0.2);
    z-index: 2;
}

.gm-media-thumb strong.gm-pin-badge::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -6px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 8px 0 0;
    border-color: #c46b15 transparent transparent transparent;
}

.gm-collection-card-body {
    display: flex;
    flex-direction: column;
    gap: 0.56rem;
    height: 100%;
    flex: 1 1 auto;
}

.gm-collection-card-body h3 {
    margin: 0;
    line-height: var(--gm-card-title-line-height);
}

.gm-media-list-section .gm-media-index-card-title {
    margin: 0;
    line-height: var(--gm-card-title-line-height);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-block-size: calc(1em * var(--gm-card-title-line-height) * var(--gm-card-title-lines));
}

.gm-media-list-section .gm-media-index-card-title-link,
.gm-contributor-link {
    position: relative;
    z-index: 3;
}

.gm-pinned-panel {
    margin-bottom: 1.6rem;
    padding: 1.1rem;
    border-radius: 20px;
    border: 1px solid #f2c46c;
    background: linear-gradient(180deg, #fff5d8 0%, #ffe0a8 100%);
    box-shadow: 0 16px 32px rgba(201, 126, 28, 0.16);
}

.gm-pinned-panel .gm-section-head-pinned {
    margin-bottom: 0.8rem;
}

@media (max-width: 760px) {
    .gm-pinned-panel {
        padding: 0.85rem;
        margin-bottom: 1.1rem;
        border-radius: 16px;
        border-color: #eabf63;
        background: linear-gradient(180deg, #fff1cc 0%, #ffd894 100%);
    }

    .gm-media-thumb strong.gm-pin-badge {
        top: 10px;
        right: -6px;
        font-size: 0.68rem;
    }
}

.gm-media-list-section .gm-media-index-card-title-link {
    color: inherit;
    text-decoration: none;
}

.gm-media-list-section .gm-media-index-card-title-link:hover,
.gm-media-list-section .gm-media-index-card-title-link:focus-visible,
.gm-contributor-link:hover,
.gm-contributor-link:focus-visible {
    color: #1748b9;
    text-decoration: underline;
}

.gm-collection-card-body h3 a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-block-size: calc(1em * var(--gm-card-title-line-height) * var(--gm-card-title-lines));
}

.gm-collection-card-summary {
    margin: 0;
    line-height: var(--gm-card-summary-line-height);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-block-size: calc(1em * var(--gm-card-summary-line-height) * var(--gm-card-summary-lines));
    color: #3f5478;
}

.gm-collection-card-meta {
    margin-top: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.55rem;
    row-gap: 0.25rem;
}

.gm-collection-card-meta span:first-child {
    color: #2a4064;
    font-weight: 700;
}

.gm-collection-card-meta span:last-child {
    color: #557193;
    font-weight: 700;
    text-align: right;
    justify-self: end;
}

.gm-collection-card-footer {
    margin-top: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.55rem;
    row-gap: 0.25rem;
    padding-top: 0.46rem;
}

.gm-collection-card-meta span,
.gm-collection-card-footer span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-collection-card-footer .gm-contributor-link {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-collection-card-footer span:last-child {
    text-align: right;
    justify-self: end;
}

.gm-collection-card-footer .gm-contributor-link {
    text-align: right;
    justify-self: end;
}

.gm-collection-section-head-copy {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.gm-section-subtitle {
    margin: 0;
    color: #5f7394;
    font-size: 0.92rem;
    font-weight: 600;
}

.gm-meta-soft {
    margin-top: 0.32rem;
    padding-top: 0.32rem;
    border-top: 1px dashed #d5deef;
    color: #6b7a95;
    font-weight: 500;
}

@media (hover: none), (pointer: coarse), (max-width: 760px) {
    .gm-media-list-section .gm-media-index-card .gm-collection-card-thumb {
        min-height: 184px;
        padding: 0.66rem;
    }

    .gm-media-list-section .gm-media-index-card .gm-collection-card-body {
        gap: 0.5rem;
    }

    .gm-media-list-section .gm-media-index-card .gm-collection-card-summary {
        font-size: 0.93rem;
    }

    .gm-media-list-section .gm-media-index-card .gm-collection-card-meta,
    .gm-media-list-section .gm-media-index-card .gm-collection-card-footer {
        column-gap: 0.62rem;
        row-gap: 0.34rem;
    }
}

.gm-detail-label {
    color: var(--brand-blue-dark);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.gm-detail-head h1,
.gm-detail-hero h1 {
    font-size: clamp(1.9rem, 3.5vw, 2.7rem);
}

.gm-detail-hero {
    margin-top: 0.8rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1rem;
    align-items: start;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-lg);
    background: linear-gradient(150deg, #ffffff, #f6f9ff);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
}

.gm-detail-hero + .gm-player-wrap {
    margin-top: 0.9rem;
}

.gm-player-wrap + .gm-external-note {
    margin-top: 0.8rem;
}

.gm-player-wrap + .gm-detail-grid,
.gm-external-note + .gm-detail-grid {
    margin-top: 0.95rem;
}

.gm-detail-hero-main {
    min-width: 0;
}

.gm-detail-lead {
    margin-top: 0.45rem;
    color: var(--text-soft);
    max-width: 65ch;
}

.gm-detail-chip-row {
    margin-top: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.gm-detail-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    border: 1px solid #c6d5f3;
    border-radius: 999px;
    background: #f6f9ff;
    color: #173d97;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.15rem 0.65rem;
}

.gm-detail-hero-side {
    display: grid;
    gap: 0.65rem;
}

.gm-detail-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.5rem;
    align-items: stretch;
}

.gm-detail-actions .gm-btn {
    width: 100%;
    min-height: 52px;
    padding: 0.45rem 0.65rem;
    font-size: 0.92rem;
    line-height: 1.05;
    justify-content: center;
    text-align: center;
    white-space: normal;
}

.gm-detail-actions .gm-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.gm-detail-actions .gm-action-btn__icon {
    width: 0.98em;
    height: 0.98em;
}

.gm-detail-actions .gm-action-btn__label {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: normal;
    text-wrap: balance;
}

/* Keep CTA row tidy when report action is present (3 actions with one long label). */
.gm-detail-actions:has(.gm-action-btn.is-action-report) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-detail-actions:has(.gm-action-btn.is-action-report) .gm-action-btn.is-action-report {
    grid-column: 1 / -1;
}

.gm-btn-danger-soft {
    background: #fff2f2;
    border-color: #efb7bc;
    color: #a42a36;
}

.gm-btn-danger-soft:hover {
    background: #ffe8ea;
    border-color: #e48a93;
    color: #8f212e;
    box-shadow: none;
}

.gm-report-create-actions .gm-btn {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.gm-rating-summary-card {
    border: 1px solid #cad8f4;
    border-radius: 16px;
    background: #fff;
    padding: 0.8rem 0.85rem;
    box-shadow: var(--shadow-soft);
}

.gm-rating-summary-card p {
    margin: 0;
    font-size: 0.82rem;
    color: var(--text-soft);
    font-weight: 700;
}

.gm-rating-summary-card strong {
    display: block;
    margin: 0.2rem 0;
    font-size: 2rem;
    line-height: 1;
    color: #0f2c7c;
}

.gm-rating-summary-card small {
    color: var(--text-soft);
    font-weight: 600;
}

.gm-rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    line-height: 1;
}

.gm-rating-stars span {
    color: #ced6e8;
    font-size: 1rem;
}

.gm-rating-stars span.is-filled {
    color: #f3b726;
}

.gm-player-wrap {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    width: min(100%, 1100px);
    margin-inline: auto;
    min-height: 300px;
    box-shadow: var(--shadow-soft);
}

.gm-player-overlay {
    z-index: 3;
    inset: 0;
    padding: 0.08rem;
    align-items: stretch;
    justify-content: stretch;
    background: transparent;
}

.gm-player-frame {
    z-index: 1;
}

.gm-player-poster {
    --gm-player-poster-image: linear-gradient(135deg, #274fd1 0%, #113588 48%, #081531 100%);
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: calc(var(--radius) - 2px);
    overflow: hidden;
    display: grid;
    align-content: space-between;
    gap: 1rem;
    padding: 1rem;
    isolation: isolate;
}

.gm-player-poster::before,
.gm-player-poster::after {
    content: '';
    position: absolute;
    inset: 0;
}

.gm-player-poster::before {
    background-image: var(--gm-player-poster-image);
    background-size: cover;
    background-position: center;
    transform: scale(1.03);
    transform-origin: center;
}

.gm-player-poster::after {
    background:
        linear-gradient(180deg, rgba(7, 15, 36, 0.12) 0%, rgba(7, 15, 36, 0.68) 72%, rgba(7, 15, 36, 0.8) 100%),
        radial-gradient(circle at 18% 20%, rgba(76, 134, 255, 0.35), transparent 44%);
}

.gm-player-poster-copy,
.gm-player-poster-actions {
    position: relative;
    z-index: 2;
}

.gm-player-poster-copy {
    display: grid;
    gap: 0.3rem;
    max-width: min(92%, 760px);
}

.gm-player-poster-kicker {
    margin: 0;
    color: #cfe0ff;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gm-player-poster-title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.1rem, 2.1vw, 1.55rem);
    line-height: 1.22;
}

.gm-player-poster-meta {
    margin: 0;
    color: #e3edff;
    font-size: 0.9rem;
    font-weight: 600;
}

.gm-player-poster-actions {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.38rem;
    z-index: 3;
    width: max-content;
}

.gm-player-poster-actions small {
    color: #d9e6ff;
    font-size: 0.8rem;
    font-weight: 600;
}

.gm-player-poster-actions .gm-player-icon-play {
    width: 78px;
    height: 78px;
}

.gm-player-loading {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    font-size: 1.05rem;
    font-weight: 700;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(7, 15, 36, 0.9);
    padding: 14px 22px;
    min-width: 270px;
    text-align: center;
}

.gm-player-icon-fullscreen {
    width: 46px;
    height: 46px;
    z-index: 5;
}

.gm-player-blocked {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    flex-direction: column;
    padding: 1rem;
    z-index: 6;
    text-align: center;
    background: linear-gradient(170deg, rgba(243, 247, 255, 0.98) 0%, rgba(255, 255, 255, 0.99) 100%);
}

.gm-player-blocked p {
    margin: 0;
    max-width: min(92%, 620px);
    color: var(--text-main);
    font-weight: 600;
    line-height: 1.45;
}

.gm-player-wrap.is-blocked .gm-player-blocked {
    display: flex;
}

.gm-player-wrap.is-blocked .gm-player-overlay,
.gm-player-wrap.is-blocked .gm-player-frame,
.gm-player-wrap.is-blocked .gm-player-icon-fullscreen {
    display: none;
}

.gm-player-wrap:fullscreen,
.gm-player-wrap:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
}

.gm-external-note {
    border-radius: 12px;
    background: #eef4ff;
}

.gm-detail-main,
.gm-detail-side,
.gm-info-detail,
.gm-side-help,
.gm-info-row,
.gm-info-card,
.gm-login-card {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}

.gm-info-row {
    border: 1px solid var(--line-soft);
}

.gm-info-row-image-placeholder {
    background: linear-gradient(145deg, #9fc0ff, #dce9ff);
}

.gm-about-media-panel {
    display: grid;
    gap: 0.9rem;
}

.gm-about-media-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 0.8rem;
    align-items: start;
}

.gm-about-media-main,
.gm-about-media-meta {
    display: grid;
    gap: 0.72rem;
}

.gm-about-media-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
}

.gm-about-media-stat {
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: linear-gradient(165deg, #ffffff 0%, #f8fbff 100%);
    padding: 0.62rem 0.7rem;
    display: grid;
    gap: 0.14rem;
}

.gm-about-media-stat small {
    color: var(--text-soft);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.gm-about-media-stat strong {
    color: var(--text-main);
    font-size: 1rem;
    line-height: 1.25;
}

.gm-about-media-table-wrap {
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.gm-about-media-table {
    width: 100%;
    border-collapse: collapse;
}

.gm-about-media-table th,
.gm-about-media-table td {
    padding: 0.58rem 0.68rem;
    border-bottom: 1px solid #e5ecfa;
    vertical-align: top;
}

.gm-about-media-table tbody tr:last-child th,
.gm-about-media-table tbody tr:last-child td {
    border-bottom: 0;
}

.gm-about-media-table th {
    width: 32%;
    color: #5f7394;
    font-size: 0.84rem;
    font-weight: 800;
    text-align: left;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #f8fbff;
}

.gm-about-media-table td {
    color: var(--text-main);
    font-size: 0.94rem;
    font-weight: 600;
}

.gm-about-media-keywords h3 {
    margin: 0 0 0.45rem;
    color: #1b2f4f;
    font-size: 0.95rem;
}

.gm-about-media-keywords .gm-tag-list {
    gap: 0.35rem;
}

.gm-related-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.68rem;
}

.gm-related-head h3 {
    margin: 0;
}

.gm-related-head span {
    color: var(--text-soft);
    font-size: 0.8rem;
    font-weight: 700;
}

.gm-related-list {
    display: grid;
    gap: 0.62rem;
}

.gm-related-item {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 0.58rem;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: #fff;
    padding: 0.44rem;
    text-decoration: none;
    color: inherit;
    transition: border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);
}

.gm-related-item:hover {
    border-color: #b9cdef;
    box-shadow: var(--shadow-soft);
    transform: translateY(-1px);
}

.gm-related-thumb {
    position: relative;
    border-radius: 10px;
    background: #e8f0ff;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    min-height: 70px;
    display: block;
}

.gm-related-thumb.is-placeholder {
    background: linear-gradient(145deg, #7ba9ff 0%, #1d54d8 100%);
}

.gm-related-type {
    position: absolute;
    left: 0.4rem;
    top: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    padding: 0.13rem 0.38rem;
    color: #fff;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: rgba(8, 24, 62, 0.45);
}

.gm-related-body {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 0.22rem;
}

.gm-related-title {
    color: var(--text-main);
    font-size: 0.93rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gm-related-meta {
    color: var(--text-soft);
    font-size: 0.79rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-related-empty {
    margin: 0;
    border: 1px dashed var(--line-soft);
    border-radius: 12px;
    background: #f8fbff;
    color: var(--text-soft);
    font-weight: 600;
    padding: 0.75rem;
}

.gm-review-section {
    margin-top: 1rem;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: var(--shadow-soft);
    padding: 1rem;
}

.gm-review-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
}

.gm-review-summary {
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: linear-gradient(165deg, #ffffff 0%, #f6faff 100%);
    padding: 0.88rem;
    position: sticky;
    top: 0.95rem;
    display: grid;
    gap: 0.42rem;
}

.gm-review-summary h2 {
    margin: 0;
    color: var(--text-main);
    font-size: clamp(1.25rem, 2.1vw, 1.45rem);
}

.gm-review-summary-value {
    margin: 0.08rem 0 0;
    color: #0f2c7c;
    font-size: clamp(2rem, 3vw, 2.3rem);
    font-weight: 800;
    line-height: 1;
}

.gm-review-summary-stars {
    gap: 0.12rem;
}

.gm-review-summary-note {
    margin: 0;
    color: var(--text-soft);
    font-weight: 600;
    font-size: 0.86rem;
    line-height: 1.42;
}

.gm-review-distribution {
    margin-top: 0.38rem;
    display: grid;
    gap: 0.32rem;
}

.gm-review-distribution-row {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 0.45rem;
}

.gm-review-distribution-label,
.gm-review-distribution-count {
    color: #45618e;
    font-size: 0.76rem;
    font-weight: 700;
}

.gm-review-distribution-track {
    height: 8px;
    border-radius: 999px;
    background: #e7eef9;
    overflow: hidden;
}

.gm-review-distribution-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2f6de0, #7ea4ec);
}

.gm-review-main {
    min-width: 0;
    display: grid;
    gap: 0.72rem;
}

.gm-review-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.gm-review-toolbar h3 {
    margin: 0;
    color: var(--text-main);
    font-size: 1.2rem;
}

.gm-review-toolbar p {
    margin: 0.2rem 0 0;
    color: var(--text-soft);
    font-weight: 600;
}

.gm-review-sort-form {
    display: inline-flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.gm-review-sort-group {
    display: grid;
    gap: 0.22rem;
    min-width: 172px;
}

.gm-review-sort-form label {
    color: var(--text-soft);
    font-size: 0.8rem;
    font-weight: 700;
    margin: 0;
}

.gm-review-sort-form select {
    min-height: 40px;
    border-radius: 10px;
    border: 1px solid var(--line-strong);
    background: #fff;
    color: var(--text-main);
    padding: 0.35rem 0.52rem;
    min-width: 172px;
}

.gm-review-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    border: 1px solid #d0dced;
    background: #f8fbff;
    color: #4b6288;
    font-size: 0.82rem;
    font-weight: 700;
}

.gm-review-filter-toggle input {
    margin: 0;
}

.gm-review-form {
    border: 1px solid #d7e1f3;
    border-radius: 14px;
    background: #f9fbff;
    padding: 0.85rem;
    display: grid;
    gap: 0.65rem;
}

.gm-review-form-title {
    margin: 0;
    font-weight: 700;
}

.gm-review-form-hint {
    margin: 0;
    color: var(--text-soft);
    font-size: 0.85rem;
}

.gm-review-stars-input {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
}

.gm-review-star {
    color: #c7d0e2;
    font-size: 2.45rem;
    line-height: 1;
    cursor: pointer;
    transition: color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);
}

.gm-review-star.is-active,
.gm-review-star.is-preview {
    color: #f3b726;
}

.gm-review-list {
    display: grid;
    gap: 0.7rem;
}

.gm-review-card {
    border: 1px solid #dde5f5;
    border-radius: 14px;
    background: #fff;
    padding: 0.8rem;
    box-shadow: var(--shadow-soft);
}

.gm-review-card-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.gm-review-card-head strong {
    display: block;
}

.gm-review-card-head small {
    color: var(--text-soft);
}

.gm-review-card p {
    margin: 0;
    color: #2d3d5d;
    line-height: 1.55;
}

.gm-review-content-toggle summary {
    list-style: none;
    cursor: pointer;
    color: #2d3d5d;
    line-height: 1.55;
}

.gm-review-content-toggle summary::-webkit-details-marker {
    display: none;
}

.gm-review-content-toggle summary::after {
    content: ' Lihat selengkapnya';
    color: #2058bf;
    font-weight: 700;
}

.gm-review-content-toggle[open] summary::after {
    content: ' Sembunyikan';
}

.gm-review-content-toggle p {
    margin-top: 0.45rem;
}

.gm-info-detail-page h1 {
    font-size: clamp(2rem, 4vw, 2.8rem);
}

.gm-info-related-section {
    margin-top: 0.8rem;
}

.gm-info-related-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.58rem;
}

.gm-info-related-head h2 {
    margin: 0;
    font-size: clamp(1.08rem, 2vw, 1.28rem);
    color: #1d3557;
}

.gm-info-related-head span {
    color: var(--text-soft);
    font-size: 0.78rem;
    font-weight: 700;
}

.gm-info-related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.62rem;
}

.gm-info-related-card {
    border: 1px solid #dbe4f4;
    border-radius: 12px;
    background: linear-gradient(168deg, #ffffff 0%, #f9fbff 100%);
    box-shadow: 0 5px 12px rgba(20, 48, 108, 0.06);
    padding: 0.72rem;
}

.gm-info-related-card .gm-info-label {
    margin-bottom: 0.3rem;
    font-size: 0.68rem;
}

.gm-info-related-card h3 {
    margin-bottom: 0.3rem;
    font-size: 0.97rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gm-info-related-card p {
    margin-bottom: 0.45rem;
    font-size: 0.86rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gm-info-related-link {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1c4fbf;
    text-decoration: none;
}

.gm-info-related-link:hover {
    text-decoration: underline;
}

.gm-info-related-empty {
    padding: 0.72rem;
}

.gm-login-wrap {
    padding: 2.8rem 0;
}

.gm-login-card {
    width: min(580px, 94vw);
    margin: 0 auto;
    border: 1px solid #d5e0f3;
    border-radius: 22px;
    box-shadow: var(--shadow-mid);
    position: relative;
    overflow: hidden;
    padding: 1.3rem;
    display: grid;
    gap: 0.85rem;
}

.gm-login-card::before {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 999px;
    right: -80px;
    top: -90px;
    opacity: 0.22;
    pointer-events: none;
}

.gm-login-card-admin::before {
    background: #98b8ff;
}

.gm-login-card-user::before {
    background: #ffd76d;
}

.gm-login-icon {
    letter-spacing: 0.08em;
    font-weight: 800;
}

.gm-login-card h1 {
    font-size: 2.1rem;
    margin-bottom: 0.15rem;
}

.gm-login-card p {
    margin: 0;
    color: var(--text-soft);
}

.gm-login-features {
    margin-top: 0.15rem;
    display: grid;
    gap: 0.55rem;
}

.gm-login-features div {
    border: 1px solid #dce7ff;
    background: #f2f7ff;
    border-radius: 11px;
    padding: 0.6rem 0.7rem;
}

.gm-login-actions {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.2rem;
}

.gm-login-btn-user {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #fff;
    border: 1px solid #d6deef;
    color: #1f2d49;
    box-shadow: 0 10px 20px rgba(14, 39, 98, 0.1);
}

.gm-login-btn-user:hover {
    background: #f8fbff;
    border-color: #b8c8ea;
    color: #1a2640;
    box-shadow: 0 12px 22px rgba(14, 39, 98, 0.14);
}

.gm-login-btn-user:focus-visible {
    outline: 3px solid rgba(66, 133, 244, 0.35);
    outline-offset: 2px;
}

.gm-login-btn-user span:last-child {
    font-weight: 700;
}

.gm-google-icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
}

.gm-google-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.gm-login-btn-admin {
    margin-top: 0.22rem;
}

.gm-login-admin-actions {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.95rem;
}

.gm-login-admin-actions .gm-btn {
    min-height: 46px;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
}

.gm-admin-2fa-qr-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 0.7rem;
}

.gm-admin-2fa-qr-image {
    width: min(220px, 100%);
    height: auto;
    border-radius: 14px;
    border: 1px solid #cedbf4;
    background: #fff;
    padding: 0.65rem;
    box-shadow: 0 10px 24px rgba(19, 57, 133, 0.12);
}

.gm-admin-2fa-qr-fallback {
    width: min(320px, 100%);
    border-radius: 12px;
    border: 1px dashed #c4d3ef;
    background: #f7faff;
    color: #51688c;
    text-align: center;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 0.8rem 0.9rem;
}

.gm-admin-2fa-manual-fallback {
    border: 1px solid #d6e0f2;
    border-radius: 12px;
    background: #fafcff;
    padding: 0.7rem 0.8rem;
    margin-bottom: 0.75rem;
}

.gm-admin-2fa-manual-fallback summary {
    cursor: pointer;
    font-size: 0.87rem;
    font-weight: 700;
    color: #365a98;
    margin-bottom: 0.55rem;
}

.gm-login-admin-back {
    margin-top: 0.22rem;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.gm-footer {
    background: #eef2fb;
    border-top: 1px solid #d3ddf0;
}

.gm-footer-copy {
    border-top: 1px solid #d3ddf0;
    font-size: 0.88rem;
}

.gm-pagination {
    margin-top: 1rem;
}

.gm-pagination nav {
    display: flex;
    justify-content: center;
}

.gm-pagination-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.gm-page-btn,
.gm-page-ellipsis {
    min-width: 40px;
    height: 40px;
    border-radius: 11px;
    border: 1px solid var(--line-soft);
    background: #fff;
    color: #2e3f61;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-decoration: none;
    line-height: 1;
}

.gm-page-btn svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.gm-page-btn:hover {
    text-decoration: none;
    border-color: #a8beee;
    color: var(--brand-blue-dark);
    background: #f4f8ff;
}

.gm-page-btn.is-active {
    border-color: var(--brand-blue);
    background: var(--brand-blue);
    color: #fff;
}

.gm-page-btn.is-disabled {
    opacity: 0.45;
    pointer-events: none;
    background: #f6f8fd;
}

.gm-page-ellipsis {
    min-width: auto;
    padding: 0 0.35rem;
    border: 0;
    background: transparent;
    color: #7a88a4;
}

.gm-admin-body {
    color: var(--text-main);
    background: radial-gradient(circle at top left, #eef4ff, transparent 26%), #f7f9ff;
}

.gm-admin-body .gm-admin-wrap {
    display: grid;
    grid-template-columns: 260px 1fr;
    min-height: 100vh;
}

.gm-admin-body .gm-admin-sidebar {
    position: sticky;
    top: 0;
    min-height: 100vh;
    padding: 1rem 0.85rem;
    background: linear-gradient(180deg, #12358f, #0d2562);
    border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.gm-admin-body .gm-admin-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.14);
    margin-bottom: 0.95rem;
}

.gm-admin-body .gm-admin-sidebar nav {
    display: grid;
    gap: 0.35rem;
}

.gm-admin-body .gm-admin-sidebar nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    color: #dbe7ff;
    text-decoration: none;
    font-weight: 600;
}

.gm-admin-body .gm-admin-sidebar nav a.active,
.gm-admin-body .gm-admin-sidebar nav a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
}

.gm-admin-body .gm-admin-content {
    padding: 1rem;
}

.gm-admin-body .gm-admin-header {
    margin-bottom: 0.95rem;
    padding: 0.95rem 1rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #eef4ff, #f9fbff);
    box-shadow: var(--shadow-soft);
}

.gm-admin-body .gm-admin-header h1 {
    font-family: 'Baloo 2', 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(1.5rem, 3vw, 1.9rem);
}

.gm-admin-body .gm-admin-header p {
    color: var(--text-soft);
}

.gm-admin-body .gm-admin-header-actions {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-btn {
    min-height: 44px;
    border-radius: 11px;
    font-size: 0.9rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn {
    position: relative;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    padding: 0;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    line-height: 1;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn::after,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn::after {
    content: attr(aria-label);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translate(-50%, 4px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 35;
    padding: 0.32rem 0.52rem;
    border-radius: 8px;
    border: 1px solid rgba(20, 31, 53, 0.18);
    background: #1f2a3d;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 8px 16px rgba(15, 21, 34, 0.2);
    transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn::before,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 4px);
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 34;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #1f2a3d;
    transition: opacity 120ms ease, visibility 120ms ease;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:hover::after,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:hover::before,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:focus-visible::after,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:focus-visible::before,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:hover::after,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:hover::before,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:focus-visible::after,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:focus-visible::before {
    opacity: 1;
    visibility: visible;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:hover::after,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:focus-visible::after,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:hover::after,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:focus-visible::after {
    transform: translate(-50%, 0);
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn svg,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn svg {
    width: 19px;
    height: 19px;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn svg,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn svg *,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn svg,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn svg * {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-primary,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-primary {
    background: #1f4ea8;
    border-color: #194291;
    color: #fff;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-primary:hover,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-primary:hover {
    background: #1a438f;
    border-color: #173b7d;
    color: #fff;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-secondary,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-secondary {
    background: #fff;
    border-color: var(--line-strong);
    color: #2b3d5f;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-secondary:hover,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-secondary:hover {
    background: #f4f8ff;
    border-color: #b4c6ea;
    color: #1f3257;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-danger,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-danger {
    background: #c9364f;
    border-color: #ab2e44;
    color: #fff;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-danger:hover,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-danger:hover {
    background: #b22d44;
    border-color: #95263a;
    color: #fff;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-muted,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-muted {
    background: #697286;
    border-color: #5c6476;
    color: #fff;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-muted:hover,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-muted:hover {
    background: #5b6374;
    border-color: #525968;
    color: #fff;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:focus-visible,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:focus-visible {
    outline: 3px solid rgba(45, 84, 160, 0.25);
    outline-offset: 2px;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-danger:focus-visible,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-danger:focus-visible {
    outline-color: rgba(201, 54, 79, 0.28);
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-muted:focus-visible,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn.is-muted:focus-visible {
    outline-color: rgba(105, 114, 134, 0.35);
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn:disabled,
.gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.gm-admin-body .gm-admin-btn-primary {
    background: var(--brand-blue-dark);
    border-color: #123783;
    color: #fff;
}

.gm-admin-body .gm-admin-btn-primary:hover {
    background: #0f3278;
    border-color: #0d2d6c;
    color: #fff;
}

.gm-admin-body .gm-admin-btn-secondary {
    background: #fff;
    border-color: var(--line-strong);
    color: #2b3d5f;
}

.gm-admin-body .gm-admin-btn-secondary:hover {
    background: #f4f8ff;
    border-color: #b4c6ea;
    color: #1f3257;
}

.gm-admin-body .gm-admin-btn-danger {
    background: #c9364f;
    border-color: #ab2e44;
    color: #fff;
}

.gm-admin-body .gm-admin-btn-danger:hover {
    background: #b22d44;
    border-color: #95263a;
    color: #fff;
}

.gm-admin-body .gm-admin-section {
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    background: #fff;
}

.gm-admin-body .gm-admin-section-head {
    margin-bottom: 0.95rem;
}

.gm-admin-body .gm-admin-section-head h2 {
    font-family: 'Baloo 2', 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(1.3rem, 2.4vw, 1.7rem);
}

.gm-admin-body .gm-admin-section-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-left: auto;
}

.gm-admin-body .gm-admin-per-page {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-soft);
}

.gm-admin-body .gm-admin-per-page label {
    font-weight: 600;
    color: var(--text-main);
}

.gm-admin-body .gm-admin-per-page select {
    min-height: 40px;
    padding: 0 0.7rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--line-soft);
    background: #fff;
    font-weight: 600;
    color: var(--text-main);
}

.gm-admin-body .gm-admin-media-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.gm-admin-body .gm-admin-media-actions-row .gm-action-btn {
    min-height: 34px;
    padding: 0 0.65rem;
    font-size: 0.78rem;
    line-height: 1.1;
}

.gm-admin-body .gm-admin-stats article {
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-sm);
    background: linear-gradient(170deg, #ffffff, #f7faff);
    box-shadow: var(--shadow-soft);
}

.gm-admin-body .gm-admin-stats h3 {
    color: var(--text-soft);
}

.gm-admin-body .gm-btn-admin-bulk-run {
    background: #697286;
    border-color: #5c6476;
    color: #fff;
}

.gm-admin-body .gm-btn-admin-bulk-run:hover {
    background: #5b6374;
    border-color: #525968;
    color: #fff;
}

.gm-admin-body .gm-btn-admin-bulk-run:focus-visible {
    outline: 3px solid rgba(105, 114, 134, 0.35);
    outline-offset: 2px;
}

.gm-admin-body .gm-btn-admin-bulk-run:disabled {
    background: #a7aebb;
    border-color: #9ca4b2;
    color: #f4f6f9;
}

.gm-admin-body .gm-form-actions.gm-admin-form-actions {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: nowrap;
}

.gm-admin-body .gm-form-actions.gm-admin-form-actions .gm-admin-btn:not(.gm-admin-icon-btn) {
    flex: 0 0 auto;
    width: auto;
}

.gm-admin-body .gm-admin-table-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-table-actions form {
    margin: 0;
}

.gm-admin-body .gm-admin-inline-form {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-inline-form input[type="text"] {
    min-height: 40px;
    border-radius: 10px;
    border: 1px solid var(--line-strong);
    padding: 0.35rem 0.5rem;
}

.gm-admin-body .gm-table-wrap {
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-sm);
    background: #fff;
    overflow: auto;
}

.gm-pengguna-page .gm-section {
    padding-left: 0;
    padding-right: 0;
}

.gm-pengguna-submission-head {
    flex-wrap: wrap;
}

.gm-submission-empty-cell {
    text-align: center;
}

.gm-admin-body table {
    width: 100%;
    border-collapse: collapse;
}

.gm-admin-body thead {
    background: #edf4ff;
}

.gm-admin-body th,
.gm-admin-body td {
    padding: 0.66rem 0.62rem;
    border-bottom: 1px solid var(--line-soft);
}

.gm-admin-body tbody tr:hover {
    background: #f7faff;
}

.gm-bulk-panel {
    margin: 0.9rem 0 0.85rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: #f7faff;
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 0.7rem 1rem;
}

.gm-bulk-inline-select-all {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.gm-bulk-select-all-btn {
    min-height: 36px;
    padding: 0 0.75rem;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: none;
}

.gm-bulk-select-all-btn:hover {
    box-shadow: none;
}

.gm-bulk-inline-left {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.gm-bulk-inline-select-all input {
    margin: 0;
}

.gm-bulk-inline-select-all label {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-main);
}

.gm-bulk-per-page {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.gm-bulk-per-page label {
    margin: 0;
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--text-main);
}

.gm-bulk-per-page select {
    min-height: 36px;
    padding: 0 0.6rem;
    border-radius: 10px;
    border: 1px solid var(--line-soft);
    background: #fff;
    font-weight: 600;
    color: var(--text-main);
}

.gm-bulk-inline-count {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    white-space: nowrap;
}

.gm-bulk-inline-count strong {
    font-size: 0.9rem;
}

.gm-bulk-panel-count {
    font-weight: 700;
    color: var(--brand-blue-dark);
    font-size: 0.85rem;
}

.gm-bulk-panel-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: nowrap;
    min-width: 0;
}

.gm-bulk-inline-field {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.gm-bulk-inline-field label {
    margin: 0;
    font-size: 0.83rem;
    color: var(--text-soft);
    font-weight: 700;
    white-space: nowrap;
}

.gm-bulk-panel-actions select {
    min-height: 44px;
    border-radius: 10px;
    border: 1px solid var(--line-strong);
    background: #fff;
    color: var(--text-main);
    padding: 0.45rem 0.55rem;
    min-width: 180px;
}

.gm-bulk-inline-submit {
    white-space: nowrap;
}

.gm-bulk-help-text {
    grid-column: 1 / -1;
    margin: 0;
    color: #6a7489;
    font-size: 0.79rem;
    font-weight: 600;
}

.gm-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0.08rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.gm-status-badge-draft {
    background: #fff3d8;
    border-color: #f2cd7a;
    color: #6e4c00;
}

.gm-status-badge-published {
    background: #e6f8ec;
    border-color: #99d8ac;
    color: #1f6b35;
}

.gm-status-badge-submission.gm-status-badge-pending {
    background: #f2f4f8;
    border-color: #d8dee8;
    color: #5a6b84;
}

.gm-status-badge-submission.gm-status-badge-review {
    background: #e6f2ff;
    border-color: #afc8eb;
    color: #285993;
}

.gm-status-badge-submission.gm-status-badge-revision {
    background: #ffe9cc;
    border-color: #f0be74;
    color: #835200;
}

.gm-status-badge-submission.gm-status-badge-revised {
    background: #e6f6ff;
    border-color: #98cde8;
    color: #1f5f85;
}

.gm-status-badge-submission.gm-status-badge-rejected {
    background: #ffe7e7;
    border-color: #efb2b2;
    color: #9a2f2f;
}

.gm-status-badge-submission.gm-status-badge-published {
    background: #e6f8ec;
    border-color: #99d8ac;
    color: #1f6b35;
}

.gm-status-badge-muted {
    background: #f3f5fa;
    border-color: #d9deea;
    color: #6a7489;
}

.gm-submission-tracker-grid {
    margin-bottom: 0.9rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.65rem;
}

.gm-submission-tracker-card {
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: #fff;
    padding: 0.55rem 0.62rem;
}

.gm-submission-tracker-card strong {
    display: block;
    color: var(--text-soft);
    font-size: 0.78rem;
    margin-bottom: 0.18rem;
}

.gm-submission-tracker-card span {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--brand-blue-dark);
}

.gm-next-step {
    color: var(--text-soft);
    font-weight: 600;
}

.gm-next-step-action {
    color: #8a5400;
}

.gm-filter-row-inline-admin-media {
    grid-template-columns: minmax(260px, 1.6fr) repeat(4, minmax(150px, 1fr));
}

.gm-filter-row-inline-admin-info {
    grid-template-columns: 1.7fr repeat(2, minmax(0, 1fr));
}

.gm-filter-row-inline-admin-users {
    grid-template-columns: 1.7fr repeat(2, minmax(0, 1fr));
}

.gm-filter-row-inline-admin-security {
    grid-template-columns: minmax(230px, 1.7fr) repeat(4, minmax(140px, 1fr));
}

.gm-filter-row-inline-admin-taxonomy {
    grid-template-columns: 1.8fr minmax(0, 1fr);
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    body.is-motion-ready [data-anim] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .gm-btn:hover,
    .gm-media-card:hover,
    .gm-info-card:hover,
    .gm-quick-card:hover,
    .gm-quick-item:hover,
    .gm-detail-main:hover,
    .gm-detail-side:hover,
    .gm-info-detail:hover,
    .gm-side-help:hover,
    .gm-review-star:hover,
    .gm-admin-body .gm-admin-section:hover,
    .gm-admin-body .gm-admin-stats article:hover,
    .gm-submission-tracker-card:hover {
        transform: none !important;
    }
}

@media (max-width: 1180px) {
    .gm-card-grid-media {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-collection-card-thumb {
        min-height: 184px;
    }

    .gm-info-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gm-filter-shell {
        grid-template-columns: 1fr;
    }

    .gm-filter-actions-sticky {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0;
        border: 0;
        background: transparent;
    }

    .gm-home-quick-level-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 761px) and (max-width: 1199px) {
    .gm-filter-row-inline-media,
    .gm-filter-row-inline-admin-media {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .gm-hero-grid,
    .gm-detail-grid,
    .gm-detail-hero,
    .gm-quick-grid,
    .gm-page-hero,
    .gm-info-slide {
        grid-template-columns: 1fr;
    }

    .gm-hero-visual {
        min-height: 320px;
    }

    .gm-hero-burst {
        left: 0;
        right: 0;
        margin: 0 auto;
        transform: none;
    }

    .gm-hero-illustration {
        right: 0;
    }

    .gm-page-hero-chip {
        text-align: left;
    }

    .gm-page-hero.gm-collection-hero {
        padding: 1.05rem;
    }

    .gm-section-subtitle {
        font-size: 0.88rem;
    }

    .gm-info-row {
        grid-template-columns: 1fr;
    }

    .gm-info-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-about-media-table th {
        width: 36%;
    }

    .gm-about-media-layout {
        grid-template-columns: 1fr;
    }

    .gm-review-layout {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .gm-review-summary {
        position: static;
        top: auto;
    }

    .gm-info-row-body {
        padding: 0 1rem 1rem;
    }

    .gm-admin-body .gm-admin-wrap {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-sidebar {
        position: static;
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .gm-admin-body .gm-admin-sidebar nav {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .gm-detail-hero {
        padding: 0.9rem;
    }

    .gm-detail-hero + .gm-player-wrap {
        margin-top: 0.78rem;
    }

    .gm-player-wrap + .gm-external-note {
        margin-top: 0.66rem;
    }

    .gm-player-wrap + .gm-detail-grid,
    .gm-external-note + .gm-detail-grid {
        margin-top: 0.78rem;
    }

    .gm-review-section {
        padding: 0.85rem;
    }

    .gm-review-card-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .gm-review-sort-form {
        width: 100%;
        justify-content: flex-start;
    }

    .gm-review-sort-form select {
        flex: 1 1 auto;
    }

    .gm-home-quick-grid {
        grid-template-columns: 1fr;
    }

    .gm-home-quick-level-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {
    .gm-player-wrap {
        min-height: 250px;
    }

    .gm-player-overlay {
        padding: 0.08rem;
    }

    .gm-player-poster {
        padding: 0.78rem;
        border-radius: 16px;
    }

    .gm-player-poster-copy {
        gap: 0.2rem;
    }

    .gm-player-poster-kicker {
        font-size: 0.68rem;
    }

    .gm-player-poster-meta {
        font-size: 0.82rem;
    }

    .gm-player-poster-actions {
        left: 50%;
        top: 50%;
        bottom: auto;
        transform: translate(-50%, -50%);
        gap: 0.38rem;
    }

    .gm-player-poster-actions small {
        font-size: 0.76rem;
    }

    .gm-player-poster-actions .gm-player-icon-play {
        width: 70px;
        height: 70px;
    }

    .gm-about-media-highlights {
        grid-template-columns: 1fr;
    }

    .gm-about-media-table th,
    .gm-about-media-table td {
        padding: 0.52rem 0.55rem;
    }

    .gm-about-media-table th {
        width: 40%;
        font-size: 0.78rem;
    }

    .gm-related-item {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 0.48rem;
        padding: 0.4rem;
    }

    .gm-related-thumb {
        min-height: 62px;
    }

    .gm-related-type {
        left: 0.34rem;
        top: 0.34rem;
        font-size: 0.62rem;
    }

    .gm-related-title {
        font-size: 0.88rem;
    }

    .gm-related-meta {
        font-size: 0.75rem;
    }

    .gm-review-summary {
        padding: 0.72rem;
        gap: 0.32rem;
    }

    .gm-review-summary h2 {
        font-size: 1.12rem;
    }

    .gm-review-summary-value {
        font-size: 1.8rem;
    }

    .gm-review-sort-form {
        gap: 0.42rem;
    }

    .gm-review-sort-group,
    .gm-review-sort-form select {
        min-width: 0;
        width: 100%;
    }

    .gm-collection-filter {
        padding: 0.84rem;
        border-radius: 16px;
    }

    .gm-collection-filter .gm-filter-field input,
    .gm-collection-filter .gm-filter-field select {
        min-height: 44px;
    }

    .gm-collection-card {
        --gm-card-summary-lines: 2;
        border-radius: 16px;
    }

    .gm-collection-card-thumb {
        min-height: 176px;
        padding: 0.62rem;
    }

    .gm-collection-card-body {
        gap: 0.46rem;
    }

    .gm-collection-card-summary {
        -webkit-line-clamp: 2;
        font-size: 0.94rem;
    }

    .gm-home-media-list-section .gm-section-head {
        align-items: flex-start;
    }

    .gm-collection-section-head-copy {
        gap: 0.16rem;
    }

    .gm-info-related-head {
        align-items: flex-start;
    }

    .gm-info-related-grid {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .gm-info-related-card {
        padding: 0.65rem;
    }
}

@media (max-width: 400px) {
    .gm-page-hero.gm-collection-hero {
        padding: 0.88rem;
    }

    .gm-page-hero.gm-collection-hero .gm-page-hero-chip {
        min-width: 132px;
        border-radius: 13px;
        padding: 0.62rem 0.7rem;
    }

    .gm-page-hero.gm-collection-hero .gm-page-hero-chip span {
        font-size: 1.32rem;
    }

    .gm-collection-card-thumb {
        min-height: 160px;
    }

    .gm-collection-card-body h3 {
        font-size: 1rem;
    }

    .gm-collection-card-summary {
        font-size: 0.88rem;
        --gm-card-summary-line-height: 1.42;
    }

    .gm-section-subtitle {
        font-size: 0.8rem;
    }

    .gm-info-related-head h2 {
        font-size: 1rem;
    }

    .gm-info-related-head span {
        font-size: 0.72rem;
    }

    .gm-info-related-card h3 {
        font-size: 0.9rem;
    }

    .gm-info-related-card p {
        font-size: 0.8rem;
    }

    .gm-detail-main {
        padding: 0.86rem;
    }

    .gm-detail-main h2 {
        margin-bottom: 0.52rem;
        font-size: 1.24rem;
    }

    .gm-detail-main > p {
        margin-bottom: 0.58rem;
        font-size: 0.9rem;
        line-height: 1.42;
    }

    .gm-about-media-panel {
        gap: 0.62rem;
    }

    .gm-about-media-highlights {
        gap: 0.46rem;
    }

    .gm-about-media-stat {
        border-radius: 10px;
        padding: 0.52rem 0.56rem;
    }

    .gm-about-media-stat small {
        font-size: 0.69rem;
        letter-spacing: 0.02em;
    }

    .gm-about-media-stat strong {
        font-size: 0.92rem;
    }

    .gm-about-media-table-wrap {
        border-radius: 10px;
    }

    .gm-about-media-table th,
    .gm-about-media-table td {
        padding: 0.45rem 0.5rem;
    }

    .gm-about-media-table th {
        width: 42%;
        font-size: 0.72rem;
    }

    .gm-about-media-table td {
        font-size: 0.84rem;
        line-height: 1.36;
    }

    .gm-related-head {
        margin-bottom: 0.5rem;
    }

    .gm-related-head span {
        font-size: 0.72rem;
    }

    .gm-related-item {
        grid-template-columns: 82px minmax(0, 1fr);
        border-radius: 10px;
        padding: 0.34rem;
    }

    .gm-related-thumb {
        border-radius: 8px;
        min-height: 56px;
    }

    .gm-related-title {
        font-size: 0.82rem;
    }

    .gm-related-meta {
        font-size: 0.7rem;
    }

    .gm-about-media-keywords h3 {
        margin-bottom: 0.36rem;
        font-size: 0.86rem;
    }

    .gm-about-media-keywords .gm-tag-list {
        margin-top: 0.2rem;
        gap: 0.32rem;
    }

    .gm-about-media-keywords .gm-tag-list span {
        padding: 0.18rem 0.46rem;
        font-size: 0.74rem;
    }
}

@media (max-width: 920px) {
    .gm-submission-tracker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-bulk-panel {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .gm-bulk-panel-actions {
        justify-content: flex-start;
        width: 100%;
        flex-wrap: wrap;
    }

    .gm-bulk-inline-field {
        width: 100%;
        display: grid;
        grid-template-columns: 90px 1fr;
        align-items: center;
    }

    .gm-bulk-inline-field label {
        white-space: normal;
    }

    .gm-bulk-panel-actions .gm-btn,
    .gm-bulk-panel-actions select {
        flex: 1 1 100%;
        min-width: 0;
    }

    .gm-admin-body .gm-admin-action-row {
        align-items: stretch;
    }

    .gm-admin-body .gm-admin-action-row .gm-admin-btn:not(.gm-admin-icon-btn) {
        flex: 1 1 100%;
        width: 100%;
    }

    .gm-admin-body .gm-form-actions.gm-admin-form-actions .gm-admin-btn:not(.gm-admin-icon-btn) {
        flex: 0 0 auto;
        width: auto;
    }

    .gm-admin-body .gm-admin-table-actions .gm-admin-btn {
        flex: 1 1 auto;
    }

    .gm-admin-body .gm-bulk-panel-actions .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn {
        width: 40px;
        min-width: 40px;
        flex: 0 0 40px;
    }

    .gm-pengguna-submission-head .gm-btn {
        width: 100%;
        justify-content: center;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) table,
    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) thead,
    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) tbody,
    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) tr,
    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) th,
    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td {
        display: block;
        width: 100%;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) thead {
        display: none;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) tr {
        border: 1px solid var(--line-soft);
        border-radius: var(--radius-sm);
        padding: 0.6rem 0.7rem;
        background: #fff;
        margin-bottom: 0.65rem;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td {
        border-bottom: 0;
        padding: 0.38rem 0;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td[data-label]::before {
        content: attr(data-label);
        display: block;
        color: var(--text-soft);
        font-size: 0.78rem;
        font-weight: 700;
        margin-bottom: 0.18rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td.gm-table-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.42rem;
        padding-top: 0.48rem;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td.gm-table-actions .gm-btn,
    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td.gm-table-actions form {
        flex: 1 1 100%;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) td.gm-table-actions form .gm-btn {
        width: 100%;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) tr.gm-submission-empty-row {
        padding: 0.2rem 0.55rem;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) .gm-submission-empty-cell {
        text-align: left;
        padding: 0.45rem 0;
    }

    .gm-pengguna-page .gm-table-wrap:not(.gm-mobile-card-table) .gm-submission-empty-cell::before {
        content: none;
    }
}

@media (max-width: 760px) {
    .gm-submission-tracker-grid {
        grid-template-columns: 1fr;
    }

    .gm-nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 0.2rem;
    }

    .gm-topbar-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .gm-topbar-actions form,
    .gm-topbar-actions .gm-btn {
        flex: 1 1 auto;
    }

    .gm-search-form,
    .gm-search-form-large,
    .gm-filter-grid-collection {
        grid-template-columns: 1fr;
    }

    .gm-filter-chip-grid {
        grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    }

    .gm-filter-types-scroll .gm-filter-chip-grid {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .gm-filter-actions-sticky {
        grid-template-columns: 1fr;
    }

    .gm-filter-toggle {
        display: inline-flex;
        align-items: center;
    }

    .gm-filter-panel-modern.is-collapsed .gm-filter-body {
        display: none;
    }

    .gm-filter-row-2,
    .gm-filter-row-3,
    .gm-filter-row-inline {
        grid-template-columns: 1fr;
    }

    .gm-bulk-inline-field {
        grid-template-columns: 1fr;
    }

    .gm-npsn-inline-row {
        grid-template-columns: 1fr;
    }

    .gm-npsn-inline-compact {
        width: 100%;
    }

    .gm-npsn-inline-action {
        width: 100%;
    }

    .gm-npsn-inline-action .gm-btn {
        width: 100%;
    }

    .gm-card-grid-media {
        grid-template-columns: 1fr;
    }

    .gm-home-quick-level-card,
    .gm-home-quick-panel {
        border-radius: 16px;
        padding: 0.78rem;
    }

    .gm-home-quick-level-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-home-quick-level-item {
        min-height: 54px;
    }

    .gm-home-quick-modal {
        padding: 0.7rem;
    }

    .gm-home-quick-modal-panel {
        width: calc(100vw - 1.4rem);
        max-height: calc(100vh - 1.4rem);
        max-height: calc(100dvh - 1.4rem);
        border-radius: 14px;
        padding: 0.75rem;
    }

    .gm-pagination-list {
        gap: 0.28rem;
    }

    .gm-section-head-link-pill {
        padding: 0.42rem 0.72rem;
        font-size: 0.88rem;
    }

    .gm-page-btn,
    .gm-page-ellipsis {
        min-width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .gm-player-wrap {
        min-height: 250px;
    }

    .gm-player-icon-play {
        width: 74px;
        height: 74px;
    }

    .gm-player-icon-fullscreen {
        width: 42px;
        height: 42px;
    }

    .gm-player-loading {
        min-width: 220px;
        font-size: 0.95rem;
    }

    .gm-detail-chip-row {
        gap: 0.35rem;
    }

    .gm-review-star {
        font-size: 2.15rem;
    }

    .gm-info-carousel.is-enhanced .gm-carousel-prev {
        left: 8px;
    }

    .gm-info-carousel.is-enhanced .gm-carousel-next {
        right: 8px;
    }
}
.gm-info-carousel-viewport {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.gm-info-carousel-track {
    display: flex;
    gap: 0.8rem;
}

.gm-info-slide {
    min-width: calc(100% - 2px);
    scroll-snap-align: start;
}

.gm-info-carousel.is-enhanced .gm-info-carousel-viewport {
    overflow: hidden;
}

/* Admin backend redesign */
.gm-admin-body {
    --admin-bg: #eef3fa;
    --admin-surface: #ffffff;
    --admin-surface-soft: #f7f9fd;
    --admin-border: #d7e0ee;
    --admin-border-strong: #c3d0e3;
    --admin-text: #15263f;
    --admin-text-soft: #5f7394;
    --admin-primary: #2e67d5;
    --admin-primary-strong: #2457bb;
    --admin-primary-soft: #e9f1ff;
    --admin-accent: #2e67d5;
    --admin-accent-soft: #e9f1ff;
    --admin-danger: #cf3956;
    --admin-radius: 20px;
    --admin-radius-sm: 14px;
    --admin-shadow: 0 14px 32px rgba(16, 36, 82, 0.08);
    --admin-shadow-strong: 0 20px 42px rgba(16, 36, 82, 0.12);
    background: radial-gradient(circle at top right, #edf3ff, transparent 38%), var(--admin-bg);
    color: var(--admin-text);
}

.gm-admin-body .gm-admin-shell {
    display: grid;
    grid-template-columns: minmax(250px, 286px) minmax(0, 1fr);
    min-height: 100vh;
}

.gm-admin-body .gm-admin-sidebar {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: sticky;
    top: 0;
    padding: 1rem 1rem 1.1rem;
    background: linear-gradient(180deg, #fafdff 0%, #f3f7ff 100%);
    border-right: 1px solid var(--admin-border);
}

.gm-admin-body .gm-admin-sidebar-top {
    margin-bottom: 0.75rem;
}

.gm-admin-body .gm-admin-sidebar-topbar {
    display: flex;
    align-items: center;
    gap: 0.52rem;
}

.gm-admin-body .gm-admin-sidebar-topbar .gm-admin-brand {
    flex: 1 1 auto;
}

.gm-admin-body .gm-admin-sidebar-toggle {
    display: none;
    align-items: center;
    gap: 0.44rem;
    min-height: 42px;
    padding: 0.34rem 0.62rem;
    border-radius: 12px;
    border: 1px solid var(--admin-border-strong);
    background: #fff;
    color: #25466f;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

.gm-admin-body .gm-admin-sidebar-toggle:hover {
    background: #f3f8ff;
    border-color: #aec2e0;
}

.gm-admin-body .gm-admin-sidebar-toggle:focus-visible {
    outline: 3px solid rgba(46, 103, 213, 0.35);
    outline-offset: 2px;
}

.gm-admin-body .gm-admin-sidebar-toggle-icon {
    width: 12px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -4px 0 currentColor, 0 4px 0 currentColor;
}

.gm-admin-body .gm-admin-sidebar.is-open .gm-admin-sidebar-toggle-icon {
    width: 10px;
    height: 10px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    position: relative;
}

.gm-admin-body .gm-admin-sidebar.is-open .gm-admin-sidebar-toggle-icon::before,
.gm-admin-body .gm-admin-sidebar.is-open .gm-admin-sidebar-toggle-icon::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 10px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.gm-admin-body .gm-admin-sidebar.is-open .gm-admin-sidebar-toggle-icon::before {
    transform: rotate(45deg);
}

.gm-admin-body .gm-admin-sidebar.is-open .gm-admin-sidebar-toggle-icon::after {
    transform: rotate(-45deg);
}

.gm-admin-body .gm-admin-sidebar-collapse {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.gm-admin-body .gm-admin-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    width: 100%;
    min-height: 50px;
    padding: 0.5rem 0.6rem;
    border-radius: 14px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    text-decoration: none;
    box-shadow: 0 6px 14px rgba(24, 36, 60, 0.08);
}

.gm-admin-body .gm-admin-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #fff;
    background: linear-gradient(135deg, #2f6de0 0%, #2457bb 100%);
    box-shadow: 0 10px 20px rgba(38, 87, 191, 0.3);
}

.gm-admin-body .gm-admin-brand-mark svg {
    width: 17px;
    height: 17px;
    display: block;
    flex-shrink: 0;
}

.gm-admin-body .gm-admin-brand-copy {
    display: inline-grid;
    gap: 0.08rem;
    line-height: 1.12;
}

.gm-admin-body .gm-admin-brand-copy strong {
    color: #142239;
    font-size: 1rem;
}

.gm-admin-body .gm-admin-brand-copy small {
    color: #6f7f9c;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav {
    display: grid;
    gap: 0.88rem;
    margin-top: 0.92rem;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav-group {
    display: grid;
    gap: 0.33rem;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav-title {
    margin: 0 0 0.18rem;
    padding-left: 0.36rem;
    color: #6f83a4;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.56rem;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid transparent;
    color: #2b4263;
    font-weight: 650;
    text-decoration: none;
    padding: 0.42rem 0.55rem;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav a .gm-admin-nav-icon {
    width: 20px;
    height: 20px;
    border-radius: 0;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    color: #5673a3;
    background: transparent;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav a .gm-admin-nav-icon svg {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav a.active,
.gm-admin-body .gm-admin-sidebar .gm-admin-nav a:hover {
    color: #173255;
    background: var(--admin-primary-soft);
    border-color: #b8cbed;
    text-decoration: none;
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav a.active .gm-admin-nav-icon,
.gm-admin-body .gm-admin-sidebar .gm-admin-nav a:hover .gm-admin-nav-icon {
    border: 0;
    color: #1d4ea4;
    background: transparent;
}

.gm-admin-body .gm-admin-content {
    padding: 1.15rem 1.25rem;
}

.gm-admin-body .gm-admin-header {
    margin-bottom: 1rem;
    padding: 1rem 1.08rem;
    border-radius: var(--admin-radius);
    border: 1px solid var(--admin-border);
    background: linear-gradient(160deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: var(--admin-shadow);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.gm-admin-body .gm-admin-header-copy {
    display: grid;
    gap: 0.12rem;
}

.gm-admin-body .gm-admin-header-user {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.gm-admin-body .gm-admin-header-avatar {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    border: 1px solid #bccdea;
    background: #f8fbff;
    color: #2457bb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.gm-admin-body .gm-admin-header-avatar svg {
    width: 15px;
    height: 15px;
    display: block;
}

.gm-admin-body .gm-admin-header-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
}

.gm-admin-body .gm-admin-header-kicker {
    margin: 0;
    color: #7689a9;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.gm-admin-body .gm-admin-header h1 {
    margin: 0;
    font-size: clamp(1.55rem, 2.4vw, 1.95rem);
    line-height: 1.12;
    color: #1a2a43;
}

.gm-admin-body .gm-admin-header p {
    margin: 0;
    color: var(--admin-text-soft);
}

.gm-admin-body .gm-admin-main {
    display: grid;
    gap: 1rem;
}

.gm-admin-body .gm-alert {
    margin: 0 0 0.85rem;
    border-radius: 14px;
    border-width: 1px;
    box-shadow: 0 10px 24px rgba(16, 37, 82, 0.08);
}

.gm-admin-body .gm-admin-inline-alert {
    margin-bottom: 0.95rem;
}

.gm-admin-body .gm-admin-panel {
    border-radius: var(--admin-radius);
    border-color: var(--admin-border);
    box-shadow: var(--admin-shadow);
    background: var(--admin-surface);
}

.gm-admin-body .gm-admin-section-head-primary {
    margin-bottom: 0.92rem;
}

.gm-admin-body .gm-admin-media-page,
.gm-admin-body .gm-admin-editor-page {
    display: grid;
    gap: 1rem;
}

.gm-admin-body .gm-admin-media-hero-panel,
.gm-admin-body .gm-admin-editor-hero-panel {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    padding: 0;
}

.gm-admin-body .gm-admin-media-hero,
.gm-admin-body .gm-admin-editor-hero {
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: linear-gradient(140deg, #2f6de0 0%, #255abc 55%, #214da1 100%);
    color: #fff;
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    box-shadow: 0 14px 30px rgba(24, 68, 152, 0.24);
}

.gm-admin-body .gm-admin-media-hero-label,
.gm-admin-body .gm-admin-editor-hero-label {
    margin: 0 0 0.24rem;
    color: #d8e4ff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gm-admin-body .gm-admin-media-hero h1,
.gm-admin-body .gm-admin-editor-hero h1 {
    margin: 0;
    color: #fff;
}

.gm-admin-body .gm-admin-media-hero p,
.gm-admin-body .gm-admin-editor-hero p {
    margin: 0.4rem 0 0;
    color: #eef3ff;
}

.gm-admin-body .gm-admin-media-hero-chip,
.gm-admin-body .gm-admin-editor-hero-chip {
    min-width: 122px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.18);
    padding: 0.65rem 0.75rem;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.gm-admin-body .gm-admin-media-hero-chip span,
.gm-admin-body .gm-admin-editor-hero-chip span {
    display: block;
    font-size: 1.3rem;
    line-height: 1.1;
    font-weight: 800;
}

.gm-admin-body .gm-admin-media-hero-chip small,
.gm-admin-body .gm-admin-editor-hero-chip small {
    font-size: 0.75rem;
    color: #edf3ff;
}

.gm-admin-body .gm-admin-media-main-panel,
.gm-admin-body .gm-admin-editor-main-panel {
    padding: 1rem;
}

.gm-admin-body .gm-admin-editor-main-panel.is-readonly {
    border-color: #d5dfef;
    background: linear-gradient(168deg, #ffffff 0%, #f7faff 100%);
}

.gm-admin-body .gm-admin-media-panel-head,
.gm-admin-body .gm-admin-editor-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-editor-headline {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-editor-readonly-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid #c8d5ea;
    border-radius: 999px;
    background: #edf3ff;
    color: #335e9f;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.22rem 0.55rem;
}

.gm-admin-body .gm-admin-editor-readonly-inline {
    display: inline-flex;
    align-items: center;
    margin-top: 0.58rem;
    border: 1px solid rgba(222, 233, 255, 0.58);
    border-radius: 999px;
    background: rgba(236, 243, 255, 0.2);
    color: #f4f8ff;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.24rem 0.62rem;
}

.gm-admin-body .gm-admin-media-inline-alert,
.gm-admin-body .gm-admin-editor-inline-alert {
    margin-bottom: 0.85rem;
}

.gm-admin-body .gm-admin-media-submission-card {
    border: 1px solid #d6e1f3;
    border-left: 4px solid #9cb5df;
    border-radius: 16px;
    background: linear-gradient(155deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 22px rgba(27, 51, 95, 0.09);
    padding: 0.9rem 1rem;
    display: grid;
    gap: 0.82rem;
    overflow: hidden;
}

.gm-admin-body .gm-admin-media-submission-card.is-pending {
    border-left-color: #9cb5df;
}

.gm-admin-body .gm-admin-media-submission-card.is-review {
    border-left-color: #4b7dd4;
    background: linear-gradient(155deg, #ffffff 0%, #f2f7ff 100%);
}

.gm-admin-body .gm-admin-media-submission-card.is-revision {
    border-left-color: #d39f3a;
    background: linear-gradient(155deg, #ffffff 0%, #fff9ef 100%);
}

.gm-admin-body .gm-admin-media-submission-card.is-rejected {
    border-left-color: #d26666;
    background: linear-gradient(155deg, #ffffff 0%, #fff4f4 100%);
}

.gm-admin-body .gm-admin-media-submission-card.is-published {
    border-left-color: #4ca16a;
    background: linear-gradient(155deg, #ffffff 0%, #f2fff6 100%);
}

.gm-admin-body .gm-admin-media-submission-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.gm-admin-body .gm-admin-media-submission-card-copy {
    min-width: 0;
    display: grid;
    gap: 0.26rem;
}

.gm-admin-body .gm-admin-media-submission-card-kicker {
    margin: 0;
    font-size: 0.73rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6781a8;
    font-weight: 800;
}

.gm-admin-body .gm-admin-media-submission-card-copy h3 {
    margin: 0;
    font-size: 1rem;
    color: #1f3354;
}

.gm-admin-body .gm-admin-media-submission-card-note {
    margin: 0;
    color: #3d557d;
    font-size: 0.84rem;
    line-height: 1.45;
    font-weight: 600;
}

.gm-admin-body .gm-admin-media-submission-card-head .gm-status-badge {
    margin-top: 0.06rem;
}

.gm-admin-body .gm-admin-media-submission-grid {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem 0.78rem;
}

.gm-admin-body .gm-admin-media-submission-grid > div {
    border: 1px solid #dfe8f6;
    border-radius: 12px;
    background: #fff;
    padding: 0.55rem 0.62rem;
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.gm-admin-body .gm-admin-media-submission-grid > .is-wide {
    grid-column: 1 / -1;
}

.gm-admin-body .gm-admin-media-submission-grid dt {
    margin: 0;
    font-size: 0.71rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #6f84a8;
    font-weight: 800;
}

.gm-admin-body .gm-admin-media-submission-grid dd {
    margin: 0;
    color: #1f3659;
    font-weight: 700;
    line-height: 1.35;
    word-break: break-word;
}

.gm-admin-body .gm-admin-media-submission-grid dd strong {
    display: block;
    font-size: 0.91rem;
}

.gm-admin-body .gm-admin-media-submission-grid dd small {
    display: block;
    margin-top: 0.1rem;
    color: #5f7598;
    font-weight: 600;
    font-size: 0.79rem;
}

.gm-admin-body .gm-admin-media-submission-empty {
    color: #617896;
    font-weight: 600;
}

.gm-admin-body .gm-admin-media-submission-review-status {
    border-radius: 10px;
    border: 1px solid #cfddf2;
    background: #f4f8ff;
    padding: 0.46rem 0.55rem;
    font-weight: 700;
}

.gm-admin-body .gm-admin-media-submission-review-status.is-active {
    border-color: #a9c4ec;
    background: #eaf3ff;
    color: #244f8d;
}

.gm-admin-body .gm-admin-media-submission-review-status.is-expired {
    border-color: #edc0c0;
    background: #fff1f1;
    color: #984040;
}

.gm-admin-body .gm-admin-media-submission-review-status.is-idle {
    border-color: #d7e1f0;
    background: #f7f9fd;
    color: #587094;
}

@media (max-width: 860px) {
    .gm-admin-body .gm-admin-media-submission-grid {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-media-submission-grid > .is-wide {
        grid-column: auto;
    }

    .gm-admin-body .gm-admin-media-submission-card-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

.gm-admin-body .gm-admin-media-form-shell,
.gm-admin-body .gm-admin-editor-form-shell {
    border: 1px solid var(--admin-border);
    border-radius: 16px;
    background: var(--admin-surface-soft);
    padding: 1rem;
}

.gm-admin-body .gm-admin-media-form-shell h3,
.gm-admin-body .gm-admin-editor-form-shell h3 {
    margin-top: 1rem;
    margin-bottom: 0.48rem;
    color: #1e3557;
    font-size: 1rem;
}

.gm-admin-body .gm-admin-media-form-shell h3:first-of-type,
.gm-admin-body .gm-admin-editor-form-shell h3:first-of-type {
    margin-top: 0;
}

.gm-admin-body .gm-admin-section-head h2,
.gm-admin-body .gm-admin-section-head h3 {
    margin: 0;
    color: #1a2b45;
}

.gm-admin-body .gm-admin-stats {
    margin-bottom: 0;
}

.gm-admin-body .gm-admin-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.76rem;
}

.gm-admin-body .gm-admin-kpi-card {
    border: 1px solid var(--admin-border);
    border-radius: 18px;
    background: linear-gradient(165deg, #ffffff 0%, #fbfcff 100%);
    padding: 0.86rem;
    box-shadow: 0 8px 22px rgba(19, 33, 64, 0.08);
    position: relative;
    overflow: hidden;
}

.gm-admin-body .gm-admin-kpi-card::after {
    content: "";
    position: absolute;
    right: -34px;
    top: -34px;
    width: 96px;
    height: 96px;
    border-radius: 999px;
    background: radial-gradient(circle at center, rgba(45, 107, 234, 0.16) 0%, rgba(45, 107, 234, 0) 72%);
    pointer-events: none;
}

.gm-admin-body .gm-admin-kpi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.45rem;
}

.gm-admin-body .gm-admin-kpi-label {
    font-size: 0.77rem;
    color: #7284a4;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.gm-admin-body .gm-admin-kpi-icon {
    width: 20px;
    height: 20px;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f58c8;
    background: transparent;
    border: 0;
}

.gm-admin-body .gm-admin-kpi-icon svg {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.gm-admin-body .gm-admin-kpi-card p {
    margin: 0;
    font-size: clamp(1.55rem, 2vw, 1.82rem);
    line-height: 1;
    color: #15243c;
    font-weight: 800;
}

.gm-admin-body .gm-admin-kpi-card small {
    display: block;
    margin-top: 0.42rem;
    color: #71839f;
    font-size: 0.79rem;
    font-weight: 600;
}

.gm-admin-body .gm-admin-dashboard {
    display: grid;
    gap: 1rem;
}

.gm-admin-body .gm-admin-dashboard-grid {
    display: grid;
    gap: 0.95rem;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.9fr);
}

.gm-admin-body .gm-admin-dashboard-main,
.gm-admin-body .gm-admin-dashboard-side {
    display: grid;
    gap: 0.95rem;
    align-content: start;
}

.gm-admin-body .gm-admin-panel-queue,
.gm-admin-body .gm-admin-panel-audit,
.gm-admin-body .gm-admin-panel-highlight,
.gm-admin-body .gm-admin-panel-actions {
    padding: 1rem;
}

.gm-admin-body .gm-admin-queue-list {
    display: grid;
    gap: 0.68rem;
}

.gm-admin-body .gm-admin-queue-card {
    border: 1px solid var(--admin-border);
    border-radius: 15px;
    padding: 0.72rem;
    background: linear-gradient(165deg, #ffffff 0%, #f9fbff 100%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.72rem;
    align-items: center;
}

.gm-admin-body .gm-admin-queue-meta strong {
    display: block;
    color: #1d304e;
    line-height: 1.28;
}

.gm-admin-body .gm-admin-queue-meta p,
.gm-admin-body .gm-admin-queue-meta small {
    margin: 0.18rem 0 0;
    color: #6c7d99;
}

.gm-admin-body .gm-admin-queue-meta p {
    font-size: 0.86rem;
}

.gm-admin-body .gm-admin-queue-meta small {
    font-size: 0.77rem;
    font-weight: 600;
}

.gm-admin-body .gm-admin-queue-actions {
    display: grid;
    gap: 0.5rem;
    justify-items: end;
}

.gm-admin-body .gm-admin-empty-note {
    margin: 0;
    padding: 0.85rem 0.9rem;
    border: 1px dashed #cad4e4;
    border-radius: 14px;
    color: #6e7f9b;
    font-weight: 600;
    background: #fafcff;
}

.gm-admin-body .gm-admin-audit-timeline {
    display: grid;
    gap: 0.65rem;
}

.gm-admin-body .gm-admin-audit-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    border: 1px solid var(--admin-border);
    border-radius: 14px;
    padding: 0.55rem 0.62rem;
    background: #fafcff;
}

.gm-admin-body .gm-admin-audit-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    margin-top: 0.35rem;
    background: linear-gradient(135deg, #2e67d5 0%, #2457bb 100%);
    box-shadow: 0 0 0 4px #e8f0ff;
}

.gm-admin-body .gm-admin-audit-content strong {
    display: block;
    font-size: 0.8rem;
    color: #23395a;
    letter-spacing: 0.05em;
}

.gm-admin-body .gm-admin-audit-content p {
    margin: 0.14rem 0 0;
    color: #1d304e;
    font-weight: 650;
}

.gm-admin-body .gm-admin-audit-content small {
    color: #70829f;
    font-size: 0.76rem;
    font-weight: 600;
}

.gm-admin-body .gm-admin-side-lead {
    margin: 0 0 0.8rem;
    color: #5f7291;
    font-size: 0.86rem;
}

.gm-admin-body .gm-admin-moderation-chart {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
    margin-bottom: 0.8rem;
}

.gm-admin-body .gm-admin-moderation-donut {
    width: 116px;
    height: 116px;
    border-radius: 50%;
    background: var(--gm-admin-moderation-donut-bg, conic-gradient(#d8e1ef 0 100%));
    display: grid;
    place-items: center;
    box-shadow: inset 0 0 0 1px #cfdbec;
}

.gm-admin-body .gm-admin-moderation-donut-center {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #d4dfef;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 0.3rem;
}

.gm-admin-body .gm-admin-moderation-donut-center strong {
    display: block;
    color: #1f3658;
    font-size: 1.1rem;
    line-height: 1;
    font-weight: 800;
}

.gm-admin-body .gm-admin-moderation-donut-center small {
    display: block;
    margin-top: 0.15rem;
    color: #7285a1;
    font-size: 0.63rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.gm-admin-body .gm-admin-moderation-legend {
    display: grid;
    gap: 0.5rem;
}

.gm-admin-body .gm-admin-moderation-legend-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.44rem 0.54rem;
    border: 1px solid var(--admin-border);
    border-radius: 11px;
    background: #fbfdff;
}

.gm-admin-body .gm-admin-moderation-legend-item span {
    color: #667b99;
    font-size: 0.8rem;
    font-weight: 700;
}

.gm-admin-body .gm-admin-moderation-legend-item strong {
    color: #1f58c8;
    font-size: 0.86rem;
    font-weight: 800;
}

.gm-admin-body .gm-admin-moderation-list {
    display: grid;
    gap: 0.56rem;
}

.gm-admin-body .gm-admin-moderation-item {
    border: 1px solid var(--admin-border);
    border-radius: 12px;
    padding: 0.5rem 0.58rem;
    background: #fbfcff;
}

.gm-admin-body .gm-admin-moderation-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.28rem;
    color: #253c5e;
    font-size: 0.83rem;
    font-weight: 650;
}

.gm-admin-body .gm-admin-moderation-head strong {
    color: #1f58c8;
    font-size: 0.86rem;
}

.gm-admin-body .gm-admin-moderation-bar {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: #e8eef8;
    overflow: hidden;
}

.gm-admin-body .gm-admin-moderation-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2e67d5 0%, #4a85ff 45%, #2457bb 100%);
}

.gm-admin-body .gm-admin-quick-actions {
    display: grid;
    gap: 0.56rem;
}

.gm-admin-body .gm-admin-quick-actions .gm-btn {
    width: 100%;
}

.gm-admin-body .gm-admin-filter-shell {
    border-color: var(--admin-border);
    background: linear-gradient(170deg, #fafcff 0%, #f4f8ff 100%);
}

.gm-admin-body .gm-admin-filter-shell .gm-filter-head h3 {
    color: #1e3250;
    font-size: 1.01rem;
}

.gm-admin-body .gm-admin-filter-shell .gm-filter-field label {
    color: #60708b;
    font-weight: 700;
}

.gm-admin-body .gm-admin-filter-shell input,
.gm-admin-body .gm-admin-filter-shell select {
    border-color: var(--admin-border-strong);
    background: #fff;
}

.gm-admin-body .gm-admin-bulk-panel {
    border-color: var(--admin-border);
    border-radius: 16px;
    background: #f9fbff;
    box-shadow: 0 8px 20px rgba(16, 36, 82, 0.08);
}

.gm-table-sort-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.34rem;
    width: 100%;
    color: inherit;
    text-decoration: none;
    text-transform: inherit;
    letter-spacing: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.15;
}

.gm-table-sort-link:hover {
    text-decoration: none;
}

.gm-table-sort-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.9rem;
    flex: 0 0 0.9rem;
}

.gm-table-sort-link.is-inactive .gm-table-sort-indicator::before {
    content: '\2195';
    opacity: 0.44;
}

.gm-table-sort-link.is-asc .gm-table-sort-indicator::before {
    content: '\2191';
}

.gm-table-sort-link.is-desc .gm-table-sort-indicator::before {
    content: '\2193';
}

.gm-admin-body .gm-table-sort-link {
    color: #627492;
}

.gm-admin-body .gm-table-sort-link:hover,
.gm-admin-body .gm-table-sort-link.is-asc,
.gm-admin-body .gm-table-sort-link.is-desc {
    color: #1f58c8;
}

.gm-pengguna-body .gm-table-sort-link {
    color: #667c9d;
}

.gm-pengguna-body .gm-table-sort-link:hover,
.gm-pengguna-body .gm-table-sort-link.is-asc,
.gm-pengguna-body .gm-table-sort-link.is-desc {
    color: #2a5db9;
}

.gm-admin-body .gm-admin-table-shell {
    border-color: var(--admin-border);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #bcc8da #eef3fb;
}

.gm-admin-body .gm-admin-table-shell::-webkit-scrollbar {
    height: 10px;
}

.gm-admin-body .gm-admin-table-shell::-webkit-scrollbar-track {
    background: #eef3fb;
    border-radius: 999px;
}

.gm-admin-body .gm-admin-table-shell::-webkit-scrollbar-thumb {
    background: #bcc8da;
    border-radius: 999px;
}

.gm-admin-body .gm-admin-table-shell table {
    border-collapse: separate;
    border-spacing: 0;
}

.gm-admin-body .gm-admin-table-shell thead {
    background: #f6f9ff;
}

.gm-admin-body .gm-admin-table-shell th {
    color: #627492;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gm-admin-body .gm-admin-table-shell td {
    color: #203553;
    background: #fff;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell th {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell td a {
    color: #1f58c8;
    font-weight: 650;
}

.gm-admin-body .gm-admin-table-shell tbody tr:nth-child(even) td {
    background: #fcfdff;
}

.gm-admin-body .gm-admin-table-shell tbody tr:hover td {
    background: #f4f8ff;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table table {
    table-layout: fixed;
    width: 100%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table th:nth-child(1),
.gm-admin-body .gm-admin-table-shell.gm-admin-security-table td:nth-child(1) {
    width: 14%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table th:nth-child(2),
.gm-admin-body .gm-admin-table-shell.gm-admin-security-table td:nth-child(2) {
    width: 12%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table th:nth-child(3),
.gm-admin-body .gm-admin-table-shell.gm-admin-security-table td:nth-child(3) {
    width: 18%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table th:nth-child(4),
.gm-admin-body .gm-admin-table-shell.gm-admin-security-table td:nth-child(4) {
    width: 18%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table th:nth-child(5),
.gm-admin-body .gm-admin-table-shell.gm-admin-security-table td:nth-child(5) {
    width: 24%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-security-table th:nth-child(6),
.gm-admin-body .gm-admin-table-shell.gm-admin-security-table td:nth-child(6) {
    width: 14%;
}

.gm-admin-body .gm-security-inline-meta,
.gm-admin-body .gm-security-inline-reason {
    display: block;
    margin-top: 0.14rem;
    color: #6f82a0;
    font-size: 0.76rem;
    font-weight: 600;
}

.gm-admin-body .gm-security-severity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    border-radius: 999px;
    padding: 0.22rem 0.52rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gm-admin-body .gm-security-severity-critical {
    color: #fff;
    background: #b7344b;
}

.gm-admin-body .gm-security-severity-high {
    color: #fff;
    background: #cf6a1f;
}

.gm-admin-body .gm-security-severity-medium {
    color: #2a4f95;
    background: #dfebff;
    border: 1px solid #b4cbfa;
}

.gm-admin-body .gm-security-severity-low {
    color: #226d41;
    background: #ddf6e8;
    border: 1px solid #a9dfc3;
}

.gm-admin-body .gm-security-session-self {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid #bad0f5;
    background: #edf3ff;
    color: #2a58ae;
    padding: 0.22rem 0.52rem;
    font-size: 0.72rem;
    font-weight: 700;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table table {
    table-layout: fixed;
    width: 100%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td {
    padding: 0.5rem 0.42rem;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(1),
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(1) {
    width: 6%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(2),
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(2) {
    width: 20%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(3),
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(3) {
    width: 12%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(4),
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(4) {
    width: 20%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(5),
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(5) {
    width: 30%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(6),
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(6) {
    width: 14%;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-title {
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.24rem;
    min-width: 0;
}

.gm-admin-body .gm-admin-table-shell .gm-ownership-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 20px;
    padding: 0.03rem 0.45rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-admin-body .gm-admin-table-shell .gm-ownership-badge-own {
    background: #eaf7ed;
    border-color: #bfdfc8;
    color: #2e6943;
}

.gm-admin-body .gm-admin-table-shell .gm-ownership-badge-other-admin {
    background: #fff1e5;
    border-color: #f2d4b4;
    color: #8a4d1e;
}

.gm-admin-body .gm-admin-table-shell .gm-pin-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 20px;
    padding: 0.03rem 0.45rem;
    border-radius: 999px;
    border: 1px solid #f0d09a;
    background: #fff6e7;
    color: #9a6a11;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-origin-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 20px;
    padding: 0.03rem 0.45rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-origin-badge-submission {
    background: #eaf1ff;
    border-color: #c3d3f5;
    color: #2c4d88;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-origin-badge-internal {
    background: #f2f4f8;
    border-color: #d8dee8;
    color: #5a6b84;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-submitter-name {
    min-width: 0;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-submitter-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-submitter-value {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-update-lock {
    min-width: 0;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-updated-at {
    margin-top: 0.16rem;
    min-width: 0;
    font-size: 0.72rem;
    color: #617491;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-lock-session {
    min-width: 0;
    font-weight: 650;
    font-size: 0.82rem;
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-lock-owner {
    font-weight: 800;
    color: #1f58c8;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-lock-deadline {
    margin-top: 0.14rem;
    min-width: 0;
    font-size: 0.74rem;
    color: #0f4e82;
    font-weight: 800;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td {
    vertical-align: middle;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table td.gm-admin-media-actions-cell {
    vertical-align: middle;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.22rem;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid form {
    margin: 0;
    display: flex;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid .gm-admin-icon-btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    flex: 0 0 28px;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid form .gm-admin-icon-btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    flex: 0 0 28px;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-action-text {
    display: none;
}

@media (max-width: 1280px) {
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th,
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td {
        padding: 0.46rem 0.38rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th {
        font-size: 0.68rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(2),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(2) {
        width: 19%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(3),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(3) {
        width: 12%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(4),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(4) {
        width: 20%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(5),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(5) {
        width: 30%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(6),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(6) {
        width: 16%;
    }
}

@media (max-width: 1024px) {
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th,
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td {
        padding: 0.44rem 0.34rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(2),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(2) {
        width: 18%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(3),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(3) {
        width: 12%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(4),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(4) {
        width: 20%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(5),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(5) {
        width: 31%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table th:nth-child(6),
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table td:nth-child(6) {
        width: 16%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid {
        gap: 0.24rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-grid form .gm-admin-icon-btn {
        width: 26px;
        min-width: 26px;
        height: 26px;
        min-height: 26px;
        flex-basis: 26px;
    }
}

.gm-admin-body .gm-admin-media-review-layout {
    display: grid;
    grid-template-columns: minmax(0, 65%) minmax(0, 35%);
    grid-template-areas:
        "preview context"
        "decision profile";
    gap: 1rem;
    align-items: stretch;
}

.gm-admin-body .gm-admin-media-review-monitoring-label {
    display: inline-flex;
    align-items: center;
    margin-top: 0.58rem;
    border: 1px solid rgba(222, 233, 255, 0.58);
    border-radius: 999px;
    background: rgba(236, 243, 255, 0.2);
    color: #f4f8ff;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.24rem 0.62rem;
}

.gm-admin-body .gm-admin-media-review-layout > .gm-admin-media-review-panel {
    height: 100%;
}

.gm-admin-body .gm-admin-media-review-panel {
    border: 1px solid #d5dfef;
    border-radius: 16px;
    background: #fff;
    padding: 0.95rem;
    box-shadow: 0 8px 20px rgba(19, 46, 106, 0.08);
}

.gm-admin-body .gm-admin-report-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.gm-admin-body .gm-admin-report-detail-card {
    height: 100%;
}

.gm-admin-body .gm-admin-report-detail-card-full {
    grid-column: 1 / -1;
}

.gm-admin-body .gm-admin-report-media-edit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.gm-admin-body .gm-admin-report-media-edit-layout .gm-admin-media-review-panel-preview {
    /* Reset named grid-area from Ruang Kurasi layout to avoid implicit column placement here. */
    grid-area: auto;
}

.gm-admin-body .gm-admin-report-media-edit-summary {
    position: static;
    top: auto;
}

.gm-admin-body .gm-admin-report-media-edit-summary h3 {
    margin: 0;
}

.gm-admin-body .gm-admin-report-media-edit-summary .gm-admin-media-review-info-table {
    margin-top: 0.5rem;
}

.gm-admin-body .gm-admin-report-media-edit-form {
    margin: 0;
}

.gm-admin-body .gm-admin-report-media-edit-form .gm-admin-report-media-edit-form-section {
    display: grid;
    gap: 0.72rem;
    border: 1px solid #d5deec;
    border-radius: 14px;
    background: #fff;
    padding: 0.78rem;
}

.gm-admin-body .gm-admin-report-media-edit-form .gm-admin-report-media-edit-form-section + .gm-admin-report-media-edit-form-section {
    margin-top: 0.88rem;
}

.gm-admin-body .gm-admin-report-media-edit-form .gm-admin-report-media-edit-form-section h3 {
    margin: 0;
}

.gm-admin-body .gm-admin-report-media-edit-form [data-source-fields] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-admin-body .gm-admin-media-review-panel-preview {
    grid-area: preview;
}

.gm-admin-body .gm-admin-media-review-panel-decision {
    grid-area: decision;
}

.gm-admin-body .gm-admin-media-review-panel-context {
    grid-area: context;
}

.gm-admin-body .gm-admin-media-review-profile-card {
    grid-area: profile;
}

.gm-admin-body .gm-admin-media-review-panel h3 {
    margin: 0;
    font-size: 1.05rem;
}

.gm-admin-body .gm-admin-media-review-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.68rem;
}

.gm-admin-body .gm-admin-media-review-preview-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-media-review-fullscreen-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-radius: 10px;
}

.gm-admin-body .gm-admin-media-review-fullscreen-btn svg {
    width: 18px;
    height: 18px;
}

.gm-admin-body .gm-admin-media-review-fullscreen-btn.is-active {
    border-color: #9db8ee;
    background: #eaf1ff;
    color: #1a4ab2;
}

.gm-admin-body .gm-admin-media-review-source-btn {
    min-height: 36px;
    padding: 0.34rem 0.64rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    font-size: 0.84rem;
    line-height: 1.2;
}

.gm-admin-body .gm-admin-media-review-source-btn svg {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.gm-admin-body .gm-admin-media-review-source-btn.is-disabled,
.gm-admin-body .gm-admin-media-review-source-btn:disabled {
    border-color: #d7dfec;
    background: #f5f7fc;
    color: #7c889d;
    box-shadow: none;
    cursor: not-allowed;
}

.gm-admin-body .gm-admin-media-review-preview-wrap {
    width: 100%;
    height: clamp(360px, 52vh, 620px);
    border: 1px solid #d2dced;
    border-radius: 12px;
    overflow: hidden;
    background: #f7faff;
    position: relative;
}

.gm-admin-body .gm-admin-media-review-preview-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.gm-admin-body .gm-admin-media-review-preview-wrap.is-unavailable {
    display: grid;
    place-items: center;
    padding: 0.78rem;
    background: linear-gradient(160deg, #f5f8ff, #eef3ff);
}

.gm-admin-body .gm-admin-media-review-preview-empty {
    margin: 0;
    width: min(100%, 560px);
}

.gm-admin-body .gm-admin-media-review-preview-wrap:fullscreen,
.gm-admin-body .gm-admin-media-review-preview-wrap:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border: 0;
    border-radius: 0;
    padding: 0.95rem;
    background: #0b152a;
}

.gm-admin-body .gm-admin-media-review-preview-wrap:fullscreen iframe,
.gm-admin-body .gm-admin-media-review-preview-wrap:-webkit-full-screen iframe {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    border: 1px solid rgba(222, 234, 255, 0.18);
}

.gm-admin-body .gm-admin-media-review-preview-wrap:fullscreen .gm-admin-media-review-preview-empty,
.gm-admin-body .gm-admin-media-review-preview-wrap:-webkit-full-screen .gm-admin-media-review-preview-empty {
    max-width: min(92vw, 760px);
}

.gm-admin-body .gm-admin-media-main-panel .gm-admin-media-form-preview {
    margin-bottom: 0.9rem;
}

.gm-admin-body .gm-admin-media-review-meta {
    margin: 0;
    display: grid;
    gap: 0.58rem;
}

.gm-admin-body .gm-admin-media-review-meta div {
    display: grid;
    gap: 0.14rem;
    min-width: 0;
}

.gm-admin-body .gm-admin-media-review-meta dt {
    margin: 0;
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #637596;
}

.gm-admin-body .gm-admin-media-review-meta dd {
    margin: 0;
    color: #203553;
    font-weight: 600;
    min-width: 0;
    word-break: break-word;
}

.gm-admin-body .gm-admin-media-review-info-table {
    width: 100%;
    margin-top: 0.62rem;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #d6dfee;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.gm-admin-body .gm-admin-media-review-info-table th,
.gm-admin-body .gm-admin-media-review-info-table td {
    padding: 0.52rem 0.6rem;
    border-bottom: 1px solid #e7edf7;
    vertical-align: top;
}

.gm-admin-body .gm-admin-media-review-info-table tr:last-child th,
.gm-admin-body .gm-admin-media-review-info-table tr:last-child td {
    border-bottom: 0;
}

.gm-admin-body .gm-admin-media-review-info-table th {
    width: 35%;
    background: #f8fbff;
    color: #5f7191;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}

.gm-admin-body .gm-admin-media-review-info-table td {
    color: #203553;
    font-weight: 600;
    line-height: 1.4;
    word-break: break-word;
}

.gm-admin-body .gm-admin-media-review-profile-identity {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.56rem;
    align-items: center;
}

.gm-admin-body .gm-admin-media-review-profile-card {
    display: grid;
    gap: 0.72rem;
}

.gm-admin-body .gm-admin-media-review-profile-head {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 0.62rem;
    align-items: center;
}

.gm-admin-body .gm-admin-media-review-profile-avatar {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    border: 1px solid #cfdaee;
    background: #f5f8ff;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.gm-admin-body .gm-admin-media-review-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gm-admin-body .gm-admin-media-review-profile-avatar svg {
    width: 30px;
    height: 30px;
    color: #6f83a5;
}

.gm-admin-body .gm-admin-media-review-profile-head-copy {
    min-width: 0;
    display: grid;
    gap: 0.14rem;
}

.gm-admin-body .gm-admin-media-review-profile-head-copy strong {
    color: #203553;
    font-size: 0.96rem;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-admin-body .gm-admin-media-review-profile-head-copy small {
    color: #60708b;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-admin-body .gm-admin-media-review-profile-meta {
    margin: 0;
    display: grid;
    gap: 0.54rem;
}

.gm-admin-body .gm-admin-media-review-profile-meta div {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 0.48rem;
    align-items: start;
}

.gm-admin-body .gm-admin-media-review-profile-meta dt {
    margin: 0;
    color: #5d6f8e;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.gm-admin-body .gm-admin-media-review-profile-meta dd {
    margin: 0;
    color: #203553;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gm-admin-body .gm-admin-media-review-panel-decision {
    position: static;
    top: auto;
    align-self: stretch;
}

.gm-admin-body .gm-admin-media-review-decision-composer {
    display: grid;
    gap: 0.76rem;
    margin-top: 0.58rem;
}

.gm-admin-body .gm-admin-media-review-shared-notes {
    display: grid;
    gap: 0.42rem;
    padding: 0.64rem;
    border: 1px solid #d5deec;
    border-radius: 12px;
    background: linear-gradient(165deg, #f8fbff, #f3f7ff);
}

.gm-admin-body .gm-admin-media-review-shared-notes label {
    color: #5f6f8b;
    font-size: 0.84rem;
    font-weight: 700;
}

.gm-admin-body .gm-admin-media-review-shared-notes textarea {
    min-height: 96px;
    border-radius: 12px;
}

.gm-admin-body .gm-admin-media-review-shared-notes textarea[readonly],
.gm-admin-body .gm-admin-media-review-shared-notes textarea.is-readonly {
    background: #f4f7fd;
    border-color: #d2dcec;
    color: #354864;
    cursor: default;
    opacity: 1;
}

.gm-admin-body .gm-admin-media-review-shared-notes small {
    color: #5f7292;
    font-size: 0.78rem;
    font-weight: 600;
}

.gm-admin-body .gm-admin-media-review-notes-error {
    margin: 0;
    color: #b32d4c;
    font-size: 0.78rem;
    font-weight: 700;
}

.gm-admin-body .gm-admin-media-review-decision-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.52rem;
}

.gm-admin-body .gm-admin-media-review-decision-card {
    border: 1px solid #d5deec;
    border-radius: 12px;
    background: #fff;
    padding: 0.66rem;
    display: grid;
    gap: 0.44rem;
}

.gm-admin-body .gm-admin-media-review-decision-card h4 {
    margin: 0;
    color: #203553;
    font-size: 0.96rem;
}

.gm-admin-body .gm-admin-media-review-decision-card p {
    margin: 0;
    color: #60708b;
    font-size: 0.8rem;
    line-height: 1.4;
    min-height: 0;
}

.gm-admin-body .gm-admin-media-review-decision-card .gm-btn {
    width: 100%;
    justify-content: center;
    min-height: 40px;
}

.gm-admin-body .gm-admin-media-review-decision-card.is-readonly {
    cursor: default;
}

.gm-admin-body .gm-admin-media-review-decision-card .gm-btn:disabled {
    background: #eef3fb;
    border-color: #d4deed;
    color: #637790;
    opacity: 1;
    cursor: not-allowed;
}

.gm-admin-body .gm-admin-media-review-decision-card.is-revision {
    border-color: #e4d3ad;
    background: linear-gradient(165deg, #fffaf1, #fffdf8);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-reject {
    border-color: #f0c3d0;
    background: linear-gradient(165deg, #fff4f7, #fff9fb);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-approve {
    border-color: #c9d8f4;
    background: linear-gradient(165deg, #f3f7ff, #f8fbff);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-selected {
    border-width: 2px;
    box-shadow: 0 0 0 1px rgba(31, 53, 94, 0.04), 0 10px 18px rgba(29, 47, 79, 0.09);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-revision.is-selected {
    border-color: #e0a34f;
    background: linear-gradient(165deg, #fff0dc, #fff9f2);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-reject.is-selected {
    border-color: #d7647f;
    background: linear-gradient(165deg, #ffe8ee, #fff6f8);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-approve.is-selected {
    border-color: #4f79cb;
    background: linear-gradient(165deg, #e9f0ff, #f5f8ff);
}

.gm-admin-body .gm-admin-media-review-decision-card.is-revision.is-selected .gm-btn.is-selected-action:disabled {
    background: #f0bb70;
    border-color: #d79746;
    color: #5e3b00;
}

.gm-admin-body .gm-admin-media-review-decision-card.is-reject.is-selected .gm-btn.is-selected-action:disabled {
    background: #d65d77;
    border-color: #c24c65;
    color: #fff;
}

.gm-admin-body .gm-admin-media-review-decision-card.is-approve.is-selected .gm-btn.is-selected-action:disabled {
    background: #2f5fcb;
    border-color: #264ea7;
    color: #fff;
}

@media (max-width: 1200px) {
    .gm-admin-body .gm-admin-media-review-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "preview"
            "context"
            "decision"
            "profile";
    }

    .gm-admin-body .gm-admin-media-review-panel {
        padding: 0.88rem;
    }

    .gm-admin-body .gm-admin-media-review-preview-head {
        align-items: flex-start;
    }

    .gm-admin-body .gm-admin-media-review-panel-decision {
        position: static;
        top: auto;
    }

    .gm-admin-body .gm-admin-media-review-profile-meta div {
        grid-template-columns: 100px minmax(0, 1fr);
    }

    .gm-admin-body .gm-admin-media-review-preview-wrap {
        height: clamp(320px, 48vh, 520px);
    }

    .gm-admin-body .gm-admin-report-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .gm-admin-body .gm-admin-report-detail-card-full {
        grid-column: auto;
    }

    .gm-admin-body .gm-admin-report-media-edit-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .gm-admin-body .gm-admin-media-review-info-table th,
    .gm-admin-body .gm-admin-media-review-info-table td {
        display: block;
        width: 100%;
    }

    .gm-admin-body .gm-admin-media-review-info-table th {
        border-bottom: 0;
        padding-bottom: 0.18rem;
        background: #fff;
    }

    .gm-admin-body .gm-admin-media-review-info-table td {
        padding-top: 0;
        padding-bottom: 0.48rem;
        line-height: 1.42;
    }

    .gm-admin-body .gm-admin-media-review-info-table tr:last-child td {
        padding-bottom: 0.6rem;
    }

    .gm-pengguna-body .gm-about-media-table th,
    .gm-pengguna-body .gm-about-media-table td {
        display: block;
        width: 100%;
    }

    .gm-pengguna-body .gm-about-media-table th {
        width: 100%;
        border-bottom: 0;
        padding-bottom: 0.16rem;
        background: #fff;
    }

    .gm-pengguna-body .gm-about-media-table td {
        padding-top: 0;
        line-height: 1.42;
    }

    .gm-admin-body .gm-admin-media-review-profile-meta div {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.16rem;
    }

    .gm-admin-body .gm-admin-media-review-profile-meta dt {
        font-size: 0.72rem;
    }

    .gm-admin-body .gm-admin-media-review-decision-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .gm-admin-body .gm-admin-media-review-decision-card p {
        min-height: 0;
    }

    .gm-admin-body .gm-admin-report-media-edit-form [data-source-fields] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.gm-admin-body .gm-admin-form-shell:not(.gm-admin-media-form-shell):not(.gm-admin-editor-form-shell):not(.gm-admin-profile-form) {
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.gm-admin-body .gm-admin-form-shell label {
    color: #60708b;
    font-weight: 700;
}

.gm-admin-body .gm-admin-form-shell input,
.gm-admin-body .gm-admin-form-shell select,
.gm-admin-body .gm-admin-form-shell textarea {
    border-color: var(--admin-border-strong);
    border-radius: 12px;
    background: #fff;
}

.gm-admin-body .gm-admin-form-shell textarea {
    min-height: 110px;
}

.gm-admin-body .gm-admin-form-shell input[type="file"] {
    padding: 0.5rem 0.55rem;
}

.gm-admin-body .gm-admin-form-shell .gm-check-row {
    border-color: var(--admin-border);
    background: #fafcff;
}

.gm-admin-body .gm-admin-profile-page .gm-admin-section-head p {
    margin: 0;
    color: #667b99;
    font-size: 0.9rem;
}

.gm-admin-body .gm-admin-profile-form {
    border: 1px solid var(--admin-border);
    border-radius: 16px;
    background: var(--admin-surface-soft);
    padding: 1rem;
}

.gm-admin-body .gm-admin-profile-form h3 {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    color: #1e3557;
    font-size: 1rem;
}

.gm-admin-body .gm-admin-profile-form h3:first-of-type {
    margin-top: 0;
}

.gm-admin-body .gm-admin-profile-form .gm-form-hint-muted {
    margin-top: 0.45rem;
}

.gm-admin-body .gm-admin-avatar-field {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: flex-start;
}

.gm-admin-body .gm-admin-avatar-preview {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    border: 1px solid var(--admin-border);
    background: #f7faff;
    color: #2457bb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
    overflow: hidden;
}

.gm-admin-body .gm-admin-avatar-preview svg {
    width: 26px;
    height: 26px;
    display: block;
}

.gm-admin-body .gm-admin-avatar-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
}

.gm-admin-body .gm-admin-avatar-controls {
    display: grid;
    gap: 0.5rem;
}

.gm-admin-body .gm-form-actions.gm-admin-form-actions {
    position: static;
    bottom: auto;
    z-index: auto;
    padding-top: 0;
    margin-top: 1rem;
    background: transparent;
}

.gm-admin-body .gm-admin-moderation-panel {
    padding: 1rem;
}

.gm-admin-body .gm-admin-moderation-panel-spaced {
    margin-top: 1rem;
}

.gm-admin-body .gm-admin-moderation-panel .gm-admin-media-submission-card {
    margin: 0.2rem 0 0.95rem;
}

@media (max-width: 980px) {
    .gm-admin-body .gm-admin-media-hero,
    .gm-admin-body .gm-admin-editor-hero {
        grid-template-columns: 1fr;
    }
}

.gm-admin-body .gm-admin-btn {
    min-height: 42px;
    border-radius: 12px;
    font-size: 0.87rem;
}

.gm-admin-body .gm-admin-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--admin-primary) 0%, var(--admin-primary-strong) 100%);
    border-color: #204fa9;
    box-shadow: 0 10px 20px rgba(36, 87, 187, 0.25);
}

.gm-admin-body .gm-admin-btn-primary:hover {
    color: #fff;
    background: linear-gradient(135deg, #2a60c8 0%, #1f4ea9 100%);
    border-color: #1c4698;
}

.gm-admin-body .gm-admin-btn-secondary {
    color: #29405f;
    background: #fff;
    border-color: var(--admin-border-strong);
}

.gm-admin-body .gm-admin-btn-secondary:hover {
    color: #1d314d;
    background: #f6f9ff;
    border-color: #b8c6dd;
}

.gm-admin-body .gm-admin-btn-soft-warning {
    color: #72570b;
    background: #fff4cf;
    border-color: #e9d08a;
}

.gm-admin-body .gm-admin-btn-soft-warning:hover {
    color: #5f4708;
    background: #ffefbf;
    border-color: #e2c26e;
}

.gm-admin-body .gm-admin-btn-danger {
    color: #fff;
    background: linear-gradient(135deg, #d94762 0%, #c8324f 100%);
    border-color: #b82d47;
}

.gm-admin-body .gm-admin-btn-danger:hover {
    color: #fff;
    background: linear-gradient(135deg, #c53a55 0%, #b22c45 100%);
    border-color: #a5273f;
}

.gm-admin-body .gm-btn-admin-bulk-run {
    background: linear-gradient(135deg, #2e67d5 0%, #2457bb 100%);
    border-color: #204fa9;
    color: #fff;
}

.gm-admin-body .gm-btn-admin-bulk-run:hover {
    background: linear-gradient(135deg, #2a60c8 0%, #1f4ea9 100%);
    border-color: #1c4698;
    color: #fff;
}

.gm-admin-body .gm-admin-icon-btn {
    border-radius: 11px;
}

.gm-admin-body .gm-admin-icon-btn.is-primary {
    background: linear-gradient(135deg, #2e67d5 0%, #2457bb 100%);
    border-color: #204fa9;
}

.gm-admin-body .gm-admin-icon-btn.is-primary:hover {
    background: linear-gradient(135deg, #2a60c8 0%, #1f4ea9 100%);
    border-color: #1c4698;
}

.gm-admin-body .gm-admin-icon-btn.is-secondary {
    background: #fff;
    border-color: #cad4e3;
    color: #2c4464;
}

.gm-admin-body .gm-admin-icon-btn.is-secondary:hover {
    background: #f7f9ff;
    border-color: #b5c4d9;
    color: #1f3453;
}

.gm-admin-body .gm-admin-pagination {
    margin-top: 1.05rem;
}

.gm-admin-body .gm-admin-pagination-bar {
    margin-top: 1.05rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.gm-admin-body .gm-admin-pagination-bar .gm-admin-pagination {
    margin-top: 0;
}

.gm-admin-body .gm-admin-pagination-bar .gm-admin-per-page {
    margin-left: auto;
}

.gm-admin-body .gm-admin-pagination .gm-page-btn {
    border-color: #9bb0d1;
    background: #ffffff;
    color: #1f3453;
}

.gm-admin-body .gm-admin-pagination .gm-page-btn:hover {
    border-color: #6f90c3;
    background: #edf3ff;
    color: #143c8f;
}

.gm-admin-body .gm-admin-pagination .gm-page-btn.is-active {
    border-color: #1f58c8;
    background: #1f58c8;
    color: #ffffff;
}

.gm-admin-body .gm-admin-pagination .gm-page-btn.is-disabled {
    opacity: 1;
    border-color: #c5d1e6;
    background: #f2f5fb;
    color: #95a5bf;
}

@media (max-width: 1240px) {
    .gm-admin-body .gm-admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-dashboard-side {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-moderation-chart {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .gm-admin-body .gm-admin-moderation-legend {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .gm-admin-body .gm-admin-shell {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-sidebar {
        position: static;
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--admin-border);
        padding: 0.85rem;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav-group {
        border: 1px solid var(--admin-border);
        border-radius: 14px;
        padding: 0.45rem;
        background: #fff;
    }

}

@media (max-width: 920px) {
    .gm-admin-body .gm-admin-header {
        align-items: stretch;
        flex-direction: column;
    }

    .gm-admin-body .gm-admin-header-actions {
        width: 100%;
    }

    .gm-admin-body .gm-admin-header-actions .gm-admin-btn,
    .gm-admin-body .gm-admin-header-actions form {
        flex: 1 1 100%;
        width: 100%;
    }

    .gm-admin-body .gm-admin-header-actions .gm-admin-btn {
        justify-content: center;
    }

    .gm-admin-body .gm-admin-dashboard-side {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {
    .gm-admin-body .gm-admin-sidebar {
        order: 1;
        position: sticky;
        top: 0;
        z-index: 45;
        border-top: 0;
        border-bottom: 1px solid var(--admin-border);
        background: linear-gradient(180deg, #fafdff 0%, #f3f7ff 100%);
        box-shadow: 0 10px 22px rgba(19, 40, 83, 0.12);
        padding: 0.62rem;
    }

    .gm-admin-body .gm-admin-content {
        order: 2;
        padding: 0.88rem;
    }

    .gm-admin-body .gm-admin-sidebar.is-collapsible .gm-admin-sidebar-toggle {
        display: inline-flex;
    }

    .gm-admin-body .gm-admin-sidebar.is-collapsible:not(.is-open) .gm-admin-sidebar-collapse {
        display: none;
    }

    .gm-admin-body .gm-admin-sidebar.is-collapsible.is-open .gm-admin-sidebar-collapse {
        display: flex;
        margin-top: 0.5rem;
        gap: 0.7rem;
    }

    .gm-admin-body .gm-admin-sidebar-top {
        margin-bottom: 0.5rem;
    }

    .gm-admin-body .gm-admin-sidebar-topbar {
        gap: 0.5rem;
        min-height: 44px;
    }

    .gm-admin-body .gm-admin-brand {
        min-height: 48px;
        padding: 0.46rem 0.62rem;
        border-radius: 13px;
    }

    .gm-admin-body .gm-admin-sidebar-toggle {
        min-height: 40px;
        padding: 0.32rem 0.58rem;
        border-radius: 12px;
    }

    .gm-admin-body .gm-admin-avatar-field {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav {
        margin-top: 0.52rem;
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav-group {
        display: contents;
        border: 0;
        padding: 0;
        background: transparent;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav-title {
        display: none;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav a {
        min-height: 38px;
        padding: 0.34rem 0.46rem;
        border-radius: 11px;
    }

    .gm-admin-body .gm-admin-brand-copy small {
        display: none;
    }

    .gm-admin-body .gm-admin-header {
        margin-bottom: 0.72rem;
        padding: 0.78rem 0.84rem;
        border-radius: 16px;
    }

    .gm-admin-body .gm-admin-header h1 {
        font-size: clamp(1.32rem, 5.2vw, 1.58rem);
        line-height: 1.14;
    }

    .gm-admin-body .gm-admin-header-kicker {
        font-size: 0.68rem;
        letter-spacing: 0.07em;
    }

    .gm-admin-body .gm-admin-header-user {
        gap: 0.4rem;
    }

    .gm-admin-body .gm-admin-header-avatar {
        width: 26px;
        height: 26px;
        border-radius: 9px;
    }

    .gm-admin-body .gm-admin-header-avatar svg {
        width: 14px;
        height: 14px;
    }

    .gm-admin-body .gm-admin-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-admin-body .gm-admin-kpi-card {
        padding: 0.78rem;
    }

    .gm-admin-body .gm-admin-queue-card {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-queue-actions {
        justify-items: stretch;
    }

    .gm-admin-body .gm-admin-queue-actions .gm-btn {
        width: 100%;
    }

    .gm-admin-body .gm-admin-panel-queue,
    .gm-admin-body .gm-admin-panel-audit,
    .gm-admin-body .gm-admin-panel-highlight,
    .gm-admin-body .gm-admin-panel-actions {
        padding: 0.82rem;
    }

    .gm-admin-body .gm-admin-moderation-donut {
        width: 104px;
        height: 104px;
    }

    .gm-admin-body .gm-admin-moderation-donut-center {
        width: 68px;
        height: 68px;
    }

    .gm-admin-body .gm-mobile-card-table,
    .gm-pengguna-body .gm-mobile-card-table {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .gm-admin-body .gm-mobile-card-table table,
    .gm-admin-body .gm-mobile-card-table tbody,
    .gm-admin-body .gm-mobile-card-table tr,
    .gm-admin-body .gm-mobile-card-table td,
    .gm-pengguna-body .gm-mobile-card-table table,
    .gm-pengguna-body .gm-mobile-card-table tbody,
    .gm-pengguna-body .gm-mobile-card-table tr,
    .gm-pengguna-body .gm-mobile-card-table td {
        display: block;
        width: 100%;
    }

    .gm-admin-body .gm-mobile-card-table thead,
    .gm-pengguna-body .gm-mobile-card-table thead {
        display: none;
    }

    .gm-admin-body .gm-mobile-card-table tbody,
    .gm-pengguna-body .gm-mobile-card-table tbody {
        display: grid;
        gap: 0.72rem;
    }

    .gm-admin-body .gm-mobile-card-table tbody tr,
    .gm-pengguna-body .gm-mobile-card-table tbody tr {
        position: relative;
        border: 1px solid #ccdaef;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 18px rgba(18, 41, 88, 0.08);
        padding: 0.86rem 0.78rem;
        overflow: hidden;
        margin-bottom: 0;
    }

    .gm-admin-body .gm-mobile-card-table td,
    .gm-pengguna-body .gm-mobile-card-table td {
        border: 0;
        padding: 0;
        background: transparent;
        margin-top: 0.44rem;
        width: 100% !important;
        max-width: 100%;
    }

    .gm-admin-body .gm-mobile-card-table td:nth-child(n),
    .gm-pengguna-body .gm-mobile-card-table td:nth-child(n) {
        width: 100% !important;
        max-width: 100%;
    }

    .gm-admin-body .gm-mobile-card-table td:first-child,
    .gm-pengguna-body .gm-mobile-card-table td:first-child {
        margin-top: 0;
    }

    .gm-admin-body .gm-mobile-card-table td[data-label]::before,
    .gm-pengguna-body .gm-mobile-card-table td[data-label]::before {
        content: attr(data-label);
        color: #607599;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        line-height: 1.15;
        display: block;
        margin-bottom: 0.18rem;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions[data-label]::before,
    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-select[data-label]::before,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions[data-label]::before,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-select[data-label]::before {
        display: none;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-title,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-title {
        margin-top: 0;
        padding-right: 0;
    }

    .gm-admin-body .gm-mobile-card-table tbody tr.gm-mobile-has-select td.gm-mobile-card-title,
    .gm-pengguna-body .gm-mobile-card-table tbody tr.gm-mobile-has-select td.gm-mobile-card-title {
        padding-right: 2.7rem;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-title strong,
    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-title span,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-title strong,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-title span {
        display: block;
        line-height: 1.3;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-select,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-select {
        position: absolute;
        top: 0.62rem;
        right: 0.62rem;
        margin: 0;
        z-index: 2;
        width: auto !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .gm-admin-body .gm-mobile-card-table .gm-mobile-card-select-anchor,
    .gm-pengguna-body .gm-mobile-card-table .gm-mobile-card-select-anchor {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.34rem;
        width: auto;
        min-height: 31px;
        padding: 0.2rem 0.48rem;
        border-radius: 999px;
        border: 1px solid #d2def1;
        background: #f7faff;
    }

    .gm-admin-body .gm-mobile-card-table .gm-mobile-card-select-anchor input,
    .gm-pengguna-body .gm-mobile-card-table .gm-mobile-card-select-anchor input {
        width: 16px;
        height: 16px;
        margin: 0;
    }

    .gm-admin-body .gm-mobile-card-table .gm-mobile-card-select-label,
    .gm-pengguna-body .gm-mobile-card-table .gm-mobile-card-select-label {
        display: inline;
        font-size: 0.67rem;
        font-weight: 700;
        line-height: 1;
        color: #55719a;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions {
        margin-top: 0.58rem;
        padding-top: 0.58rem;
        border-top: 1px dashed #d4deef;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.44rem;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions > :only-child,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions > :only-child {
        grid-column: 1 / -1;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions > a,
    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions > form,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions > a,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions > form {
        width: 100%;
        min-width: 0;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-btn,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-btn {
        width: 100%;
        min-height: 40px;
        justify-content: center;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-admin-icon-btn {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-admin-media-actions-grid,
    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-admin-table-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.44rem;
        width: 100%;
        overflow: visible;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-admin-media-actions-grid > :only-child,
    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions .gm-admin-table-actions > :only-child {
        grid-column: 1 / -1;
    }

    .gm-admin-body .gm-mobile-card-table tr.gm-mobile-card-empty-row,
    .gm-pengguna-body .gm-mobile-card-table tr.gm-mobile-card-empty-row {
        padding: 0.6rem 0.76rem;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-empty-cell,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-empty-cell {
        margin-top: 0;
        color: #536b8f;
        font-weight: 600;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
        margin-top: 0.35rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table.gm-mobile-card-table td.gm-admin-media-select-cell[data-label]::before,
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table.gm-mobile-card-table td.gm-mobile-card-select[data-label]::before {
        display: none;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table.gm-mobile-card-table .gm-admin-media-title-block {
        padding-right: 0;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-title {
        font-size: 1.03rem;
        line-height: 1.32;
        font-weight: 800;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-status-block {
        display: inline-flex;
        align-items: center;
        min-height: 1.5rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-submitter-block,
    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-review-block {
        min-width: 0;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-submitter-wrap {
        gap: 0.28rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-lock-session {
        line-height: 1.3;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-cell-updated-at {
        margin-top: 0.18rem;
    }

    .gm-admin-body .gm-admin-media-actions-primary,
    .gm-admin-body .gm-admin-media-actions-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.44rem;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        padding-bottom: 0.08rem;
    }

    .gm-admin-body .gm-admin-media-actions-primary > a,
    .gm-admin-body .gm-admin-media-actions-primary > form,
    .gm-admin-body .gm-admin-media-actions-row > a,
    .gm-admin-body .gm-admin-media-actions-row > form {
        flex: 0 0 auto;
        width: auto;
        margin: 0;
    }

    .gm-admin-body .gm-admin-media-actions-primary .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-media-actions-primary form .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-media-actions-row .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-media-actions-row form .gm-admin-icon-btn {
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        gap: 0;
    }

    .gm-admin-body .gm-admin-media-actions-primary .gm-admin-media-action-icon,
    .gm-admin-body .gm-admin-media-actions-row .gm-admin-media-action-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .gm-admin-body .gm-admin-media-actions-primary .gm-admin-media-action-icon svg,
    .gm-admin-body .gm-admin-media-actions-row .gm-admin-media-action-icon svg {
        width: 17px;
        height: 17px;
    }

    .gm-admin-body .gm-admin-media-actions-primary .gm-admin-media-action-text,
    .gm-admin-body .gm-admin-media-actions-row .gm-admin-media-action-text {
        display: none;
    }

    .gm-admin-body .gm-admin-bulk-panel {
        grid-template-columns: 1fr;
        gap: 0.56rem;
        align-items: stretch;
    }

    .gm-admin-body .gm-admin-bulk-panel .gm-bulk-panel-actions {
        grid-template-columns: 1fr;
        gap: 0.46rem;
    }

    .gm-admin-body .gm-admin-bulk-panel .gm-bulk-inline-submit {
        width: 100%;
    }

    .gm-admin-body .gm-admin-table-shell th,
    .gm-admin-body .gm-admin-table-shell td {
        padding: 0.56rem 0.52rem;
    }
}

@media (min-width: 390px) and (max-width: 760px) {
    .gm-admin-body .gm-mobile-card-table tbody tr,
    .gm-pengguna-body .gm-mobile-card-table tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 0.78rem;
        row-gap: 0.44rem;
        align-items: start;
    }

    .gm-admin-body .gm-mobile-card-table tbody tr td,
    .gm-pengguna-body .gm-mobile-card-table tbody tr td {
        margin-top: 0;
    }

    .gm-admin-body .gm-mobile-card-table tbody tr td.gm-mobile-span-2,
    .gm-pengguna-body .gm-mobile-card-table tbody tr td.gm-mobile-span-2 {
        grid-column: 1 / -1;
    }

    .gm-admin-body .gm-mobile-card-table tbody tr td.gm-mobile-card-select,
    .gm-pengguna-body .gm-mobile-card-table tbody tr td.gm-mobile-card-select {
        grid-column: 2;
        justify-self: end;
        align-self: start;
    }

    .gm-admin-body .gm-mobile-card-table td.gm-mobile-card-actions,
    .gm-pengguna-body .gm-mobile-card-table td.gm-mobile-card-actions {
        margin-top: 0.08rem;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-media-table.gm-mobile-card-table tbody tr.gm-admin-media-row td {
        margin-top: 0;
    }
}

@media (max-width: 560px) {
    .gm-admin-body .gm-admin-kpi-grid {
        grid-template-columns: 1fr;
    }

    .gm-admin-body .gm-admin-media-actions-primary .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-media-actions-primary form .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-media-actions-row .gm-admin-icon-btn,
    .gm-admin-body .gm-admin-media-actions-row form .gm-admin-icon-btn {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
    }
}

/* Pengguna backend redesign */
.gm-pengguna-body {
    --pengguna-bg: #eef3fa;
    --pengguna-surface: #ffffff;
    --pengguna-surface-soft: #f7faff;
    --pengguna-border: #d7e0ee;
    --pengguna-border-strong: #c3d0e3;
    --pengguna-text: #15263f;
    --pengguna-text-soft: #5f7394;
    --pengguna-primary: #2e67d5;
    --pengguna-primary-strong: #2457bb;
    --pengguna-primary-soft: #e9f1ff;
    --pengguna-accent: #ff9b1a;
    --pengguna-accent-soft: #fff2dd;
    --pengguna-radius: 20px;
    --pengguna-radius-sm: 14px;
    --pengguna-shadow: 0 16px 30px rgba(16, 36, 82, 0.1);
    color: var(--pengguna-text);
    background: radial-gradient(circle at top right, #edf4ff, transparent 34%), var(--pengguna-bg);
}

.gm-pengguna-body .gm-pengguna-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(245px, 286px) minmax(0, 1fr);
}

.gm-pengguna-body .gm-pengguna-sidebar {
    position: sticky;
    top: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    border-right: 1px solid var(--pengguna-border);
    background: linear-gradient(180deg, #fafdff 0%, #f3f7ff 100%);
}

.gm-pengguna-body .gm-pengguna-sidebar-top {
    margin-bottom: 0.75rem;
}

.gm-pengguna-body .gm-pengguna-sidebar-topbar {
    display: flex;
    align-items: center;
    gap: 0.52rem;
}

.gm-pengguna-body .gm-pengguna-sidebar-topbar .gm-pengguna-brand {
    flex: 1 1 auto;
}

.gm-pengguna-body .gm-pengguna-sidebar-toggle {
    display: none;
    align-items: center;
    gap: 0.44rem;
    min-height: 42px;
    padding: 0.34rem 0.62rem;
    border-radius: 12px;
    border: 1px solid var(--pengguna-border-strong);
    background: #fff;
    color: #25466f;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

.gm-pengguna-body .gm-pengguna-sidebar-toggle:hover {
    background: #f3f8ff;
    border-color: #aec2e0;
}

.gm-pengguna-body .gm-pengguna-sidebar-toggle:focus-visible {
    outline: 3px solid rgba(46, 103, 213, 0.35);
    outline-offset: 2px;
}

.gm-pengguna-body .gm-pengguna-sidebar-toggle-icon {
    width: 12px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -4px 0 currentColor, 0 4px 0 currentColor;
}

.gm-pengguna-body .gm-pengguna-sidebar.is-open .gm-pengguna-sidebar-toggle-icon {
    width: 10px;
    height: 10px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    position: relative;
}

.gm-pengguna-body .gm-pengguna-sidebar.is-open .gm-pengguna-sidebar-toggle-icon::before,
.gm-pengguna-body .gm-pengguna-sidebar.is-open .gm-pengguna-sidebar-toggle-icon::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 10px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.gm-pengguna-body .gm-pengguna-sidebar.is-open .gm-pengguna-sidebar-toggle-icon::before {
    transform: rotate(45deg);
}

.gm-pengguna-body .gm-pengguna-sidebar.is-open .gm-pengguna-sidebar-toggle-icon::after {
    transform: rotate(-45deg);
}

.gm-pengguna-body .gm-pengguna-sidebar-collapse {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.gm-pengguna-body .gm-pengguna-brand {
    width: 100%;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    border-radius: 14px;
    border: 1px solid var(--pengguna-border);
    background: var(--pengguna-surface);
    padding: 0.5rem 0.65rem;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(18, 39, 89, 0.1);
}

.gm-pengguna-body .gm-pengguna-brand-mark {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #2f6de0 0%, #2457bb 100%);
    box-shadow: 0 8px 18px rgba(38, 87, 191, 0.3);
}

.gm-pengguna-body .gm-pengguna-brand-mark svg {
    width: 17px;
    height: 17px;
    display: block;
    flex-shrink: 0;
}

.gm-pengguna-body .gm-pengguna-brand-copy {
    display: grid;
    gap: 0.05rem;
    line-height: 1.12;
}

.gm-pengguna-body .gm-pengguna-brand-copy strong {
    color: #162847;
    font-size: 1rem;
}

.gm-pengguna-body .gm-pengguna-brand-copy small {
    color: #6e82a0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-nav {
    display: grid;
    gap: 0.82rem;
    margin-top: 0.9rem;
}

.gm-pengguna-body .gm-pengguna-nav-group {
    display: grid;
    gap: 0.34rem;
}

.gm-pengguna-body .gm-pengguna-nav-title {
    margin: 0;
    padding-left: 0.35rem;
    color: #768aa7;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-nav a {
    display: inline-flex;
    align-items: center;
    gap: 0.56rem;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid transparent;
    padding: 0.42rem 0.55rem;
    color: #2f4362;
    font-weight: 650;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gm-pengguna-body .gm-pengguna-nav-icon {
    width: 20px;
    height: 20px;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: #5474a5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
}

.gm-pengguna-body .gm-pengguna-nav-icon svg {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

.gm-pengguna-body .gm-pengguna-nav a.active,
.gm-pengguna-body .gm-pengguna-nav a:hover {
    color: #163054;
    border-color: #bfd1f0;
    background: var(--pengguna-primary-soft);
    text-decoration: none;
}

.gm-pengguna-body .gm-pengguna-nav a.active .gm-pengguna-nav-icon,
.gm-pengguna-body .gm-pengguna-nav a:hover .gm-pengguna-nav-icon {
    border: 0;
    color: #1d4ea4;
    background: transparent;
}

.gm-pengguna-body .gm-pengguna-content {
    padding: 1.15rem 1.25rem;
}

.gm-pengguna-body .gm-pengguna-header {
    margin-bottom: 1rem;
    padding: 0.98rem 1.1rem;
    border: 1px solid var(--pengguna-border);
    border-radius: var(--pengguna-radius);
    background: linear-gradient(160deg, #ffffff 0%, #f7fafe 100%);
    box-shadow: var(--pengguna-shadow);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.gm-pengguna-body .gm-pengguna-header-copy {
    display: grid;
    gap: 0.12rem;
}

.gm-pengguna-body .gm-pengguna-header-user {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.gm-pengguna-body .gm-pengguna-header-avatar {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    border: 1px solid #bccdea;
    background: #f8fbff;
    color: #2457bb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.gm-pengguna-body .gm-pengguna-header-avatar svg {
    width: 15px;
    height: 15px;
    display: block;
}

.gm-pengguna-body .gm-pengguna-header-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
}

.gm-pengguna-body .gm-pengguna-header-kicker {
    margin: 0;
    color: #7a8ba7;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-header h1 {
    margin: 0;
    color: #162a49;
    font-size: clamp(1.5rem, 2.4vw, 1.9rem);
    line-height: 1.12;
}

.gm-pengguna-body .gm-pengguna-header p {
    margin: 0;
    color: var(--pengguna-text-soft);
}

.gm-pengguna-body .gm-pengguna-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.gm-pengguna-body .gm-pengguna-main {
    display: grid;
    gap: 1rem;
}

.gm-pengguna-body .gm-pengguna-dashboard,
.gm-pengguna-body .gm-pengguna-page {
    display: grid;
    gap: 1rem;
}

.gm-pengguna-body .gm-pengguna-dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 65%) minmax(300px, 35%);
    grid-template-areas:
        "priority summary"
        "recent quick";
    gap: 1rem;
    align-items: stretch;
}

.gm-pengguna-body .gm-pengguna-dashboard-priority {
    grid-area: priority;
    border-color: #c8d8f1;
    background: linear-gradient(165deg, #fbfdff 0%, #eef5ff 100%);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.gm-pengguna-body .gm-pengguna-dashboard-summary {
    grid-area: summary;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.gm-pengguna-body .gm-pengguna-dashboard-quick {
    grid-area: quick;
    align-self: start;
}

.gm-pengguna-body .gm-pengguna-dashboard-recent {
    grid-area: recent;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.gm-pengguna-body .gm-pengguna-priority-status {
    margin: 0;
    color: #1f3b63;
    font-size: 0.98rem;
    font-weight: 700;
}

.gm-pengguna-body .gm-pengguna-dashboard-priority.is-normal .gm-pengguna-priority-status {
    color: #2a567f;
}

.gm-pengguna-body .gm-pengguna-dashboard-priority.is-attention .gm-pengguna-priority-status {
    color: #865318;
}

.gm-pengguna-body .gm-pengguna-priority-body {
    margin-top: 0.75rem;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

.gm-pengguna-body .gm-pengguna-priority-donut-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gm-pengguna-body .gm-pengguna-priority-donut {
    width: 136px;
    height: 136px;
    border-radius: 50%;
    background:
        conic-gradient(
            #e6aa4f 0 calc(var(--revision-pct, 0) * 1%),
            #db7878 calc(var(--revision-pct, 0) * 1%) calc((var(--revision-pct, 0) + var(--rejected-pct, 0)) * 1%),
            #6fba8b calc((var(--revision-pct, 0) + var(--rejected-pct, 0)) * 1%) 100%
        );
    display: grid;
    place-items: center;
    box-shadow: inset 0 0 0 1px #cfdaeb;
}

.gm-pengguna-body .gm-pengguna-priority-donut-center {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #d4deef;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 0.4rem;
}

.gm-pengguna-body .gm-pengguna-priority-donut-center strong {
    display: block;
    color: #1b355b;
    font-size: 1.22rem;
    line-height: 1;
    font-weight: 800;
}

.gm-pengguna-body .gm-pengguna-priority-donut-center small {
    display: block;
    margin-top: 0.2rem;
    color: #6d809f;
    font-size: 0.68rem;
    line-height: 1.1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-priority-legend {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.5rem;
}

.gm-pengguna-body .gm-pengguna-priority-legend-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.55rem;
    border-radius: 11px;
    border: 1px solid #dbe4f2;
    background: #fff;
}

.gm-pengguna-body .gm-pengguna-priority-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.gm-pengguna-body .gm-pengguna-priority-dot.is-revision {
    background: #e6aa4f;
}

.gm-pengguna-body .gm-pengguna-priority-dot.is-rejected {
    background: #db7878;
}

.gm-pengguna-body .gm-pengguna-priority-dot.is-safe {
    background: #6fba8b;
}

.gm-pengguna-body .gm-pengguna-priority-legend-item span {
    color: #5f7190;
    font-size: 0.82rem;
    font-weight: 700;
}

.gm-pengguna-body .gm-pengguna-priority-legend-item strong {
    color: #1f385d;
    font-size: 0.92rem;
    font-weight: 800;
}

.gm-pengguna-body .gm-pengguna-priority-actions {
    margin-top: 0.9rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.58rem;
}

.gm-pengguna-body .gm-pengguna-priority-btn.is-revision {
    border-color: #f0c789;
    background: #fff3dd;
    color: #885617;
}

.gm-pengguna-body .gm-pengguna-priority-btn.is-revision:hover {
    border-color: #e6b869;
    background: #fdeccf;
    color: #73490f;
}

.gm-pengguna-body .gm-pengguna-priority-btn.is-rejected {
    border-color: #e8b0b0;
    background: #fdecec;
    color: #8f2626;
}

.gm-pengguna-body .gm-pengguna-priority-btn.is-rejected:hover {
    border-color: #df9696;
    background: #fbdede;
    color: #7d2020;
}

.gm-pengguna-body .gm-pengguna-dashboard-kpi-grid {
    grid-template-columns: 1fr;
}

.gm-pengguna-body .gm-pengguna-dashboard-kpi-grid .gm-pengguna-kpi-card {
    padding: 0.72rem;
    min-height: 88px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gm-pengguna-body .gm-pengguna-dashboard-kpi-grid .gm-pengguna-kpi-card p {
    font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.gm-pengguna-body .gm-pengguna-dashboard-quick-actions {
    display: grid;
    gap: 0.58rem;
}

.gm-pengguna-body .gm-pengguna-dashboard-quick-actions .gm-pengguna-btn {
    width: 100%;
    justify-content: center;
    min-height: 44px;
}

.gm-pengguna-body .gm-pengguna-panel {
    border: 1px solid var(--pengguna-border);
    border-radius: var(--pengguna-radius);
    background: var(--pengguna-surface);
    box-shadow: var(--pengguna-shadow);
    padding: 1rem;
}

.gm-pengguna-body .gm-pengguna-main-panel {
    padding: 1rem;
}

.gm-pengguna-body .gm-pengguna-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}

.gm-pengguna-body .gm-pengguna-panel-head h2,
.gm-pengguna-body .gm-pengguna-panel-head h3 {
    margin: 0;
    color: #182f52;
}

.gm-pengguna-body .gm-pengguna-panel-head p {
    margin: 0;
    color: #667b99;
    font-size: 0.9rem;
}

.gm-pengguna-body .gm-pengguna-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.gm-pengguna-body .gm-pengguna-kpi-card {
    border: 1px solid var(--pengguna-border);
    border-radius: 16px;
    background: linear-gradient(165deg, #fff 0%, #f8fbff 100%);
    box-shadow: 0 8px 18px rgba(20, 40, 86, 0.08);
    padding: 0.82rem;
}

.gm-pengguna-body .gm-pengguna-kpi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.48rem;
}

.gm-pengguna-body .gm-pengguna-kpi-head h3 {
    margin: 0;
    color: #7083a1;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-kpi-icon {
    width: 20px;
    height: 20px;
    border-radius: 0;
    background: transparent;
    color: #1f4fa8;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gm-pengguna-body .gm-pengguna-kpi-icon svg {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.gm-pengguna-body .gm-pengguna-kpi-card p {
    margin: 0;
    color: #15263f;
    font-size: clamp(1.34rem, 2.2vw, 1.7rem);
    line-height: 1.1;
    font-weight: 800;
}

.gm-pengguna-body .gm-pengguna-action-grid {
    display: grid;
    gap: 0.58rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.gm-pengguna-body .gm-pengguna-hero-panel {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    padding: 0;
}

.gm-pengguna-body .gm-pengguna-hero {
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: linear-gradient(140deg, #2f6de0 0%, #255abc 55%, #214da1 100%);
    color: #fff;
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    box-shadow: 0 14px 30px rgba(24, 68, 152, 0.24);
}

.gm-pengguna-body .gm-pengguna-hero-label {
    margin: 0 0 0.24rem;
    color: #d8e4ff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-hero h1 {
    margin: 0;
}

.gm-pengguna-body .gm-pengguna-hero p {
    margin: 0.4rem 0 0;
    color: #eef3ff;
}

.gm-pengguna-body .gm-pengguna-hero-chip {
    min-width: 122px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.18);
    padding: 0.65rem 0.75rem;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.gm-pengguna-body .gm-pengguna-hero-chip span {
    display: block;
    font-size: 1.3rem;
    line-height: 1.1;
    font-weight: 800;
}

.gm-pengguna-body .gm-pengguna-hero-chip small {
    font-size: 0.75rem;
    color: #edf3ff;
}

.gm-pengguna-body .gm-pengguna-submission-head {
    align-items: center;
}

.gm-pengguna-body .gm-pengguna-tracker-grid {
    margin-bottom: 0.9rem;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice {
    margin: 0 0 0.95rem;
    border: 1px solid var(--pengguna-border);
    border-left-width: 6px;
    border-radius: 16px;
    background: linear-gradient(160deg, #f9fbff 0%, #f3f7ff 100%);
    box-shadow: 0 10px 22px rgba(16, 38, 82, 0.1);
    padding: 0.85rem 0.95rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-main {
    min-width: 0;
    display: grid;
    gap: 0.4rem;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-head {
    display: grid;
    gap: 0.1rem;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-kicker {
    margin: 0;
    color: #667b99;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-title {
    margin: 0;
    color: #1e3557;
    font-size: 1.05rem;
    line-height: 1.25;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-desc {
    margin: 0;
    color: #324b72;
    line-height: 1.45;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips {
    margin: 0.1rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li {
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid #c8d5eb;
    background: #f7f9fd;
    color: #35527a;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.25;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li.is-revision {
    background: #fff5e9;
    border-color: #f0c68f;
    color: #8f5410;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li.is-rejected {
    background: #fff1f3;
    border-color: #ebb4be;
    color: #9b2f46;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li.is-review {
    background: #ecf4ff;
    border-color: #bfd4ef;
    color: #25568e;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li.is-revised {
    background: #e9f8f8;
    border-color: #b8dfe0;
    color: #1f6570;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li.is-published {
    background: #ecf8ee;
    border-color: #b4ddbf;
    color: #2b6a3f;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-chips li.is-empty {
    background: #f3f5f9;
    border-color: #d8e0eb;
    color: #566985;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions {
    display: grid;
    gap: 0.45rem;
    align-content: center;
    justify-items: stretch;
    min-width: 186px;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-attention {
    border-left-color: #d07a1a;
    background: linear-gradient(160deg, #fff7ec 0%, #fff2e8 100%);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-attention .gm-pengguna-submission-notice-title {
    color: #7a4508;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-review {
    border-left-color: #3f75c8;
    background: linear-gradient(160deg, #f0f6ff 0%, #eaf2ff 100%);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-review .gm-pengguna-submission-notice-title {
    color: #25538a;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-revised {
    border-left-color: #2f8392;
    background: linear-gradient(160deg, #eefbfc 0%, #e8f7f8 100%);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-revised .gm-pengguna-submission-notice-title {
    color: #1f6670;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-pending {
    border-left-color: #8295b1;
    background: linear-gradient(160deg, #f6f8fc 0%, #f1f4f9 100%);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-pending .gm-pengguna-submission-notice-title {
    color: #4c5f7d;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-success {
    border-left-color: #4b8e62;
    background: linear-gradient(160deg, #eef9f1 0%, #e9f6ee 100%);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-success .gm-pengguna-submission-notice-title {
    color: #2f6842;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-empty {
    border-left-color: #8d9eb7;
    background: linear-gradient(160deg, #f5f7fb 0%, #eff3f8 100%);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice.is-empty .gm-pengguna-submission-notice-title {
    color: #4f5f78;
}

.gm-pengguna-body .gm-pengguna-tracker-card {
    border-color: var(--pengguna-border);
    background: #fbfcff;
}

.gm-pengguna-body .gm-pengguna-filter-shell {
    border-color: var(--pengguna-border);
    background: linear-gradient(165deg, #f9fbff 0%, #f4f8ff 100%);
}

.gm-pengguna-body .gm-pengguna-filter-shell .gm-filter-head h3 {
    color: #1d365c;
    font-size: 1.01rem;
}

.gm-pengguna-body .gm-pengguna-filter-shell .gm-filter-field label {
    color: #607596;
    font-weight: 700;
}

.gm-pengguna-body .gm-pengguna-filter-shell input,
.gm-pengguna-body .gm-pengguna-filter-shell select {
    border-color: var(--pengguna-border-strong);
}

.gm-pengguna-body .gm-pengguna-bulk-panel {
    border-color: var(--pengguna-border);
    border-radius: 16px;
    background: #f9fbff;
    box-shadow: 0 8px 18px rgba(17, 39, 84, 0.08);
}

.gm-pengguna-body .gm-pengguna-table-wrap {
    border: 1px solid var(--pengguna-border);
    border-radius: 16px;
    background: #fff;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #bdc9dc #edf2fb;
}

.gm-pengguna-body .gm-pengguna-table-wrap::-webkit-scrollbar {
    height: 10px;
}

.gm-pengguna-body .gm-pengguna-table-wrap::-webkit-scrollbar-track {
    background: #edf2fb;
}

.gm-pengguna-body .gm-pengguna-table-wrap::-webkit-scrollbar-thumb {
    background: #bdc9dc;
    border-radius: 999px;
}

.gm-pengguna-body .gm-pengguna-table-wrap thead {
    background: #f6f9ff;
}

.gm-pengguna-body .gm-pengguna-table-wrap th {
    color: #667c9d;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-pengguna-table-wrap td {
    color: #213a5e;
}

.gm-pengguna-body .gm-pengguna-table-wrap td .gm-pengguna-btn {
    white-space: nowrap;
}

.gm-pengguna-body .gm-pengguna-table-wrap tbody tr:nth-child(even) td {
    background: #fcfdff;
}

.gm-pengguna-body .gm-pengguna-table-wrap tbody tr:hover td {
    background: #f3f8ff;
}

.gm-pengguna-body .gm-pengguna-form-shell {
    border-color: var(--pengguna-border);
    border-radius: 16px;
    background: var(--pengguna-surface-soft);
}

.gm-pengguna-body .gm-pengguna-form-shell h3 {
    margin-top: 1rem;
    margin-bottom: 0.48rem;
    color: #1e3557;
    font-size: 1rem;
}

.gm-pengguna-body .gm-pengguna-form-shell h3:first-of-type {
    margin-top: 0;
}

.gm-pengguna-body .gm-pengguna-form-shell label {
    color: #607596;
    font-weight: 700;
}

.gm-pengguna-body .gm-pengguna-form-shell input,
.gm-pengguna-body .gm-pengguna-form-shell select,
.gm-pengguna-body .gm-pengguna-form-shell textarea {
    border-color: var(--pengguna-border-strong);
}

.gm-pengguna-body .gm-pengguna-form-shell input[readonly] {
    background: #eef3fb;
    color: #405779;
}

.gm-pengguna-body .gm-pengguna-form-shell .gm-pengguna-submission-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.gm-pengguna-body .gm-pengguna-form-shell .gm-pengguna-field-full {
    grid-column: 1 / -1;
}

.gm-pengguna-body .gm-pengguna-form-shell.is-readonly .gm-pengguna-submission-fieldset :is(input, select, textarea) {
    opacity: 1;
    cursor: not-allowed;
    background: #f2f5fb;
    color: #3f5578;
}

.gm-pengguna-body .gm-pengguna-form-shell.is-readonly .gm-pengguna-submission-fieldset label {
    color: #6a7d9a;
}

.gm-pengguna-body .gm-submission-readonly-hint {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel {
    border: 1px solid #d5deec;
    border-radius: 14px;
    background: #fff;
    padding: 0.78rem;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.68rem;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel h3 {
    margin: 0;
    color: #1f3557;
    font-size: 1.05rem;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-preview-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
    flex-wrap: wrap;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-fullscreen-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-radius: 10px;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-fullscreen-btn svg {
    width: 18px;
    height: 18px;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-source-btn {
    min-height: 36px;
    padding: 0.34rem 0.64rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    font-size: 0.84rem;
    line-height: 1.2;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-source-btn svg {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-fullscreen-btn svg path,
.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-source-btn svg path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-fullscreen-btn.is-active {
    border-color: #95b2e3;
    background: #e9f1ff;
    color: #123e91;
}

.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-fullscreen-btn:disabled,
.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-source-btn.is-disabled,
.gm-pengguna-body .gm-pengguna-submission-preview-panel .gm-admin-media-review-source-btn:disabled {
    background: #f4f6fa;
    border-color: #d3dbe8;
    color: #9aa8be;
    cursor: not-allowed;
    box-shadow: none;
}

.gm-pengguna-body .gm-pengguna-submission-preview-wrap {
    width: 100%;
    height: clamp(360px, 52vh, 620px);
    border: 1px solid #d2dced;
    border-radius: 12px;
    background: #f7faff;
    overflow: hidden;
    position: relative;
}

.gm-pengguna-body .gm-pengguna-submission-preview-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.gm-pengguna-body .gm-pengguna-submission-preview-wrap.is-unavailable {
    display: grid;
    place-items: center;
    padding: 0.78rem;
    background: linear-gradient(160deg, #f5f8ff, #eef3ff);
}

.gm-pengguna-body .gm-pengguna-submission-preview-empty {
    margin: 0;
    width: min(100%, 560px);
}

.gm-pengguna-body .gm-pengguna-submission-preview-wrap:fullscreen,
.gm-pengguna-body .gm-pengguna-submission-preview-wrap:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border: 0;
    border-radius: 0;
    padding: 0.95rem;
    background: #0b152a;
}

.gm-pengguna-body .gm-pengguna-submission-preview-wrap:fullscreen iframe,
.gm-pengguna-body .gm-pengguna-submission-preview-wrap:-webkit-full-screen iframe {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    border: 1px solid rgba(222, 234, 255, 0.18);
}

.gm-pengguna-body .gm-pengguna-submission-preview-wrap:fullscreen .gm-pengguna-submission-preview-empty,
.gm-pengguna-body .gm-pengguna-submission-preview-wrap:-webkit-full-screen .gm-pengguna-submission-preview-empty {
    max-width: min(92vw, 760px);
}

.gm-pengguna-body .gm-pengguna-profile-page [data-npsn-status].gm-alert {
    margin-top: 0.45rem;
    margin-bottom: 0.5rem;
}

.gm-pengguna-body .gm-pengguna-avatar-field {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: flex-start;
}

.gm-pengguna-body .gm-pengguna-avatar-preview {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    border: 1px solid var(--pengguna-border);
    background: #f7faff;
    color: #2457bb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
    overflow: hidden;
}

.gm-pengguna-body .gm-pengguna-avatar-preview svg {
    width: 26px;
    height: 26px;
    display: block;
}

.gm-pengguna-body .gm-pengguna-avatar-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
}

.gm-pengguna-body .gm-pengguna-avatar-controls {
    display: grid;
    gap: 0.5rem;
}

.gm-pengguna-body .gm-form-actions.gm-pengguna-form-actions {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: nowrap;
}

.gm-pengguna-body .gm-form-actions.gm-pengguna-form-actions .gm-pengguna-btn {
    flex: 0 0 auto;
    width: auto;
}

.gm-pengguna-body .gm-pengguna-alert-inline {
    margin-bottom: 0.85rem;
}

.gm-pengguna-body .gm-submission-timeline {
    margin: 0 0 0.9rem;
    padding: 0.85rem 0.9rem 0.95rem;
    border: 1px solid #d7e0ee;
    border-radius: 14px;
    background: linear-gradient(165deg, #f9fbff 0%, #f4f8ff 100%);
    box-shadow: 0 8px 20px rgba(19, 41, 88, 0.08);
    --gm-status-pending-bg: #f2f4f8;
    --gm-status-pending-border: #d8dee8;
    --gm-status-pending-text: #5a6b84;
    --gm-status-pending-solid: #63748f;
    --gm-status-review-bg: #e6f2ff;
    --gm-status-review-border: #afc8eb;
    --gm-status-review-text: #285993;
    --gm-status-review-solid: #2f67d3;
    --gm-status-revision-bg: #ffe9cc;
    --gm-status-revision-border: #f0be74;
    --gm-status-revision-text: #835200;
    --gm-status-revision-solid: #d88a00;
    --gm-status-revised-bg: #e6f6ff;
    --gm-status-revised-border: #98cde8;
    --gm-status-revised-text: #1f5f85;
    --gm-status-revised-solid: #1d7fa5;
    --gm-status-rejected-bg: #ffe7e7;
    --gm-status-rejected-border: #efb2b2;
    --gm-status-rejected-text: #9a2f2f;
    --gm-status-rejected-solid: #cf3956;
    --gm-status-published-bg: #e6f8ec;
    --gm-status-published-border: #99d8ac;
    --gm-status-published-text: #1f6b35;
    --gm-status-published-solid: #2a8d45;
    --gm-step-submitted-color: var(--gm-status-pending-solid);
    --gm-step-review-color: var(--gm-status-review-solid);
    --gm-step-revision-color: var(--gm-status-revision-solid);
    --gm-step-rejected-color: var(--gm-status-rejected-solid);
    --gm-step-published-color: var(--gm-status-published-solid);
}

.gm-pengguna-body .gm-submission-timeline-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
}

.gm-pengguna-body .gm-submission-timeline-head-icon {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    border: 1px solid var(--pengguna-border-strong);
    background: #eef3ff;
    color: var(--pengguna-primary-strong);
    display: grid;
    place-items: center;
}

.gm-pengguna-body .gm-submission-timeline-head-icon .gm-icon {
    width: 16px;
    height: 16px;
}

.gm-pengguna-body .gm-submission-timeline-head h3 {
    margin: 0;
    color: #182f52;
    font-size: 1.12rem;
    line-height: 1.25;
}

.gm-pengguna-body .gm-submission-timeline-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

@media (max-width: 720px) {
    .gm-admin-body .gm-admin-pagination-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .gm-admin-body .gm-admin-pagination-bar .gm-admin-per-page {
        margin-left: 0;
        width: 100%;
        justify-content: space-between;
    }
}

.gm-pengguna-body .gm-submission-timeline-item {
    position: relative;
    text-align: center;
    padding: 0 0.35rem;
    --gm-step-node-bg: #e5e9f0;
    --gm-step-node-border: #d8dee8;
    --gm-step-node-color: #8ca0bb;
    --gm-step-title-color: #8a9bb3;
    --gm-step-status-color: #8a9bb3;
    --gm-step-line-color: #d8dde6;
    --gm-step-badge-bg: #eef3f9;
    --gm-step-badge-border: #d3dce9;
    --gm-step-badge-color: #7487a2;
}

.gm-pengguna-body .gm-submission-timeline-item::after {
    content: '';
    position: absolute;
    top: 30px;
    left: calc(50% + 34px);
    width: calc(100% - 68px);
    height: 3px;
    border-radius: 999px;
    background: var(--gm-step-line-color);
}

.gm-pengguna-body .gm-submission-timeline-item:last-child::after {
    display: none;
}

.gm-pengguna-body .gm-submission-timeline-node {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    margin: 0 auto;
    border: 1px solid var(--gm-step-node-border);
    background: var(--gm-step-node-bg);
    color: var(--gm-step-node-color);
    display: grid;
    place-items: center;
}

.gm-pengguna-body .gm-submission-timeline-node-icon .gm-icon {
    width: 28px;
    height: 28px;
}

.gm-pengguna-body .gm-submission-timeline-content {
    margin-top: 0.55rem;
    display: grid;
    gap: 0.18rem;
    justify-items: center;
}

.gm-pengguna-body .gm-submission-timeline-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0.14rem 0.56rem;
    border-radius: 999px;
    border: 1px solid var(--gm-step-badge-border);
    background: var(--gm-step-badge-bg);
    color: var(--gm-step-badge-color);
    font-size: 0.72rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-submission-timeline-title {
    margin: 0;
    color: var(--gm-step-title-color);
    font-weight: 700;
    line-height: 1.3;
}

.gm-pengguna-body .gm-submission-timeline-status {
    margin: 0;
    color: #72829a;
    font-size: 0.9rem;
    line-height: 1.45;
    font-weight: 500;
    max-width: 16ch;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='current'] .gm-submission-timeline-status {
    color: #5d7398;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='complete'] .gm-submission-timeline-status,
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='future'] .gm-submission-timeline-status,
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='rejected'] .gm-submission-timeline-status {
    color: #73839a;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='future'][data-step-key='published'] {
    --gm-step-title-color: #6d809e;
    --gm-step-status-color: #6d809e;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='current'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='complete'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='rejected'] {
    --gm-step-node-color: #ffffff;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='complete'] {
    --gm-step-badge-bg: #edf7ef;
    --gm-step-badge-border: #b9dec1;
    --gm-step-badge-color: #2d7a43;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='current'] {
    --gm-step-badge-bg: #e8f1ff;
    --gm-step-badge-border: #afc8f3;
    --gm-step-badge-color: #245bbb;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='rejected'] {
    --gm-step-badge-bg: #fdecef;
    --gm-step-badge-border: #efbcc8;
    --gm-step-badge-color: #b33c56;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='future'][data-step-key='revision'] {
    --gm-step-badge-bg: #fff6e7;
    --gm-step-badge-border: #f0d09a;
    --gm-step-badge-color: #9a6a11;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='current'][data-step-key='revision'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='complete'][data-step-key='revision'] {
    --gm-step-badge-bg: #fff6e7;
    --gm-step-badge-border: #f0d09a;
    --gm-step-badge-color: #9a6a11;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='future'][data-step-key='published'] {
    --gm-step-badge-bg: #edf5ec;
    --gm-step-badge-border: #bfd6bc;
    --gm-step-badge-color: #4d7c4f;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-key='submitted'][data-step-state='current'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-key='submitted'][data-step-state='complete'] {
    --gm-step-node-bg: var(--gm-step-submitted-color);
    --gm-step-node-border: var(--gm-step-submitted-color);
    --gm-step-title-color: var(--gm-step-submitted-color);
    --gm-step-status-color: var(--gm-step-submitted-color);
    --gm-step-line-color: var(--gm-step-submitted-color);
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-key='review'][data-step-state='current'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-key='review'][data-step-state='complete'] {
    --gm-step-node-bg: var(--gm-step-review-color);
    --gm-step-node-border: var(--gm-step-review-color);
    --gm-step-title-color: var(--gm-step-review-color);
    --gm-step-status-color: var(--gm-step-review-color);
    --gm-step-line-color: var(--gm-step-review-color);
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-key='revision'][data-step-state='current'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-key='revision'][data-step-state='complete'] {
    --gm-step-node-bg: var(--gm-step-revision-color);
    --gm-step-node-border: var(--gm-step-revision-color);
    --gm-step-title-color: var(--gm-step-revision-color);
    --gm-step-status-color: var(--gm-step-revision-color);
    --gm-step-line-color: var(--gm-step-revision-color);
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-key='rejected'][data-step-state='rejected'] {
    --gm-step-node-bg: var(--gm-step-rejected-color);
    --gm-step-node-border: var(--gm-step-rejected-color);
    --gm-step-title-color: var(--gm-step-rejected-color);
    --gm-step-status-color: var(--gm-step-rejected-color);
    --gm-step-line-color: #d8dde6;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-key='published'][data-step-state='current'],
.gm-pengguna-body .gm-submission-timeline-item[data-step-key='published'][data-step-state='complete'] {
    --gm-step-node-bg: var(--gm-step-published-color);
    --gm-step-node-border: var(--gm-step-published-color);
    --gm-step-title-color: var(--gm-step-published-color);
    --gm-step-status-color: var(--gm-step-published-color);
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-key='result'][data-step-state='future'] {
    --gm-step-title-color: #6d809e;
    --gm-step-status-color: #6d809e;
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='current'] .gm-submission-timeline-node,
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='complete'] .gm-submission-timeline-node,
.gm-pengguna-body .gm-submission-timeline-item[data-step-state='rejected'] .gm-submission-timeline-node {
    box-shadow: 0 10px 22px rgba(25, 58, 115, 0.16);
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='current'] .gm-submission-timeline-node {
    box-shadow: 0 0 0 6px rgba(46, 107, 232, 0.12), 0 14px 28px rgba(25, 58, 115, 0.18);
}

.gm-pengguna-body .gm-submission-timeline-item[data-step-state='future'] .gm-submission-timeline-node {
    box-shadow: none;
}

.gm-pengguna-body .gm-submission-decision-callout {
    margin: 0 0 0.9rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid #d7e0ee;
    border-left-width: 6px;
    border-radius: 14px;
    background: #f7f9fd;
    box-shadow: 0 8px 20px rgba(19, 41, 88, 0.08);
}

.gm-pengguna-body .gm-submission-decision-title {
    margin: 0;
    color: #203553;
    font-weight: 700;
}

.gm-pengguna-body .gm-submission-review-notes {
    margin-top: 0.6rem;
    padding: 0.62rem 0.7rem;
    border: 1px solid #d7e0ee;
    border-radius: 11px;
    background: #fff;
}

.gm-pengguna-body .gm-submission-review-notes-label {
    margin: 0 0 0.24rem;
    color: #4f6487;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.gm-pengguna-body .gm-submission-review-notes-content {
    margin: 0;
    color: #253a58;
    white-space: pre-line;
}

.gm-pengguna-body .gm-submission-decision-callout.is-revision {
    background: #fff5e9;
    border-color: #f0c68f;
    border-left-color: #d9922f;
}

.gm-pengguna-body .gm-submission-decision-callout.is-revision .gm-submission-decision-title {
    color: #7d4b03;
}

.gm-pengguna-body .gm-submission-decision-callout.is-rejected {
    background: #fff0f3;
    border-color: #ebb1bf;
    border-left-color: #c74662;
}

.gm-pengguna-body .gm-submission-decision-callout.is-rejected .gm-submission-decision-title {
    color: #8e233c;
}

.gm-pengguna-body .gm-submission-decision-callout.is-approved {
    background: #edf4ff;
    border-color: #b7c9eb;
    border-left-color: #2f62c8;
}

.gm-pengguna-body .gm-submission-decision-callout.is-approved .gm-submission-decision-title {
    color: #1f4ea0;
}

.gm-pengguna-body .gm-submission-decision-callout.is-neutral {
    background: #f4f6fa;
    border-color: #d4dbe7;
    border-left-color: #7a8aa4;
}

.gm-pengguna-body .gm-pengguna-pagination {
    margin-top: 1rem;
}

.gm-pengguna-body .gm-pengguna-pagination .gm-page-btn {
    border-color: #9bb0d1;
    background: #ffffff;
    color: #1f3453;
}

.gm-pengguna-body .gm-pengguna-pagination .gm-page-btn:hover {
    border-color: #6f90c3;
    background: #edf3ff;
    color: #143c8f;
}

.gm-pengguna-body .gm-pengguna-pagination .gm-page-btn.is-active {
    border-color: var(--pengguna-primary);
    background: var(--pengguna-primary);
    color: #ffffff;
}

.gm-pengguna-body .gm-pengguna-pagination .gm-page-btn.is-disabled {
    opacity: 1;
    border-color: #c5d1e6;
    background: #f2f5fb;
    color: #95a5bf;
}

.gm-pengguna-body .gm-alert {
    margin: 0 0 0.85rem;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(19, 41, 88, 0.08);
}

.gm-pengguna-body .gm-pengguna-btn {
    min-height: 42px;
    border-radius: 12px;
    font-size: 0.87rem;
    line-height: 1.2;
    font-weight: 700;
}

.gm-pengguna-body .gm-pengguna-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--pengguna-primary) 0%, var(--pengguna-primary-strong) 100%);
    border-color: #204fa9;
    box-shadow: 0 10px 20px rgba(36, 87, 187, 0.25);
}

.gm-pengguna-body .gm-pengguna-btn-primary:hover {
    color: #fff;
    background: linear-gradient(135deg, #2a60c8 0%, #1f4ea9 100%);
    border-color: #1c4698;
}

.gm-pengguna-body .gm-pengguna-btn-secondary {
    color: #2d4363;
    background: #fff;
    border-color: var(--pengguna-border-strong);
}

.gm-pengguna-body .gm-pengguna-btn-secondary:hover {
    color: #1e3557;
    background: #f6f9ff;
    border-color: #b3c4dc;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn-notice-revision {
    color: #ffffff;
    background: #ef9a22;
    border-color: #d98512;
    box-shadow: 0 10px 20px rgba(182, 108, 18, 0.26);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn-notice-revision:hover {
    color: #ffffff;
    background: #df890f;
    border-color: #c9770b;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn-notice-revision:focus-visible {
    outline: 3px solid rgba(239, 154, 34, 0.34);
    outline-offset: 2px;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn-notice-rejected {
    color: #ffffff;
    background: #d74a5f;
    border-color: #bc3146;
    box-shadow: 0 10px 20px rgba(163, 35, 56, 0.24);
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn-notice-rejected:hover {
    color: #ffffff;
    background: #c63a4f;
    border-color: #ab2639;
}

.gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn-notice-rejected:focus-visible {
    outline: 3px solid rgba(215, 74, 95, 0.34);
    outline-offset: 2px;
}

@media (max-width: 1200px) {
    .gm-pengguna-body .gm-pengguna-dashboard-layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "priority"
            "summary"
            "quick"
            "recent";
    }
}

@media (max-width: 900px) {
    .gm-pengguna-body .gm-submission-timeline {
        padding: 0.75rem 0.78rem 0.82rem;
    }

    .gm-pengguna-body .gm-submission-timeline-head {
        margin-bottom: 0.75rem;
    }

    .gm-pengguna-body .gm-submission-timeline-head h3 {
        font-size: 1rem;
    }

    .gm-pengguna-body .gm-submission-timeline-list {
        grid-template-columns: 1fr;
        gap: 0.68rem;
    }

    .gm-pengguna-body .gm-submission-timeline-item {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.62rem;
        align-items: center;
        text-align: left;
        padding: 0;
    }

    .gm-pengguna-body .gm-submission-timeline-item::after {
        top: 68px;
        left: 31px;
        width: 3px;
        height: calc(100% - 42px);
    }

    .gm-pengguna-body .gm-submission-timeline-node {
        width: 62px;
        height: 62px;
        margin: 0;
    }

    .gm-pengguna-body .gm-submission-timeline-content {
        margin-top: 0;
        justify-items: start;
    }

    .gm-pengguna-body .gm-submission-timeline-title {
        font-size: 0.96rem;
    }

    .gm-pengguna-body .gm-submission-timeline-status {
        font-size: 0.84rem;
        line-height: 1.4;
        max-width: none;
    }

    .gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions {
        min-width: 0;
        width: 100%;
        grid-template-columns: 1fr;
    }

    .gm-pengguna-body .gm-pengguna-submissions-page .gm-pengguna-submission-notice-actions .gm-pengguna-btn {
        width: 100%;
    }

    .gm-pengguna-body .gm-pengguna-submission-preview-wrap {
        height: clamp(320px, 48vh, 520px);
    }

    .gm-pengguna-body .gm-pengguna-priority-body {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0.75rem;
    }

    .gm-pengguna-body .gm-pengguna-priority-donut {
        width: 124px;
        height: 124px;
    }

    .gm-pengguna-body .gm-pengguna-priority-donut-center {
        width: 82px;
        height: 82px;
    }

    .gm-pengguna-body .gm-pengguna-priority-legend {
        width: 100%;
    }

    .gm-pengguna-body .gm-pengguna-priority-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .gm-pengguna-body .gm-pengguna-shell {
        grid-template-columns: 1fr;
    }

    .gm-pengguna-body .gm-pengguna-content {
        order: 1;
    }

    .gm-pengguna-body .gm-pengguna-sidebar {
        order: 2;
        position: static;
        min-height: auto;
        border-right: 0;
        border-top: 1px solid var(--pengguna-border);
        border-bottom: 0;
        padding: 0.86rem;
    }

    .gm-pengguna-body .gm-pengguna-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.66rem;
    }

    .gm-pengguna-body .gm-pengguna-nav-group {
        border: 1px solid var(--pengguna-border);
        border-radius: 14px;
        padding: 0.44rem;
        background: #fff;
    }

}

@media (max-width: 920px) {
    .gm-pengguna-body .gm-pengguna-content {
        padding: 0.96rem;
    }

    .gm-pengguna-body .gm-pengguna-header {
        flex-direction: column;
        align-items: stretch;
    }

    .gm-pengguna-body .gm-pengguna-header-actions {
        width: 100%;
    }

    .gm-pengguna-body .gm-pengguna-header-actions .gm-pengguna-btn,
    .gm-pengguna-body .gm-pengguna-header-actions form {
        width: 100%;
        flex: 1 1 100%;
    }

    .gm-pengguna-body .gm-pengguna-header-actions .gm-pengguna-btn {
        justify-content: center;
    }
}

@media (max-width: 760px) {
    .gm-pengguna-body .gm-pengguna-sidebar {
        order: 1;
        position: sticky;
        top: 0;
        z-index: 45;
        border-top: 0;
        border-bottom: 1px solid var(--pengguna-border);
        background: linear-gradient(180deg, #fafdff 0%, #f3f7ff 100%);
        box-shadow: 0 10px 22px rgba(19, 40, 83, 0.12);
    }

    .gm-pengguna-body .gm-pengguna-content {
        order: 2;
    }

    .gm-pengguna-body .gm-pengguna-sidebar.is-collapsible .gm-pengguna-sidebar-toggle {
        display: inline-flex;
    }

    .gm-pengguna-body .gm-pengguna-sidebar.is-collapsible:not(.is-open) .gm-pengguna-sidebar-collapse {
        display: none;
    }

    .gm-pengguna-body .gm-pengguna-sidebar.is-collapsible.is-open .gm-pengguna-sidebar-collapse {
        display: flex;
        margin-top: 0.5rem;
        gap: 0.7rem;
    }

    .gm-pengguna-body .gm-pengguna-nav {
        margin-top: 0.52rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .gm-pengguna-body .gm-pengguna-sidebar {
        padding: 0.62rem;
    }

    .gm-pengguna-body .gm-pengguna-sidebar-top {
        margin-bottom: 0.5rem;
    }

    .gm-pengguna-body .gm-pengguna-sidebar-topbar {
        gap: 0.5rem;
        min-height: 44px;
    }

    .gm-pengguna-body .gm-pengguna-brand {
        min-height: 48px;
        padding: 0.46rem 0.62rem;
        border-radius: 13px;
    }

    .gm-pengguna-body .gm-pengguna-sidebar-toggle {
        min-height: 40px;
        padding: 0.32rem 0.58rem;
        border-radius: 12px;
    }

    .gm-pengguna-body .gm-pengguna-nav-group {
        display: contents;
        border: 0;
        padding: 0;
    }

    .gm-pengguna-body .gm-pengguna-nav-title {
        display: none;
    }

    .gm-pengguna-body .gm-pengguna-nav a {
        min-height: 38px;
        padding: 0.34rem 0.46rem;
        border-radius: 11px;
    }

    .gm-pengguna-body .gm-pengguna-brand-copy small {
        display: none;
    }

    .gm-pengguna-body .gm-pengguna-avatar-field {
        grid-template-columns: 1fr;
    }

    .gm-pengguna-body .gm-pengguna-header-actions {
        display: flex;
    }

    .gm-pengguna-body .gm-pengguna-content {
        padding: 0.78rem;
    }

    .gm-pengguna-body .gm-pengguna-header {
        margin-bottom: 0.72rem;
        padding: 0.78rem 0.84rem;
        border-radius: 16px;
    }

    .gm-pengguna-body .gm-pengguna-header h1 {
        font-size: clamp(1.32rem, 5.2vw, 1.58rem);
        line-height: 1.14;
    }

    .gm-pengguna-body .gm-pengguna-header-kicker {
        font-size: 0.68rem;
        letter-spacing: 0.07em;
    }

    .gm-pengguna-body .gm-pengguna-header-user {
        gap: 0.4rem;
    }

    .gm-pengguna-body .gm-pengguna-header-avatar {
        width: 26px;
        height: 26px;
        border-radius: 9px;
    }

    .gm-pengguna-body .gm-pengguna-header-avatar svg {
        width: 14px;
        height: 14px;
    }

    .gm-pengguna-body .gm-pengguna-main,
    .gm-pengguna-body .gm-pengguna-dashboard,
    .gm-pengguna-body .gm-pengguna-page {
        gap: 0.78rem;
    }

    .gm-pengguna-body .gm-pengguna-kpi-grid {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }

    .gm-pengguna-body .gm-pengguna-hero {
        grid-template-columns: 1fr;
        padding: 0.82rem;
    }

    .gm-pengguna-body .gm-pengguna-hero-chip {
        text-align: left;
    }

    .gm-pengguna-body .gm-pengguna-panel {
        padding: 0.84rem;
    }

    .gm-pengguna-body .gm-pengguna-action-grid {
        grid-template-columns: 1fr;
        gap: 0.48rem;
    }
}

/* Admin media action highlight: cancel review vs cancel decision */
.gm-admin-body .gm-admin-icon-btn.is-cancel-review,
.gm-admin-body .gm-admin-btn.is-cancel-review {
    background: #fff4e8;
    border-color: #efbb84;
    color: #9b4f0c;
}

.gm-admin-body .gm-admin-icon-btn.is-cancel-review:hover,
.gm-admin-body .gm-admin-btn.is-cancel-review:hover {
    background: #ffe9d1;
    border-color: #e2a463;
    color: #7f3f05;
}

.gm-admin-body .gm-admin-icon-btn.is-cancel-decision,
.gm-admin-body .gm-admin-btn.is-cancel-decision {
    background: #fdecef;
    border-color: #e8b1bb;
    color: #a6354b;
}

.gm-admin-body .gm-admin-icon-btn.is-cancel-decision:hover,
.gm-admin-body .gm-admin-btn.is-cancel-decision:hover {
    background: #f9dde3;
    border-color: #da95a3;
    color: #8d2a3f;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-cancel-review,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-icon-btn.is-cancel-review {
    background: #fff4e8;
    border-color: #efbb84;
    color: #9b4f0c;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-cancel-review:hover,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-icon-btn.is-cancel-review:hover {
    background: #ffe9d1;
    border-color: #e2a463;
    color: #7f3f05;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-cancel-decision,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-icon-btn.is-cancel-decision {
    background: #fdecef;
    border-color: #e8b1bb;
    color: #a6354b;
}

.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-cancel-decision:hover,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-icon-btn.is-cancel-decision:hover {
    background: #f9dde3;
    border-color: #da95a3;
    color: #8d2a3f;
}

/* Admin media action highlight: review actions */
.gm-admin-body .gm-admin-btn.is-review-action,
.gm-admin-body .gm-admin-icon-btn.is-review-action,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-review-action,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-icon-btn.is-review-action {
    background: #e8f2ff;
    border-color: #b5cbed;
    color: #23528b;
}

.gm-admin-body .gm-admin-btn.is-review-action:hover,
.gm-admin-body .gm-admin-icon-btn.is-review-action:hover,
.gm-admin-body .gm-admin-table-actions .gm-admin-icon-btn.is-review-action:hover,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-icon-btn.is-review-action:hover {
    background: #dbeaff;
    border-color: #9fbee8;
    color: #1e4575;
}

.gm-admin-body .gm-admin-btn.is-review-action:focus-visible,
.gm-admin-body .gm-admin-icon-btn.is-review-action:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(159, 190, 232, 0.45);
}

/* Admin media form read-only state for internal media owned by another admin */
.gm-admin-body .gm-admin-media-form-shell .gm-admin-media-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.gm-admin-body .gm-admin-media-form-shell.is-readonly .gm-admin-media-fieldset :is(input, select, textarea) {
    opacity: 1;
    cursor: not-allowed;
    background: #f2f5fb;
    color: #3f5578;
}

.gm-admin-body .gm-admin-media-form-shell.is-readonly .gm-admin-media-fieldset label {
    color: #6a7d9a;
}

.gm-admin-body .gm-admin-media-form-shell .gm-admin-field-full {
    grid-column: 1 / -1;
}

.gm-admin-body .gm-admin-info-post-form-shell .gm-admin-info-post-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.gm-admin-body .gm-admin-info-post-form-shell.is-readonly .gm-admin-info-post-fieldset :is(input, select, textarea) {
    opacity: 1;
    cursor: not-allowed;
    background: #f2f5fb;
    color: #3f5578;
}

.gm-admin-body .gm-admin-info-post-form-shell.is-readonly .gm-admin-info-post-fieldset label {
    color: #6a7d9a;
}

body.is-gm-live-loading {
    cursor: progress;
}

body.is-gm-live-loading::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    z-index: 9999;
    background: linear-gradient(90deg, #0c63e7 0%, #53a7ff 55%, #0c63e7 100%);
    background-size: 200% 100%;
    animation: gm-live-loading-bar 1s linear infinite;
}

form.is-submitting {
    opacity: 0.72;
    pointer-events: none;
    transition: opacity 120ms ease;
}

.gm-live-alert-slot {
    display: none;
}

.gm-live-alert-slot:not([hidden]) {
    display: block;
}

.gm-feedback-root {
    position: fixed;
    inset: 0;
    z-index: 11000;
    pointer-events: none;
}

.gm-feedback-root[hidden] {
    display: none !important;
}

.gm-feedback-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(14, 23, 43, 0.44);
    backdrop-filter: blur(2px);
    pointer-events: auto;
}

.gm-feedback-confirm {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(560px, calc(100vw - 2rem));
    transform: translate(-50%, -46%);
    border: 1px solid #d6e0f3;
    border-top: 6px solid #4e77ce;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 26px 54px rgba(20, 38, 83, 0.28);
    pointer-events: auto;
    overflow: hidden;
    animation: gm-feedback-pop 180ms ease-out;
}

.gm-feedback-confirm[hidden] {
    display: none !important;
}

.gm-feedback-confirm.is-danger {
    border-top-color: #d9424e;
}

.gm-feedback-confirm.is-warning {
    border-top-color: #d19327;
}

.gm-feedback-confirm.is-info {
    border-top-color: #3663c7;
}

.gm-feedback-confirm.is-success {
    border-top-color: #1f9e5d;
}

.gm-feedback-confirm-head {
    padding: 1rem 1.1rem 0.5rem;
}

.gm-feedback-confirm-head h3 {
    margin: 0;
    font-size: 1.18rem;
    letter-spacing: 0.01em;
}

.gm-feedback-confirm-body {
    padding: 0.25rem 1.1rem 1rem;
}

.gm-feedback-confirm-body p {
    margin: 0;
    color: #334c75;
    line-height: 1.5;
}

.gm-feedback-confirm-upload-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.72rem;
    align-items: start;
    border: 1px solid #d7e2f8;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    padding: 0.72rem 0.8rem;
}

.gm-feedback-confirm-upload-state[hidden] {
    display: none !important;
}

.gm-feedback-confirm-upload-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid #b9caeb;
    border-top-color: #2f63cb;
    border-radius: 50%;
    animation: gm-upload-spin 0.9s linear infinite;
    margin-top: 2px;
}

.gm-feedback-confirm-upload-state.is-error .gm-feedback-confirm-upload-spinner {
    border-color: #e7b9be;
    border-top-color: #cc3a45;
    animation-duration: 1.2s;
}

.gm-feedback-confirm-upload-copy {
    min-width: 0;
}

.gm-feedback-confirm-upload-copy strong {
    display: block;
    font-size: 0.92rem;
    line-height: 1.3;
    color: #1f3d72;
}

.gm-feedback-confirm-upload-copy p {
    margin: 0.25rem 0 0;
    font-size: 0.84rem;
    line-height: 1.42;
    color: #3d567e;
}

.gm-feedback-confirm-upload-state.is-error {
    border-color: #efc5c9;
    background: linear-gradient(180deg, #fff8f8 0%, #ffffff 100%);
}

.gm-feedback-confirm-upload-state.is-error .gm-feedback-confirm-upload-copy strong {
    color: #8f2530;
}

.gm-feedback-confirm-upload-state.is-error .gm-feedback-confirm-upload-copy p {
    color: #7f2f36;
}

.gm-feedback-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.58rem;
    padding: 0.78rem 1.1rem 1rem;
    border-top: 1px solid #e4ecf8;
    background: linear-gradient(180deg, #fff, #f9fbff);
}

.gm-feedback-notify-stack {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: min(380px, calc(100vw - 1.4rem));
    display: grid;
    gap: 0.58rem;
    pointer-events: none;
    z-index: 11030;
}

.gm-feedback-notify {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: start;
    pointer-events: auto;
    border: 1px solid #d6e0f3;
    border-left: 5px solid #3663c7;
    border-radius: 13px;
    background: #fff;
    padding: 0.74rem 0.82rem 0.74rem 0.92rem;
    box-shadow: 0 16px 36px rgba(18, 35, 76, 0.2);
    animation: gm-notify-enter 180ms ease-out;
}

.gm-feedback-notify.is-danger {
    border-left-color: #d9424e;
    background: #fff9fa;
}

.gm-feedback-notify.is-warning {
    border-left-color: #d19327;
    background: #fffdf6;
}

.gm-feedback-notify.is-info {
    border-left-color: #3663c7;
    background: #f8fbff;
}

.gm-feedback-notify.is-success {
    border-left-color: #1f9e5d;
    background: #f5fff9;
}

.gm-feedback-notify-copy {
    min-width: 0;
}

.gm-feedback-notify-title {
    display: block;
    margin-bottom: 0.2rem;
    line-height: 1.25;
    font-size: 0.9rem;
}

.gm-feedback-notify-message {
    margin: 0;
    color: #31486f;
    font-size: 0.84rem;
    line-height: 1.35;
    white-space: pre-line;
}

.gm-feedback-notify-close {
    border: 1px solid #c8d7ef;
    border-radius: 9px;
    background: #fff;
    color: #264d88;
    font-weight: 700;
    font-size: 0.74rem;
    min-height: 31px;
    padding: 0.24rem 0.56rem;
    cursor: pointer;
}

.gm-feedback-notify-close:hover {
    background: #f0f6ff;
    border-color: #aec6eb;
}

.gm-admin-body .gm-feedback-confirm {
    border-color: #d0dcec;
}

.gm-pengguna-body .gm-feedback-confirm {
    border-color: #cfd9f5;
}

@media (max-width: 640px) {
    .gm-feedback-notify-stack {
        top: calc(env(safe-area-inset-top) + 0.7rem);
        right: 0.7rem;
        left: 0.7rem;
        bottom: auto;
        width: auto;
    }

    .gm-feedback-confirm-actions {
        flex-wrap: wrap;
    }

    .gm-feedback-confirm-actions .gm-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gm-feedback-confirm,
    .gm-feedback-notify {
        animation: none;
    }

    .gm-feedback-confirm-upload-spinner {
        animation: none;
    }
}

@keyframes gm-upload-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes gm-live-loading-bar {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

@keyframes gm-feedback-pop {
    from {
        opacity: 0;
        transform: translate(-50%, -42%) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -46%) scale(1);
    }
}

@keyframes gm-notify-enter {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Sticky sidebar hardening for backend roles (admin/superadmin/pengguna) */
.gm-admin-body .gm-admin-shell,
.gm-pengguna-body .gm-pengguna-shell {
    align-items: start;
}

.gm-admin-body,
.gm-pengguna-body {
    --gm-sidebar-scroll-thumb: #b9c8dd;
    --gm-sidebar-scroll-track: transparent;
    --gm-sidebar-scroll-size: 6px;
}

.gm-admin-body .gm-admin-sidebar,
.gm-pengguna-body .gm-pengguna-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    overflow: hidden;
}

/* Keep sidebar static while nav area scrolls for cleaner backend UX */
.gm-admin-body .gm-admin-sidebar .gm-admin-nav,
.gm-pengguna-body .gm-pengguna-sidebar .gm-pengguna-nav {
    flex: 1 1 auto;
    min-height: 0;
    align-content: start;
    justify-content: stretch;
    grid-auto-rows: max-content;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
    padding-right: 0.14rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.gm-admin-body .gm-admin-sidebar.is-scrollable:hover .gm-admin-nav,
.gm-pengguna-body .gm-pengguna-sidebar.is-scrollable:hover .gm-pengguna-nav {
    scrollbar-width: thin;
    scrollbar-color: var(--gm-sidebar-scroll-thumb) var(--gm-sidebar-scroll-track);
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav::-webkit-scrollbar,
.gm-pengguna-body .gm-pengguna-sidebar .gm-pengguna-nav::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.gm-admin-body .gm-admin-sidebar.is-scrollable:hover .gm-admin-nav::-webkit-scrollbar,
.gm-pengguna-body .gm-pengguna-sidebar.is-scrollable:hover .gm-pengguna-nav::-webkit-scrollbar {
    width: var(--gm-sidebar-scroll-size);
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav::-webkit-scrollbar-track,
.gm-pengguna-body .gm-pengguna-sidebar .gm-pengguna-nav::-webkit-scrollbar-track {
    background: var(--gm-sidebar-scroll-track);
}

.gm-admin-body .gm-admin-sidebar .gm-admin-nav::-webkit-scrollbar-thumb,
.gm-pengguna-body .gm-pengguna-sidebar .gm-pengguna-nav::-webkit-scrollbar-thumb {
    background: var(--gm-sidebar-scroll-thumb);
    border: 1px solid transparent;
    background-clip: padding-box;
    border-radius: 999px;
}

@media (max-width: 1024px) {
    .gm-admin-body .gm-admin-sidebar,
    .gm-pengguna-body .gm-pengguna-sidebar {
        position: sticky;
        top: 0;
        height: auto;
        min-height: 0;
        max-height: 100vh;
        max-height: 100dvh;
        overflow: hidden;
    }

    .gm-admin-body .gm-admin-sidebar .gm-admin-nav,
    .gm-pengguna-body .gm-pengguna-sidebar .gm-pengguna-nav {
        max-height: calc(100vh - 96px);
        max-height: calc(100dvh - 96px);
    }
}

@media (max-width: 760px) {
    .gm-admin-body .gm-admin-sidebar.is-collapsible:not(.is-open),
    .gm-pengguna-body .gm-pengguna-sidebar.is-collapsible:not(.is-open) {
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    .gm-admin-body .gm-admin-sidebar.is-collapsible.is-open,
    .gm-pengguna-body .gm-pengguna-sidebar.is-collapsible.is-open {
        height: auto;
        min-height: 0;
        max-height: 100vh;
        max-height: 100dvh;
        overflow: hidden;
    }

    .gm-admin-body .gm-admin-sidebar.is-scrollable.is-collapsible.is-open .gm-admin-nav,
    .gm-pengguna-body .gm-pengguna-sidebar.is-scrollable.is-collapsible.is-open .gm-pengguna-nav {
        scrollbar-width: thin;
        scrollbar-color: var(--gm-sidebar-scroll-thumb) var(--gm-sidebar-scroll-track);
    }

    .gm-admin-body .gm-admin-sidebar.is-scrollable.is-collapsible.is-open .gm-admin-nav::-webkit-scrollbar,
    .gm-pengguna-body .gm-pengguna-sidebar.is-scrollable.is-collapsible.is-open .gm-pengguna-nav::-webkit-scrollbar {
        width: var(--gm-sidebar-scroll-size);
    }
}

.gm-stats-page {
    display: grid;
    gap: 1rem;
    padding-bottom: 1.25rem;
}

.gm-stats-page .gm-section {
    padding: 0;
}

.gm-stats-page .gm-section-compact-top {
    padding-top: 0;
}

.gm-stats-page .gm-section-last {
    padding-bottom: 0;
}

.gm-stats-hero {
    align-items: flex-start;
}

.gm-stats-hero-controls {
    display: grid;
    gap: 0.6rem;
    justify-items: end;
}

.gm-stats-hero-controls-label {
    margin: 0;
    font-size: 0.86rem;
    color: var(--text-soft);
    font-weight: 700;
}

.gm-stats-period-switch {
    display: inline-flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.gm-stats-period-switch .gm-btn {
    min-height: 40px;
    font-size: 0.84rem;
    padding: 0.45rem 0.9rem;
}

.gm-stats-custom-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.gm-stats-custom-modal.is-open {
    display: flex;
}

body.is-stats-custom-modal-open {
    overflow: hidden;
}

.gm-stats-custom-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(11, 22, 54, 0.46);
    backdrop-filter: blur(3px);
    cursor: pointer;
}

.gm-stats-custom-modal-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 760px);
    max-height: min(92dvh, 760px);
    overflow: auto;
    padding: 1.2rem;
    border: 1px solid #d8e5fb;
    border-radius: 26px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 24px 60px rgba(17, 45, 97, 0.18);
}

.gm-stats-custom-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.gm-stats-custom-modal-head h2 {
    margin: 0;
    font-size: 1.6rem;
}

.gm-stats-custom-modal-head p {
    margin: 0.3rem 0 0;
    color: #557094;
    line-height: 1.45;
}

.gm-stats-custom-modal-close {
    flex: 0 0 auto;
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 1px solid #d0def6;
    border-radius: 14px;
    background: #fff;
    color: #244a9f;
    font-size: 1.6rem;
    line-height: 1;
}

.gm-stats-custom-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.gm-stats-custom-modal-grid .gm-filter-field {
    min-width: 0;
}

.gm-stats-custom-modal-grid .gm-filter-field label {
    font-size: 0.84rem;
    font-weight: 700;
    color: #496485;
}

.gm-stats-custom-modal-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

.gm-stats-custom-modal-actions .gm-btn {
    min-height: 46px;
    min-width: 180px;
}

@media (max-width: 1180px) {
    .gm-stats-custom-modal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .gm-stats-custom-modal {
        padding: 0.9rem;
    }

    .gm-stats-custom-modal-panel {
        padding: 1rem;
        border-radius: 22px;
    }

    .gm-stats-custom-modal-head {
        align-items: center;
    }

    .gm-stats-custom-modal-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .gm-stats-custom-modal-actions .gm-btn {
        width: 100%;
    }
}

.gm-stats-meta {
    margin-top: 0.9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    font-size: 0.9rem;
    color: var(--text-soft);
}

.gm-stats-meta p {
    margin: 0;
}

.gm-stats-meta strong[data-stats-trend-mode] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid #d8e5fb;
    background: #f5f9ff;
    color: #1f4d91;
    font-size: 0.78rem;
}

.gm-stats-empty-message {
    margin-top: 0.7rem;
    padding: 0.75rem 0.95rem;
    border-radius: 12px;
    border: 1px solid #f0dca1;
    background: #fff8e4;
    color: #6f5a1f;
    font-weight: 600;
}

.gm-stats-empty-message.is-hidden {
    display: none;
}

.gm-stats-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.95rem;
}

.gm-stats-kpi-grid.gm-stats-kpi-grid-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-stats-kpi-card {
    background: #fff;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
}

.gm-stats-kpi-card h3 {
    margin: 0 0 0.4rem;
    font-size: 0.92rem;
    color: var(--text-soft);
}

.gm-stats-kpi-card p {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 800;
    color: #123061;
}

.gm-stats-chart-grid {
    display: grid;
    gap: 0.95rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-stats-chart-card {
    background: #fff;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
    min-height: 320px;
}

.gm-stats-chart-card h3 {
    margin: 0 0 0.75rem;
    font-size: 1rem;
}

.gm-stats-chart-empty {
    margin: 0 0 0.8rem;
    padding: 0.7rem 0.8rem;
    border-radius: 10px;
    border: 1px solid #dce6f7;
    background: #f7faff;
    color: #35507a;
    font-size: 0.86rem;
    font-weight: 600;
}

.gm-stats-chart-empty.is-hidden {
    display: none;
}

.gm-stats-chart-card canvas {
    width: 100% !important;
    height: 250px !important;
}

.gm-stats-chart-card canvas.is-hidden {
    display: none !important;
}

.gm-stats-chart-card-wide {
    grid-column: 1 / -1;
}

.gm-stats-top-media-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.gm-stats-top-media-chart-wrap {
    min-height: 360px;
}

.gm-stats-top-media-chart-wrap canvas {
    height: 360px !important;
}

.gm-stats-top-media-list-wrap {
    display: flex;
    flex-direction: column;
    min-height: 360px;
}

.gm-stats-top-media-list-wrap .gm-table-wrap {
    max-height: none;
    overflow: visible;
}

.gm-stats-top-media-list,
.gm-stats-top-contributor-list,
.gm-stats-city-list {
    width: 100%;
    table-layout: fixed;
}

.gm-stats-top-media-list td,
.gm-stats-top-media-list th {
    white-space: nowrap;
}

.gm-stats-top-media-list td:nth-child(1),
.gm-stats-top-media-list th:nth-child(1),
.gm-stats-top-contributor-list td:nth-child(1),
.gm-stats-top-contributor-list th:nth-child(1),
.gm-stats-city-list td:nth-child(1),
.gm-stats-city-list th:nth-child(1) {
    width: 56px;
    min-width: 56px;
    text-align: center;
}

.gm-stats-top-media-list td:nth-child(2),
.gm-stats-top-media-list th:nth-child(2) {
    white-space: normal;
    width: auto;
    word-break: break-word;
}

.gm-stats-top-media-list td:nth-child(3),
.gm-stats-top-media-list th:nth-child(3),
.gm-stats-top-media-list td:nth-child(4),
.gm-stats-top-media-list th:nth-child(4) {
    width: 110px;
}

.gm-stats-top-media-title-link,
.gm-stats-top-media-title-text {
    display: block;
}

.gm-stats-contributor-link {
    color: #1748b9;
    font-weight: inherit;
    text-decoration: none;
}

.gm-stats-contributor-link:hover,
.gm-stats-contributor-link:focus-visible {
    color: #0f337f;
    text-decoration: none;
}

.gm-stats-top-media-meta {
    display: none;
}

.gm-stats-top-contributor-list td,
.gm-stats-top-contributor-list th {
    white-space: nowrap;
}

.gm-stats-top-contributor-list td:nth-child(2),
.gm-stats-top-contributor-list th:nth-child(2),
.gm-stats-top-contributor-list td:nth-child(3),
.gm-stats-top-contributor-list th:nth-child(3) {
    white-space: normal;
    word-break: break-word;
}

.gm-stats-top-contributor-list td:nth-child(2),
.gm-stats-top-contributor-list th:nth-child(2) {
    width: 42%;
}

.gm-stats-top-contributor-list td:nth-child(3),
.gm-stats-top-contributor-list th:nth-child(3) {
    width: 58%;
}

.gm-stats-city-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.gm-stats-city-chart-wrap {
    min-height: 320px;
}

.gm-stats-city-chart-wrap canvas {
    height: 280px !important;
}

.gm-stats-city-list-wrap {
    display: flex;
    flex-direction: column;
}

.gm-stats-city-list-heading {
    margin: 0 0 0.6rem;
    font-size: 0.9rem;
    color: #2b4f88;
}

.gm-stats-city-list td,
.gm-stats-city-list th {
    white-space: nowrap;
}

.gm-stats-city-list td:nth-child(2),
.gm-stats-city-list th:nth-child(2) {
    white-space: normal;
    width: auto;
    word-break: break-word;
}

.gm-stats-count-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
    margin: 0 0 1rem;
}

.gm-stats-count-card {
    background: #fff;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    padding: 1rem 1.05rem;
}

.gm-stats-count-card h4 {
    margin: 0 0 0.45rem;
    font-size: 0.88rem;
    color: var(--text-soft);
    font-weight: 700;
    line-height: 1.35;
}

.gm-stats-count-card p {
    margin: 0;
    color: #173a71;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.2;
}

.gm-stats-leader-grid {
    display: grid;
    gap: 0.95rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-stats-table-card {
    background: #fff;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
}

.gm-stats-table-card h3 {
    margin: 0 0 0.75rem;
}

.gm-stats-score-note {
    margin: 0 0 0.75rem;
    color: var(--text-soft);
    font-size: 0.84rem;
}

.gm-stats-inline-chart {
    margin-bottom: 0.75rem;
    min-height: 260px;
}

.gm-stats-inline-chart canvas {
    width: 100% !important;
    height: 250px !important;
}

.gm-stats-table-card table td,
.gm-stats-table-card table th {
    white-space: nowrap;
}

.gm-stats-table-card table td:nth-child(2) {
    white-space: normal;
    min-width: 180px;
}

.gm-stats-page.is-loading {
    opacity: 0.8;
    pointer-events: none;
}

@media (max-width: 1080px) {
    .gm-stats-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gm-stats-kpi-grid.gm-stats-kpi-grid-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .gm-stats-chart-grid,
    .gm-stats-leader-grid {
        grid-template-columns: 1fr;
    }

    .gm-stats-top-media-grid,
    .gm-stats-city-grid {
        grid-template-columns: 1fr;
    }

    .gm-stats-top-media-list-wrap,
    .gm-stats-top-media-list-wrap .gm-table-wrap {
        min-height: 0;
        max-height: none;
    }

    .gm-stats-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-stats-hero-controls {
        justify-items: start;
    }

    .gm-stats-period-switch {
        justify-content: flex-start;
    }

    .gm-stats-filter-actions .gm-btn {
        width: auto;
    }

    .gm-stats-count-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .gm-stats-kpi-grid {
        grid-template-columns: 1fr;
    }

    .gm-stats-kpi-grid.gm-stats-kpi-grid-four {
        grid-template-columns: 1fr;
    }

    .gm-stats-chart-card canvas {
        height: 220px !important;
    }

    .gm-stats-top-media-chart-wrap canvas,
    .gm-stats-city-chart-wrap canvas {
        height: 240px !important;
    }
}

@media (max-width: 640px) {
    .gm-stats-top-media-list td:nth-child(1),
    .gm-stats-top-media-list th:nth-child(1) {
        width: 42px;
        min-width: 42px;
    }

    .gm-stats-top-media-list td:nth-child(2),
    .gm-stats-top-media-list th:nth-child(2) {
        width: auto;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .gm-stats-top-media-list td:nth-child(3),
    .gm-stats-top-media-list th:nth-child(3),
    .gm-stats-top-media-list td:nth-child(4),
    .gm-stats-top-media-list th:nth-child(4) {
        display: none;
    }

    .gm-stats-top-media-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        margin-top: 0.35rem;
    }

    .gm-stats-top-media-meta-item {
        display: inline-flex;
        align-items: center;
        padding: 0.1rem 0.45rem;
        border-radius: 999px;
        background: rgba(36, 84, 184, 0.12);
        color: #234b9f;
        font-size: 0.74rem;
        line-height: 1.3;
        font-weight: 600;
    }
}

.gm-home-mobile-shell {
    display: none;
}

.gm-home-media-heading-desktop {
    display: inline;
}

.gm-home-media-heading-mobile {
    display: none;
}



.gm-admin-body .gm-mobile-card-select-label,
.gm-pengguna-body .gm-mobile-card-select-label {
    display: none;
}

.gm-mobile-appbar,
.gm-mobile-bottom-nav {
    display: none;
}

@media (max-width: 768px) {
    body.gm-body {
        background: linear-gradient(180deg, #f4f7fd 0%, #edf2fb 100%);
        padding-bottom: calc(92px + env(safe-area-inset-bottom));
    }

    body.gm-body .gm-topbar,
    body.gm-body .gm-footer {
        display: none;
    }

    body.gm-body .gm-main {
        min-height: calc(100vh - 94px);
        min-height: calc(100dvh - 94px);
    }

    body.gm-body .gm-container {
        width: min(100%, calc(100vw - 1.5rem));
    }

    body.gm-body .gm-live-alert-slot,
    body.gm-body .gm-alert {
        width: min(100%, calc(100vw - 1.5rem));
        margin-left: auto;
        margin-right: auto;
    }

    body.gm-body .gm-mobile-appbar {
        display: block;
        position: sticky;
        top: 0;
        z-index: 60;
        backdrop-filter: blur(10px);
        background: rgba(247, 250, 255, 0.94);
        border-bottom: 1px solid #d6e0f0;
        box-shadow: 0 8px 18px rgba(17, 45, 95, 0.08);
    }

    body.gm-body.gm-route-home .gm-mobile-appbar {
        display: none;
    }

    body.gm-body .gm-mobile-appbar-inner {
        min-height: 60px;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.58rem;
    }

    body.gm-body .gm-mobile-appbar-brand {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 13px;
        border: 1px solid #c6d5f0;
        background: linear-gradient(145deg, #2b6cf0, #1b4fbf);
        color: #fff;
        text-decoration: none;
        overflow: hidden;
    }

    body.gm-body .gm-mobile-appbar-brand-image {
        width: auto;
        min-width: 52px;
        height: 40px;
        border: 0;
        background: transparent;
    }

    body.gm-body .gm-mobile-appbar-logo {
        height: 28px;
        width: auto;
        object-fit: contain;
    }

    body.gm-body .gm-mobile-appbar-mark {
        font-weight: 800;
        letter-spacing: 0.04em;
    }

    body.gm-body .gm-mobile-appbar-copy {
        min-width: 0;
        display: grid;
        gap: 0.08rem;
    }

    body.gm-body .gm-mobile-appbar-copy small {
        color: #5f7398;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.045em;
        line-height: 1.15;
        text-transform: uppercase;
    }

    body.gm-body .gm-mobile-appbar-copy strong {
        color: #173464;
        font-size: 0.92rem;
        line-height: 1.18;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.gm-body .gm-mobile-appbar-account {
        width: 40px;
        height: 40px;
        border-radius: 13px;
        border: 1px solid #c6d6f1;
        background: #fff;
        color: #275192;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    body.gm-body .gm-mobile-appbar-account .gm-icon {
        width: 19px;
        height: 19px;
    }

    body.gm-body .gm-mobile-bottom-nav {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 75;
        padding: 0.42rem 0.6rem calc(0.42rem + env(safe-area-inset-bottom));
        pointer-events: none;
    }

    body.gm-body .gm-mobile-bottom-nav-inner {
        pointer-events: auto;
        position: relative;
        background: #fff;
        border: 1px solid #d4def0;
        border-radius: 18px;
        box-shadow: 0 14px 30px rgba(21, 43, 89, 0.2);
        min-height: 66px;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: stretch;
        gap: 0.28rem;
        padding: 0.25rem;
    }

    body.gm-body .gm-mobile-bottom-nav-item {
        min-width: 0;
        border-radius: 14px;
        color: #7a8eae;
        text-decoration: none;
        display: grid;
        justify-items: center;
        align-content: center;
        gap: 0.22rem;
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1.1;
    }

    body.gm-body .gm-mobile-bottom-nav-icon .gm-icon {
        width: 19px;
        height: 19px;
    }

    body.gm-body .gm-mobile-bottom-nav-item.is-active {
        background: #eaf2ff;
        color: #1f57c2;
    }

    body.gm-body .gm-mobile-bottom-nav-item-center {
        margin-top: -16px;
        background: linear-gradient(145deg, #2d80f4, #1860d8);
        border: 4px solid #fff;
        color: #fff;
        box-shadow: 0 14px 24px rgba(19, 84, 194, 0.36);
    }

    body.gm-body .gm-mobile-bottom-nav-item-center.is-active {
        background: linear-gradient(145deg, #2874e4, #125acb);
        color: #fff;
    }

    body.gm-body .gm-mobile-bottom-nav-item-center .gm-mobile-bottom-nav-icon .gm-icon {
        width: 21px;
        height: 21px;
    }

    body.gm-body .gm-home-desktop-shell {
        display: none;
    }

    body.gm-body .gm-home-mobile-shell {
        display: block;
    }

    body.gm-body .gm-home-mobile-hero {
        padding: 0;
    }

    body.gm-body .gm-home-mobile-hero-card {
        background: linear-gradient(145deg, #2f86ee 0%, #2664d8 58%, #244ec1 100%);
        border-radius: 0 0 26px 26px;
        margin: 0 calc((100vw - min(100%, calc(100vw - 1.5rem))) / -2);
        padding: 0.96rem 0.75rem 1.02rem;
        box-shadow: 0 14px 24px rgba(16, 53, 139, 0.22);
    }

    body.gm-body .gm-home-mobile-hero-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.62rem;
        margin-bottom: 0.84rem;
    }

    body.gm-body .gm-home-mobile-user {
        min-width: 0;
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        align-items: center;
        gap: 0.56rem;
    }

    body.gm-body .gm-home-mobile-avatar {
        width: 48px;
        height: 48px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.2);
        border: 2px solid rgba(255, 255, 255, 0.6);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        overflow: hidden;
    }

    body.gm-body .gm-home-mobile-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.gm-body .gm-home-mobile-user-copy {
        min-width: 0;
    }

    body.gm-body .gm-home-mobile-user-copy p {
        margin: 0;
        color: rgba(227, 239, 255, 0.94);
        font-weight: 700;
        font-size: 1rem;
        line-height: 1.18;
    }

    body.gm-body .gm-home-mobile-user-copy strong {
        display: block;
        margin-top: 0.14rem;
        color: #fff;
        font-size: 0.96rem;
        line-height: 1.12;
        letter-spacing: 0.01em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.gm-body .gm-home-mobile-notify {
        flex: 0 0 auto;
        width: 40px;
        height: 40px;
        border-radius: 13px;
        border: 1px solid rgba(255, 255, 255, 0.38);
        background: rgba(255, 255, 255, 0.2);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    body.gm-body .gm-home-mobile-notify .gm-icon {
        width: 18px;
        height: 18px;
    }

    body.gm-body .gm-home-mobile-search {
        margin-top: 0;
        border: 1px solid rgba(255, 255, 255, 0.3);
        background: rgba(255, 255, 255, 0.16);
        border-radius: 15px;
        padding: 0.36rem;
        box-shadow: none;
    }

    body.gm-body .gm-home-mobile-search input {
        color: #fff;
        background: rgba(255, 255, 255, 0.14);
    }

    body.gm-body .gm-home-mobile-search input::placeholder {
        color: rgba(228, 240, 255, 0.84);
    }

    body.gm-body .gm-home-mobile-search .gm-btn {
        min-width: 98px;
        border-color: rgba(255, 255, 255, 0.28);
        background: rgba(255, 255, 255, 0.22);
        color: #fff;
        box-shadow: none;
    }

    body.gm-body.gm-route-home .gm-home-media-heading-desktop {
        display: none;
    }

    body.gm-body.gm-route-home .gm-home-media-heading-mobile {
        display: inline;
    }

    body.gm-body.gm-route-home .gm-home-shared-sections {
        padding-top: 0.28rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-section {
        padding: 0.78rem 0;
    }

    body.gm-body.gm-route-home .gm-home-desktop-section .gm-section-head {
        margin-bottom: 0.62rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-quick-section .gm-quick-grid {
        gap: 0.6rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-quick-section .gm-quick-card {
        border-radius: 16px;
        padding: 0.74rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-quick-section .gm-quick-item {
        padding: 0.52rem 0.56rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-info-section .gm-info-carousel-track {
        gap: 0.62rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-filter-section .gm-filter-panel {
        border-radius: 16px;
        padding: 0.78rem;
    }

    body.gm-body.gm-route-home .gm-home-desktop-media-section .gm-collection-card {
        border-radius: 16px;
    }

    body.gm-body .gm-home-mobile-section {
        padding: 0.8rem 0 0;
    }

    body.gm-body .gm-home-mobile-section-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.7rem;
        margin-bottom: 0.58rem;
    }

    body.gm-body .gm-home-mobile-section-head h2 {
        margin: 0;
        color: #14223d;
        font-size: 1.12rem;
    }

    body.gm-body .gm-home-mobile-section-head a {
        font-size: 0.9rem;
        font-weight: 700;
    }

    body.gm-body .gm-home-mobile-favorites-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.58rem;
    }

    body.gm-body .gm-home-mobile-favorite-item {
        border: 1px solid #d6e1f3;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 8px 20px rgba(17, 48, 113, 0.08);
        text-decoration: none;
        color: inherit;
        min-height: 104px;
        padding: 0.55rem 0.35rem;
        display: grid;
        justify-items: center;
        align-content: center;
        gap: 0.5rem;
        text-align: center;
    }

    body.gm-body .gm-home-mobile-favorite-icon {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        background: #eaf2ff;
        color: #1e59bf;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
    }

    body.gm-body .gm-home-mobile-favorite-name {
        color: #334765;
        font-size: 0.81rem;
        font-weight: 700;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.gm-body .gm-home-mobile-mission-list {
        display: grid;
        gap: 0.75rem;
    }

    body.gm-body .gm-home-mobile-mission-card {
        border: 1px solid #d4dff2;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 12px 24px rgba(18, 45, 99, 0.13);
        overflow: hidden;
    }

    body.gm-body .gm-home-mobile-mission-top {
        display: block;
        padding: 0.72rem 0.75rem;
        min-height: 142px;
        text-decoration: none;
        color: #fff;
        background: linear-gradient(145deg, #3245ad, #1b2f86);
        background-size: cover;
        background-position: center;
        position: relative;
        isolation: isolate;
    }

    body.gm-body .gm-home-mobile-mission-top::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(15, 31, 83, 0.26), rgba(12, 22, 62, 0.86));
        z-index: -1;
    }

    body.gm-body .gm-home-mobile-mission-top.is-placeholder::after {
        display: none;
    }

    body.gm-body .gm-home-mobile-mission-badge {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.38);
        background: rgba(255, 255, 255, 0.22);
        color: #fff;
        font-size: 0.74rem;
        font-weight: 700;
        padding: 0.16rem 0.55rem;
    }

    body.gm-body .gm-home-mobile-mission-top h3 {
        margin: 0.52rem 0 0;
        font-size: 1.58rem;
        line-height: 1.2;
    }

    body.gm-body .gm-home-mobile-mission-body {
        padding: 0.82rem 0.78rem 0.86rem;
        display: grid;
        gap: 0.68rem;
    }

    body.gm-body .gm-home-mobile-mission-body p {
        margin: 0;
        color: #4f6485;
        line-height: 1.44;
        font-size: 0.95rem;
    }

    body.gm-body .gm-home-mobile-mission-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.55rem;
    }

    body.gm-body .gm-home-mobile-mission-footer span {
        color: #597096;
        font-size: 0.8rem;
        font-weight: 700;
    }

    body.gm-body .gm-home-mobile-mission-footer .gm-btn {
        min-height: 42px;
        border-radius: 14px;
        padding: 0.48rem 1.05rem;
        font-size: 1rem;
    }

    body.gm-body .gm-home-mobile-info-track {
        display: flex;
        gap: 0.6rem;
        overflow-x: auto;
        padding-bottom: 0.3rem;
        scroll-snap-type: x mandatory;
    }

    body.gm-body .gm-home-mobile-info-card {
        flex: 0 0 min(84vw, 320px);
        scroll-snap-align: start;
        border: 1px solid #d9e3f4;
        border-radius: 16px;
        background: #f6f9ff;
        padding: 0.62rem 0.72rem;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        align-items: center;
        gap: 0.58rem;
        text-decoration: none;
        color: inherit;
    }

    body.gm-body .gm-home-mobile-info-icon {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        border: 1px solid #ccdbf3;
        background: #e8f1ff;
        color: #2a5fc0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    body.gm-body .gm-home-mobile-info-icon .gm-icon {
        width: 18px;
        height: 18px;
    }

    body.gm-body .gm-home-mobile-info-copy {
        min-width: 0;
        display: grid;
        gap: 0.12rem;
    }

    body.gm-body .gm-home-mobile-info-copy strong {
        color: #2b4065;
        font-size: 0.88rem;
        line-height: 1.28;
    }

    body.gm-body .gm-home-mobile-info-copy small {
        color: #6e82a3;
        font-size: 0.76rem;
        font-weight: 600;
    }

    body.gm-body:not(.gm-route-home) .gm-section {
        padding: 0.88rem 0;
    }

    body.gm-body:not(.gm-route-home) .gm-section-head {
        margin-bottom: 0.72rem;
    }

    body.gm-body:not(.gm-route-home) .gm-breadcrumb {
        display: none;
    }

    body.gm-body:not(.gm-route-home) .gm-page-hero {
        border-radius: 18px;
        padding: 0.82rem;
        gap: 0.65rem;
    }

    body.gm-body:not(.gm-route-home) .gm-page-hero h1 {
        font-size: 1.35rem;
    }

    body.gm-body:not(.gm-route-home) .gm-page-hero p {
        font-size: 0.88rem;
    }

    body.gm-body:not(.gm-route-home) .gm-page-hero-chip {
        min-width: 128px;
        border-radius: 13px;
        padding: 0.62rem 0.66rem;
    }

    body.gm-body .gm-filter-panel,
    body.gm-body .gm-detail-hero,
    body.gm-body .gm-detail-main,
    body.gm-body .gm-detail-side,
    body.gm-body .gm-review-section,
    body.gm-body .gm-info-row,
    body.gm-body .gm-info-detail,
    body.gm-body .gm-login-card,
    body.gm-body .gm-stats-kpi-card,
    body.gm-body .gm-stats-count-card,
    body.gm-body .gm-stats-chart-card {
        border-radius: 16px;
        box-shadow: 0 10px 22px rgba(18, 45, 99, 0.12);
    }

    body.gm-body .gm-detail-hero {
        margin-top: 0.2rem;
    }

    body.gm-body .gm-detail-hero h1 {
        font-size: 1.45rem;
    }

    body.gm-body .gm-detail-actions .gm-btn {
        min-height: 50px;
        font-size: 0.92rem;
    }

    body.gm-body .gm-player-wrap {
        border-radius: 16px;
        min-height: 230px;
    }

    body.gm-body .gm-review-layout {
        grid-template-columns: 1fr;
    }

    body.gm-body .gm-review-summary {
        position: static;
    }

    body.gm-body .gm-info-row {
        grid-template-columns: 1fr;
        overflow: hidden;
    }

    body.gm-body .gm-info-row-image {
        min-height: 168px;
    }

    body.gm-body .gm-info-row-body {
        padding: 0.8rem;
    }

body.gm-body .gm-info-row-body h2 {
        font-size: 1.2rem;
    }

    body.gm-body .gm-login-wrap {
        padding: 0.95rem 0;
    }

    body.gm-body .gm-login-card {
        width: 100%;
        border-radius: 18px;
        padding: 1rem 0.85rem;
    }

    body.gm-body .gm-login-card h1 {
        font-size: 1.55rem;
    }

    body.gm-body .gm-stats-page {
        gap: 0.82rem;
        padding-bottom: 0;
    }

    body.gm-body .gm-stats-page .gm-section {
        padding: 0;
    }

    body.gm-body .gm-stats-page .gm-stats-chart-grid,
    body.gm-body .gm-stats-page .gm-stats-top-media-grid,
    body.gm-body .gm-stats-page .gm-stats-city-grid {
        grid-template-columns: 1fr;
    }
}

/* Action button semantic system */
.gm-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.46rem;
    font-family: inherit;
}

.gm-action-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.02em;
    height: 1.02em;
    flex: 0 0 auto;
}

.gm-action-btn__icon .gm-icon,
.gm-action-btn__icon svg {
    width: 1em;
    height: 1em;
}

.gm-action-btn__label {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

.gm-action-btn--icon-only {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    gap: 0;
}

.gm-action-btn--icon-only .gm-action-btn__label {
    display: none;
}

.gm-admin-body .gm-action-btn--icon-only {
    border-radius: 11px;
}

.gm-action-btn:focus-visible {
    outline: 3px solid rgba(35, 86, 181, 0.3);
    outline-offset: 2px;
}

.gm-action-btn.is-action-create,
.gm-action-btn.is-action-save,
.gm-action-btn.is-action-login {
    color: #fff;
    background: #245bbb;
    border-color: #1f4fa6;
}

.gm-action-btn.is-action-create:hover,
.gm-action-btn.is-action-save:hover,
.gm-action-btn.is-action-login:hover {
    color: #fff;
    background: #1f50a5;
    border-color: #1a458f;
}

.gm-action-btn.is-action-publish,
.gm-action-btn.is-action-approve {
    color: #fff;
    background: #218754;
    border-color: #1d7548;
}

.gm-action-btn.is-action-publish:hover,
.gm-action-btn.is-action-approve:hover {
    color: #fff;
    background: #1c7548;
    border-color: #18653e;
}

.gm-action-btn.is-action-edit,
.gm-action-btn.is-action-revise {
    color: #7b4c03;
    background: #fff2dc;
    border-color: #e3ba7b;
}

.gm-action-btn.is-action-edit:hover,
.gm-action-btn.is-action-revise:hover {
    color: #653e02;
    background: #ffe9cb;
    border-color: #d8a75f;
}

.gm-action-btn.is-action-view,
.gm-action-btn.is-action-detail,
.gm-action-btn.is-action-preview,
.gm-action-btn.is-action-open {
    color: #0a5675;
    background: #e8f7ff;
    border-color: #9dd6ef;
}

.gm-action-btn.is-action-view:hover,
.gm-action-btn.is-action-detail:hover,
.gm-action-btn.is-action-preview:hover,
.gm-action-btn.is-action-open:hover {
    color: #084962;
    background: #d8f0fb;
    border-color: #86c8e3;
}

.gm-action-btn.is-action-review,
.gm-action-btn.is-action-claim {
    color: #2f4182;
    background: #eaf0ff;
    border-color: #b6c4ee;
}

.gm-action-btn.is-action-review:hover,
.gm-action-btn.is-action-claim:hover {
    color: #25356a;
    background: #dde6ff;
    border-color: #9fb2e5;
}

.gm-action-btn.is-action-unpublish,
.gm-action-btn.is-action-cancel,
.gm-action-btn.is-action-rollback {
    color: #8a4303;
    background: #fff0e1;
    border-color: #e8bd92;
}

.gm-action-btn.is-action-unpublish:hover,
.gm-action-btn.is-action-cancel:hover,
.gm-action-btn.is-action-rollback:hover {
    color: #723703;
    background: #ffe5ce;
    border-color: #dca977;
}

.gm-action-btn.is-action-delete,
.gm-action-btn.is-action-reject,
.gm-action-btn.is-action-report,
.gm-action-btn.is-action-logout {
    color: #fff;
    background: #c9374f;
    border-color: #ae2f44;
}

.gm-action-btn.is-action-delete:hover,
.gm-action-btn.is-action-reject:hover,
.gm-action-btn.is-action-report:hover,
.gm-action-btn.is-action-logout:hover {
    color: #fff;
    background: #b43046;
    border-color: #99293c;
}

.gm-action-btn.is-action-back,
.gm-action-btn.is-action-run {
    color: #f5f8ff;
    background: #697286;
    border-color: #5c6476;
}

.gm-action-btn.is-action-back:hover,
.gm-action-btn.is-action-run:hover {
    color: #fff;
    background: #5b6374;
    border-color: #525968;
}

.gm-action-btn.is-action-search,
.gm-action-btn.is-action-share {
    color: #075962;
    background: #e2f8fb;
    border-color: #93d6de;
}

.gm-action-btn.is-action-search:hover,
.gm-action-btn.is-action-share:hover {
    color: #054a52;
    background: #d3f1f6;
    border-color: #7cc5ce;
}

.gm-action-btn.is-action-bookmark {
    color: #6f5a1f;
    background: #fff4d8;
    border-color: #e9d39a;
}

.gm-action-btn.is-action-bookmark:hover {
    color: #5b4919;
    background: #fdeec8;
    border-color: #e3c980;
}

/* Alias compatibility for old modifiers */
.gm-action-btn.is-primary {
    color: #fff;
    background: #245bbb;
    border-color: #1f4fa6;
}

.gm-action-btn.is-primary:hover {
    color: #fff;
    background: #1f50a5;
    border-color: #1a458f;
}

.gm-action-btn.is-secondary {
    color: #2b3d5f;
    background: #fff;
    border-color: #c6d2eb;
}

.gm-action-btn.is-secondary:hover {
    color: #1f3257;
    background: #f4f8ff;
    border-color: #b4c6ea;
}

.gm-action-btn.is-danger {
    color: #fff;
    background: #c9374f;
    border-color: #ae2f44;
}

.gm-action-btn.is-danger:hover {
    color: #fff;
    background: #b43046;
    border-color: #99293c;
}

.gm-action-btn.is-review-action {
    color: #2f4182;
    background: #eaf0ff;
    border-color: #b6c4ee;
}

.gm-action-btn.is-review-action:hover {
    color: #25356a;
    background: #dde6ff;
    border-color: #9fb2e5;
}

.gm-action-btn.is-cancel-review {
    color: #8a4303;
    background: #fff0e1;
    border-color: #e8bd92;
}

.gm-action-btn.is-cancel-review:hover {
    color: #723703;
    background: #ffe5ce;
    border-color: #dca977;
}

.gm-action-btn.is-cancel-decision {
    color: #8d2a3f;
    background: #f9dde3;
    border-color: #da95a3;
}

.gm-action-btn.is-cancel-decision:hover {
    color: #742035;
    background: #f6d0d8;
    border-color: #ce8393;
}

/* Keep admin media row actions consistently aligned after icon-only migration */
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-primary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    gap: 0.45rem;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-primary > a,
.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-primary > form {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-media-table .gm-admin-media-actions-primary .gm-action-btn--icon-only {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
}

/* Subjects table tuning: widen action column and tighten slug column */
.gm-admin-body .gm-admin-table-shell.gm-admin-subjects-table table {
    table-layout: fixed;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-subjects-table .gm-taxonomy-col-actions {
    width: 168px;
    min-width: 168px;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-subjects-table .gm-taxonomy-col-slug {
    width: 140px;
    max-width: 140px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Info posts table tuning: widen title/category and tighten actions */
.gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table .gm-admin-info-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
}

.gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table .gm-admin-info-title-wrap > span:first-child {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (min-width: 761px) {
    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table table {
        table-layout: fixed;
        width: 100%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table th:nth-child(1),
    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table td:nth-child(1) {
        width: 6%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table th:nth-child(2),
    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table td:nth-child(2) {
        width: 36%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table th:nth-child(3),
    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table td:nth-child(3) {
        width: 20%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table th:nth-child(4),
    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table td:nth-child(4) {
        width: 10%;
    }

    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table th:nth-child(5),
    .gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table td:nth-child(5) {
        width: 18%;
        white-space: nowrap;
    }

.gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table th:nth-child(6),
.gm-admin-body .gm-admin-table-shell.gm-admin-info-posts-table td:nth-child(6) {
        width: 10%;
    }
}

.gm-contributor-profile-page {
    padding-bottom: 1.5rem;
}

.gm-contributor-profile-hero {
    display: grid;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem;
    align-items: start;
    border: 1px solid #d5e1f2;
    border-radius: 28px;
    background: linear-gradient(135deg, #eff5ff 0%, #f8fbff 52%, #eefbf5 100%);
    box-shadow: 0 18px 40px rgba(17, 45, 97, 0.08);
}

.gm-contributor-profile-identity {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.gm-contributor-profile-avatar {
    width: 88px;
    height: 88px;
    border-radius: 24px;
    overflow: hidden;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #1d54d8 0%, #3f80ff 100%);
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(29, 84, 216, 0.22);
}

.gm-contributor-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gm-contributor-profile-copy {
    min-width: 0;
    width: 100%;
}

.gm-contributor-profile-copy-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.gm-contributor-profile-copy-text {
    min-width: 0;
}

.gm-contributor-profile-copy h1 {
    margin-bottom: 0.25rem;
}

.gm-contributor-profile-copy > p:last-of-type {
    margin: 0;
    color: #4d6488;
}

.gm-contributor-profile-share {
    display: flex;
    align-items: flex-start;
    flex: 0 0 auto;
}

.gm-contributor-share-toggle {
    min-height: 46px;
}

.gm-contributor-profile-info-card {
    margin-bottom: 1.25rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid #d7e3f6;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(17, 45, 97, 0.07);
}

.gm-contributor-profile-info-head {
    margin-bottom: 0.9rem;
}

.gm-contributor-profile-info-head h2 {
    margin: 0;
    font-size: 1.45rem;
}

.gm-contributor-profile-info-table {
    width: 100%;
    border-collapse: collapse;
}

.gm-contributor-profile-info-table th,
.gm-contributor-profile-info-table td {
    padding: 0.9rem 0.95rem;
    border-bottom: 1px solid #e2eaf8;
    text-align: left;
    vertical-align: top;
}

.gm-contributor-profile-info-table tr:last-child th,
.gm-contributor-profile-info-table tr:last-child td {
    border-bottom: 0;
}

.gm-contributor-profile-info-table th {
    width: 220px;
    color: #4e668a;
    font-size: 0.9rem;
    font-weight: 700;
}

.gm-contributor-profile-info-table td {
    color: #1b2c4c;
    font-weight: 600;
}

.gm-contributor-share-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.2rem;
}

.gm-contributor-share-modal.is-open {
    display: flex;
}

body.is-contributor-share-modal-open {
    overflow: hidden;
}

.gm-contributor-share-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(11, 22, 54, 0.48);
    backdrop-filter: blur(3px);
    cursor: pointer;
}

.gm-contributor-share-modal-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 620px);
    max-height: min(90dvh, 720px);
    overflow: auto;
    padding: 1.2rem;
    border: 1px solid #d6e2f8;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 24px 56px rgba(17, 45, 97, 0.18);
}

.gm-contributor-share-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.gm-contributor-share-modal-head h2 {
    margin: 0;
    font-size: 1.45rem;
}

.gm-contributor-share-modal-head p {
    margin: 0.3rem 0 0;
    color: #5d7396;
    line-height: 1.45;
}

.gm-contributor-share-modal-close {
    flex: 0 0 auto;
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 1px solid #d0def6;
    border-radius: 14px;
    background: #fff;
    color: #244a9f;
    font-size: 1.6rem;
    line-height: 1;
}

.gm-contributor-share-modal-body {
    display: grid;
    gap: 0.75rem;
}

.gm-contributor-share-label {
    font-size: 0.86rem;
    font-weight: 700;
    color: #34527f;
}

.gm-contributor-share-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
}

.gm-contributor-share-input {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0.75rem 0.95rem;
    border: 1px solid #c9d9f4;
    border-radius: 14px;
    background: #fff;
    color: var(--text-main);
    font: inherit;
}

.gm-contributor-share-input:focus {
    outline: 2px solid rgba(29, 84, 216, 0.18);
    border-color: #2f68da;
}

.gm-contributor-share-copy {
    min-height: 46px;
    white-space: nowrap;
}

.gm-contributor-share-help {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #5d7396;
}

.gm-contributor-profile-kpis {
    margin-bottom: 1.25rem;
}

.gm-contributor-profile-section-head {
    margin-bottom: 1rem;
}

@media (max-width: 760px) {
    .gm-contributor-profile-hero {
        padding: 1.25rem;
        border-radius: 24px;
    }

    .gm-contributor-profile-identity {
        flex-direction: column;
        align-items: flex-start;
    }

    .gm-contributor-profile-copy {
        width: 100%;
    }

    .gm-contributor-profile-copy-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .gm-contributor-profile-avatar {
        width: 76px;
        height: 76px;
        border-radius: 20px;
        font-size: 1.75rem;
    }

    .gm-contributor-profile-share {
        width: 100%;
    }

    .gm-contributor-share-toggle {
        width: 100%;
    }

    .gm-contributor-profile-info-card {
        padding: 1rem;
        border-radius: 20px;
    }

    .gm-contributor-profile-info-table th,
    .gm-contributor-profile-info-table td {
        display: block;
        width: 100%;
        padding: 0.55rem 0;
    }

    .gm-contributor-profile-info-table th {
        padding-bottom: 0.15rem;
    }

    .gm-contributor-profile-info-table td {
        padding-top: 0;
    }

    .gm-contributor-share-modal {
        padding: 0.85rem;
    }

    .gm-contributor-share-modal-panel {
        padding: 1rem;
        border-radius: 20px;
    }

    .gm-contributor-share-modal-head {
        align-items: center;
    }

    .gm-contributor-share-row {
        grid-template-columns: minmax(0, 1fr);
    }
}
