/*
 * Ground Reality Times — Visual Polish v2.6.0
 * Premium national / international news brand design system.
 *
 * Principles:
 * - One authoritative rule per component.
 * - No button gradients.
 * - One disciplined red/navy palette.
 * - Readable, manually maintainable CSS.
 */

:root {
    /* Brand */
    --grt-red: #ed1c24;
    --grt-red-dark: #c8171e;
    --grt-navy-950: #03142d;
    --grt-navy-900: #071c38;
    --grt-navy-850: #09223f;
    --grt-navy-800: #0b2848;
    --grt-white: #ffffff;

    /* Typography */
    --text-primary: #ffffff;
    --text-secondary: #d7e1ec;
    --text-muted: #9eafc2;
    --text-dark: #13243a;

    /* Borders */
    --border-subtle: #183b61;
    --border-strong: #28547f;
    --border-focus: #ed1c24;

    /* Surfaces */
    --surface-page: #021126;
    --surface-primary: #03142d;
    --surface-secondary: #071c38;
    --surface-card: #081d38;
    --surface-card-strong: #0a2342;
    --surface-input: #05172e;
    --surface-success: #082c27;
    --surface-danger: #2e1118;
    --surface-warning: #132a45;

    /* Status */
    --success: #52d19a;
    --danger: #ff7a81;
    --warning: #f5b841;

    /* Spacing */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-7: 32px;
    --space-8: 40px;
    --space-9: 48px;
    --space-10: 64px;
    --space-11: 80px;

    /* Radius */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 18px;
    --radius-pill: 999px;

    /* Shadows */
    --shadow-card: 0 16px 42px rgba(0, 0, 0, 0.22);
    --shadow-header: 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 28px rgba(0, 0, 0, 0.16);
    --shadow-modal: 0 28px 80px rgba(0, 0, 0, 0.44);

    /* Layout */
    --shell-width: 1180px;
    --header-height: 82px;
}

/* ========================================================================== 
   Reset & Base
   ========================================================================== */

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--surface-page);
    color: var(--text-primary);
    font-family: Inter, "Segoe UI", Roboto, Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

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

a {
    color: inherit;
}

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

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

:focus-visible {
    outline: 3px solid rgba(237, 28, 36, 0.38);
    outline-offset: 3px;
}

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

.site-bg {
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 82% 8%, rgba(18, 64, 121, 0.28), transparent 32%),
        linear-gradient(180deg, #03142d 0%, #021126 52%, #03142d 100%);
}

.site-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.016) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.016) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: linear-gradient(to bottom, #000, transparent 85%);
    pointer-events: none;
}

.shell {
    width: min(var(--shell-width), calc(100% - 40px));
    margin-inline: auto;
}

.section {
    padding: 0;
}

.section-inner {
    padding-top: var(--space-10);
}

.section-inner--subscribe {
    padding-top: var(--space-10);
}

/* ========================================================================== 
   Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}

h1,
.page-hero h1 {
    margin-bottom: var(--space-4);
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.035em;
    text-transform: uppercase;
}

h2,
.section-title h2,
.join-copy h2 {
    font-size: 28px;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.eco-title {
    font-size: 17px;
}

.accent,
.blue,
.red {
    color: var(--grt-red);
}

.section-kicker {
    margin-bottom: var(--space-2);
    color: var(--grt-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.small,
.helper {
    color: var(--text-muted);
    font-size: 12px;
}

.center {
    text-align: center;
}

/* ========================================================================== 
   Header & Navigation
   ========================================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    background: rgba(3, 20, 45, 0.985);
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
    box-shadow: var(--shadow-header);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.topbar {
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-7);
}

.brand {
    flex: 0 0 auto;
}

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

.topbar nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.topbar nav a {
    position: relative;
    padding: 30px 0 27px;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.035em;
    white-space: nowrap;
}

.topbar nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 20px;
    height: 2px;
    background: var(--grt-red);
    transition: right 160ms ease;
}

.topbar nav a:hover::after,
.topbar nav a:focus-visible::after {
    right: 0;
}

.menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
}

/* ========================================================================== 
   Hero
   ========================================================================== */

.hero {
    min-height: 560px;
    display: grid;
    grid-template-columns: 1.03fr 0.97fr;
    align-items: center;
    gap: var(--space-8);
    padding-block: var(--space-8) var(--space-9);
}

.hero-copy {
    position: relative;
    z-index: 2;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 14px;
    border-radius: var(--radius-sm);
    background: var(--grt-red);
    color: var(--grt-white);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.055em;
}

.hero h1 {
    margin-top: var(--space-5);
}

.hero p {
    max-width: 570px;
    margin-bottom: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 1.7;
}

.values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: var(--space-7);
    max-width: 570px;
}

.value {
    min-width: 0;
    padding: 0 var(--space-4);
    text-align: center;
    border-right: 1px solid var(--border-subtle);
}

.value:first-child {
    padding-left: 0;
}

.value:last-child {
    padding-right: 0;
    border-right: 0;
}

.value b {
    display: block;
    min-height: 32px;
    color: var(--grt-red);
    font-size: 24px;
    line-height: 1;
}

.value span {
    display: block;
    margin-top: var(--space-2);
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

/* Premium newsroom hero media */
.newsroom-hero-visual {
    position: relative;
    min-height: 450px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--grt-navy-950);
    box-shadow: var(--shadow-card);
    isolation: isolate;
}

.newsroom-world {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.newsroom-hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: rgba(3, 20, 45, 0.10);
}

.newsroom-kicker {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 8px 12px;
    border-left: 4px solid var(--grt-red);
    background: rgba(3, 20, 45, 0.92);
    color: var(--text-primary);
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.newsroom-kicker span {
    color: var(--grt-red);
    font-weight: 900;
}

.newsroom-kicker strong {
    font-weight: 800;
}

.countdown-stack {
    position: absolute;
    left: 50%;
    right: auto;
    bottom: 28px;
    z-index: 4;
    width: min(345px, 82%);
    transform: translateX(-50%);
}

.countdown-card {
    padding: 16px 18px 14px;
    border: 1px solid rgba(90, 131, 177, 0.55);
    border-radius: var(--radius-md);
    background: rgba(3, 20, 45, 0.94);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.32);
    text-align: center;
    backdrop-filter: blur(7px);
}

.countdown-card h2 {
    margin-bottom: var(--space-3);
    font-size: 15px;
    letter-spacing: 0.03em;
}

.countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-2);
}

.countdown > div {
    padding: 9px 4px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: #051a35;
}

.countdown strong {
    display: block;
    font-size: 28px;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.countdown small {
    color: #c6d2df;
    font-size: 9px;
    font-weight: 700;
}

.stay {
    display: inline-block;
    margin-top: var(--space-3);
    padding: 6px 10px;
    border-radius: var(--radius-sm);
    background: var(--grt-red);
    color: var(--grt-white);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.015em;
}

/* ========================================================================== 
   Breaking News Ticker
   ========================================================================== */

.ticker {
    position: relative;
    height: 50px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    background: #06172e;
}

.ticker-label {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
    min-width: 185px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding-inline: 20px;
    background: var(--grt-red);
    color: var(--grt-white);
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.ticker-window {
    position: relative;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.ticker-track {
    display: flex;
    align-items: center;
    width: max-content;
    min-width: 100%;
    will-change: transform;
}

.ticker-track.is-ready {
    animation: grt-ticker-scroll var(--ticker-duration, 36s) linear infinite;
}

.ticker-track:hover {
    animation-play-state: paused;
}

.ticker-sequence {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 34px;
    padding-inline: 34px;
    white-space: nowrap;
}

.ticker-sequence span,
.ticker-sequence a {
    color: var(--text-primary);
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
}

.ticker-sequence a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.ticker-sequence b {
    color: var(--grt-red);
    font-size: 12px;
}

@keyframes grt-ticker-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* ========================================================================== 
   Section Titles
   ========================================================================== */

.section-title {
    max-width: 820px;
    margin: 0 auto var(--space-7);
    text-align: center;
}

.section-title h2 {
    margin-bottom: var(--space-2);
    text-transform: uppercase;
}

.section-title p {
    margin-bottom: 0;
    color: var(--text-muted);
}

/* ========================================================================== 
   Ecosystem Cards
   ========================================================================== */

.ecosystem {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
}

.eco-card {
    min-height: 430px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
    transition: transform 180ms ease, border-color 180ms ease;
}

.eco-card:hover {
    transform: translateY(-3px);
    border-color: #3d648c;
}

.eco-visual {
    height: 184px;
    flex: 0 0 184px;
    overflow: hidden;
    background: var(--surface-secondary);
}

.eco-visual.image-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.eco-title {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 var(--space-3);
    font-weight: 900;
    line-height: 1.2;
}

.eco-title i {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--grt-red);
    color: var(--grt-white);
    font-style: normal;
}

.eco-body p {
    min-height: 70px;
    margin-bottom: var(--space-5);
    color: var(--text-secondary);
    font-size: 14px;
}

/* ========================================================================== 
   Buttons
   ========================================================================== */

.btn,
.btn.red,
.btn.ghost,
button,
input[type="submit"],
input[type="button"] {
    background: var(--grt-red);
    background-image: none;
}

.btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    margin-top: auto;
    padding: 11px 17px;
    border: 1px solid var(--grt-red);
    border-radius: var(--radius-sm);
    color: var(--grt-white);
    text-decoration: none;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.btn:hover,
.btn:focus-visible,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background: var(--grt-red-dark);
    background-image: none;
    border-color: var(--grt-red-dark);
}

.btn:active {
    transform: translateY(1px);
}

.btn.ghost {
    background: transparent;
    color: var(--grt-white);
}

.btn.ghost:hover {
    background: var(--grt-red);
}

.btn.disabled,
.btn[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
}

.btn.mini {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 11px;
}

button[disabled],
.ajax-form button[disabled],
.verify-box button[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ========================================================================== 
   Feature Cards
   ========================================================================== */

.three-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.feature-card {
    position: relative;
    min-height: 355px;
    display: flex;
    overflow: hidden;
    padding: 28px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-secondary);
    box-shadow: var(--shadow-card);
    isolation: isolate;
}

.feature-card h3 {
    margin-bottom: var(--space-4);
    font-size: 20px;
    line-height: 1.08;
    text-transform: uppercase;
}

.feature-card p,
.feature-card li {
    color: var(--text-secondary);
    font-size: 14px;
}

.feature-card ul {
    margin: 0 0 var(--space-5);
    padding-left: 19px;
}

.feature-card li {
    margin-block: 7px;
}

.feature-content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.feature-image-bg {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 46%;
    height: 70%;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    opacity: 0.48;
}

.feature-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 28, 56, 0.98) 0%, rgba(7, 28, 56, 0.92) 62%, rgba(7, 28, 56, 0.56) 100%);
}

.advertise-card .feature-image-bg {
    background-image: url("../img/home/advertise.png");
}

.event-card .feature-image-bg {
    background-image: url("../img/home/event.png");
}

.newsletter-card .feature-image-bg {
    top: 22px;
    bottom: auto;
    width: 42%;
    height: 48%;
    background-image: url("../img/home/newsletter.png");
}

.newsletter-form {
    margin-top: auto;
}

/* ========================================================================== 
   Forms
   ========================================================================== */

.field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: var(--space-3);
}

.field label {
    color: #c2d1df;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.015em;
}

.field input,
.field select,
.field textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface-input);
    color: var(--text-primary);
    outline: 0;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.field textarea {
    min-height: 132px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--border-focus);
    box-shadow: 0 0 0 3px rgba(237, 28, 36, 0.12);
}

.form-grid,
.verify-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}

.form-card,
.verify-box,
.payment-box {
    padding: var(--space-6);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-secondary);
}

.verify-box,
.payment-box {
    margin-block: var(--space-6);
}

.verify-box.is-verified {
    padding: 14px 18px;
    border-color: #217a5b;
    background: var(--surface-success);
}

.verify-box.is-verified > .verify-grid,
.verify-box.is-verified > .verify-start,
.verify-box.is-verified > .otp-fields {
    display: none;
}

.verify-box.is-verified .status {
    margin: 0;
    color: var(--success);
    font-weight: 800;
}

.status {
    margin-top: 10px;
    color: var(--text-muted);
    font-size: 13px;
}

.status.ok {
    color: var(--success);
}

.status.bad {
    color: var(--danger);
    white-space: pre-wrap;
}

.success-panel,
.danger-panel,
.note {
    padding: 13px 14px;
    border-radius: var(--radius-sm);
    font-size: 13px;
}

.success-panel {
    border: 1px solid #217a5b;
    background: var(--surface-success);
}

