/*
================================================================
SONA DIGITAL ECOSYSTEM V10
PLACEMENT MODULE — PREMIUM ENTERPRISE DESIGN SYSTEM
================================================================
Purpose: Unified visual system for all 8 Placement PHP pages.
All existing .plc-* class names preserved.
No JavaScript dependency. No PHP dependency.
================================================================
*/

/* ==================================================================
   1. DESIGN TOKENS
   ================================================================== */

:root {
    /* Brand */
    --plc-primary: #1554b8;
    --plc-primary-dark: #0d3f8f;
    --plc-primary-deep: #092f6b;
    --plc-primary-soft: #edf4ff;
    --plc-primary-soft-2: #e5efff;
    --plc-accent: #2b78e4;
    --plc-accent-soft: #eff6ff;

    /* Semantic */
    --plc-success: #16855b;
    --plc-success-soft: #eaf8f1;
    --plc-warning: #a96800;
    --plc-warning-soft: #fff7e6;
    --plc-danger: #c43d4b;
    --plc-danger-dark: #9f2634;
    --plc-danger-soft: #fff0f2;
    --plc-info: #1769aa;
    --plc-info-soft: #edf7ff;

    /* Text */
    --plc-text: #12345b;
    --plc-text-strong: #0d2f58;
    --plc-text-muted: #61738a;
    --plc-text-soft: #8493a6;

    /* Surfaces */
    --plc-background: #f3f7fd;
    --plc-background-deep: #eaf1fb;
    --plc-surface: #ffffff;
    --plc-surface-soft: #f8fbff;

    /* Borders */
    --plc-border: #d8e4f3;
    --plc-border-soft: #e8eef6;
    --plc-border-strong: #c6d6e9;

    /* Shadows */
    --plc-shadow-xs: 0 1px 3px rgba(18, 52, 91, 0.05);
    --plc-shadow-sm: 0 2px 8px rgba(18, 52, 91, 0.06);
    --plc-shadow-md: 0 6px 20px rgba(18, 52, 91, 0.08);
    --plc-shadow-lg: 0 12px 40px rgba(18, 52, 91, 0.1);

    /* Radii */
    --plc-radius-xs: 6px;
    --plc-radius-sm: 10px;
    --plc-radius-md: 14px;
    --plc-radius-lg: 18px;
    --plc-radius-xl: 24px;
    --plc-radius-pill: 999px;

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

    /* Layout */
    --plc-content-max: 1200px;
    --plc-content-pad: 24px;

    /* Typography */
    --plc-font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --plc-font-xs: 0.75rem;
    --plc-font-sm: 0.875rem;
    --plc-font-md: 1rem;
    --plc-font-lg: 1.125rem;
    --plc-font-xl: 1.375rem;
    --plc-font-2xl: 1.75rem;
    --plc-font-3xl: 2.25rem;
    --plc-line-tight: 1.25;
    --plc-line-normal: 1.55;
    --plc-line-relaxed: 1.7;

    /* Motion */
    --plc-transition-fast: 140ms ease;
    --plc-transition: 220ms ease;
    --plc-transition-slow: 320ms ease;

    /* Focus */
    --plc-focus: 0 0 0 3px rgba(43, 120, 228, 0.22);
}

/* ==================================================================
   2. RESET / BASE
   ================================================================== */

.plc-shell {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background: var(--plc-surface);
    overflow-x: hidden;
}

.plc-page,
.plc-shell {
    overflow-x: hidden;
}

.plc-main,
#placement-content {
    width: 100%;
    min-width: 0;
}

.plc-main {
    display: block;
    width: 100%;
    min-width: 0;
}

.plc-skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 9999;
    padding: 10px 15px;
    border: 1px solid var(--plc-primary);
    border-radius: var(--plc-radius-sm);
    background: #082e67;
    color: #ffffff;
    font-size: var(--plc-font-sm);
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-150%);
    transition: transform var(--plc-transition);
}

.plc-skip-link:focus {
    transform: translateY(0);
    outline: none;
    box-shadow: var(--plc-focus);
    color: #ffffff;
}

.plc-page :focus-visible,
.plc-shell :focus-visible {
    outline: 2px solid var(--plc-accent);
    outline-offset: 3px;
}

.plc-page #placement-content,
.plc-shell #placement-content {
    max-width: 100%;
}

/* ==================================================================
   3. PAGE SHELL
   ================================================================== */

.plc-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
    background: var(--plc-background);
}

/* ==================================================================
   4. HEADER
   ================================================================== */

.plc-header {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    border-bottom: 1px solid var(--plc-border);
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.plc-header__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--plc-space-4);
    width: 100%;
    max-width: var(--plc-content-max);
    margin: 0 auto;
    padding: var(--plc-space-3) var(--plc-content-pad);
}

.plc-header__brand {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: var(--plc-space-3);
    text-decoration: none;
}

.plc-header__logo {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-sm);
    background: var(--plc-primary-soft);
    box-shadow: var(--plc-shadow-xs);
}

