/* ── Hero ───────────────────────────────────────── */
.hero {
    padding: 5rem 0 4rem;
    text-align: center;
    max-width: 560px;
    margin: 0 auto;
}

.hero-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--hpc-text, #1c2333);
    margin-bottom: .5rem;
    letter-spacing: -.02em;
}

.hero-subtitle {
    font-size: 1rem;
    color: var(--hpc-muted, #64748b);
    margin-bottom: 2.5rem;
    line-height: 1.6;
}

.hero .btn {
    padding: .65rem 2rem;
    font-size: .9375rem;
}

.messages-wrap {
    max-width: 560px;
    margin: 2rem auto 0;
}

/* ── Request status card ────────────────────────── */
.request-status-card {
    max-width: 640px;
    margin: 3rem auto;
    background: #fff;
    border: 1px solid var(--hpc-border, #dde3ec);
    border-radius: var(--hpc-radius, .5rem);
    box-shadow: var(--hpc-shadow, 0 4px 12px 0 rgb(0 0 0 / .08));
    overflow: hidden;
}

.request-status-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--hpc-border, #dde3ec);
    background: #f8fafc;
}

.request-status-title {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
    color: var(--hpc-text, #1c2333);
}

.status-badge {
    display: inline-block;
    padding: .3rem .75rem;
    font-size: .8125rem;
    font-weight: 600;
    border-radius: 2rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.status-pending      { background: #fef9c3; color: #713f12; }
.status-accepted     { background: #dbeafe; color: #1e3a8a; }
.status-deployed     { background: #dcfce7; color: #14532d; }
.status-expired      { background: #ffedd5; color: #7c2d12; }
.status-exp_disabled { background: #ede9fe; color: #4c1d95; }
.status-rejected     { background: #fee2e2; color: #7f1d1d; }
.status-disabled     { background: #f1f5f9; color: #475569; }

.request-status-body {
    padding: 1.5rem;
}

.request-meta {
    display: flex;
    gap: 2rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.meta-label {
    font-size: .8125rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.meta-value {
    font-size: .9375rem;
    font-weight: 500;
    color: #212529;
}

.text-danger { color: #842029 !important; }

.expired-badge {
    display: inline-block;
    margin-left: .4rem;
    padding: .1rem .5rem;
    font-size: .75rem;
    font-weight: 600;
    background: #f8d7da;
    color: #842029;
    border-radius: .25rem;
}

.status-message {
    font-size: .9375rem;
    line-height: 1.6;
    padding: .875rem 1rem;
    border-radius: .375rem;
    margin-bottom: 1.25rem;
}

.status-message-pending      { background: #fefce8; color: #713f12; border-left: 3px solid #eab308; }
.status-message-accepted     { background: #eff6ff; color: #1e3a8a; border-left: 3px solid #3b82f6; }
.status-message-deployed     { background: #f0fdf4; color: #14532d; border-left: 3px solid #22c55e; }
.status-message-expired      { background: #fff7ed; color: #7c2d12; border-left: 3px solid #f97316; }
.status-message-exp-disabled { background: #f5f3ff; color: #4c1d95; border-left: 3px solid #8b5cf6; }
.status-message-rejected     { background: #fff1f2; color: #7f1d1d; border-left: 3px solid #ef4444; }
.status-message-disabled     { background: #f8fafc; color: #475569; border-left: 3px solid #94a3b8; }

/* ── SSH keys ───────────────────────────────────── */
.ssh-keys-section {
    margin-top: 1.25rem;
}

.ssh-keys-title {
    font-size: .75rem;
    font-weight: 600;
    color: var(--hpc-muted, #64748b);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: .75rem;
}

.ssh-key-item {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    padding: .5rem .875rem;
    background: #f8fafc;
    border: 1px solid var(--hpc-border, #dde3ec);
    border-radius: .375rem;
    margin-bottom: .5rem;
    flex-wrap: wrap;
}

.ssh-key-label {
    font-size: .8125rem;
    font-weight: 600;
    color: var(--hpc-muted, #64748b);
    min-width: 4rem;
    flex-shrink: 0;
}

.ssh-key-value {
    font-size: .8rem;
    color: #64748b;
    word-break: break-all;
}

/* ── Footer ─────────────────────────────────────── */
.request-status-footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--hpc-border, #dde3ec);
    background: #f8fafc;
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
    align-items: center;
}