.danger-panel {
    border: 1px solid #8e3439;
    background: var(--surface-danger);
}

.note {
    border-left: 4px solid var(--warning);
    background: var(--surface-warning);
    color: var(--text-secondary);
}

.server-error {
    overflow: auto;
    margin-top: var(--space-2);
    padding: 10px;
    border: 1px solid #8d3439;
    border-radius: var(--radius-sm);
    background: var(--surface-danger);
    color: #ffd7da;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
}

.upi-link {
    color: var(--text-secondary);
    font-size: 13px;
    word-break: break-all;
}

/* ========================================================================== 
   Careers
   ========================================================================== */

.join-panel {
    display: grid;
    grid-template-columns: 300px 1fr;
    overflow: hidden;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-secondary);
    box-shadow: var(--shadow-card);
}

.join-image {
    min-height: 520px;
    background: #071b34;
}

.join-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.86) contrast(1.03);
}

.join-copy {
    padding: 30px 34px;
}

.join-copy h2 {
    margin-bottom: var(--space-5);
    text-transform: uppercase;
}

.role-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px 22px;
}

.role {
    position: relative;
    padding: 9px 0 9px 18px;
    color: var(--text-secondary);
    font-size: 14px;
}

.role::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--grt-red);
}

.role small {
    display: block;
    margin-top: 2px;
    color: var(--text-muted);
    font-size: 11px;
}

.why {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block: var(--space-6);
}

.why > div {
    min-height: 138px;
    padding: 15px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: var(--surface-card-strong);
}

.why-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
    border-radius: 50%;
    background: var(--grt-red);
    color: var(--grt-white);
    font-size: 13px;
    font-weight: 900;
}

.why strong {
    display: block;
    margin-bottom: 5px;
    color: var(--text-primary);
    font-size: 12px;
}

.why p {
    margin: 0;
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1.45;
}

/* ========================================================================== 
   Secondary Pages & Packages
   ========================================================================== */

.page-hero {
    padding: var(--space-10) 0 var(--space-7);
}

.page-hero p {
    max-width: 820px;
    color: var(--text-secondary);
}

.packages-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.pkg {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 390px;
    padding: 24px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.pkg .tag {
    position: absolute;
    top: 14px;
    right: 14px;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    background: var(--grt-red);
    color: var(--grt-white);
    font-size: 10px;
    font-weight: 900;
}

.pkg h3 {
    margin: 12px 0 3px;
    font-size: 20px;
}

.pkg .term {
    color: var(--text-muted);
    font-weight: 800;
}

.pkg .price {
    margin: 12px 0;
    color: var(--text-primary);
    font-size: 34px;
    font-weight: 900;
}

.pkg ul {
    min-height: 150px;
    padding-left: 19px;
    color: var(--text-secondary);
}

.pkg li {
    margin-block: 8px;
}

.badge {
    display: inline-block;
    padding: 5px 9px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-pill);
    color: var(--text-secondary);
    font-size: 11px;
}

.seat-map {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-block: var(--space-5);
}

.seat-zone {
    padding: 16px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface-card-strong);
    text-align: center;
}

.seat-zone.vip {
    border-color: var(--warning);
}

.seat-zone.premium {
    border-color: var(--grt-red);
}

.divider {
    height: 1px;
    margin-block: var(--space-6);
    background: var(--border-subtle);
}

/* ========================================================================== 
   Premium Institutional Footer — v2.9.2
   ========================================================================== */