.plc-header__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.plc-header__text {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.plc-header__title {
    margin: 0;
    color: var(--plc-primary-dark);
    font-size: 1rem;
    font-weight: 800;
    line-height: var(--plc-line-tight);
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.plc-header__powered,
.plc-header__tagline {
    margin: 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
    line-height: 1.3;
    white-space: nowrap;
}

.plc-header__tagline {
    color: var(--plc-text-soft);
    font-weight: 600;
}

.plc-header__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    padding: 4px 10px;
    border: 1px solid #cbdcf1;
    border-radius: var(--plc-radius-pill);
    background: #f3f8ff;
    color: var(--plc-primary);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0.03em;
    line-height: 1;
}

.plc-header__badge svg {
    flex-shrink: 0;
}

.plc-header__nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-2);
    align-items: center;
}

.plc-header__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-pill);
    background: var(--plc-surface);
    color: var(--plc-text);
    font-size: var(--plc-font-xs);
    font-weight: 700;
    text-decoration: none;
    transition: background var(--plc-transition),
        border-color var(--plc-transition),
        color var(--plc-transition);
}

.plc-header__link:hover {
    border-color: #b6cde8;
    background: var(--plc-primary-soft);
    color: var(--plc-primary-dark);
    text-decoration: none;
}

.plc-header__link[data-plc-logout] {
    font-family: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

/* ==================================================================
   5. HERO / INTRO
   ================================================================== */

.plc-intro {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--plc-space-7) var(--plc-content-pad) var(--plc-space-6);
    border-bottom: 1px solid var(--plc-border);
    background:
        radial-gradient(circle at 12% 15%, rgba(50, 116, 193, 0.06), transparent 30%),
        radial-gradient(circle at 90% 75%, rgba(21, 84, 184, 0.05), transparent 32%),
        linear-gradient(135deg, #f8fbff 0%, #eef5fc 48%, #ffffff 100%);
    text-align: center;
    width: 100%;
}

.plc-intro__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.plc-intro__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    margin-bottom: var(--plc-space-3);
    padding: 6px 14px;
    border: 1px solid #d1e1f5;
    border-radius: var(--plc-radius-pill);
    background: rgba(255, 255, 255, 0.65);
    color: var(--plc-primary-dark);
    font-size: var(--plc-font-xs);
    font-weight: 700;
    box-shadow: var(--plc-shadow-xs);
}

.plc-intro__badge svg {
    flex-shrink: 0;
}

.plc-intro__title {
    max-width: 700px;
    margin: var(--plc-space-2) 0 0;
    color: var(--plc-primary-dark);
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.plc-intro__subtitle {
    max-width: 600px;
    margin: var(--plc-space-3) auto 0;
    color: var(--plc-text-muted);
    font-size: clamp(0.85rem, 1.5vw, 0.95rem);
    line-height: 1.6;
}

.plc-intro__divider {
    position: relative;
    width: 64px;
    height: 3px;
    margin: var(--plc-space-5) auto 0;
    overflow: visible;
    border-radius: var(--plc-radius-pill);
    background: var(--plc-primary);
}

.plc-intro__divider::before,
.plc-intro__divider::after {
    position: absolute;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--plc-accent);
    content: "";
    transform: translateY(-50%);
}

.plc-intro__divider::before {
    left: -10px;
}

.plc-intro__divider::after {
    right: -10px;
}

/* ==================================================================
   6. WORKSPACE NAVIGATION
   ================================================================== */

.plc-workspace-nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-2);
    width: 100%;
    max-width: var(--plc-content-max);
    margin: 0 auto var(--plc-space-5);
    padding: var(--plc-space-2) var(--plc-content-pad);
    border-bottom: 1px solid var(--plc-border-soft);
    background: rgba(255, 255, 255, 0.92);
    align-items: center;
}

.plc-workspace-nav__link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 14px;
    border: 1px solid transparent;
    border-radius: var(--plc-radius-sm);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--plc-transition),
        color var(--plc-transition),
        border-color var(--plc-transition);
}

.plc-workspace-nav__link:hover {
    border-color: var(--plc-border);
    background: #f5f9ff;
    color: var(--plc-primary);
    text-decoration: none;
}

.plc-workspace-nav__link.is-current,
.plc-workspace-nav__link[aria-current="page"] {
    border-color: #c7dbf6;
    background: var(--plc-primary-soft);
    color: var(--plc-primary-dark);
    font-weight: 700;
}

.plc-workspace-nav__link:focus-visible {
    outline: none;
    box-shadow: var(--plc-focus);
}

/* ==================================================================
   7. MAIN CONTENT
   ================================================================== */

/* Content container for consistent alignment */
.plc-section,
.plc-dashboard-grid {
    max-width: var(--plc-content-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--plc-content-pad);
    padding-right: var(--plc-content-pad);
}

/* ==================================================================
   8. SECTIONS
   ================================================================== */

.plc-section {
    width: 100%;
    padding-top: var(--plc-space-6);
    padding-bottom: var(--plc-space-6);
    border-bottom: 1px solid var(--plc-border-soft);
    background: var(--plc-surface);
}

.plc-section:last-child {
    border-bottom: 0;
}

.plc-section--card {
    margin-top: 0;
    margin-bottom: 0;
    padding: var(--plc-space-6);
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    box-shadow: var(--plc-shadow-sm);
}

.plc-section--featured {
    background:
        radial-gradient(circle at 100% 0%, rgba(56, 125, 207, 0.04), transparent 34%),
        #ffffff;
    border-color: #c8daf0;
    box-shadow: var(--plc-shadow-md), 0 0 0 1px rgba(21, 84, 184, 0.02);
    position: relative;
    overflow: hidden;
}