.footer-premium {
    position: relative;
    margin-top: var(--space-11);
    overflow: hidden;
    border-top: 1px solid rgba(63, 109, 153, 0.42);
    background:
        radial-gradient(circle at 90% 38%, rgba(15, 75, 124, 0.16), transparent 30%),
        linear-gradient(180deg, #03142d 0%, #021126 72%, #03142d 100%);
    isolation: isolate;
}

.footer-map {
    position: absolute;
    z-index: -1;
    top: 8px;
    right: -90px;
    width: min(42vw, 760px);
    height: 82%;
    opacity: 0.22;
    pointer-events: none;
    background:
        radial-gradient(circle, rgba(43, 111, 166, 0.62) 1.2px, transparent 1.8px) 0 0 / 11px 11px;
    -webkit-mask-image: radial-gradient(ellipse 68% 48% at 52% 43%, #000 0 62%, transparent 76%);
    mask-image: radial-gradient(ellipse 68% 48% at 52% 43%, #000 0 62%, transparent 76%);
    transform: rotate(-4deg);
}

.footer-shell {
    width: min(1760px, calc(100% - 72px));
    margin-inline: auto;
}

.footer-main-grid {
    display: grid;
    grid-template-columns: minmax(340px, 1.45fr) minmax(190px, .85fr) minmax(220px, .95fr) minmax(180px, .82fr) minmax(310px, 1.28fr);
    gap: 0;
    padding: 68px 0 50px;
}

.footer-main-grid > * {
    min-width: 0;
    padding: 0 44px;
    border-left: 1px solid rgba(51, 91, 129, 0.34);
}

.footer-main-grid > *:first-child {
    padding-left: 0;
    border-left: 0;
}

.footer-main-grid > *:last-child {
    padding-right: 0;
}

.footer-brand-link {
    display: inline-block;
    width: min(278px, 84%);
    text-decoration: none;
}

.footer-logo {
    display: block;
    width: 45%;
    height: auto;
    max-height: none;
    margin: 0 0 22px;
    object-fit: contain;
    object-position: left center;
    aspect-ratio: 625 / 270;
}

.footer-brand-copy {
    max-width: 430px;
    margin: 0 0 22px;
    color: #b9c8d8;
    font-size: 15px;
    line-height: 1.55;
}

.footer-company {
    display: grid;
    gap: 2px;
    max-width: 440px;
    padding-top: 16px;
    border-top: 1px solid rgba(81, 129, 172, 0.5);
    color: #b9c8d8;
    font-size: 13px;
    line-height: 1.45;
}

.footer-company-label {
    margin-bottom: 2px;
    color: #899fb6;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.footer-company strong {
    color: #fff;
    font-size: 14px;
}

.footer-company i {
    margin-inline: 6px;
    color: #6c86a0;
    font-style: normal;
}

.footer-corporate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: min(400px, 100%);
    min-height: 50px;
    margin-top: 16px;
    padding: 0 18px;
    border: 1px solid #5d88b1;
    border-radius: 5px;
    color: #d9ecff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .025em;
    text-decoration: none;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.footer-corporate-btn:hover {
    border-color: #fff;
    background: rgba(255,255,255,.04);
    color: #fff;
}

.footer-arrow {
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.footer-premium h3 {
    position: relative;
    margin: 7px 0 28px;
    padding-bottom: 14px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .025em;
}

.footer-premium h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 45px;
    height: 3px;
    background: var(--grt-red);
}

.footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-links li + li {
    margin-top: 14px;
}

.footer-links a,
.footer-contact a {
    color: #b8c6d5;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 150ms ease, transform 150ms ease;
}

.footer-links a:hover,
.footer-contact a:hover {
    color: #fff;
}

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.footer-socials a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(93, 136, 177, .78);
    border-radius: 50%;
    background: #071b34;
    color: #fff;
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.footer-socials a:hover {
    transform: translateY(-2px);
    border-color: #fff;
}

.footer-socials .social-youtube { background: #e7132e; border-color: #e7132e; }
.footer-socials .social-facebook { background: #1769d2; border-color: #1769d2; }
.footer-socials .social-linkedin { background: #087bb8; border-color: #087bb8; }

.footer-socials svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.footer-newsletter-block {
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid rgba(81, 129, 172, 0.5);
}

.footer-newsletter-block h3 {
    margin-top: 0;
    margin-bottom: 20px;
}

.footer-newsletter-block p {
    max-width: 360px;
    margin: 0 0 16px;
    color: #b9c8d8;
    font-size: 14px;
    line-height: 1.5;
}

.footer-newsletter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    max-width: 410px;
    margin: 0;
}

.footer-newsletter-form input {
    min-width: 0;
    height: 50px;
    padding: 0 16px;
    border: 1px solid #315d88;
    border-right: 0;
    border-radius: 5px 0 0 5px;
    outline: 0;
    background: rgba(4, 24, 47, .72);
    color: #fff;
}

.footer-newsletter-form input::placeholder {
    color: #91a6bb;
}

.footer-newsletter-form input:focus {
    border-color: #6ba2d4;
    box-shadow: inset 0 0 0 1px #6ba2d4;
}

.footer-newsletter-form button {
    min-width: 118px;
    height: 50px;
    padding: 0 18px;
    border: 1px solid var(--grt-red);
    border-radius: 0 5px 5px 0;
    background: var(--grt-red);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.footer-newsletter-form button:hover {
    background: var(--grt-red-dark);
    border-color: var(--grt-red-dark);
}

.footer-contact {
    margin: 16px 0 0;
}

.footer-bottom-wrap {
    border-top: 1px solid rgba(64, 108, 149, .48);
}

.footer-bottom {
    min-height: 74px;
    display: grid;
    grid-template-columns: auto 1fr auto 46px;
    align-items: center;
    gap: 32px;
    color: #b5c3d2;
    font-size: 12px;
}

.footer-copyright {
    white-space: nowrap;
}

.footer-values {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.footer-values i,
.footer-india i {
    display: inline-block;
    width: 1px;
    height: 18px;
    background: rgba(133, 164, 192, .58);
}

.footer-india {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.footer-to-top {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #355d84;
    border-radius: 50%;
    background: #0a2440;
    color: #fff;
    font-size: 25px;
    line-height: 1;
    text-decoration: none;
}

.footer-to-top:hover {
    border-color: #fff;
}

@media (max-width: 1450px) {
    .footer-shell {
        width: min(1320px, calc(100% - 56px));
    }

    .footer-main-grid {
        grid-template-columns: minmax(300px, 1.35fr) repeat(3, minmax(165px, .8fr)) minmax(280px, 1.15fr);
    }

    .footer-main-grid > * {
        padding-inline: 28px;
    }
}

@media (max-width: 1180px) {
    .footer-main-grid {
        grid-template-columns: 1.25fr repeat(2, 1fr);
        row-gap: 46px;
    }

    .footer-main-grid > * {
        border-left: 0;
        padding-inline: 22px;
    }

    .footer-brand-panel {
        grid-row: span 2;
        padding-left: 0 !important;
    }

    .footer-connect {
        grid-column: 2 / -1;
    }

    .footer-bottom {
        grid-template-columns: 1fr auto;
        padding: 18px 0;
        gap: 16px 24px;
    }

    .footer-values {
        justify-content: flex-start;
    }

    .footer-india {
        grid-column: 1;
    }

    .footer-to-top {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 760px) {
    .footer-shell {
        width: min(100% - 30px, 680px);
    }

    .footer-main-grid {
        grid-template-columns: 1fr 1fr;
        padding: 48px 0 38px;
    }

    .footer-main-grid > * {
        padding: 0;
    }

    .footer-brand-panel,
    .footer-connect {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .footer-brand-panel {
        padding-bottom: 8px;
    }

    .footer-logo {
        width: min(260px, 82vw);
    }

    .footer-connect {
        padding-top: 10px;
    }

    .footer-map {
        width: 90vw;
        right: -35vw;
        opacity: .13;
    }

    .footer-bottom {
        grid-template-columns: 1fr 44px;
        align-items: start;
    }

    .footer-values {
        grid-column: 1;
        flex-wrap: wrap;
        gap: 8px 12px;
        justify-content: flex-start;
    }

    .footer-india {
        grid-column: 1;
        flex-wrap: wrap;
        white-space: normal;
    }

    .footer-to-top {
        grid-column: 2;
        grid-row: 1 / span 3;
    }
}

@media (max-width: 520px) {
    .footer-main-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .footer-brand-panel,
    .footer-connect {
        grid-column: auto;
    }

    .footer-premium h3 {
        margin-bottom: 20px;
    }

    .footer-newsletter-form {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .footer-newsletter-form input,
    .footer-newsletter-form button {
        width: 100%;
        border: 1px solid #315d88;
        border-radius: 5px;
    }

    .footer-newsletter-form button {
        border-color: var(--grt-red);
    }

    .footer-bottom {
        font-size: 11px;
    }

    .footer-copyright {
        white-space: normal;
    }
}

/* ========================================================================== 
   Modal & Toast
   ========================================================================== */

.toast {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 150;
    display: none;
    max-width: 380px;
    padding: 14px 18px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface-card-strong);
    color: var(--text-primary);
    box-shadow: var(--shadow-card);
}

.toast.show {
    display: block;
}

.modal {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: none;
    place-items: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.72);
}

.modal.open {
    display: grid;
}

.modal-card {
    width: min(720px, 100%);
    max-height: 90vh;
    overflow: auto;
    padding: 25px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-secondary);
    box-shadow: var(--shadow-modal);
}

.close {
    float: right;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 27px;
    cursor: pointer;
}

/* ========================================================================== 
   Admin UI
   ========================================================================== */

.admin-shell {
    width: min(1320px, calc(100% - 32px));
    margin-inline: auto;
}

.admin-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
    padding: 20px 0;
    border-bottom: 1px solid var(--border-subtle);
}

.admin-top .identity {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-top img {
    width: 118px;
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-block: 24px;
}

.metric {
    padding: 18px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.metric strong {
    display: block;
    color: var(--grt-red);
    font-size: 30px;
}

.metric span {
    color: var(--text-muted);
    font-size: 12px;
}

.admin-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-block: 18px;
}

.admin-nav a {
    padding: 9px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    color: var(--text-primary);
    text-decoration: none;
    font-size: 12px;
}

.admin-nav a:hover {
    border-color: var(--grt-red);
}

.table-wrap {
    overflow: auto;
    margin-block: 18px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.admin-table {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--border-subtle);
    text-align: left;
    font-size: 12px;
}

.admin-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--surface-card-strong);
    color: var(--text-secondary);
}

.admin-login {
    min-height: 75vh;
    display: grid;
    place-items: center;
}

.admin-login .form-card {
    width: min(540px, 100%);
}

.publication-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.inline-form {
    display: inline-block;
    margin: 2px 4px 2px 0;
}

/* ========================================================================== 
   Responsive
   ========================================================================== */

@media (max-width: 1100px) {
    .topbar nav {
        gap: 16px;
    }

    .topbar nav a {
        font-size: 11px;
    }

    .hero {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-5);
    }

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

    .eco-card {
        min-height: 410px;
    }

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

@media (max-width: 980px) {
    :root {
        --header-height: 76px;
    }

    .topbar {
        gap: 12px;
    }

    .topbar nav {
        order: 4;
    }

    .menu-toggle {
        display: grid;
        place-items: center;
    }

    .topbar nav {
        position: absolute;
        top: calc(100% + 1px);
        left: 20px;
        right: 20px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px;
        border: 1px solid var(--border-strong);
        border-radius: var(--radius-md);
        background: rgba(3, 20, 45, 0.995);
        box-shadow: var(--shadow-card);
    }

    .topbar nav.open {
        display: flex;
    }

    .topbar nav a {
        padding: 11px 12px;
        font-size: 12px;
    }

    .topbar nav a::after {
        display: none;
    }

    .hero {
        grid-template-columns: 1fr;
        padding-top: var(--space-7);
    }

    .hero-copy {
        text-align: center;
    }

    .hero p,
    .values {
        margin-inline: auto;
    }

    .newsroom-hero-visual {
        width: min(620px, 100%);
        min-height: 480px;
        margin-inline: auto;
    }

    .countdown-stack {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    .three-grid,
    .packages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .feature-card.newsletter {
        grid-column: 1 / -1;
    }

    .join-panel {
        grid-template-columns: 1fr;
    }

    .join-image {
        height: 340px;
        min-height: 0;
    }

    .join-image img {
        object-position: center 30%;
    }

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

   .footer-grid {
        grid-template-columns: 1.5fr 1fr;
    }

    .footer-grid > section:last-child {
        grid-column: 1 / -1;
    }

    .seat-map {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .shell {
        width: min(var(--shell-width), calc(100% - 28px));
    }

    h2,
    .section-title h2,
    .join-copy h2 {
        font-size: 29px;
    }

    .ticker-label {
        min-width: 150px;
        padding-inline: 14px;
        font-size: 12px;
    }

    .ticker-sequence span,
    .ticker-sequence a {
        font-size: 13px;
    }

    .ecosystem,
    .three-grid,
    .packages-grid,
    .form-grid,
    .verify-grid {
        grid-template-columns: 1fr;
    }

    .feature-card.newsletter {
        grid-column: auto;
    }

    .eco-card {
        min-height: 0;
    }

    .eco-visual {
        height: 235px;
        flex-basis: 235px;
    }

    .eco-body p {
        min-height: 0;
    }

    .join-copy {
        padding: 24px 20px;
    }

   .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-7);
    }

    .footer-grid > section:last-child {
        grid-column: auto;
    }

    .legal {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding-block: 16px;
    }

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

@media (max-width: 520px) {
    .shell {
        width: min(var(--shell-width), calc(100% - 22px));
    }

    .brand img {
        width: 122px;
    }

    h2,
    .section-title h2,
    .join-copy h2 {
        font-size: 26px;
    }

    .hero {
        min-height: auto;
        padding-block: 24px 32px;
    }

    .hero p {
        font-size: 15px;
    }

    .values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-4) 0;
    }

    .value:nth-child(2) {
        border-right: 0;
    }

    .value:nth-child(3) {
        padding-left: 0;
    }

    .newsroom-hero-visual {
        min-height: 390px;
    }

    .newsroom-kicker {
        top: 14px;
        left: 14px;
        max-width: calc(100% - 28px);
        padding: 7px 10px;
        font-size: 10px;
    }

    .countdown-stack {
        bottom: 12px;
        width: min(340px, 94%);
    }

    .countdown-card {
        padding: 13px 12px 12px;
    }

    .countdown strong {
        font-size: 24px;
    }

    .stay {
        font-size: 10px;
    }

    .ticker {
        height: 46px;
    }

    .ticker-label {
        min-width: 126px;
        font-size: 10px;
        gap: 6px;
        padding-inline: 10px;
    }

    .ticker-sequence {
        gap: 24px;
        padding-inline: 24px;
    }

    .section-inner,
    .section-inner--subscribe {
        padding-top: var(--space-9);
    }

    .eco-visual {
        height: 210px;
        flex-basis: 210px;
    }

    .feature-card {
        min-height: 330px;
        padding: 22px;
    }

    .role-columns,
    .why {
        grid-template-columns: 1fr;
    }

    .why > div {
        min-height: 0;
    }

    .seat-map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

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

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

    .ticker-track.is-ready {
        animation: none;
        transform: none;
    }
}

/* ========================================================================== 
   Maintenance Utilities
   ========================================================================== */

.otp-fields {
    display: none;
}

.verify-grid.otp-fields {
    margin-top: 14px;
}

.admin-logo-large {
    width: 160px;
}

.spaced-card {
    margin: 20px 0;
}

.note-spaced {
    margin-top: 25px;
}

.flex-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.setup-divider {
    margin: 28px 0;
    opacity: 0.25;
}

.checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
}

/* ==========================================================================\n   v2.7.0 — GRT Commerce & Checkout Foundation\n   Preserves the v2.6.1 newsroom visual system and extends it transactionally.\n   ========================================================================== */

.header-cart {
    position: relative;
    flex: 0 0 auto;
    min-width: 78px;
    height: 44px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--text-primary);
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.045em;
    transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.header-cart:hover,
.header-cart:focus-visible {
    border-color: var(--grt-red);
    background: rgba(237, 28, 36, 0.09);
    transform: translateY(-1px);
}

.header-cart svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.cart-count {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--grt-red);
    color: #ffffff;
    font-size: 11px;
    line-height: 1;
}

.commerce-page-hero {
    padding-bottom: var(--space-7);
}

.commerce-catalogue {
    padding-bottom: var(--space-8);
}

.commerce-package-grid {
    align-items: stretch;
}

.commerce-package-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.commerce-package-card ul {
    flex: 1;
}

.commerce-package-card .btn {
    margin-top: auto;
}

.commercial-note,
.quote-notice,
.editorial-proof,
.checkout-trust {
    color: var(--text-muted);
    font-size: 12px;
    letter-spacing: .04em;
}

.commercial-note {
    margin: 18px 0;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
    font-weight: 800;
}

.product-detail-shell {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: start;
    padding-top: var(--space-7);
    padding-bottom: var(--space-8);
}

.product-visual-card,
.product-configurator,
.checkout-choice-card,
.auth-card,
.checkout-details-card,
.payment-card-pro,
.payment-state-card,
.confirmation-card,
.empty-cart-card {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.product-visual-card {
    overflow: hidden;
    position: sticky;
    top: 112px;
}

.product-visual-card > .section-kicker {
    display: inline-block;
    margin: 24px 24px 18px;
}

.product-visual-card img {
    display: block;
    width: 100%;
    height: 440px;
    object-fit: cover;
    object-position: center;
}

/* Tablet */
@media (max-width: 1024px) {
    .product-visual-card {
        position: relative;
        top: auto;
    }

    .product-visual-card img {
        height: 380px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .product-visual-card img {
        height: 320px;
    }
}

.editorial-proof {
    padding: 16px 22px 18px;
    border-top: 1px solid var(--border-subtle);
    font-weight: 800;
}

.product-configurator {
    padding: clamp(24px, 4vw, 42px);
}

.product-configurator h1 {
    margin: 10px 0 14px;
}

.product-intro {
    max-width: 62ch;
    color: var(--text-secondary);
}

.product-price {
    margin: 16px 0 24px;
    color: #ffffff;
    font-size: 34px;
    font-weight: 800;
}

.product-price small {
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 600;
}

.selection-label {
    margin: 28px 0 12px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.selection-tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.selection-tile {
    position: relative;
    display: grid;
    gap: 4px;
    min-height: 108px;
    padding: 18px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--surface-secondary);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.selection-tile:hover,
.selection-tile:has(input:checked) {
    border-color: var(--grt-red);
    transform: translateY(-1px);
}

.selection-tile input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.selection-tile strong {
    color: #ffffff;
    font-size: 20px;
}

.selection-tile small,
.selection-term {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.selection-tile:has(input:checked)::after {
    content: "✓";
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--grt-red);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.product-benefits {
    margin: 28px 0;
    padding: 22px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.025);
}

.product-benefits h3 {
    margin: 0 0 14px;
    font-size: 20px;
}

.product-benefits ul {
    margin-bottom: 0;
}

.product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.quote-notice {
    margin: 0 0 22px;
    padding: 16px 18px;
    border-left: 3px solid var(--grt-red);
    background: rgba(237,28,36,.06);
}

.quantity-control {
    display: grid;
    gap: 8px;
    max-width: 240px;
    margin-top: 24px;
}

.quantity-control label {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
}

.quantity-control input {
    height: 52px;
}

.event-benefit-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: var(--space-7);
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--border-subtle);
}

.event-benefit-strip > div {
    display: grid;
    gap: 8px;
    padding: 22px;
    background: var(--surface-card);
}

.event-benefit-strip strong {
    color: #ffffff;
    font-size: 15px;
}

.event-benefit-strip span {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.55;
}

.checkout-body {
    min-height: 100vh;
}

.checkout-header {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid var(--border-subtle);
    background: rgba(3,20,45,.98);
    backdrop-filter: blur(14px);
}

.checkout-header-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 88px;
}

.checkout-header .brand img {
    max-height: 64px;
}

.secure-label {
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
}

.checkout-return {
    justify-self: end;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 700;
}

.checkout-stepper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    padding-top: 24px;
    padding-bottom: 12px;
}

.checkout-step {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: var(--text-muted);
    font-size: 11px;
    letter-spacing: .06em;
}

.checkout-step span {
    display: grid;
    flex: 0 0 28px;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-subtle);
    border-radius: 50%;
    background: var(--surface-card);
}

.checkout-step.active,
.checkout-step.complete {
    color: #ffffff;
}

.checkout-step.active span,
.checkout-step.complete span {
    border-color: var(--grt-red);
    background: var(--grt-red);
    color: #ffffff;
}

.checkout-main {
    padding-top: 32px;
    padding-bottom: 72px;
}

.checkout-title-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    margin-bottom: 28px;
}

.checkout-title-row h1,
.auth-card h1,
.checkout-choice-card h1,
.checkout-details-card h1,
.payment-state-card h1,
.confirmation-card h1 {
    margin: 8px 0 10px;
}

.text-action {
    border: 0;
    background: transparent !important;
    color: var(--text-muted) !important;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    cursor: pointer;
}

.text-action:hover {
    color: #ffffff !important;
}

.text-action.danger:hover {
    color: var(--grt-red) !important;
}

.cart-layout,
.checkout-details-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
    gap: 28px;
    align-items: start;
}

.cart-items {
    display: grid;
    gap: 14px;
}

.cart-item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 22px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
}

.cart-item-mark {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(237,28,36,.4);
    border-radius: var(--radius-md);
    background: rgba(237,28,36,.08);
    color: #ffffff;
    font-size: 19px;
    font-weight: 900;
}

.cart-item-type {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
}

.cart-item h3 {
    margin: 4px 0 5px;
    font-size: 16px;
}

.cart-item p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
}

.cart-remove-form {
    margin-top: 8px;
}

.cart-item-price {
    display: grid;
    justify-items: end;
    gap: 4px;
    text-align: right;
}

.cart-item-price strong {
    color: #ffffff;
    font-size: 18px;
}

.cart-item-price small {
    max-width: 150px;
    color: var(--text-muted);
}

.order-summary-card {
    position: sticky;
    top: 118px;
    padding: 24px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.summary-line,
.summary-total,
.payment-fact {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.summary-line {
    padding: 13px 0;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: 13px;
}

.summary-total {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
    color: #ffffff;
    font-weight: 900;
}

.summary-total strong {
    font-size: 22px;
}

.checkout-cta {
    width: 100%;
    margin-top: 22px;
}

.checkout-trust {
    margin-top: 14px;
    text-align: center;
}

.continue-link {
    display: inline-block;
    margin-top: 8px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.empty-cart-card,
.checkout-choice-card,
.auth-card,
.payment-state-card,
.confirmation-card {
    padding: clamp(28px, 5vw, 48px);
}

.narrow-checkout,
.narrow-payment {
    max-width: 900px;
}

.auth-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.auth-choice-grid article {
    padding: 24px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.025);
}

.auth-choice-grid h2,
.checkout-details-card h2,
.payment-instructions h2 {
    margin-top: 0;
    font-size: 22px;
}

.commerce-auth-form,
.commerce-details-form {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.auth-switch {
    margin-top: 18px;
    color: var(--text-muted);
    font-size: 13px;
}

.auth-switch a {
    color: #ffffff;
    font-weight: 800;
}

.checkout-details-card {
    padding: clamp(24px, 4vw, 40px);
}

.verified-customer-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 18px;
    margin: 18px 0 26px;
    padding: 16px 18px;
    border-left: 3px solid var(--grt-red);
    background: rgba(237,28,36,.06);
}

.verified-customer-row span {
    color: var(--text-muted);
    font-size: 13px;
}

.compact-summary .mini-order-item {
    display: grid;
    gap: 4px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-subtle);
}

.mini-order-item span {
    color: var(--text-muted);
    font-size: 12px;
}

.payment-card-pro {
    padding: clamp(24px, 4vw, 42px);
}

.payment-card-pro > h1 {
    margin: 8px 0 4px;
    font-size: 36px;
}

.upi-payment-grid {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 30px;
    align-items: center;
    margin: 30px 0;
}

.upi-qr {
    display: grid;
    place-items: center;
    min-height: 300px;
    padding: 10px;
    border-radius: 12px;
    background: #ffffff;
}

.upi-qr img {
    display: block;
    max-width: 100%;
    height: auto;
}

.qr-caption {
    margin: 10px 0 0;
    color: var(--text-muted);
    text-align: center;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}

.payment-instructions {
    display: grid;
    gap: 14px;
}

.payment-fact {
    padding: 12px 0;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: 13px;
}

.payment-fact strong {
    color: #ffffff;
}

.payment-reference-form {
    display: grid;
    gap: 14px;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--border-subtle);
}

.payment-state-card,
.confirmation-card {
    text-align: center;
}

.payment-state-icon,
.confirmation-check {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border: 1px solid rgba(237,28,36,.42);
    border-radius: 50%;
    background: rgba(237,28,36,.08);
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
}

.confirmation-check {
    background: var(--grt-red);
}

.payment-state-card .payment-fact {
    max-width: 560px;
    margin: 0 auto;
}

.local-payment-tools {
    margin-top: 28px;
    padding: 18px;
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    font-size: 11px;
}

.local-payment-tools form {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.confirmation-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 28px 0;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--border-subtle);
}

.confirmation-meta div {
    display: grid;
    gap: 6px;
    padding: 18px;
    background: var(--surface-secondary);
}

.confirmation-meta span {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
}

.confirmation-items {
    max-width: 640px;
    margin: 0 auto 26px;
}

.confirmation-items > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-subtle);
    text-align: left;
}

.checkout-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 22px;
    padding-bottom: 30px;
    border-top: 1px solid var(--border-subtle);
    color: var(--text-muted);
    font-size: 12px;
}

@media (max-width: 1024px) {
    .product-detail-shell,
    .cart-layout,
    .checkout-details-layout {
        grid-template-columns: 1fr;
    }

    .product-visual-card,
    .order-summary-card {
        position: static;
    }

    .event-benefit-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .upi-payment-grid {
        grid-template-columns: 280px minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    .checkout-header-inner {
        grid-template-columns: 1fr auto;
        min-height: 76px;
    }

    .checkout-header .brand img {
        max-height: 54px;
    }

    .secure-label {
        justify-self: end;
        font-size: 10px;
    }

    .checkout-return {
        display: none;
    }

    .checkout-stepper {
        gap: 4px;
        overflow-x: auto;
    }

    .checkout-step {
        min-width: 40px;
        justify-content: center;
    }

    .checkout-step b {
        display: none;
    }

    .selection-tiles,
    .auth-choice-grid,
    .event-benefit-strip,
    .upi-payment-grid,
    .confirmation-meta {
        grid-template-columns: 1fr;
    }

    .cart-item {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .cart-item-mark {
        width: 44px;
        height: 44px;
    }

    .cart-item-price {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }

    .checkout-title-row,
    .checkout-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-actions .btn {
        width: 100%;
    }

    .upi-qr {
        min-height: 260px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .selection-tile {
        transition: none;
    }
}


/* ==========================================================================\n   v2.8.0 — Careers & Recruitment Foundation\n   ======================================================================= */
.red-text { color: var(--grt-red); }
.career-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
     gap:var(--space-8); align-items:center; min-height:620px; padding-top:var(--space-7);
     padding-bottom:var(--space-7); }
.career-hero-copy h1 { max-width:760px; margin:14px 0 22px; }
.career-hero-copy > p { max-width:720px; font-size:18px; line-height:1.75; color:var(--text-secondary);
     }
.career-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.btn.outline { background:transparent !important; color:var(--text-primary) !important;
     border:1px solid rgba(255,255,255,.2); }
.btn.outline:hover { border-color:var(--grt-red); color:#fff !important; background:rgba(237,28,36,.08) !important;
     }
.career-hero-media { margin:0; position:relative; border:1px solid var(--border-subtle);
     background:var(--surface-card); border-radius:var(--radius-lg); overflow:hidden;
     min-height:500px; }
.career-hero-media img { width:100%; height:500px; object-fit:cover; display:block;
     }
.career-hero-media figcaption { position:absolute; left:0; right:0; bottom:0; padding:24px 28px;
     background:linear-gradient(180deg,transparent,rgba(3,20,45,.97)); display:flex;
     flex-direction:column; gap:4px; }
.career-hero-media figcaption strong { letter-spacing:.08em; }
.career-hero-media figcaption span { color:var(--text-secondary); font-size:13px;
     }
.career-principles { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border-subtle);
     border-bottom:1px solid var(--border-subtle); }
.career-principles article { padding:34px 28px; border-right:1px solid var(--border-subtle);
     }
.career-principles article:last-child { border-right:0; }
.career-principles article > span { color:var(--grt-red); font-size:12px; font-weight:800;
     letter-spacing:.12em; }
.career-principles h2 { font-size:19px; margin:12px 0 8px; }
.career-principles p { margin:0; color:var(--text-secondary); line-height:1.65; font-size:14px;
     }
.career-jobs { padding-top:72px; padding-bottom:72px; }
.section-heading-row { display:flex; justify-content:space-between; gap:24px; align-items:end;
     margin-bottom:28px; }
.section-heading-row h2 { margin:7px 0 0; }
.role-count { color:var(--text-muted); font-size:13px; }
.role-count b { color:#fff; }
.career-filterbar { display:grid; grid-template-columns:minmax(260px,2fr) 1fr 1fr auto;
     gap:10px; padding:14px; border:1px solid var(--border-subtle); background:var(--surface-card);
     border-radius:var(--radius-md); margin-bottom:24px; }
.career-filterbar input,.career-filterbar select { width:100%; height:48px; border:1px solid var(--border-subtle);
     background:var(--grt-navy-950); color:#fff; border-radius:var(--radius-sm); padding:0 14px;
     }
.career-reset { border:0; background:transparent; color:var(--text-secondary); font-weight:800;
     padding:0 14px; cursor:pointer; }
.career-job-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
     }
.career-job-card { min-height:330px; display:flex; flex-direction:column; padding:26px;
     border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-card);
     transition:transform .2s ease,border-color .2s ease; }
.career-job-card:hover { transform:translateY(-2px); border-color:rgba(237,28,36,.65);
     }
.career-job-meta,.career-job-tags { display:flex; flex-wrap:wrap; gap:8px; }
.career-job-meta span { color:var(--text-muted); text-transform:uppercase; font-size:11px;
     font-weight:800; letter-spacing:.07em; }
.career-job-meta span+span:before { content:'•'; margin-right:8px; color:var(--grt-red);
     }
.career-job-card h3 { font-size:20px; line-height:1.25; margin:18px 0 12px; }
.career-job-card p { color:var(--text-secondary); line-height:1.65; margin:0 0 22px;
     }
.career-job-tags { margin-top:auto; }
.career-job-tags span { font-size:11px; color:var(--text-secondary); border:1px solid var(--border-subtle);
     padding:6px 9px; border-radius:999px; }
.career-role-link { display:inline-flex; justify-content:space-between; gap:20px;
     align-items:center; margin-top:20px; color:#fff; font-size:12px; font-weight:900;
     letter-spacing:.06em; text-decoration:none; }
.career-role-link span { color:var(--grt-red); font-size:18px; }
.career-empty,.candidate-empty { padding:50px; text-align:center; border:1px solid var(--border-subtle);
     background:var(--surface-card); border-radius:var(--radius-md); color:var(--text-secondary);
     }
.career-standards { padding-top:24px; padding-bottom:80px; }
.career-process { list-style:none; display:grid; grid-template-columns:repeat(4,1fr);
     gap:0; padding:0; margin:28px 0 20px; border:1px solid var(--border-subtle);
     border-radius:var(--radius-md); overflow:hidden; }
.career-process li { min-height:190px; padding:28px; border-right:1px solid var(--border-subtle);
     display:flex; flex-direction:column; }
.career-process li:last-child { border-right:0; }
.career-process b { color:var(--grt-red); font-size:12px; }
.career-process strong { font-size:19px; margin:20px 0 8px; }
.career-process span { color:var(--text-secondary); line-height:1.6; font-size:14px;
     }
.career-integrity-note { color:var(--text-muted); max-width:1000px; font-size:13px;
     line-height:1.7; }
.job-detail-page { padding-bottom:80px; }
.job-detail-hero { padding-top:48px; padding-bottom:42px; border-bottom:1px solid var(--border-subtle);
     }
.back-link { display:inline-block; color:var(--text-muted); font-size:12px; font-weight:800;
     letter-spacing:.06em; text-decoration:none; margin-bottom:28px; }
.job-detail-heading { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:70px;
     align-items:start; }
.job-detail-heading h1 { margin:12px 0 16px; }
.job-detail-heading > div > p { max-width:760px; color:var(--text-secondary); font-size:18px;
     line-height:1.7; }
.job-apply-card,.job-side-cta,.application-timeline-card,.application-next-card {
     border:1px solid var(--border-subtle); background:var(--surface-card); border-radius:var(--radius-md);
     padding:26px; }
.job-apply-card dl { margin:0 0 22px; }
.job-apply-card dl div { display:flex; justify-content:space-between; gap:18px; padding:12px 0;
     border-bottom:1px solid var(--border-subtle); }
.job-apply-card dt { color:var(--text-muted); font-size:11px; font-weight:800; }
.job-apply-card dd { margin:0; text-align:right; font-size:13px; }
.full { width:100%; justify-content:center; }
.job-detail-body { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:70px;
     padding-top:46px; }
.job-copy section { padding-bottom:34px; margin-bottom:34px; border-bottom:1px solid var(--border-subtle);
     }
.job-copy h2 { font-size:25px; margin:0 0 16px; }
.job-copy p,.job-copy li { color:var(--text-secondary); line-height:1.75; }
.job-copy li { margin:8px 0; }
.job-side-cta { position:sticky; top:110px; align-self:start; }
.job-side-cta strong { font-size:20px; }
.job-side-cta p { color:var(--text-secondary); line-height:1.6; }
.career-application-page { padding-top:42px; padding-bottom:80px; max-width:1120px;
     }