.plc-section--detail {
    background: linear-gradient(135deg, #ffffff 0%, #f7faff 100%);
    position: relative;
    overflow: hidden;
}

.plc-section__header {
    display: flex;
    flex-direction: column;
    gap: var(--plc-space-1);
    margin-bottom: var(--plc-space-5);
    align-items: flex-start;
}

.plc-section__title {
    margin: 0;
    color: var(--plc-text-strong);
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.plc-section__subtitle {
    max-width: 700px;
    margin: 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    line-height: var(--plc-line-normal);
}

.plc-section__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-3);
    margin-top: var(--plc-space-4);
    align-items: center;
    justify-content: flex-start;
}

.plc-section--detail .plc-section__header {
    margin-bottom: var(--plc-space-4);
}

/* ==================================================================
   9. GRIDS
   ================================================================== */

.plc-grid,
.plc-dashboard-grid,
.plc-stats-grid {
    display: grid;
    gap: var(--plc-space-5);
    width: 100%;
}

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

.plc-dashboard-grid {
    gap: var(--plc-space-5);
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
}

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

/* ==================================================================
   10. CARDS
   ================================================================== */

.plc-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-sm);
    transition: transform var(--plc-transition),
        box-shadow var(--plc-transition),
        border-color var(--plc-transition);
}

.plc-card::before {
    display: block;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--plc-primary-dark), var(--plc-accent));
    content: "";
}

.plc-card:hover {
    border-color: var(--plc-border-strong);
    box-shadow: var(--plc-shadow-md);
    transform: translateY(-2px);
}

.plc-card--detail {
    border-radius: var(--plc-radius-xl);
    box-shadow: var(--plc-shadow-md);
    overflow: hidden;
    border-color: #c5d9f2;
}

.plc-card--detail .plc-card__header {
    padding: var(--plc-space-5);
    background: linear-gradient(135deg, #f3f8ff 0%, #ffffff 100%);
}

.plc-card--detail .plc-card__body {
    padding: var(--plc-space-5);
}

.plc-card--detail .plc-card__title {
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
}

.plc-card--job {
    min-height: 100%;
    border-color: #cbdcf3;
    position: relative;
}

.plc-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--plc-space-3);
    padding: var(--plc-space-4) var(--plc-space-5);
    border-bottom: 1px solid var(--plc-border-soft);
    min-width: 0;
}

.plc-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: var(--plc-space-4) var(--plc-space-5);
}

.plc-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-3);
    margin-top: auto;
    padding: var(--plc-space-3) var(--plc-space-5);
    border-top: 1px solid var(--plc-border-soft);
    align-items: center;
    background: var(--plc-surface-soft);
}

.plc-card__eyebrow {
    margin: 0 0 var(--plc-space-1);
    color: var(--plc-primary);
    font-size: var(--plc-font-xs);
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.4;
}

.plc-card__title {
    margin: 0;
    color: var(--plc-text-strong);
    font-size: clamp(1rem, 1.8vw, 1.2rem);
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.plc-card__text {
    margin: var(--plc-space-2) 0 0;
    color: var(--plc-text-muted);
    line-height: var(--plc-line-relaxed);
    font-size: var(--plc-font-sm);
}

.plc-card__company {
    margin: var(--plc-space-1) 0 0;
    color: var(--plc-primary-dark);
    font-size: var(--plc-font-sm);
    font-weight: 700;
}

.plc-card__industry {
    margin: var(--plc-space-1) 0 0;
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
}

.plc-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: var(--plc-space-3);
    padding-top: var(--plc-space-3);
    border-top: 1px solid var(--plc-border-soft);
}

.plc-card__meta-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--plc-space-4);
    padding: var(--plc-space-2) 0;
    border-bottom: 1px solid var(--plc-border-soft);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
    line-height: var(--plc-line-normal);
}

.plc-card__meta-row:last-child {
    border-bottom: 0;
}

.plc-card__meta-row dt {
    flex-shrink: 0;
    color: var(--plc-text-soft);
    font-weight: 600;
}

.plc-card__meta-row dd {
    min-width: 0;
    text-align: right;
    color: var(--plc-text-strong);
    font-weight: 600;
}

.plc-card__meta-row strong {
    color: var(--plc-text-strong);
    font-weight: 700;
}

.plc-card__meta-row--stack {
    display: block;
}

.plc-card__meta-row strong,
.plc-card__meta-row b {
    color: var(--plc-text-strong);
    font-weight: 700;
}

.plc-card__company-name {
    display: block;
    color: var(--plc-text-strong);
    font-size: var(--plc-font-md);
    font-weight: 800;
}

.plc-card__job-title {
    display: block;
    margin-top: 2px;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
}

.plc-card__link {
    color: var(--plc-primary);
    font-size: var(--plc-font-sm);
    font-weight: 700;
    text-decoration: none;
}

.plc-card__link:hover {
    color: var(--plc-primary-dark);
    text-decoration: underline;
}

/* ==================================================================
   11. EMPTY STATES
   ================================================================== */

.plc-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--plc-space-3);
    padding: var(--plc-space-6) var(--plc-space-5);
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background:
        linear-gradient(135deg, #fafcff 0%, #f4f8fd 100%);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    text-align: center;
}

.plc-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--plc-primary-soft);
    color: var(--plc-primary);
    font-size: 22px;
    line-height: 1;
}