.application-topbar { display:flex; justify-content:space-between; align-items:center;
     }
.application-topbar a { color:var(--text-muted); font-size:12px; font-weight:800;
     text-decoration:none; }
.application-heading { margin-bottom:22px; }
.application-heading h1 { margin:9px 0 8px; }
.application-heading p { color:var(--text-secondary); }
.application-progress { display:grid; grid-template-columns:repeat(5,1fr); gap:2px;
     margin:28px 0; }
.application-progress span { padding:12px 10px; background:var(--surface-card); border-top:3px solid var(--border-subtle);
     font-size:11px; font-weight:800; color:var(--text-muted); }
.application-progress span.active { border-color:var(--grt-red); color:#fff; }
.career-application-form { border:1px solid var(--border-subtle); background:var(--surface-card);
     border-radius:var(--radius-lg); overflow:hidden; }
.application-step { display:none; padding:38px; }
.application-step.active { display:block; }
.application-step h2 { margin:8px 0 8px; }
.step-intro { color:var(--text-secondary); margin-bottom:24px; }
.verified-identity-card { display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
     background:var(--border-subtle); border:1px solid var(--border-subtle); margin-bottom:26px;
     }
.verified-identity-card div { background:var(--grt-navy-950); padding:18px; }
.verified-identity-card small { display:block; color:var(--text-muted); font-size:10px;
     font-weight:800; margin-bottom:5px; }
.verified-identity-card strong { font-size:14px; word-break:break-word; }
.role-question { margin-bottom:24px; }
.career-upload { border:1px dashed rgba(255,255,255,.3); border-radius:var(--radius-md);
     padding:26px; margin-bottom:24px; background:rgba(255,255,255,.02); }
.career-upload label { display:flex; flex-direction:column; gap:5px; margin-bottom:14px;
     }
.career-upload label span { color:var(--text-muted); font-size:12px; }
.career-upload input { color:var(--text-secondary); }
.review-notice { padding:22px; border-left:3px solid var(--grt-red); background:rgba(237,28,36,.06);
     margin-bottom:24px; }
.review-notice p { color:var(--text-secondary); line-height:1.65; margin-bottom:0;
     }
.career-consent { display:flex; gap:12px; align-items:flex-start; color:var(--text-secondary);
     line-height:1.65; }
.career-consent input { margin-top:5px; }
.application-actions { padding:20px 38px; border-top:1px solid var(--border-subtle);
     display:flex; justify-content:space-between; gap:12px; }
.application-error { margin-bottom:18px; }
.candidate-dashboard { padding-top:56px; padding-bottom:80px; }
.candidate-header { display:flex; justify-content:space-between; align-items:end;
     gap:24px; margin-bottom:28px; }
.candidate-header h1 { margin:8px 0; }
.candidate-header p { color:var(--text-secondary); }
.candidate-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
     margin:28px 0; }
.candidate-summary article { padding:24px; border:1px solid var(--border-subtle);
     background:var(--surface-card); border-radius:var(--radius-md); }
.candidate-summary strong { display:block; font-size:30px; }
.candidate-summary span { color:var(--text-muted); font-size:12px; }
.application-list { display:grid; gap:12px; }
.application-row { display:grid; grid-template-columns:minmax(0,1fr) 220px 170px;
     align-items:center; gap:22px; padding:24px; border:1px solid var(--border-subtle);
     background:var(--surface-card); border-radius:var(--radius-md); }
.application-ref { color:var(--grt-red); font-size:11px; font-weight:900; }
.application-row h2 { font-size:20px; margin:7px 0 5px; }
.application-row p { margin:0; color:var(--text-secondary); font-size:13px; }
.application-status { display:flex; flex-direction:column; gap:3px; }
.application-status small { color:var(--text-muted); font-size:10px; font-weight:800;
     }
.application-status strong { font-size:14px; }
.application-status span { color:var(--text-muted); font-size:11px; }
.application-detail { padding-top:50px; padding-bottom:80px; }
.application-detail header h1 { margin:8px 0; }
.application-detail header p { color:var(--text-secondary); }
.application-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px;
     gap:22px; margin-top:30px; }
.current-status { padding-bottom:22px; border-bottom:1px solid var(--border-subtle);
     }
.current-status small { display:block; color:var(--text-muted); font-size:10px; font-weight:800;
     }
.current-status strong { display:block; margin-top:6px; font-size:25px; }
.status-timeline { list-style:none; padding:0; margin:26px 0 0; }
.status-timeline li { position:relative; padding:0 0 28px 24px; border-left:1px solid var(--border-subtle);
     }
.status-timeline li:before { content:''; position:absolute; left:-5px; top:4px; width:9px;
     height:9px; border-radius:50%; background:var(--grt-red); }
.status-timeline b,.status-timeline span { display:block; }
.status-timeline span { color:var(--text-muted); font-size:11px; margin-top:4px; }
.status-timeline p { color:var(--text-secondary); font-size:13px; line-height:1.6;
     }
.application-next-card h2 { font-size:22px; }
.application-next-card p { color:var(--text-secondary); line-height:1.65; }
.interview-callout { padding:18px; border:1px solid rgba(237,28,36,.35); background:rgba(237,28,36,.05);
     margin-bottom:20px; }
.interview-callout strong,.interview-callout span { display:block; }
.interview-callout span { color:var(--grt-red); margin-top:5px; font-size:13px; }
.recruitment-admin .admin-actions { display:flex; gap:10px; }
.recruitment-filters { display:grid; grid-template-columns:1fr 280px auto; gap:10px;
     margin:24px 0; }
.recruitment-filters input,.recruitment-filters select { min-height:46px; background:var(--surface-card);
     color:#fff; border:1px solid var(--border-subtle); border-radius:var(--radius-sm);
     padding:0 12px; }
.recruitment-list { display:grid; gap:12px; }
.recruitment-card { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:24px;
     padding:24px; border:1px solid var(--border-subtle); background:var(--surface-card);
     border-radius:var(--radius-md); }
.recruitment-candidate span { color:var(--grt-red); font-size:11px; font-weight:900;
     }
.recruitment-candidate h2 { font-size:20px; margin:6px 0; }
.recruitment-candidate p,.recruitment-candidate small { color:var(--text-secondary);
     }
.recruitment-update { grid-column:1/-1; border-top:1px solid var(--border-subtle);
     padding-top:16px; }
.recruitment-update summary { cursor:pointer; color:#fff; font-size:12px; font-weight:900;
     }
.recruitment-update form { padding-top:18px; }

@media (max-width: 1050px) {
    .career-hero { grid-template-columns:1fr 420px; gap:32px; }
    .career-principles { grid-template-columns:repeat(2,1fr); }
    .career-principles article:nth-child(2) { border-right:0; }
    .career-principles article:nth-child(-n+2) { border-bottom:1px solid var(--border-subtle);
         }
    .career-job-grid { grid-template-columns:repeat(2,1fr); }
    .career-process { grid-template-columns:repeat(2,1fr); }
    .career-process li:nth-child(2) { border-right:0; }
    .career-process li:nth-child(-n+2) { border-bottom:1px solid var(--border-subtle);
         }
    .job-detail-heading,.job-detail-body { grid-template-columns:1fr; gap:30px; }
    .job-side-cta { position:static; }
}
@media (max-width: 760px) {
    .career-hero { grid-template-columns:1fr; min-height:0; padding-top:34px; }
    .career-hero-media,.career-hero-media img { min-height:0; height:410px; }
    .career-principles,.career-job-grid,.career-process,.candidate-summary { grid-template-columns:1fr;
         }
    .career-principles article,.career-process li { border-right:0; border-bottom:1px solid var(--border-subtle);
         }
    .career-filterbar { grid-template-columns:1fr; }
    .section-heading-row,.candidate-header { align-items:flex-start; flex-direction:column;
         }
    .application-progress { overflow-x:auto; grid-template-columns:repeat(5,minmax(120px,1fr));
         }
    .application-step { padding:24px 18px; }
    .verified-identity-card { grid-template-columns:1fr; }
    .application-actions { padding:18px; }
    .application-row { grid-template-columns:1fr; }
    .application-detail-grid { grid-template-columns:1fr; }
    .recruitment-filters,.recruitment-card { grid-template-columns:1fr; }
}

.admin-application-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.admin-application-card{padding:24px;border:1px solid var(--border-subtle);background:var(--surface-card);
    border-radius:var(--radius-md)}.admin-application-card h2{font-size:20px;margin:0 0 18px}
.admin-application-card p{color:var(--text-secondary);line-height:1.65}.admin-profile-dl{
    margin:0 0 20px}.admin-profile-dl div{display:grid;grid-template-columns:140px 1fr;
    gap:16px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.admin-profile-dl dt{
    color:var(--text-muted);font-size:10px;font-weight:800}.admin-profile-dl dd{margin:0}
.admin-answers{grid-column:1/-1}.admin-answers article{padding:18px 0;border-top:1px solid var(--border-subtle)}
.career-auth-main{padding-top:56px;padding-bottom:70px}@media(max-width:760px){.admin-application-grid{
        grid-template-columns:1fr}.admin-answers{grid-column:auto}.admin-profile-dl div{
        grid-template-columns:1fr}}


/* ========================================================================== 
   Standard content & corporate transparency
   ========================================================================== */

.legal-page {
    padding-top: var(--space-10);
    padding-bottom: var(--space-6);
}

.legal-intro {
    max-width: 900px;
    margin: 0 0 var(--space-7);
    color: var(--text-secondary);
    font-size: 17px;
    line-height: 1.8;
}

.legal-card {
    margin-top: var(--space-5);
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
}

.legal-card h2 {
    margin: 0 0 var(--space-3);
    font-size: 22px;
}

.legal-card p,
.legal-card address {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    font-style: normal;
    line-height: 1.75;
}

.legal-card p + p {
    margin-top: var(--space-3);
}

.legal-card a:not(.btn) {
    color: var(--text-primary);
    text-decoration-color: var(--grt-red);
    text-underline-offset: 3px;
}

.legal-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--grt-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.corporate-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    border-left: 4px solid var(--grt-red);
}

.cin-badge {
    min-width: 290px;
    padding: 16px 18px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--grt-navy-950);
}

.cin-badge span,
.fact-card span,
.director-grid span {
    display: block;
    margin-bottom: 6px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cin-badge strong {
    font-size: 15px;
    overflow-wrap: anywhere;
}

.corporate-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    margin-top: var(--space-5);
}

.fact-card {
    padding: 20px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.fact-card strong,
.director-grid strong {
    color: var(--text-primary);
    font-size: 15px;
}

.director-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.director-grid > div {
    padding: 18px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--grt-navy-950);
}

.legal-note {
    color: var(--text-muted) !important;
    font-size: 13px !important;
}

.legal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: var(--space-5);
}

.legal-review-note {
    margin-top: var(--space-6);
    padding: 18px 20px;
    border-left: 3px solid var(--grt-red);
    background: rgba(237, 28, 36, .06);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.7;
}

@media (min-width: 1025px) {
   .footer-grid {
        grid-template-columns: 1.7fr 1fr 1fr 1fr;
        gap: var(--space-7);
    }
}

@media (max-width: 768px) {
    .corporate-highlight {
        align-items: flex-start;
        flex-direction: column;
    }

    .cin-badge {
        width: 100%;
        min-width: 0;
    }

    .corporate-facts,
    .director-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .header-cart {
        margin-left: auto;
    }
}

@media (max-width: 520px) {
    .header-cart {
        min-width: 44px;
        width: 44px;
        padding: 0;
    }

    .header-cart-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .header-cart .cart-count {
        position: absolute;
        top: -7px;
        right: -7px;
        box-shadow: 0 0 0 3px var(--grt-navy-950);
    }
}

/* ========================================================================== 
   v2.9.1 — Home Credibility, Career Refinement & SEO Performance Layout
   ========================================================================== */

.about-section-title {
    max-width: 960px;
    margin-bottom: var(--space-6);
}

.about-section-title .section-kicker,
.career-home-title .section-kicker {
    display: block;
    margin-bottom: var(--space-2);
}

.about-section-title strong {
    color: var(--text-primary);
}

.corporate-trust-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .95fr);
    gap: var(--space-6);
    align-items: stretch;
    margin-bottom: var(--space-7);
    padding: 28px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-secondary);
    box-shadow: var(--shadow-card);
}

.corporate-trust-copy h3 {
    margin: 5px 0 var(--space-3);
    font-size: 20px;
    line-height: 1.2;
}