.plc-empty__text {
    margin: 0;
    color: var(--plc-text-strong);
    font-size: var(--plc-font-md);
    font-weight: 700;
}

.plc-empty__hint {
    display: block;
    max-width: 480px;
    margin: 0 auto;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    line-height: var(--plc-line-normal);
}

.plc-empty__hint a {
    color: var(--plc-primary);
    font-weight: 700;
}

/* ==================================================================
   12. BUTTONS / LINKS
   ================================================================== */

.plc-card__link,
.plc-detail-back a,
.plc-link {
    color: var(--plc-primary);
    font-weight: 700;
    text-decoration: none;
}

.plc-card__link:hover,
.plc-detail-back a:hover,
.plc-link:hover {
    color: var(--plc-primary-deep);
    text-decoration: underline;
}

.plc-btn,
.plc-card__button,
.plc-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: var(--plc-radius-sm);
    font: inherit;
    font-size: var(--plc-font-sm);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--plc-transition),
        border-color var(--plc-transition),
        color var(--plc-transition),
        box-shadow var(--plc-transition),
        transform var(--plc-transition);
}

.plc-btn:hover,
.plc-card__button:hover,
.plc-btn-danger:hover {
    transform: translateY(-1px);
}

.plc-btn--primary,
.plc-card__button:not(.plc-card__button--ghost) {
    border-color: var(--plc-primary);
    background: var(--plc-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(21, 84, 184, 0.18);
}

.plc-btn--primary:hover,
.plc-card__button:not(.plc-card__button--ghost):hover {
    border-color: var(--plc-primary-dark);
    background: var(--plc-primary-dark);
    color: #fff;
}

.plc-btn--secondary {
    border-color: #cbd7e6;
    background: #ffffff;
    color: var(--plc-primary-dark);
}

.plc-btn--secondary:hover {
    border-color: #aebfd5;
    background: #f5f9ff;
    color: var(--plc-primary-dark);
}

.plc-btn--success {
    border-color: var(--plc-success);
    background: var(--plc-success);
    color: #ffffff;
}

.plc-btn--success:hover {
    border-color: #127049;
    background: #127049;
    color: #ffffff;
}

.plc-btn--danger,
.plc-btn-danger {
    border-color: #dc3545;
    background: #dc3545;
    color: #ffffff;
}

.plc-btn--danger:hover,
.plc-btn-danger:hover {
    border-color: #bb2636;
    background: #bb2636;
    color: #ffffff;
}

.plc-btn--block {
    width: 100%;
}

.plc-btn--sm {
    min-height: 34px;
    padding: 6px 12px;
    font-size: var(--plc-font-xs);
}

.plc-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--plc-space-2);
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--plc-primary);
    border-radius: var(--plc-radius-sm);
    background: var(--plc-primary);
    color: #ffffff;
    font-size: var(--plc-font-sm);
    font-weight: 700;
    text-decoration: none;
    transition: background var(--plc-transition),
        border-color var(--plc-transition),
        transform var(--plc-transition);
}

.plc-card__button:hover {
    border-color: var(--plc-primary-dark);
    background: var(--plc-primary-dark);
    color: #ffffff;
    transform: translateY(-1px);
}

.plc-card__button:focus-visible {
    outline: none;
    box-shadow: var(--plc-focus);
}

.plc-card__button--ghost {
    border-color: #cbd7e6;
    background: transparent;
    color: var(--plc-primary);
}

.plc-card__button--ghost:hover {
    border-color: #aebfd5;
    background: #f5f9ff;
    color: var(--plc-primary-dark);
}

/* ==================================================================
   13. NOTICE SYSTEM
   ================================================================== */

.plc-notice {
    display: flex;
    align-items: flex-start;
    gap: var(--plc-space-3);
    margin-bottom: var(--plc-space-4);
    padding: 12px 16px;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-md);
    background: #f7faff;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    line-height: var(--plc-line-relaxed);
}

.plc-notice::before {
    flex: 0 0 auto;
    font-size: 1rem;
    font-weight: 800;
}

.plc-notice--success {
    border-color: #b9dfc8;
    background: #f0fbf4;
    color: #176b38;
}

.plc-notice--success::before {
    content: "\2713";
}

.plc-notice--error {
    border-color: #efc0c5;
    background: #fff5f6;
    color: #9b2634;
}

.plc-notice--error::before {
    content: "!";
}

/* ==================================================================
   14. FORMS
   ================================================================== */

.plc-identity,
.plc-profile-summary {
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-sm);
}

.plc-identity__row,
.plc-profile-summary__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--plc-space-1);
    padding: var(--plc-space-3) var(--plc-space-4);
    border-bottom: 1px solid var(--plc-border-soft);
}

.plc-identity__row:last-child,
.plc-profile-summary__row:last-child {
    border-bottom: 0;
}

.plc-identity__label,
.plc-profile-summary__label {
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.plc-identity__value,
.plc-profile-summary__value {
    min-width: 0;
    color: var(--plc-text-strong);
    font-size: var(--plc-font-sm);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.plc-identity__note,
.plc-profile-summary__note {
    margin: 0;
    padding: var(--plc-space-3) var(--plc-space-4);
    border-top: 1px solid var(--plc-border-soft);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
}

.plc-profile-form,
.plc-resume-form,
.plc-apply-form,
.plc-inline-form {
    width: 100%;
}

.plc-profile-form,
.plc-resume-form,
.plc-apply-form {
    padding: var(--plc-space-5);
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-sm);
}

.plc-apply-form {
    border-color: #c9dcf4;
    background: linear-gradient(135deg, #ffffff 0%, #f7faff 100%);
}

.plc-profile-form .plc-field + .plc-field,
.plc-resume-form .plc-field + .plc-field,
.plc-apply-form .plc-field + .plc-field {
    margin-top: var(--plc-space-4);
}

.plc-field {
    margin-bottom: var(--plc-space-4);
    min-width: 0;
}

.plc-field:last-child {
    margin-bottom: 0;
}

.plc-field__label {
    display: block;
    margin-bottom: var(--plc-space-1);
    color: var(--plc-text-strong);
    font-size: var(--plc-font-sm);
    font-weight: 700;
}

.plc-field__input,
.plc-field__textarea,
.plc-field__select {
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #cbd7e6;
    border-radius: var(--plc-radius-sm);
    outline: none;
    background: #ffffff;
    color: var(--plc-text-strong);
    font: inherit;
    font-size: var(--plc-font-sm);
    transition: border-color var(--plc-transition),
        box-shadow var(--plc-transition),
        background var(--plc-transition);
    line-height: 1.5;
}

.plc-field__textarea {
    min-height: 100px;
    resize: vertical;
}

.plc-field__select {
    cursor: pointer;
}

.plc-field__input:hover,
.plc-field__textarea:hover,
.plc-field__select:hover {
    border-color: #aebfd5;
}

.plc-field__input:focus,
.plc-field__textarea:focus,
.plc-field__select:focus {
    border-color: var(--plc-primary);
    box-shadow: 0 0 0 3px rgba(20, 92, 170, 0.12);
}

.plc-field__input:disabled,
.plc-field__textarea:disabled,
.plc-field__select:disabled {
    cursor: not-allowed;
    background: #f4f7fa;
    color: var(--plc-text-soft);
}

.plc-field__input--file {
    padding: 8px;
    cursor: pointer;
}

.plc-field__hint {
    margin: var(--plc-space-1) 0 0;
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    line-height: var(--plc-line-relaxed);
}

.plc-form-actions,
.plc-resume-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--plc-space-3);
    margin-top: var(--plc-space-5);
    justify-content: flex-end;
}

/* ==================================================================
   15. RESUME
   ================================================================== */

.plc-resume-empty {
    padding: var(--plc-space-6);
    border: 1px dashed var(--plc-border-strong);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface-soft);
    text-align: center;
}

.plc-resume-empty__title {
    margin: 0;
    color: var(--plc-text-strong);
    font-size: var(--plc-font-lg);
    font-weight: 700;
}

.plc-resume-empty__hint {
    max-width: 520px;
    margin: var(--plc-space-2) auto 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
}

.plc-resume-info {
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-md);
    background: var(--plc-surface);
}

.plc-resume-info__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--plc-space-1);
    padding: var(--plc-space-3) var(--plc-space-4);
    border-bottom: 1px solid var(--plc-border-soft);
}

.plc-resume-info__row:last-child {
    border-bottom: 0;
}

.plc-resume-info__label {
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.plc-resume-info__value {
    color: var(--plc-text-strong);
    font-size: var(--plc-font-sm);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.plc-resume-info__note {
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
}

.plc-resume-form__field {
    display: flex;
    flex-direction: column;
    gap: var(--plc-space-2);
}

/* ==================================================================
   16. DASHBOARD
   ================================================================== */

.plc-readiness {
    padding: var(--plc-space-5);
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-xs);
}

.plc-readiness__status {
    margin-bottom: var(--plc-space-4);
    padding-bottom: var(--plc-space-4);
    border-bottom: 1px solid var(--plc-border-soft);
    color: var(--plc-text-strong);
    font-size: var(--plc-font-sm);
    font-weight: 800;
}

.plc-readiness__checks {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-2);
}

.plc-readiness__check {
    display: flex;
    align-items: center;
    gap: var(--plc-space-2);
    padding: 6px var(--plc-space-3);
    border: 1px solid var(--plc-border-soft);
    border-radius: var(--plc-radius-pill);
    background: var(--plc-surface-soft);
}

.plc-readiness__check-icon {
    display: inline-flex;
    flex: 0 0 22px;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #edf2f7;
    color: var(--plc-text-soft);
    font-size: 11px;
    font-weight: 800;
    align-items: center;
    justify-content: center;
}

.plc-readiness__check-label {
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
    font-weight: 600;
    min-width: 0;
    line-height: 1.4;
}

.plc-readiness__check--pass .plc-readiness__check-icon {
    background: #e8f7ee;
    color: #1c7a43;
}

.plc-readiness__check--fail .plc-readiness__check-icon {
    background: #fff0f1;
    color: #b52d3b;
}

/* Stats */
.plc-stat {
    position: relative;
    min-width: 0;
    padding: var(--plc-space-4);
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-md);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-xs);
}

.plc-stat::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--plc-primary);
    content: "";
}

.plc-stat__value {
    display: block;
    color: var(--plc-primary-dark);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 850;
    line-height: 1;
    position: relative;
    z-index: 1;
}

.plc-stat__label {
    display: block;
    margin-top: var(--plc-space-1);
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    font-weight: 600;
    position: relative;
    z-index: 1;
}