.corporate-trust-copy p {
    max-width: 720px;
    margin-bottom: var(--space-5);
    color: var(--text-secondary);
}

.home-corporate-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: var(--border-subtle);
}

.home-corporate-facts > div {
    min-height: 112px;
    padding: 17px;
    background: var(--surface-card-strong);
}

.home-corporate-facts dt {
    margin-bottom: 7px;
    color: var(--grt-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .11em;
}

.home-corporate-facts dd {
    margin: 0;
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.about-feature-grid {
    margin-top: 0;
}

.career-home-title {
    max-width: 900px;
}

.career-feature-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-7);
}

.career-feature-card {
    position: relative;
    min-height: 235px;
    padding: 22px 22px 20px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: var(--surface-card-strong);
}

.career-card-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
    border: 1px solid rgba(237, 28, 36, .5);
    border-radius: 50%;
    color: var(--grt-red);
    font-size: 14px;
    font-weight: 900;
}

.career-feature-card h3 {
    margin: 0 0 13px;
    color: var(--text-primary);
    font-size: 16px;
    line-height: 1.25;
    text-transform: uppercase;
}

.career-feature-card ul {
    margin: 0;
    padding-left: 18px;
}

.career-feature-card li,
.career-feature-card p {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.55;
}

.career-feature-card li + li {
    margin-top: 8px;
}

.career-feature-card strong {
    color: var(--text-primary);
}

.career-mission-card em {
    color: var(--grt-white);
    font-style: normal;
    font-weight: 900;
}

.career-opening-heading {
    margin-bottom: var(--space-4);
    padding-top: var(--space-2);
    border-top: 1px solid var(--border-subtle);
}

.career-opening-heading .section-kicker {
    display: block;
    margin-top: var(--space-4);
}

.career-opening-heading h3 {
    margin: 6px 0 0;
    color: var(--text-primary);
    font-size: 21px;
    line-height: 1.25;
}

.role-columns--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px 18px;
}

.career-integrity-copy {
    margin: var(--space-5) 0 var(--space-5);
}

@media (max-width: 1040px) {
    .corporate-trust-panel {
        grid-template-columns: 1fr;
    }

    .role-columns--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .corporate-trust-panel {
        padding: 22px;
    }

    .career-feature-cards,
    .home-corporate-facts {
        grid-template-columns: 1fr;
    }

    .home-corporate-facts > div {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .corporate-trust-panel {
        padding: 18px;
    }

    .corporate-trust-copy h3 {
        font-size: 21px;
    }

    .career-feature-card {
        min-height: 0;
        padding: 18px;
    }

    .role-columns--four {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================\n   v3.0.0 — Admin controls, AI advertising inventory, digital reader access\n   Preserves v2.9.2 visual system and product-image corrections.\n   ========================================================================== */
.admin-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 24px;
}
.admin-control-card,
.ai-planner-card,
.ad-inventory-card,
.digital-access-card {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}
.admin-control-card { padding: 24px; }
.admin-inline-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.admin-check { display:flex; gap:10px; align-items:flex-start; color:var(--text-muted);
     margin:16px 0 22px; }
.admin-check input { width:auto; margin-top:4px; }
.danger-outline { border-color:rgba(237,28,36,.55) !important; color:#fff !important;
     }
.inline-form { display:inline; }
.link-button { border:0; background:transparent; color:var(--grt-red); cursor:pointer;
     font:inherit; padding:0; }
.ai-media-planner { padding-top: 14px !important; }
.ai-planner-card { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
     gap:36px; padding:30px; }
.ai-planner-card h2 { margin-top:8px; }
.channel-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
     gap:10px; margin:14px 0 20px; }
.channel-check-grid label { border:1px solid var(--border-subtle); border-radius:8px;
     padding:12px; color:var(--text-muted); }
.channel-check-grid input { width:auto; margin-right:8px; }
.ad-channel-section { padding-top:30px !important; }
.ad-inventory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
     gap:18px; }
.ad-inventory-card { padding:22px; display:flex; flex-direction:column; min-height:100%;
     }
.ad-inventory-card h3 { font-size:22px; margin:16px 0 8px; }
.ad-inventory-card .btn { margin-top:auto; }
.ad-card-top { display:flex; align-items:flex-start; justify-content:space-between;
     gap:10px; }
.availability { font-size:11px; font-weight:800; letter-spacing:.06em; padding:7px 9px;
     border-radius:999px; border:1px solid var(--border-subtle); }