.plc-stat--total::before { background: var(--plc-primary); }
.plc-stat--submitted::before { background: var(--plc-info); }
.plc-stat--shortlisted::before { background: var(--plc-success); }
.plc-stat--rejected::before { background: var(--plc-danger); }
.plc-stat--withdrawn::before { background: var(--plc-warning); }

/* Next Action */
.plc-next-action {
    display: flex;
    flex-direction: column;
    gap: var(--plc-space-3);
    padding: var(--plc-space-5);
    border: 1px solid #c9dcf4;
    border-radius: var(--plc-radius-lg);
    background: linear-gradient(135deg, #f4f9ff 0%, #ffffff 100%);
    box-shadow: var(--plc-shadow-sm);
}

.plc-next-action__content {
    min-width: 0;
}

.plc-next-action__label {
    margin: 0;
    color: var(--plc-primary);
    font-size: var(--plc-font-xs);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.plc-next-action__description {
    margin: var(--plc-space-1) 0 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    line-height: var(--plc-line-relaxed);
}

.plc-next-action__action {
    flex: 0 0 auto;
}

/* ==================================================================
   17. STATUS PILL
   ================================================================== */

.plc-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 var(--plc-space-2);
    padding: 3px 10px;
    border: 1px solid var(--plc-border-strong);
    border-radius: var(--plc-radius-pill);
    background: var(--plc-surface-soft);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: capitalize;
    white-space: nowrap;
}

/* Positive / active outcomes */
.plc-status--published,
.plc-status--active,
.plc-status--shortlisted,
.plc-status--selected,
.plc-status--offer_accepted,
.plc-status--accepted,
.plc-status--joined,
.plc-status--confirmed,
.plc-status--completed,
.plc-status--paid {
    border-color: #b9dfc8;
    background: #f0fbf4;
    color: #176b38;
}

/* Neutral / in-progress outcomes */
.plc-status--submitted,
.plc-status--in_progress,
.plc-status--scheduled,
.plc-status--hold,
.plc-status--pending,
.plc-status--pending_verification {
    border-color: #cfe0f7;
    background: var(--plc-primary-soft);
    color: var(--plc-primary-dark);
}

/* Negative / closed-out outcomes */
.plc-status--rejected,
.plc-status--withdrawn,
.plc-status--declined,
.plc-status--offer_declined,
.plc-status--cancelled,
.plc-status--no_show,
.plc-status--failed {
    border-color: #efc0c5;
    background: #fff5f6;
    color: #9b2634;
}

/* Awaiting-input outcomes */
.plc-status--incomplete {
    border-color: #f1d7a8;
    background: var(--plc-warning-soft);
    color: var(--plc-warning);
}

/* ==================================================================
   18. APPLICATIONS
   ================================================================== */

.plc-app-list {
    display: grid;
    gap: var(--plc-space-4);
    width: 100%;
}

.plc-app-item {
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-sm);
}

.plc-app-item__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--plc-space-3);
    padding: var(--plc-space-3) var(--plc-space-4);
    border-bottom: 1px solid var(--plc-border-soft);
    background: #f8fbff;
}

.plc-app-item__number {
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.plc-app-item__detail {
    padding: var(--plc-space-4);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    line-height: var(--plc-line-relaxed);
}

.plc-app-item__detail strong,
.plc-app-item__detail b {
    color: var(--plc-text-strong);
    font-weight: 700;
}

.plc-app-item__detail a {
    color: var(--plc-primary);
    font-weight: 700;
    text-decoration: underline;
}

.plc-app-item__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-3);
    padding: 0 var(--plc-space-4) var(--plc-space-4);
    align-items: center;
}

/* ==================================================================
   19. INTERVIEWS
   ================================================================== */

.plc-interview-list,
.plc-history-list {
    display: grid;
    gap: var(--plc-space-4);
    width: 100%;
}

.plc-interview-card,
.plc-history-card {
    overflow: hidden;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-lg);
    background: var(--plc-surface);
    box-shadow: var(--plc-shadow-sm);
}

.plc-interview-card__header,
.plc-history-card__header {
    display: flex;
    flex-direction: column;
    gap: var(--plc-space-2);
    padding: var(--plc-space-4) var(--plc-space-5);
    border-bottom: 1px solid var(--plc-border-soft);
    background: linear-gradient(135deg, #f5f9ff 0%, #ffffff 100%);
    align-items: flex-start;
    justify-content: space-between;
}

.plc-interview-card__company,
.plc-history-card__company {
    min-width: 0;
}

.plc-interview-card__company-name,
.plc-history-card__company-name {
    margin: 0;
    color: var(--plc-primary-dark);
    font-size: var(--plc-font-lg);
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.plc-interview-card__job-title,
.plc-history-card__job-title {
    margin: 2px 0 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
}

.plc-interview-card__details,
.plc-history-card__meta {
    padding: var(--plc-space-4) var(--plc-space-5);
}

.plc-interview-card__meta,
.plc-history-card__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--plc-space-2);
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
    line-height: var(--plc-line-normal);
}

.plc-interview-card__meta dt,
.plc-history-card__details dt {
    color: var(--plc-text-soft);
    font-weight: 600;
    font-size: var(--plc-font-xs);
}

.plc-interview-card__meta dd,
.plc-history-card__details dd {
    color: var(--plc-text-strong);
    font-weight: 600;
}

.plc-interview-card__actions,
.plc-history-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-3);
    padding: var(--plc-space-3) var(--plc-space-5) var(--plc-space-4);
    border-top: 1px solid var(--plc-border-soft);
    align-items: center;
}

/* ==================================================================
   20. TRACKING TERMINAL
   ================================================================== */

.plc-tracking-terminal {
    overflow: auto;
    max-width: 100%;
    padding: var(--plc-space-4);
    border: 1px solid #cbd8e8;
    border-radius: var(--plc-radius-lg);
    background: linear-gradient(135deg, #f8fbff 0%, #f2f7fd 100%);
    color: var(--plc-text);
    width: 100%;
    overflow-x: auto;
    box-shadow: var(--plc-shadow-xs);
}

.plc-tracking-feedback {
    margin: var(--plc-space-3) 0 0;
    padding: var(--plc-space-3);
    border-radius: var(--plc-radius-sm);
    background: var(--plc-surface-soft);
    color: var(--plc-text);
    font-size: var(--plc-font-sm);
    line-height: 1.6;
}

/* ==================================================================
   21. TIMELINE
   ================================================================== */

.plc-timeline {
    position: relative;
    display: grid;
    gap: 0;
    width: 100%;
    padding-left: var(--plc-space-2);
}

.plc-timeline__step {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: var(--plc-space-3);
    min-height: 72px;
}

.plc-timeline__step::after {
    position: absolute;
    top: 40px;
    left: 20px;
    width: 2px;
    height: calc(100% - 40px);
    background: var(--plc-border);
    content: "";
}

.plc-timeline__step:last-child::after {
    display: none;
}

.plc-timeline__dot {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 2px solid #cbd7e6;
    border-radius: 50%;
    background: #ffffff;
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    font-weight: 800;
}

.plc-timeline__label {
    padding-top: 3px;
    color: var(--plc-text-strong);
    font-size: var(--plc-font-sm);
    font-weight: 800;
}

.plc-timeline__note {
    margin: 3px 0 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-xs);
    line-height: var(--plc-line-relaxed);
}

.plc-timeline__step--active .plc-timeline__dot {
    border-color: var(--plc-primary);
    background: #edf5ff;
    box-shadow: 0 0 0 4px rgba(20, 92, 170, 0.08);
    color: var(--plc-primary);
}

.plc-timeline__step--active .plc-timeline__label {
    color: var(--plc-primary-dark);
}

.plc-timeline__step--pending .plc-timeline__dot {
    border-color: #d4dce6;
    background: #f7f9fb;
}

.plc-timeline__step--closed .plc-timeline__dot {
    border-color: #b8ddc7;
    background: #edf9f2;
    color: #217443;
}

/* ==================================================================
   22. OFFER RESPONSE
   ================================================================== */

.plc-detail-back {
    margin-bottom: var(--plc-space-4);
}

.plc-detail-back a {
    display: inline-flex;
    align-items: center;
    gap: var(--plc-space-2);
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--plc-border);
    border-radius: var(--plc-radius-pill);
    background: #ffffff;
    text-decoration: none;
    color: var(--plc-primary);
    font-size: var(--plc-font-sm);
    font-weight: 700;
    transition: background var(--plc-transition), border-color var(--plc-transition);
}

.plc-detail-back a:hover {
    background: #f3f8ff;
    text-decoration: none;
    border-color: #b8cce4;
    color: var(--plc-primary-dark);
}

.plc-offer-details {
    overflow: hidden;
    border: 1px solid #c8d9ee;
    border-radius: var(--plc-radius-xl);
    background: #ffffff;
    box-shadow: var(--plc-shadow-md);
}

.plc-offer-details__company {
    padding: var(--plc-space-5);
    border-bottom: 1px solid var(--plc-border-soft);
    background: linear-gradient(135deg, #f1f7ff 0%, #ffffff 100%);
}

.plc-offer-details__company-name {
    margin: 0;
    color: var(--plc-primary-dark);
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.plc-offer-details__job-title {
    margin: var(--plc-space-1) 0 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-md);
}

.plc-offer-details__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--plc-space-4);
    padding: var(--plc-space-5);
}

.plc-offer-response-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--plc-space-3);
    padding: var(--plc-space-5);
    border-top: 1px solid var(--plc-border-soft);
    background: #f8fbff;
    position: relative;
    align-items: stretch;
}

.plc-offer-response__action {
    flex: 1 1 0;
}

/* ==================================================================
   23. FOOTER
   ================================================================== */