.availability.available { color:#b9f6ca; border-color:rgba(114,226,150,.35); }
.availability.limited { color:#ffe3a0; border-color:rgba(255,196,74,.35); }
.availability.hold,.availability.sold_out { color:#ffb0b5; border-color:rgba(237,28,36,.4);
     }
.inventory-spec { margin:12px 0; color:#fff; font-size:13px; line-height:1.5; }
.inventory-analytics strong { font-size:12px; letter-spacing:.08em; color:var(--text-muted);
     }
.inventory-analytics ul { padding-left:18px; color:var(--text-muted); }
.ai-fit { margin:14px 0 20px; padding:10px 12px; border-left:3px solid var(--grt-red);
     background:rgba(255,255,255,.03); font-size:12px; letter-spacing:.06em; }
.availability-panel { display:flex; justify-content:space-between; gap:16px; padding:14px 16px;
     margin:16px 0 22px; border:1px solid rgba(114,226,150,.28); border-radius:8px;
     background:rgba(114,226,150,.05); }
.digital-reader-shell { max-width:920px; }
.digital-access-card { padding:30px; }
.otp-reader-form { margin-top:20px; }
.digital-library-grid { margin-top:22px; display:grid; grid-template-columns:1fr;
     }
.digital-library-grid article { border:1px solid var(--border-subtle); border-radius:10px;
     padding:24px; background:rgba(255,255,255,.02); }
@media(max-width:980px){.admin-control-grid,.ai-planner-card{grid-template-columns:1fr}
    .ad-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ad-inventory-grid,.channel-check-grid{grid-template-columns:1fr}
    .admin-control-card,.ai-planner-card,.digital-access-card{padding:18px}.availability-panel{
        flex-direction:column}}
.ai-combination-section { padding-top: 24px !important; }
.ai-combination-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
     gap:18px; }
.ai-combination-card { border:1px solid var(--border-subtle); border-radius:var(--radius-lg);
     background:var(--surface-card); padding:22px; }
.ai-combination-card h3 { font-size:20px; margin:14px 0 8px; }
.combo-channels { color:var(--text-muted); font-size:12px; letter-spacing:.07em; margin-bottom:12px;
     }
.ai-combination-card ul { padding-left:18px; color:var(--text-muted); }
.ai-combination-card a { color:#fff; }
@media(max-width:700px){.ai-combination-grid{grid-template-columns:1fr}}

/* ==========================================================================
   v3.1.0 — Premium Unified Control Centre & My GRT Portals
   Additive only: preserves approved public newsroom, commerce and footer CSS.
   ========================================================================== */
.header-account {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-decoration: none;
    white-space: nowrap;
}
.header-account:hover { border-color: rgba(237,28,36,.6); color: #fff; }
.header-account svg { width: 17px; height: 17px; fill: currentColor; }

/* My GRT */
.mygrt-body { min-height: 100vh; background: var(--grt-navy-950); color: var(--text-primary);
     }
.mygrt-top { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid var(--border-subtle);
     background: rgba(3,20,45,.96); backdrop-filter: blur(12px); }
.mygrt-top-inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between;
     gap:24px; }
.mygrt-brand { display:flex; align-items:center; gap:18px; color:#fff; text-decoration:none;
     font-size:12px; font-weight:900; letter-spacing:.14em; }
.mygrt-brand img { width:126px; height:auto; object-fit:contain; }
.mygrt-brand span { padding-left:18px; border-left:1px solid var(--border-subtle);
     }
.mygrt-identity { display:flex; align-items:center; gap:14px; font-size:12px; }
.mygrt-identity > span { color:var(--grt-red); font-weight:900; letter-spacing:.08em;
     }
.mygrt-identity strong { color:#fff; }
.mygrt-identity a { padding:9px 12px; border:1px solid var(--border-subtle); border-radius:7px;
     color:var(--text-secondary); text-decoration:none; }
.mygrt-shell { display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px;
     padding-top:34px; padding-bottom:40px; }
.mygrt-sidebar { position:sticky; top:116px; align-self:start; border:1px solid var(--border-subtle);
     border-radius:var(--radius-lg); background:var(--surface-card); overflow:hidden;
     }
.mygrt-profile-card { display:flex; gap:12px; align-items:center; padding:20px; border-bottom:1px solid var(--border-subtle);
     }
.mygrt-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:50%;
     background:var(--grt-red); color:#fff; font-weight:900; }
.mygrt-profile-card strong,.mygrt-profile-card small { display:block; }
.mygrt-profile-card small { margin-top:3px; color:var(--text-muted); font-size:11px;
     }
.mygrt-sidebar nav { padding:10px; }
.mygrt-sidebar nav a { display:block; padding:12px 13px; margin:3px 0; border-radius:7px;
     color:var(--text-secondary); font-size:13px; font-weight:800; text-decoration:none;
     }
.mygrt-sidebar nav a:hover,.mygrt-sidebar nav a.active { color:#fff; background:rgba(237,28,36,.12);
     box-shadow:inset 3px 0 0 var(--grt-red); }
.mygrt-sidebar-note { padding:18px 20px; border-top:1px solid var(--border-subtle);
     background:rgba(255,255,255,.018); }
.mygrt-sidebar-note strong,.mygrt-sidebar-note span { display:block; }
.mygrt-sidebar-note strong { font-size:12px; color:#fff; }
.mygrt-sidebar-note span { margin-top:6px; color:var(--text-muted); font-size:11px;
     line-height:1.5; }
.mygrt-main { min-width:0; }
.mygrt-hero,.mygrt-page-head { display:flex; justify-content:space-between; align-items:flex-start;
     gap:30px; padding:28px 0 30px; border-bottom:1px solid var(--border-subtle);
     }
.mygrt-hero h1,.mygrt-page-head h1 { margin:8px 0 10px; font-size:36px; line-height:1.08;
     color:#fff; }
.mygrt-hero p,.mygrt-page-head p { max-width:760px; margin:0; color:var(--text-secondary);
     line-height:1.65; }
.mygrt-id-card { min-width:240px; padding:20px; border:1px solid rgba(237,28,36,.38);
     border-radius:12px; background:linear-gradient(145deg,rgba(237,28,36,.08),rgba(255,255,255,.02));
     }
.mygrt-id-card small,.mygrt-id-card strong,.mygrt-id-card span { display:block; }
.mygrt-id-card small { color:var(--text-muted); font-size:10px; font-weight:900; letter-spacing:.12em;
     }
.mygrt-id-card strong { margin:8px 0; color:#fff; font-size:22px; letter-spacing:.08em;
     }
.mygrt-id-card span { color:#a9e7be; font-size:10px; font-weight:900; letter-spacing:.08em;
     }
.mygrt-stat-grid,.advertiser-kpi-grid,.subscriber-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
     gap:14px; margin:24px 0; }
.subscriber-summary,.advertiser-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr));
     }
.mygrt-stat-grid article,.advertiser-kpi-grid article,.subscriber-summary article {
     padding:20px; border:1px solid var(--border-subtle); border-radius:10px; background:var(--surface-card);
     }
.mygrt-stat-grid span,.advertiser-kpi-grid span,.subscriber-summary span { display:block;
     color:var(--text-muted); font-size:10px; font-weight:900; letter-spacing:.1em;
     }
.mygrt-stat-grid strong,.advertiser-kpi-grid strong,.subscriber-summary strong { display:block;
     margin:8px 0 5px; font-size:28px; color:#fff; }
.mygrt-stat-grid a { color:var(--text-secondary); font-size:11px; text-decoration:none;
     }
.mygrt-stat-grid a:hover { color:#fff; }
.mygrt-section { padding:30px 0; border-top:1px solid var(--border-subtle); }
.mygrt-section-head { display:flex; justify-content:space-between; align-items:end;
     gap:20px; margin-bottom:18px; }
.mygrt-section-head h2 { margin:6px 0 0; color:#fff; font-size:26px; }
.mygrt-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
     gap:16px; }
.mygrt-service-grid > a { min-height:190px; padding:24px; border:1px solid var(--border-subtle);
     border-radius:12px; background:var(--surface-card); text-decoration:none; transition:transform .2s ease,border-color .2s ease;
     }
.mygrt-service-grid > a:hover { transform:translateY(-2px); border-color:rgba(237,28,36,.48);
     }
.mygrt-service-grid span { color:var(--grt-red); font-size:10px; font-weight:900;
     letter-spacing:.1em; }
.mygrt-service-grid h3 { margin:13px 0 8px; color:#fff; font-size:20px; }
.mygrt-service-grid p { color:var(--text-secondary); line-height:1.6; }
.mygrt-service-grid b { display:block; margin-top:18px; color:#fff; font-size:11px;
     }
.mygrt-empty,.reader-gate { padding:34px; border:1px dashed var(--border-subtle);
     border-radius:12px; background:rgba(255,255,255,.018); text-align:center; }
.mygrt-empty h3,.reader-gate h2 { color:#fff; }
.mygrt-empty p,.reader-gate p { color:var(--text-secondary); }
.subscription-record-grid,.address-grid,.report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
     gap:16px; }
.subscription-record-grid article,.address-grid article,.report-grid article { padding:22px;
     border:1px solid var(--border-subtle); border-radius:11px; background:var(--surface-card);
     }
.record-top { display:flex; justify-content:space-between; align-items:center; color:var(--text-muted);
     font-size:10px; font-weight:900; letter-spacing:.08em; }
.subscription-record-grid h3 { margin:15px 0 17px; color:#fff; font-size:20px; }
.subscription-record-grid dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
     gap:14px; margin:0 0 18px; }
.subscription-record-grid dt { color:var(--text-muted); font-size:9px; font-weight:900;
     letter-spacing:.09em; }
.subscription-record-grid dd { margin:4px 0 0; color:#fff; font-size:12px; }
.status-chip { display:inline-flex; align-items:center; width:max-content; padding:5px 8px;
     border:1px solid var(--border-subtle); border-radius:999px; font-size:9px; font-weight:900;
     letter-spacing:.07em; }
.status-chip.success { color:#aef0c0; border-color:rgba(91,211,124,.35); background:rgba(91,211,124,.06);
     }
.status-chip.muted { color:var(--text-muted); }
.address-grid article > span { color:var(--grt-red); font-size:9px; font-weight:900;
     letter-spacing:.1em; }
.address-grid article > strong { display:block; margin:10px 0 6px; color:#fff; }
.address-grid p { margin:0; color:var(--text-secondary); line-height:1.6; }
.mygrt-table-wrap { overflow:auto; border:1px solid var(--border-subtle); border-radius:10px;
     }
.mygrt-table { width:100%; border-collapse:collapse; min-width:760px; }
.mygrt-table th { padding:13px 15px; text-align:left; color:var(--text-muted); font-size:9px;
     letter-spacing:.1em; background:rgba(255,255,255,.025); }
.mygrt-table td { padding:15px; border-top:1px solid var(--border-subtle); color:var(--text-secondary);
     font-size:12px; }
.advertiser-profile-form { padding:24px; border:1px solid var(--border-subtle); border-radius:12px;
     background:var(--surface-card); }
.campaign-list { display:grid; gap:10px; }
.campaign-list article { display:flex; justify-content:space-between; gap:20px; padding:19px 21px;
     border:1px solid var(--border-subtle); border-radius:10px; background:var(--surface-card);
     }
.campaign-list h3 { margin:7px 0 5px; color:#fff; }
.campaign-list p { margin:0; color:var(--text-muted); font-size:12px; }
.campaign-list article > div:last-child { text-align:right; }
.campaign-list small { color:var(--text-muted); font-size:9px; letter-spacing:.1em;
     }
.campaign-list strong { display:block; margin-top:5px; color:#fff; font-size:11px;
     }
.reader-lock { width:64px; height:64px; margin:0 auto 18px; display:grid; place-items:center;
     border-radius:50%; background:var(--grt-red); color:#fff; font-weight:900; }
.reader-gate { max-width:760px; margin:34px auto; padding:42px; }
.reader-otp-send,.reader-otp-form { max-width:620px; margin:18px auto 0; }
.reader-library { padding:30px 0; }
.reader-library-head { display:flex; justify-content:space-between; align-items:end;
     gap:20px; margin-bottom:20px; }
.reader-library-head h2 { margin:6px 0 0; color:#fff; font-size:28px; }
.reader-access-badge { color:#afe8bf; font-size:10px; font-weight:900; letter-spacing:.09em;
     }
.issue-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
     gap:18px; }
.issue-card { overflow:hidden; border:1px solid var(--border-subtle); border-radius:12px;
     background:var(--surface-card); }
.issue-cover { height:330px; display:grid; place-items:center; background:#06182f;
     overflow:hidden; }
.issue-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.issue-cover-placeholder { text-align:center; }
.issue-cover-placeholder strong { display:block; color:#fff; font-size:54px; }
.issue-cover-placeholder span { color:var(--grt-red); font-size:10px; font-weight:900;
     letter-spacing:.13em; }
.issue-body { padding:19px; }
.issue-body > span { color:var(--grt-red); font-size:9px; font-weight:900; letter-spacing:.1em;
     }
.issue-body h3 { margin:10px 0 8px; color:#fff; font-size:18px; }
.issue-body p { color:var(--text-muted); font-size:12px; line-height:1.55; }
.mygrt-footer { display:flex; justify-content:space-between; gap:20px; padding:22px 0 30px;
     border-top:1px solid var(--border-subtle); color:var(--text-muted); font-size:11px;
     }

/* Control Centre */
.grt-admin-body { min-height:100vh; background:#020d1d; color:#eaf0f8; }
.grt-admin-app { min-height:100vh; display:grid; grid-template-columns:260px minmax(0,1fr);
     }
.grt-admin-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column;
     border-right:1px solid rgba(255,255,255,.08); background:#03142d; overflow:auto;
     }
.grt-admin-brand { display:block; padding:22px 24px 18px; border-bottom:1px solid rgba(255,255,255,.08);
     color:#fff; text-decoration:none; }
.grt-admin-brand img { display:block; width:132px; height:auto; object-fit:contain;
     }
.grt-admin-brand span { display:block; margin-top:12px; color:#8fa2bb; font-size:9px;
     font-weight:900; letter-spacing:.16em; }
.grt-admin-profile { display:flex; gap:11px; align-items:center; padding:18px 20px;
     border-bottom:1px solid rgba(255,255,255,.07); }
.admin-avatar { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center;
     border-radius:50%; background:#ed1c24; color:#fff; font-weight:900; }
.grt-admin-profile strong,.grt-admin-profile small { display:block; }
.grt-admin-profile strong { font-size:12px; }
.grt-admin-profile small { margin-top:3px; color:#7f93ad; font-size:10px; }
.grt-admin-menu { padding:13px 11px; flex:1; }
.grt-admin-menu a { display:block; margin:2px 0; padding:11px 13px; border-radius:7px;
     color:#92a4bc; text-decoration:none; font-size:12px; font-weight:800; }
.grt-admin-menu a:hover,.grt-admin-menu a.active { color:#fff; background:rgba(237,28,36,.12);
     box-shadow:inset 3px 0 0 #ed1c24; }
.grt-admin-sidebar-foot { padding:14px 20px 20px; border-top:1px solid rgba(255,255,255,.07);
     }
.grt-admin-sidebar-foot a { display:block; padding:7px 0; color:#8296af; text-decoration:none;
     font-size:11px; }
.grt-admin-main { min-width:0; padding:0 30px 40px; }
.grt-admin-topbar { min-height:102px; display:flex; align-items:center; justify-content:space-between;
     gap:20px; border-bottom:1px solid rgba(255,255,255,.08); }
.grt-admin-topbar .eyebrow,.admin-module-intro .eyebrow,.admin-data-card .eyebrow,.admin-form-card .eyebrow,.admin-welcome .eyebrow {
     color:#ed1c24; font-size:9px; font-weight:900; letter-spacing:.13em; }
.grt-admin-topbar h1 { margin:6px 0 0; color:#fff; font-size:27px; }
.admin-security-pill { padding:8px 10px; border:1px solid rgba(89,213,123,.25); border-radius:999px;
     color:#9fe0b1; font-size:9px; font-weight:900; letter-spacing:.08em; }
.admin-welcome,.admin-module-intro { display:flex; justify-content:space-between;
     gap:30px; align-items:flex-start; padding:28px 0 22px; }
.admin-welcome h2,.admin-module-intro h2 { margin:7px 0 7px; color:#fff; font-size:25px;
     }
.admin-welcome p,.admin-module-intro p,.admin-help { margin:0; max-width:760px; color:#8498b1;
     font-size:12px; line-height:1.6; }
.admin-date-card { min-width:210px; padding:16px 18px; border:1px solid rgba(255,255,255,.08);
     border-radius:10px; background:#071c38; }
.admin-date-card small,.admin-date-card strong,.admin-date-card span { display:block;
     }
.admin-date-card small { color:#7f93ad; font-size:9px; letter-spacing:.1em; }
.admin-date-card strong { margin:6px 0; color:#fff; }
.admin-date-card span { color:#8fa2bb; font-size:10px; }
.admin-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
     gap:12px; margin-bottom:22px; }
.admin-metric-grid article { padding:18px; border:1px solid rgba(255,255,255,.08);
     border-radius:10px; background:#071c38; }
.admin-metric-grid span { color:#7f93ad; font-size:8px; font-weight:900; letter-spacing:.1em;
     }
.admin-metric-grid strong { display:block; margin:8px 0 4px; color:#fff; font-size:27px;
     }
.admin-metric-grid small { color:#667c98; font-size:9px; }
.admin-dashboard-grid,.admin-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
     gap:18px; }
.admin-data-card,.admin-form-card,.admin-permission-panel { padding:22px; border:1px solid rgba(255,255,255,.08);
     border-radius:11px; background:#071c38; }
.admin-data-card h2,.admin-form-card h2,.admin-permission-panel h2 { margin:7px 0 16px;
     color:#fff; font-size:19px; }
.admin-card-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start;
     }
.admin-card-head a { color:#8fa2bb; font-size:10px; text-decoration:none; }
.admin-record-list,.admin-activity-list,.admin-user-list { display:grid; gap:8px;
     }
.admin-record-list article,.admin-user-list article { display:flex; justify-content:space-between;
     align-items:center; gap:16px; padding:13px 0; border-top:1px solid rgba(255,255,255,.065);
     }
.admin-record-list article:first-child,.admin-user-list article:first-child { border-top:0;
     }
.admin-record-list strong,.admin-record-list small { display:block; }
.admin-record-list small { margin-top:4px; color:#7f93ad; font-size:9px; }
.admin-order-meta { text-align:right; }
.admin-order-meta > strong { margin-bottom:5px; }
.admin-activity-list article { display:flex; gap:11px; padding:10px 0; border-top:1px solid rgba(255,255,255,.055);
     }
.activity-dot { flex:0 0 7px; width:7px; height:7px; margin-top:5px; border-radius:50%;
     background:#6c85a4; }
.activity-dot.success { background:#6fcf8f; }.activity-dot.danger { background:#ed1c24;
     }
.admin-activity-list strong,.admin-activity-list small { display:block; }
.admin-activity-list strong { color:#dfe8f4; font-size:11px; }
.admin-activity-list small { margin-top:4px; color:#667c98; font-size:9px; }
.admin-empty { padding:25px 8px; color:#6f849f; font-size:11px; text-align:center;
     }
.admin-notice { margin:20px 0 0; padding:12px 14px; border:1px solid rgba(237,28,36,.3);
     border-radius:8px; background:rgba(237,28,36,.08); color:#fff; font-size:11px;
     }
.admin-action-btn,.admin-primary { display:inline-flex; align-items:center; justify-content:center;
     min-height:38px; padding:0 15px; border:1px solid #ed1c24; border-radius:7px;
     background:transparent; color:#fff; font:inherit; font-size:10px; font-weight:900;
     letter-spacing:.05em; text-decoration:none; cursor:pointer; }
.admin-primary { background:#ed1c24; }
.admin-search-bar { display:flex; gap:10px; margin:0 0 18px; }
.admin-search-bar input { flex:1; min-width:0; }
.admin-search-bar button { padding:0 18px; border:0; border-radius:7px; background:#ed1c24;
     color:#fff; font-weight:900; }
.admin-table.premium td strong,.admin-table.premium td small { display:block; }
.admin-table.premium td small { margin-top:4px; color:#71869f; }
.admin-status { display:inline-flex; padding:5px 8px; border:1px solid rgba(255,255,255,.1);
     border-radius:999px; color:#95a8bd; font-size:8px; font-weight:900; letter-spacing:.07em;
     }
.admin-status.active,.admin-status.paid { color:#a9e9bb; border-color:rgba(94,211,126,.28);
     }.admin-status.draft,.admin-status.pending { color:#a2b2c5; }.admin-status.warning {
     color:#ffd78b; border-color:rgba(255,190,71,.3); }
.admin-record-list h3 { margin:6px 0 3px; color:#fff; font-size:14px; }
.admin-row-actions { display:flex; align-items:center; gap:8px; }
.admin-row-actions form { margin:0; }
.admin-row-actions a,.admin-row-actions button { border:0; background:none; color:#93a6bd;
     font:inherit; font-size:9px; cursor:pointer; text-decoration:none; }
.admin-row-actions .danger { color:#ff8d94; }
.admin-check { min-height:42px; align-items:center; }
.admin-users-layout { margin-bottom:20px; }
.admin-user-id { display:flex; align-items:center; gap:11px; }
.admin-user-id strong,.admin-user-id small { display:block; }
.admin-user-id small { margin-top:3px; color:#6f849f; font-size:9px; }
.admin-user-state { display:flex; gap:5px; }
.admin-user-list article > a { color:#9cafc3; font-size:9px; text-decoration:none;
     }
.admin-permission-panel { margin-top:18px; }
.permission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;
     margin:20px 0; }
.permission-card { display:flex; gap:11px; padding:13px; border:1px solid rgba(255,255,255,.08);
     border-radius:8px; background:rgba(255,255,255,.018); cursor:pointer; }
.permission-card input { width:auto; margin-top:3px; }
.permission-card strong,.permission-card small { display:block; }
.permission-card strong { color:#eaf0f8; font-size:10px; }
.permission-card small { margin-top:4px; color:#71869f; font-size:9px; line-height:1.4;
     }
.admin-super-note { margin:18px 0; padding:13px; border-left:3px solid #ed1c24; background:rgba(237,28,36,.07);
     color:#dce6f2; font-size:11px; }
.admin-form-actions { margin-top:15px; }
.unlock-form { margin-top:10px; }
.audit-list { max-height:650px; overflow:auto; padding-right:5px; }

@media (max-width:1180px) {
    .admin-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .permission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .issue-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .header-account span { display:none; }
}
@media (max-width:900px) {
    .grt-admin-app { grid-template-columns:1fr; }
    .grt-admin-sidebar { position:relative; height:auto; }
    .grt-admin-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
         }
    .grt-admin-sidebar-foot { display:flex; gap:20px; }
    .mygrt-shell { grid-template-columns:1fr; }
    .mygrt-sidebar { position:relative; top:auto; }
    .mygrt-sidebar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
         }
    .mygrt-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-dashboard-grid,.admin-two-col { grid-template-columns:1fr; }
}
@media (max-width:680px) {
    .grt-admin-main { padding:0 16px 28px; }
    .grt-admin-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grt-admin-topbar,.admin-welcome,.admin-module-intro,.mygrt-hero,.mygrt-page-head,.mygrt-top-inner {
         flex-direction:column; align-items:flex-start; }
    .grt-admin-topbar { padding:18px 0; }
    .admin-date-card,.mygrt-id-card { width:100%; min-width:0; }
    .admin-metric-grid,.permission-grid,.mygrt-stat-grid,.subscriber-summary,.advertiser-kpi-grid,.mygrt-service-grid,.subscription-record-grid,.address-grid,.report-grid,.issue-library-grid {
         grid-template-columns:1fr; }
    .mygrt-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mygrt-identity { flex-wrap:wrap; }
    .campaign-list article,.reader-library-head,.mygrt-footer { flex-direction:column;
         }
    .campaign-list article > div:last-child { text-align:left; }
    .issue-cover { height:390px; }
}
.youtube-account-card { display:flex; justify-content:space-between; align-items:center;
     gap:24px; padding:22px; border:1px solid var(--border-subtle); border-radius:11px;
     background:var(--surface-card); }
.youtube-account-card span { color:var(--grt-red); font-size:9px; font-weight:900;
     letter-spacing:.1em; }
.youtube-account-card h3 { margin:8px 0 7px; color:#fff; font-size:18px; }
.youtube-account-card p { margin:0; max-width:720px; color:var(--text-secondary);
     font-size:12px; line-height:1.55; }
@media(max-width:680px){.youtube-account-card{flex-direction:column;align-items:flex-start}
    }
.admin-inventory-list { display:grid; gap:9px; }
.admin-inventory-list article { display:flex; justify-content:space-between; gap:18px;
     padding:15px 0; border-top:1px solid rgba(255,255,255,.065); }
.admin-inventory-list article:first-child { border-top:0; }
.inventory-admin-tags { display:flex; gap:7px; align-items:center; }
.inventory-admin-tags > span:first-child { color:#ed1c24; font-size:8px; font-weight:900;
     letter-spacing:.1em; }
.admin-inventory-list h3 { margin:7px 0 4px; color:#fff; font-size:14px; }
.admin-inventory-list p { margin:0 0 4px; color:#8598b0; font-size:10px; }
.admin-inventory-list small { color:#647a96; font-size:9px; }
@media(max-width:680px){.admin-inventory-list article{flex-direction:column}.admin-row-actions{
        flex-wrap:wrap}}
.recruitment-search select { min-width:190px; }
.recruitment-premium-list { display:grid; gap:11px; }
.recruitment-premium-card { display:grid; grid-template-columns:minmax(0,1.25fr) 220px minmax(260px,.85fr);
     gap:20px; align-items:start; padding:20px; border:1px solid rgba(255,255,255,.08);
     border-radius:11px; background:#071c38; }
.recruitment-person h2 { margin:7px 0 4px; color:#fff; font-size:18px; }
.recruitment-person p { margin:0 0 4px; color:#93a5bb; font-size:11px; }
.recruitment-person small { display:block; color:#657b97; font-size:9px; }
.recruitment-person a { display:inline-block; margin-top:12px; color:#fff; font-size:9px;
     font-weight:900; text-decoration:none; }
.recruitment-stage { padding:12px 14px; border-left:2px solid #ed1c24; background:rgba(255,255,255,.02);
     }
.recruitment-stage small,.recruitment-stage strong,.recruitment-stage span { display:block;
     }
.recruitment-stage small { color:#7388a1; font-size:8px; letter-spacing:.1em; }
.recruitment-stage strong { margin:6px 0; color:#fff; font-size:11px; }
.recruitment-stage span { color:#657b97; font-size:9px; }
.recruitment-workflow summary { color:#ed1c24; font-size:9px; font-weight:900; letter-spacing:.08em;
     cursor:pointer; }
.recruitment-workflow form { margin-top:12px; }
@media(max-width:1050px){.recruitment-premium-card{grid-template-columns:1fr 220px}
    .recruitment-workflow{grid-column:1/-1}}
@media(max-width:680px){.recruitment-premium-card{grid-template-columns:1fr}.recruitment-search{
        flex-direction:column}.recruitment-search select{min-width:0;width:100%}}
.advertiser-asset-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
     gap:16px; }
.asset-record-list { display:grid; gap:9px; }
.asset-record-list article { display:flex; justify-content:space-between; gap:18px;
     padding:16px 18px; border:1px solid var(--border-subtle); border-radius:10px;
     background:var(--surface-card); }
.asset-record-list span { color:var(--grt-red); font-size:8px; font-weight:900; letter-spacing:.1em;
     }
.asset-record-list h3 { margin:7px 0 4px; color:#fff; font-size:14px; }
.asset-record-list small { color:var(--text-muted); font-size:9px; }
.asset-record-list > article > strong { align-self:center; color:#a9e9bb; font-size:9px;
     letter-spacing:.08em; }
@media(max-width:900px){.advertiser-asset-layout{grid-template-columns:1fr}}
.advertiser-admin-list { display:grid; gap:9px; }
.advertiser-admin-list article { display:flex; justify-content:space-between; gap:18px;
     padding:15px 0; border-top:1px solid rgba(255,255,255,.065); }
.advertiser-admin-list article:first-child { border-top:0; }
.advertiser-admin-list h3 { margin:7px 0 4px; color:#fff; font-size:14px; }
.advertiser-admin-list p { margin:0 0 4px; color:#8598b0; font-size:10px; }
.advertiser-admin-list small { color:#647a96; font-size:9px; }
.advertiser-admin-list form { display:flex; align-items:center; gap:7px; }
.advertiser-admin-list select,.advertiser-admin-list input { min-width:0; font-size:10px;
     }
.advertiser-admin-list button { min-height:34px; border:1px solid #ed1c24; border-radius:6px;
     background:#ed1c24; color:#fff; font-size:9px; font-weight:900; }
.advertiser-assets-admin { margin-top:18px; }
.asset-admin-actions { display:flex; align-items:center; gap:10px; }
.asset-admin-actions > a { color:#fff; font-size:9px; font-weight:900; text-decoration:none;
     }
@media(max-width:800px){.advertiser-admin-list article,.advertiser-admin-list form,.asset-admin-actions{
        flex-direction:column;align-items:flex-start}}


/* ==========================================================================
   v3.2.0 — Production payment & integration diagnostics
   Additive only: approved v3.1.1 public design remains preserved.
   ========================================================================== */
.payment-v320 { padding: 34px; }
.payment-v320 h1 { margin-bottom: 6px; }
.payment-method-section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border-subtle); }
.payment-method-section h2 { margin: 0 0 6px; font-size: 22px; }
.payment-help { margin: 0 0 16px; color: var(--text-muted); }
.payment-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.payment-method-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-method-option { appearance: none; text-align: left; min-height: 92px; padding: 16px; border: 1px solid var(--border-subtle); border-radius: 14px; background: var(--surface-card); color: inherit; cursor: pointer; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.payment-method-option:hover, .payment-method-option.active { border-color: var(--grt-red, #ed1c24); box-shadow: 0 10px 28px rgba(0,0,0,.18); transform: translateY(-1px); }
.payment-method-option strong, .payment-method-option span { display: block; }
.payment-method-option span { margin-top: 6px; font-size: 12px; color: var(--text-muted); }
.remember-payment { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0; padding: 16px 18px; border: 1px solid var(--border-subtle); border-radius: 14px; }
.remember-payment input { margin-top: 3px; }
.remember-payment span, .remember-payment small { display: block; }
.remember-payment small { margin-top: 4px; color: var(--text-muted); }
.payment-primary { width: 100%; justify-content: center; margin-top: 18px; }
.payment-trust-row { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 18px 0; color: var(--text-muted); font-size: 12px; }
.integration-status { display: inline-flex; margin-top: 12px; padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.integration-status.ready { background: rgba(45,177,93,.12); color: #56d787; }
.integration-status.pending { background: rgba(237,28,36,.12); color: #ff7b81; }
@media (max-width: 900px) { .payment-method-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .payment-v320 { padding: 22px; } .payment-method-grid, .payment-method-grid.compact { grid-template-columns: 1fr; } }

/* ========================================================================== 
   v3.2.0 FINAL — Premium visual QA & responsive consistency
   Additive safeguards only. Approved design language remains unchanged.
   ========================================================================== */

:focus-visible {
    outline: 3px solid rgba(237, 28, 36, 0.72);
    outline-offset: 3px;
}

input,
select,
textarea {
    max-width: 100%;
}

textarea {
    resize: vertical;
}

.table-wrap,
.mygrt-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

.product-detail-shell > *,
.mygrt-shell > *,
.admin-dashboard-grid > *,
.admin-two-col > *,
.admin-metric-grid > *,
.permission-grid > *,
.issue-library-grid > * {
    min-width: 0;
}

.admin-data-card,
.admin-form-card,
.admin-permission-panel,
.mygrt-section,
.mygrt-empty,
.reader-gate,
.reader-library,
.payment-card-pro,
.confirmation-card,
.checkout-details-card {
    overflow-wrap: anywhere;
}

.issue-cover {
    aspect-ratio: 3 / 4;
    height: auto;
    padding: 12px;
}

.issue-cover img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.admin-logo-large {
    width: min(230px, 72%);
    height: auto;
}

@media (max-width: 900px) {
    .admin-table {
        min-width: 760px;
    }

    .grt-admin-sidebar-foot {
        flex-wrap: wrap;
    }
}

@media (max-width: 680px) {
    .section-title,
    .page-hero,
    .mygrt-page-head,
    .admin-module-intro,
    .admin-welcome {
        min-width: 0;
    }

    .product-actions,
    .admin-form-actions,
    .publication-actions {
        gap: 10px;
    }

    .product-actions .btn,
    .admin-form-actions .btn,
    .reader-gate .btn {
        max-width: 100%;
    }

    .issue-cover {
        height: auto;
    }
}