.plc-footer {
    width: 100%;
    padding: var(--plc-space-5) var(--plc-content-pad);
    border-top: 1px solid var(--plc-border);
    background: linear-gradient(180deg, #f8fbff 0%, #f3f7fc 100%);
    text-align: center;
    margin-top: auto;
}

.plc-footer__text {
    margin: 0;
    color: var(--plc-text-soft);
    font-size: var(--plc-font-xs);
    line-height: 1.5;
}

/* ==================================================================
   24. FOCUS / ACCESSIBILITY
   ================================================================== */

.plc-page a,
.plc-shell a {
    text-underline-offset: 3px;
}

.plc-page button:disabled,
.plc-shell button:disabled,
.plc-page a[aria-disabled="true"],
.plc-shell a[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* ==================================================================
   25. RESPONSIVE — TABLET (768px)
   ================================================================== */

@media (min-width: 768px) {
    :root {
        --plc-content-pad: 32px;
    }

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

    .plc-dashboard-grid {
        grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr);
        gap: var(--plc-space-6);
    }

    .plc-interview-list,
    .plc-history-list {
        grid-template-columns: 1fr;
    }
}

/* ==================================================================
   26. RESPONSIVE — DESKTOP (1024px)
   ================================================================== */

@media (min-width: 1024px) {
    :root {
        --plc-content-pad: 40px;
    }

    .plc-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .plc-stats-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .plc-interview-card__header,
    .plc-history-card__header {
        flex-direction: row;
        align-items: center;
    }
}

/* ==================================================================
   27. RESPONSIVE — LARGE DESKTOP (1200px+)
   ================================================================== */

@media (min-width: 1200px) {
    :root {
        --plc-content-max: 1200px;
        --plc-content-pad: 48px;
    }
}

/* ==================================================================
   28. RESPONSIVE — MOBILE (max 479px)
   ================================================================== */

@media (max-width: 479.98px) {
    :root {
        --plc-content-pad: 16px;
    }

    .plc-header__inner {
        flex-wrap: wrap;
        gap: var(--plc-space-2);
        padding: var(--plc-space-2) var(--plc-content-pad);
    }

    .plc-header__text {
        min-width: 0;
    }

    .plc-header__title {
        font-size: 0.875rem;
    }

    .plc-header__powered,
    .plc-header__tagline {
        display: none;
    }

    .plc-header__badge {
        margin-left: auto;
        font-size: 10px;
        padding: 3px 8px;
    }

    .plc-intro {
        padding: var(--plc-space-5) var(--plc-content-pad) var(--plc-space-4);
    }

    .plc-intro__title {
        font-size: 1.35rem;
    }

    .plc-intro__subtitle {
        font-size: 0.8rem;
    }

    .plc-section {
        padding-top: var(--plc-space-5);
        padding-bottom: var(--plc-space-5);
    }

    .plc-section--card {
        padding: var(--plc-space-4);
    }

    .plc-section__title {
        font-size: 1.1rem;
    }

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

    .plc-dashboard-grid {
        grid-template-columns: 1fr;
        gap: var(--plc-space-4);
    }

    .plc-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .plc-card {
        border-radius: var(--plc-radius-md);
    }

    .plc-card::before {
        height: 2px;
    }

    .plc-workspace-nav {
        gap: var(--plc-space-1);
        padding: var(--plc-space-2) var(--plc-content-pad);
        margin-bottom: var(--plc-space-4);
    }

    .plc-workspace-nav__link {
        min-height: 32px;
        padding: 5px 10px;
        font-size: var(--plc-font-xs);
    }

    .plc-offer-details__meta {
        grid-template-columns: 1fr;
    }

    .plc-offer-response-actions {
        flex-direction: column;
    }

    .plc-next-action__action .plc-btn {
        display: block;
        width: 100%;
        text-align: center;
    }

    .plc-card__meta-row {
        font-size: 11px;
    }

    .plc-btn,
    .plc-card__button,
    .plc-btn-danger {
        min-height: 38px;
        padding: 8px 14px;
    }

    .plc-readiness__checks {
        gap: var(--plc-space-1);
    }

    .plc-readiness__check {
        padding: 4px 10px;
    }

    .plc-timeline__step {
        min-height: 64px;
    }

    .plc-timeline__dot {
        width: 36px;
        height: 36px;
    }

    .plc-empty {
        padding: var(--plc-space-5) var(--plc-space-4);
    }
}

/* ==================================================================
   29. RESPONSIVE — SMALL MOBILE (max 390px)
   ================================================================== */

@media (max-width: 390px) {
    .plc-header__inner {
        padding: var(--plc-space-2) var(--plc-content-pad);
    }

    .plc-header__logo {
        width: 34px;
        height: 34px;
    }

    .plc-header__title {
        font-size: 0.8rem;
    }

    .plc-intro__badge {
        font-size: 10px;
        padding: 5px 10px;
    }

    .plc-intro__title {
        font-size: 1.2rem;
    }

    .plc-stats-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ==================================================================
   30. REDUCED MOTION
   ================================================================== */

@media (prefers-reduced-motion: reduce) {
    .plc-page *,
    .plc-shell * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .plc-card:hover,
    .plc-stat:hover,
    .plc-interview-card:hover,
    .plc-history-card:hover,
    .plc-btn:hover,
    .plc-card__button:hover,
    .plc-header__link:hover {
        transform: none;
    }
}

/* ==================================================================
   31. PRINT
   ================================================================== */

@media print {
    .plc-page {
        background: #ffffff;
    }

    .plc-header,
    .plc-workspace-nav,
    .plc-skip-link {
        box-shadow: none;
    }

    .plc-btn,
    .plc-card__actions,
    .plc-form-actions,
    .plc-resume-actions,
    .plc-offer-response-actions {
        display: none !important;
    }

    .plc-card,
    .plc-section,
    .plc-stat,
    .plc-interview-card,
    .plc-history-card {
        break-inside: avoid;
        box-shadow: none;
    }

    .plc-footer {
        border-top: 1px solid #cccccc;
    }
}

.plc-apply-form__note {
    margin: var(--plc-space-3) 0;
    color: var(--plc-text-muted);
    font-size: var(--plc-font-sm);
}
