/* -------------------------------------------------
   MODSIM Operations System
   Version 1.0 Compact Professional Interface
-------------------------------------------------- */



* {
    box-sizing: border-box;
}
body {
    overflow-x: hidden;
}
html {
    font-size: 16px;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #e9edf2;
    color: #102746;
}

/* -------------------------------------------------
   MODSIM HEADER VERSION 1.0
-------------------------------------------------- */

.site-header {
    position: relative;
    min-height: 195px;
    padding: 16px 22px;

    display: grid;
    grid-template-columns: 150px minmax(380px, 1fr) 275px;
    align-items: center;
    gap: 24px;

    overflow: hidden;
    color: #ffffff;
    background: #061b36;
}

.header-background {
    position: absolute;
    inset: 0;
    z-index: 0;

    width: 100%;
    height: 100%;

    display: block;
    object-fit: cover;
    object-position: center;
}

.header-shade {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(3, 16, 32, 0.88) 0%,
            rgba(4, 20, 40, 0.48) 28%,
            rgba(4, 20, 40, 0.34) 50%,
            rgba(4, 20, 40, 0.48) 72%,
            rgba(3, 16, 32, 0.88) 100%
        );
}

.header-badge,
.header-title,
.visitor-card {
    position: relative;
    z-index: 2;
}

.header-badge {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-badge img {
    display: block;
    width: auto;
    height: auto;
    max-width: 140px;
    max-height: 150px;
    filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.55));
}

.header-title {
    padding: 24px 28px;
    text-align: center;
    border-radius: 12px;
    background: rgba(3, 19, 38, 0.28);
    text-shadow: 0 3px 9px rgba(0, 0, 0, 0.9);
}

.header-title h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 0.95;
    letter-spacing: 0.08em;
}

.header-title h2 {
    margin: 14px 0 16px;
    color: #e7b94f;
    font-size: clamp(1.1rem, 2vw, 1.6rem);
    letter-spacing: 0.22em;
}

.header-title p {
    margin: 13px 0 0;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.title-divider {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

.title-divider span {
    width: min(110px, 24%);
    height: 2px;
    background: #d8a93c;
}

.title-divider strong {
    color: #e7b94f;
    font-size: 1.35rem;
}

.visitor-card {
    padding: 12px;
    border: 2px solid #d8a93c;
    border-radius: 12px;
    background: rgba(4, 25, 51, 0.92);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.38);
    text-align: center;
}

.visitor-card h3 {
    margin: 0 0 14px;
    padding-bottom: 13px;
    border-bottom: 2px solid #d8a93c;
    color: #e7b94f;
    font-size: 1.05rem;
}

.visitor-button {
    display: block;
    margin-top: 8px;
    padding: 10px;
    border-radius: 7px;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9rem;
}

.login-button {
    color: #ffffff;
    border: 1px solid #71a8dd;
    background: linear-gradient(#3977b3, #24527e);
}

.apply-button {
    color: #102746;
    border: 1px solid #f0d279;
    background: linear-gradient(#ead17b, #c89a32);
}

.visitor-button:hover {
    filter: brightness(1.08);
}

.compact-header {
    min-height: 175px;
    padding-top: 14px;
    padding-bottom: 14px;
}

.compact-header .header-badge img {
    max-width: 120px;
    max-height: 125px;
}

.compact-header .header-title {
    padding: 14px 20px;
}

.compact-header .header-title h1 {
    font-size: 3rem;
}

.compact-header .header-title h2 {
    margin: 8px 0 9px;
    font-size: 1.05rem;
}

.compact-header .header-title p {
    margin-top: 7px;
    font-size: 0.78rem;
}

.compact-header .visitor-card {
    padding: 11px 14px;
}

.compact-header .visitor-button {
    padding: 8px;
}

@media (max-width: 1050px) {
    .site-header {
        grid-template-columns: 145px minmax(300px, 1fr) 250px;
        gap: 18px;
        padding: 20px;
    }

    .header-badge img {
        max-width: 135px;
    }
}

@media (max-width: 760px) {
    .site-header,
    .compact-header {
        display: flex;
        flex-direction: column;
        min-height: auto;
        padding: 24px 18px;
    }

    .header-badge img {
        max-width: 140px;
    }

    .header-title,
    .compact-header .header-title {
        width: 100%;
    }

    .header-title h1,
    .compact-header .header-title h1 {
        font-size: 2.8rem;
    }

    .visitor-card {
        width: min(100%, 390px);
    }
}

/* -------------------------------------------------
   Main navigation
-------------------------------------------------- */

.main-navigation {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    background: linear-gradient(#285986, #1b426c);
    border-bottom: 1px solid #102f52;
}

.main-navigation a {
    padding: 14px 18px;
    font-size: 0.90rem;

    color: white;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;

    border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.main-navigation a:first-child {
    border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.main-navigation a:hover,
.main-navigation a.active {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 -5px 0 #d8a93c;
}

/* -------------------------------------------------
   Main page
-------------------------------------------------- */

.page-content {
   min-height: 500px;
    padding: 20px 25px 35px;
    background: #f8f8f7;
}

.welcome-section {
    max-width: 1050px;
    margin: 0 auto;
    text-align: center;
}

.section-decoration span {
    width: 210px;
    height: 1px;
    background: #cba13d;
}

.section-decoration strong {
    color: #cba13d;
    font-size: 1.8rem;
}

.welcome-section > h2 {
    margin: 18px 0 14px;
    font-size: 2rem;
    color: #102746;
}

.short-divider {
    width: 90px;
    height: 3px;
    margin: 0 auto 25px;
    background: #d2a53f;
}

.welcome-section > p {
    max-width: 900px;
    margin: 13px auto;
    line-height: 1.55;
    font-size: 1.1rem;
    color: #222222;
}

.welcome-options {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 35px;

    margin-top: 42px;
}

.welcome-option {
    display: flex;
    align-items: center;
    gap: 20px;

    width: 430px;
    text-align: left;
}

.welcome-option h3 {
    margin: 0 0 7px;
    font-size: 1.18rem;
}

.welcome-option p {
    margin: 0;
    line-height: 1.4;
    color: #222222;
}

.option-symbol {
    min-width: 84px;
    height: 84px;
    border-radius: 50%;

    display: flex;
    justify-content: center;
    align-items: center;

    color: white;
    font-size: 2rem;
}

.blue-symbol {
    background: linear-gradient(#2b5f94, #143b68);
}

.gold-symbol {
    background: linear-gradient(#d8b453, #aa7918);
}

.option-separator {
    width: 1px;
    background: #b8b8b8;
}
/* -------------------------------------------------
   Member login page
-------------------------------------------------- */

.login-section {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.login-section > h2 {
    margin: 18px 0 14px;
    font-size: 2rem;
    color: #102746;
}

.login-introduction {
    margin: 0 auto 30px;
    color: #333333;
    line-height: 1.5;
}

.login-form {
    max-width: 520px;
    margin: 0 auto;
    padding: 22px;

    text-align: left;

    border: 1px solid #b7c2ce;
    border-top: 5px solid #d8a93c;
    border-radius: 10px;

    background: #ffffff;
    box-shadow: 0 8px 22px rgba(6, 27, 54, 0.12);
}

.form-group {
    margin-bottom: 22px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;

    color: #102746;
    font-weight: bold;
}

.form-group input {
    width: 100%;
    padding: 10px 12px;

    border: 1px solid #8292a3;
    border-radius: 6px;

    font: inherit;
    color: #172333;
    background: #f9fbfd;
}

.form-group input:focus {
    outline: 3px solid rgba(216, 169, 60, 0.3);
    border-color: #b88519;
    background: #ffffff;
}

.remember-option {
    display: flex;
    align-items: center;
    gap: 10px;

    margin: 4px 0 24px;
    color: #26384b;
}

.remember-option input {
    width: 20px;
    height: 20px;
}

.form-button {
    width: 100%;
    padding: 11px;

    border: 1px solid #5b91c6;
    border-radius: 7px;

    cursor: pointer;

    color: #ffffff;
    background: linear-gradient(#356da8, #285681);

    font: inherit;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.form-button:hover {
    filter: brightness(1.1);
}

.forgotten-password {
    margin: 20px 0 0;
    text-align: center;
}

.forgotten-password a {
    color: #24598d;
}

/* -------------------------------------------------
   Membership application
-------------------------------------------------- */

.application-section {
    max-width: 1050px;
    margin: 0 auto;
    text-align: center;
}

.application-section > h2 {
    margin: 18px 0 14px;
    font-size: 2rem;
    color: #102746;
}

.application-introduction {
    max-width: 760px;
    margin: 0 auto 30px;
    line-height: 1.5;
    color: #333333;
}

.application-form {
    text-align: left;
}

.application-form fieldset {
    margin: 0 0 20px;
    padding: 22px;

    border: 1px solid #b7c2ce;
    border-top: 5px solid #d8a93c;
    border-radius: 10px;

    background: #ffffff;
    box-shadow: 0 6px 18px rgba(6, 27, 54, 0.09);
}

.application-form legend {
    padding: 0 12px;

    color: #102746;
    background: #ffffff;

    font-size: 1.2rem;
    font-weight: bold;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.application-form textarea {
    width: 100%;
    padding: 10px 12px;

    resize: vertical;

    border: 1px solid #8292a3;
    border-radius: 6px;

    font: inherit;
    color: #172333;
    background: #f9fbfd;
}

.application-form textarea:focus {
    outline: 3px solid rgba(216, 169, 60, 0.3);
    border-color: #b88519;
    background: #ffffff;
}

.application-form input[type="file"] {
    width: 100%;
    padding: 12px;

    border: 1px dashed #8292a3;
    border-radius: 6px;

    background: #f9fbfd;
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 25px;

    margin: 18px 0 25px;
}

.checkbox-grid label,
.agreement-option {
    display: flex;
    align-items: center;
    gap: 10px;

    color: #26384b;
}

.checkbox-grid input,
.agreement-option input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

.agreement-option {
    margin-top: 18px;
}

.field-help {
    margin: 7px 0 0;
    color: #566474;
    font-size: 0.9rem;
}

.application-actions {
    max-width: 520px;
    margin: 10px auto 0;
    text-align: center;
}

.application-actions p {
    color: #566474;
    font-size: 0.9rem;
}

@media (max-width: 750px) {

    .form-row,
    .checkbox-grid {
        grid-template-columns: 1fr;
    }

    .application-form fieldset {
        padding: 20px;
    }
}

/* -------------------------------------------------
   Application confirmation
-------------------------------------------------- */

.confirmation-section {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.confirmation-symbol {
    width: 90px;
    height: 90px;
    margin: 0 auto 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;
    background: #2f6d45;

    font-size: 3rem;
    font-weight: bold;
}

.confirmation-section h2 {
    margin: 0 0 16px;
    color: #102746;
    font-size: 2.25rem;
}

.confirmation-section p {
    line-height: 1.55;
    color: #26384b;
}

.reference-panel {
    max-width: 420px;
    margin: 30px auto;
    padding: 22px;

    border: 2px solid #d8a93c;
    border-radius: 9px;

    background: #ffffff;
    box-shadow: 0 6px 18px rgba(6, 27, 54, 0.1);
}

.reference-panel span,
.reference-panel strong {
    display: block;
}

.reference-panel span {
    margin-bottom: 8px;
    color: #566474;
}

.reference-panel strong {
    color: #102746;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
}

.confirmation-note {
    margin-bottom: 28px;
}

.return-home-button {
    display: inline-block;
    padding: 14px 28px;

    border: 1px solid #5b91c6;
    border-radius: 7px;

    color: #ffffff;
    background: linear-gradient(#356da8, #285681);

    text-decoration: none;
    font-weight: bold;
}

.return-home-button:hover {
    filter: brightness(1.1);
}

/* -------------------------------------------------
   Footer
-------------------------------------------------- */

.site-footer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;

    padding: 24px;
    color: white;
    background: #061b36;
}

.site-footer span {
    padding: 0 25px;
    border-right: 1px solid #d8a93c;
}

.site-footer span:last-child {
    border-right: none;
}

/* -------------------------------------------------
   Smaller screens
-------------------------------------------------- */





/* ===============================
   HOMEPAGE VERSION 0.2
=============================== */

/* =================================================
   MODSIM HOMEPAGE
   Version 0.2
================================================= */

/* Main homepage content */

.home-page .page-content {
    padding: 0;
    background: #eef2f6;
}


/* Recruitment introduction */

.recruitment-hero {
    padding: 42px 25px 48px;
    text-align: center;
    background:
        linear-gradient(
            rgba(255, 255, 255, 0.96),
            rgba(238, 243, 248, 0.96)
        );
}

.recruitment-hero .section-decoration span {
    width: 170px;
}

.hero-kicker,
.section-kicker {
    margin: 22px 0 10px;
    color: #a77816;
    font-size: 0.9rem;
    font-weight: bold;
    letter-spacing: 0.18em;
}

.recruitment-hero h2,
.section-heading h2,
.modsim-story h2,
.applications-open h2 {
    margin: 10px 0 18px;
    color: #102746;
    font-size: 2rem;
    letter-spacing: 0.035em;
}

.hero-introduction {
    max-width: 900px;
    margin: 0 auto 18px;
    color: #102746;
    font-size: 1.28rem;
    font-weight: bold;
    line-height: 1.55;
}

.hero-supporting-text {
    max-width: 900px;
    margin: 0 auto;
    color: #33475c;
    font-size: 1.05rem;
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 32px;
}

.primary-action,
.secondary-action {
    display: inline-block;
    min-width: 210px;
    padding: 15px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 0.06em;
}

.primary-action {
    color: #102746;
    border: 1px solid #ecce79;
    background: linear-gradient(#ead17f, #cda13c);
    box-shadow: 0 5px 14px rgba(87, 63, 11, 0.18);
}

.secondary-action {
    color: #ffffff;
    border: 1px solid #5b91c6;
    background: linear-gradient(#356da8, #214e79);
    box-shadow: 0 5px 14px rgba(6, 27, 54, 0.18);
}

.primary-action:hover,
.secondary-action:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}


/* Fly, Learn and Belong */

.recruitment-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;

    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 30px 70px;
}

.pillar-card {
    padding: 24px 22px;
    text-align: center;

    border-top: 5px solid #d8a93c;
    border-radius: 10px;

    color: #ffffff;
    background: linear-gradient(145deg, #0d3157, #061b36);
    box-shadow: 0 10px 25px rgba(6, 27, 54, 0.18);
}

.pillar-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 18px;

    display: flex;
    justify-content: center;
    align-items: center;

    border: 2px solid #d8a93c;
    border-radius: 50%;

    color: #e8c362;
    font-size: 2rem;
}

.pillar-card h3 {
    margin: 0 0 14px;
    color: #e8c362;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
}

.pillar-card p {
    margin: 0;
    color: #f0f4f8;
    line-height: 1.6;
}


/* MODSIM career journey */

.modsim-journey {
    padding: 45px 25px 52px;
    background: #ffffff;
}

.section-heading {
    margin-bottom: 40px;
    text-align: center;
}

.journey-steps {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 12px;

    max-width: 1350px;
    margin: 0 auto;
}

.journey-step {
    flex: 1;
    min-width: 0;
    padding: 25px 18px;

    text-align: center;

    border: 1px solid #b9c5d1;
    border-top: 5px solid #d8a93c;
    border-radius: 8px;

    background: #f5f8fb;
    box-shadow: 0 6px 16px rgba(6, 27, 54, 0.09);
}

.journey-number {
    width: 42px;
    height: 42px;
    margin: 0 auto 14px;

    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;

    color: #ffffff;
    background: #123f6c;
    font-weight: bold;
}

.journey-step h3 {
    margin: 0 0 10px;
    color: #102746;
    font-size: 1rem;
}

.journey-step p {
    margin: 0;
    color: #47596b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.journey-arrow {
    display: flex;
    align-items: center;
    color: #c69529;
    font-size: 2.5rem;
    font-weight: bold;
}


/* History section */

.modsim-story {
    padding: 48px 25px;
    color: #ffffff;
    background:
        linear-gradient(135deg, #061b36, #0d3763);
}

.story-content {
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.modsim-story h2 {
    color: #ffffff;
}

.modsim-story p:not(.section-kicker) {
    margin: 16px auto;
    color: #edf2f7;
    font-size: 1.05rem;
    line-height: 1.65;
}


/* Applications section */

.applications-open {
    padding: 48px 25px 56px;
    text-align: center;
    background: #eef2f6;
}

.applications-open > p:not(.section-kicker) {
    max-width: 820px;
    margin: 0 auto 30px;
    color: #33475c;
    font-size: 1.08rem;
    line-height: 1.65;
}


/* Slightly stronger visitor card */

.visitor-card {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}


/* Responsive homepage */

@media (max-width: 1050px) {

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

    .journey-arrow {
        display: none;
    }
}

@media (max-width: 750px) {

    .recruitment-pillars,
    .journey-steps {
        grid-template-columns: 1fr;
    }

    .recruitment-hero h2,
    .section-heading h2,
    .modsim-story h2,
    .applications-open h2 {
        font-size: 1.8rem;
    }

    .hero-introduction {
        font-size: 1.08rem;
    }

    .hero-actions {
        display: block;
    }

    .primary-action,
    .secondary-action {
        display: block;
        max-width: 300px;
        margin: 12px auto;
    }

    .recruitment-hero .section-decoration span {
        width: 75px;
    }
}

/* -------------------------------------------------
   Code of Conduct
-------------------------------------------------- */

.code-of-conduct-preview {
    padding: 48px 25px 56px;
    text-align: center;
    background: #ffffff;
}

.code-of-conduct-preview h2,
.conduct-section h2 {
    margin: 10px 0 18px;
    color: #102746;
    font-size: 2rem;
    letter-spacing: 0.035em;
}

.code-of-conduct-preview > p:not(.section-kicker) {
    max-width: 880px;
    margin: 14px auto;
    color: #33475c;
    font-size: 1.06rem;
    line-height: 1.65;
}

.code-of-conduct-preview .secondary-action {
    margin-top: 24px;
}

.conduct-section {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.conduct-introduction {
    max-width: 900px;
    margin: 0 auto 38px;
    color: #33475c;
    font-size: 1.08rem;
    line-height: 1.65;
}

.conduct-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    text-align: left;
}

.conduct-card {
    padding: 20px;
    border: 1px solid #b9c5d1;
    border-top: 5px solid #d8a93c;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(6, 27, 54, 0.09);
}

.conduct-card h3 {
    margin: 0 0 12px;
    color: #102746;
    font-size: 1.18rem;
}

.conduct-card p {
    margin: 0;
    color: #425466;
    line-height: 1.58;
}

.conduct-commitment {
    max-width: 900px;
    margin: 42px auto 0;
    padding: 22px;
    border-radius: 10px;
    color: #ffffff;
    background: linear-gradient(135deg, #061b36, #0d3763);
}

.conduct-commitment h3 {
    margin: 0 0 14px;
    color: #e7b94f;
    letter-spacing: 0.08em;
}

.conduct-commitment p {
    margin: 0 auto 24px;
    line-height: 1.65;
}

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

    .code-of-conduct-preview h2,
    .conduct-section h2 {
        font-size: 1.8rem;
    }
}

/* -------------------------------------------------
MODSIM Member Service Record
-------------------------------------------------- */
.service-record {
    max-width:1180px;
    margin:0 auto}

    .service-record-heading {
        text-align:center;
        margin-bottom:34px}

        .service-record-heading h2 {
            margin:8px 0 18px;
            color:#102746;
            font-size:2.35rem;
            letter-spacing:.05em}

            .service-card {
                display:grid;
                grid-template-columns:260px 1fr;
                gap:24px;
                padding:24px;
                border:1px solid #aebbc8;
                border-top:7px solid #d8a93c;
                border-radius:10px;
                background: linear-gradient(135deg,
                #f8fafc,
                #edf2f6);
                box-shadow:0 12px 28px rgba(6,
                27,
                54,
                .14)}

                .service-photo-panel {
                    text-align:center}

                    .service-photo-frame {
                        width:180px;
                        height:220px;
                        margin:0 auto 16px;
                        overflow:hidden;
                        border:5px solid #fff;
                        box-shadow:0 5px 16px rgba(6,
                        27,
                        54,
                        .22);
                        background:#d8e0e8}

                        .service-photo-frame img {
                            width:100%;
                            height:100%;
                            object-fit:cover}

                            .service-status {
                                display:inline-block;
                                min-width:130px;
                                padding:8px 18px;
                                border-radius:999px;
                                color:#fff;
                                font-weight:800;
                                letter-spacing:.12em}

                                .service-status.active {
                                    background:#1f6d45}

                                    .service-label {
                                        margin:0;
                                        color:#617183;
                                        font-size:.78rem;
                                        font-weight:800;
                                        letter-spacing:.12em}

                                        .service-number {
                                            margin:4px 0 16px;
                                            color:#9a6a00;
                                            font-size:1.18rem;
                                            font-weight:800;
                                            letter-spacing:.08em}

                                            .service-identity h1 {
                                                margin:0;
                                                color:#0b2340;
                                                font-size:2.65rem;
                                                letter-spacing:.04em}

                                                .service-callsign {
                                                    margin:8px 0 24px;
                                                    color:#415469;
                                                    font-size:1.08rem}

                                                    .service-data-grid,
                                                    .record-facts {
                                                        display:grid;
                                                        grid-template-columns: repeat(2,
                                                        minmax(0,
                                                        1fr));
                                                        gap:16px}

                                                        .service-data-grid div,
                                                        .record-facts div {
                                                            padding:15px 17px;
                                                            border-left:4px solid #d8a93c;
                                                            background:#fff}

                                                            .service-data-grid span,
                                                            .record-facts span {
                                                                display:block;
                                                                margin-bottom:5px;
                                                                color:#657689;
                                                                font-size:.78rem;
                                                                font-weight:800;
                                                                letter-spacing:.06em;
                                                                text-transform:uppercase}

                                                                .service-data-grid strong,
                                                                .record-facts strong {
                                                                    color:#132a45}

                                                                    .record-section {
                                                                        margin-top:28px}

                                                                        .record-section-heading {
                                                                            margin-bottom:18px;
                                                                            border-bottom:2px solid #d6dde5}

                                                                            .record-section-heading h3 {
                                                                                display:inline-block;
                                                                                margin:0 0 -2px;
                                                                                padding:0 0 10px;
                                                                                border-bottom:4px solid #d8a93c;
                                                                                color:#102746;
                                                                                letter-spacing:.06em}

                                                                                .record-card-grid,
                                                                                .insignia-panel {
                                                                                    display:grid;
                                                                                    grid-template-columns: repeat(3,
                                                                                    minmax(0,
                                                                                    1fr));
                                                                                    gap:20px}

                                                                                    .record-card,
                                                                                    .record-panel {
                                                                                        padding:18px;
                                                                                        border:1px solid #bcc7d2;
                                                                                        border-radius:8px;
                                                                                        background:#fff;
                                                                                        box-shadow:0 6px 16px rgba(6,
                                                                                        27,
                                                                                        54,
                                                                                        .08)}

                                                                                        .record-card-icon {
                                                                                            color:#b88414;
                                                                                            font-size:1.75rem}

                                                                                            .record-card h4 {
                                                                                                margin:10px 0 8px;
                                                                                                color:#102746}

                                                                                                .record-card p,
                                                                                                .record-panel p {
                                                                                                    margin:0;
                                                                                                    color:#405267;
                                                                                                    line-height:1.58}

                                                                                                    .record-note {
                                                                                                        margin-top:20px!important;
                                                                                                        padding-top:18px;
                                                                                                        border-top:1px solid #d8e0e7;
                                                                                                        font-style:italic}

                                                                                                        .qualification-list {
                                                                                                            display:grid;
                                                                                                            grid-template-columns: repeat(2,
                                                                                                            minmax(0,
                                                                                                            1fr));
                                                                                                            gap:13px}

                                                                                                            .qualification {
                                                                                                                padding:15px 18px;
                                                                                                                border:1px solid #c1ccd6;
                                                                                                                border-radius:7px;
                                                                                                                background:#fff;
                                                                                                                color:#243a51;
                                                                                                                font-weight:700}

                                                                                                                .qualification span {
                                                                                                                    display:inline-block;
                                                                                                                    width:26px;
                                                                                                                    font-size:1.12rem}

                                                                                                                    .qualification.achieved span {
                                                                                                                        color:#1f6d45}

                                                                                                                        .qualification.pending {
                                                                                                                            color:#6b7785;
                                                                                                                            background:#f4f6f8}

                                                                                                                            .insignia-placeholder {
                                                                                                                                min-height:110px;
                                                                                                                                display:flex;
                                                                                                                                align-items:center;
                                                                                                                                justify-content:center;
                                                                                                                                padding:20px;
                                                                                                                                border:2px dashed #9eacba;
                                                                                                                                border-radius:8px;
                                                                                                                                color:#637386;
                                                                                                                                background:#f6f8fa;
                                                                                                                                text-align:center}

                                                                                                                                .career-timeline {
                                                                                                                                    border-left:4px solid #d8a93c;
                                                                                                                                    margin-left:72px}

                                                                                                                                    .career-entry {
                                                                                                                                        position:relative;
                                                                                                                                        display:grid;
                                                                                                                                        grid-template-columns:120px 1fr;
                                                                                                                                        gap:22px;
                                                                                                                                        margin-left:-78px;
                                                                                                                                        padding:0 0 28px}

                                                                                                                                        .career-entry:last-child {
                                                                                                                                            padding-bottom:0}

                                                                                                                                            .career-date {
                                                                                                                                                align-self:start;
                                                                                                                                                padding:8px 10px;
                                                                                                                                                border-radius:5px;
                                                                                                                                                color:#fff;
                                                                                                                                                background:#102746;
                                                                                                                                                font-size:.82rem;
                                                                                                                                                font-weight:800;
                                                                                                                                                text-align:center}

                                                                                                                                                .career-entry h4 {
                                                                                                                                                    margin:4px 0 7px;
                                                                                                                                                    color:#102746}

                                                                                                                                                    .career-entry p {
                                                                                                                                                        margin:0;
                                                                                                                                                        color:#405267;
                                                                                                                                                        line-height:1.55}

                                                                                                                                                        .private-record .record-panel {
                                                                                                                                                            border-left:6px solid #8a2d2d;
                                                                                                                                                            background:#fffafa}

                                                                                                                                                            @media (max-width: 850px) {
                                                                                                                                                                .service-card {
                                                                                                                                                                    grid-template-columns:1fr}

                                                                                                                                                                    .record-card-grid,
                                                                                                                                                                    .insignia-panel {
                                                                                                                                                                        grid-template-columns:1fr}
                                                                                                                                                                    }

                                                                                                                                                                    @media (max-width: 650px) {
                                                                                                                                                                        .service-data-grid,
                                                                                                                                                                        .record-facts,
                                                                                                                                                                        .qualification-list {
                                                                                                                                                                            grid-template-columns:1fr}

                                                                                                                                                                            .service-identity h1 {
                                                                                                                                                                                font-size:2rem}

                                                                                                                                                                                .career-timeline {
                                                                                                                                                                                    margin-left:0;
                                                                                                                                                                                    border-left:0}

                                                                                                                                                                                    .career-entry {
                                                                                                                                                                                        grid-template-columns:1fr;
                                                                                                                                                                                        gap:10px;
                                                                                                                                                                                        margin-left:0;
                                                                                                                                                                                        padding:0 0 24px}

                                                                                                                                                                                        .career-date {
                                                                                                                                                                                            width: max-content}
                                                                                                                                                                                        }


/* -------------------------------------------------
   MODSIM Version 1.0.2 additions
-------------------------------------------------- */
.site-header { grid-template-columns: 190px minmax(380px, 1fr) 275px; }
.header-left-panel { position:relative; z-index:2; text-align:center; }
.header-left-panel .header-badge img { max-width:170px; max-height:165px; }
.command-date,.command-time { color:#fff; font-weight:bold; text-shadow:0 2px 6px #000; }
.command-date { margin-bottom:5px; font-size:.92rem; }
.command-time { margin-top:5px; color:#e7b94f; font-size:1.35rem; letter-spacing:.08em; }
.signed-in-name { color:#fff; font-weight:bold; }
.login-message { max-width:520px; margin:0 auto 18px; padding:12px 15px; border-radius:6px; font-weight:bold; }
.login-message.error { color:#7b1f1f; border:1px solid #d7a0a0; background:#fff0f0; }
.login-message.success { color:#175a36; border:1px solid #91c3a6; background:#edf9f2; }
.form-group select { width:100%; padding:10px 12px; border:1px solid #8292a3; border-radius:6px; font:inherit; color:#172333; background:#f9fbfd; }
@media (max-width:1050px) { .site-header { grid-template-columns:165px minmax(300px,1fr) 250px; } .header-left-panel .header-badge img { max-width:150px; } }
@media (max-width:760px) { .header-left-panel { width:100%; } }


/* =================================================
   MODSIM 1.1.0 — COMMAND CENTRE EDITION
   ================================================= */
:root{--ink:#081422;--navy:#0b223b;--navy2:#102f50;--blue:#1c4b76;--steel:#c9d3dc;--mist:#eef2f5;--paper:#f7f8f8;--gold:#d7aa44;--gold2:#f0c867;--green:#78b88c;--red:#a64545;--white:#fff;--shadow:0 16px 38px rgba(6,17,28,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(#edf1f4,#f8f9fa 440px);color:#182a3b;font-family:"Segoe UI",Arial,sans-serif}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px}
.command-header{position:relative;min-height:286px;overflow:hidden;border-bottom:4px solid var(--gold);background:#071421}.command-header--compact{min-height:230px}.command-header__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.72) contrast(1.08)}.command-header__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,25,.94) 0%,rgba(5,21,37,.74) 26%,rgba(5,20,34,.42) 54%,rgba(3,13,23,.9) 100%),linear-gradient(0deg,rgba(3,12,20,.78),transparent 56%)}.command-header__grid{position:relative;z-index:2;display:grid;grid-template-columns:220px minmax(420px,1fr) 300px;gap:28px;align-items:center;max-width:1600px;min-height:286px;margin:auto;padding:22px 40px}.command-header--compact .command-header__grid{min-height:230px}.identity-station{text-align:center;border-right:1px solid rgba(255,255,255,.18);padding-right:28px}.identity-station__date{color:#fff;font-size:.9rem;font-weight:800;letter-spacing:.08em}.identity-station__badge{display:block;margin:8px auto 6px}.identity-station__badge img{display:block;max-width:175px;max-height:170px;margin:auto;filter:drop-shadow(0 7px 12px rgba(0,0,0,.55))}.identity-station__clock-line{display:flex;justify-content:center;align-items:center;gap:8px;color:var(--gold2)}.identity-station__time{font-family:Consolas,"Courier New",monospace;font-size:1.45rem;font-weight:800;letter-spacing:.08em}.time-zone{color:#becbd6;font-size:.65rem;font-weight:800}.status-lamp{display:inline-block;width:8px;height:8px;border-radius:50%;background:#73d391;box-shadow:0 0 10px #73d391}.command-title{text-align:center;color:#fff;text-shadow:0 3px 12px #000}.command-title__eyebrow{margin:0 0 4px;color:#d9e2e9;font-size:.76rem;font-weight:800;letter-spacing:.2em}.command-title h1{margin:0;font-family:Georgia,serif;font-size:4.7rem;line-height:.92;letter-spacing:.08em}.command-title h2{margin:6px 0 0;color:var(--gold2);font-size:1.4rem;letter-spacing:.34em}.command-title__rule{display:flex;align-items:center;gap:12px;max-width:400px;margin:13px auto 9px}.command-title__rule span{height:1px;flex:1;background:rgba(255,255,255,.55)}.command-title__rule strong{color:var(--gold2)}.command-title__motto{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.19em}.access-station{padding:17px 18px;border:1px solid rgba(222,232,240,.4);background:rgba(6,20,34,.84);box-shadow:0 12px 28px rgba(0,0,0,.28)}.access-station__topline{display:flex;gap:8px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.16);color:#c8d4dd;font-size:.72rem;font-weight:800;letter-spacing:.12em}.access-station__label{margin:15px 0 4px;color:#aebdca;font-size:.7rem;font-weight:800;letter-spacing:.13em}.access-station__name{margin:0 0 14px;color:#fff;font-weight:800}.access-button{display:block;margin-top:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.32);color:#fff;text-align:center;text-decoration:none;font-size:.75rem;font-weight:900;letter-spacing:.08em}.access-button:hover{background:rgba(255,255,255,.1)}.access-button--primary{border-color:var(--gold);background:var(--gold);color:#112033}.access-button--primary:hover{background:var(--gold2)}
.ops-navigation{position:sticky;top:0;z-index:20;background:#071728;border-bottom:1px solid #29445f;box-shadow:0 7px 16px rgba(0,0,0,.16)}.ops-navigation__inner{display:flex;align-items:stretch;max-width:1600px;margin:auto;padding:0 32px}.ops-navigation__designation{display:flex;align-items:center;margin-right:12px;padding:0 18px;border-left:1px solid #29445f;border-right:1px solid #29445f;color:#8198aa;font-family:Consolas,monospace;font-size:.7rem}.ops-navigation a{position:relative;padding:15px 18px;color:#d8e0e6;text-decoration:none;font-size:.8rem;font-weight:800;letter-spacing:.04em}.ops-navigation a:hover{background:#102a44;color:#fff}.ops-navigation a.active{background:#153653;color:#fff}.ops-navigation a.active:after{content:"";position:absolute;left:20%;right:20%;bottom:0;height:3px;background:var(--gold)}
.page-content{max-width:none;margin:0;padding:0}.mission-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:48px;max-width:1380px;margin:0 auto;padding:72px 48px 62px}.command-kicker{display:flex;align-items:center;gap:12px;margin:0 0 17px;color:#5b6e80;font-size:.76rem;font-weight:900;letter-spacing:.16em}.command-kicker span{width:46px;height:2px;background:var(--gold)}.mission-hero h2{margin:0;color:#102a44;font-family:Georgia,serif;font-size:4.25rem;line-height:.95;letter-spacing:.01em}.mission-hero h2 em{color:#b28428;font-style:normal}.mission-hero__lead{max-width:760px;margin:26px 0 0;color:#3e5367;font-size:1.18rem;line-height:1.72}.mission-hero__actions{display:flex;gap:12px;margin-top:31px}.command-action{display:inline-block;padding:13px 21px;border:1px solid #153653;background:#fff;color:#153653;text-decoration:none;font-size:.78rem;font-weight:900;letter-spacing:.09em}.command-action:hover{background:#e8eef3}.command-action--gold{border-color:#c8942e;background:var(--gold);color:#102238}.command-action--gold:hover{background:var(--gold2)}.operations-status{align-self:start;border-top:5px solid var(--gold);background:#0c2238;color:#fff;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #34506a;color:#dce5eb;font-size:.75rem;font-weight:900;letter-spacing:.1em}.panel-heading strong{color:#82d49b}.operations-status dl{margin:0;padding:8px 16px}.operations-status dl div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #294158}.operations-status dt{color:#9fb0bf;font-size:.79rem}.operations-status dd{margin:0;font-weight:800;text-align:right}.operations-status .status-ready{color:#8ed7a1}.operations-status>p{margin:0;padding:14px 16px 18px;color:#b9c7d1;font-size:.82rem;line-height:1.55}.command-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#102b47;color:#fff}.command-strip article{display:grid;grid-template-columns:68px 1fr;gap:18px;padding:31px 40px;border-right:1px solid #36516a}.command-strip article:last-child{border-right:0}.command-strip>article>span{color:var(--gold2);font-family:Georgia,serif;font-size:2.3rem}.command-strip h3{margin:0 0 6px;letter-spacing:.13em}.command-strip p{margin:0;color:#b9c8d3;line-height:1.55}.career-route{padding:70px 46px 76px;background:#f4f6f7}.section-command-heading{text-align:center}.section-command-heading p{margin:0;color:#7a8997;font-size:.72rem;font-weight:900;letter-spacing:.17em}.section-command-heading h2{margin:10px 0;color:#122d49;font-family:Georgia,serif;font-size:2.4rem}.section-command-heading>span{display:block;width:72px;height:3px;margin:17px auto 0;background:var(--gold)}.career-route__track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;max-width:1440px;margin:50px auto 0}.career-route__track:before{content:"";position:absolute;left:8%;right:8%;top:45px;height:2px;background:#a7b5c1}.route-stage{position:relative;text-align:center}.route-stage__number{color:#768896;font-family:Consolas,monospace;font-size:.72rem;font-weight:800}.route-stage__marker{position:relative;z-index:2;width:24px;height:24px;margin:13px auto 19px;border:6px solid #f4f6f7;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #244866}.route-stage h3{margin:0 0 8px;color:#163653;font-size:.9rem;letter-spacing:.07em}.route-stage p{margin:0;color:#586c7e;font-size:.83rem;line-height:1.5}.briefing-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.briefing-card{min-height:340px;padding:58px 9%;background:#e8edf1}.briefing-card--history{background:#102b47;color:#fff}.briefing-card__code{margin:0;color:#8092a2;font-family:Consolas,monospace;font-size:.72rem;font-weight:800}.briefing-card--history .briefing-card__code{color:#96a9b9}.briefing-card h2{margin:13px 0 21px;font-family:Georgia,serif;font-size:2rem}.briefing-card p{max-width:650px;line-height:1.65}.briefing-card a{display:inline-block;margin-top:13px;color:#9b701e;font-weight:900;text-decoration:none}.briefing-card--history a{color:var(--gold2)}.final-call{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:38px max(5%,48px);background:#071728;color:#fff;border-top:4px solid var(--gold)}.final-call p{margin:0;color:#8ea1b0;font-size:.72rem;font-weight:900;letter-spacing:.16em}.final-call h2{margin:7px 0 0;font-family:Georgia,serif;font-size:2rem}
.operations-footer{display:flex;justify-content:space-between;gap:20px;padding:14px 32px;background:#030d16;color:#8698a6;font-family:Consolas,monospace;font-size:.7rem;letter-spacing:.05em}.operations-footer__status{color:#b8c7d0}.operations-footer__status i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#6bc985;box-shadow:0 0 8px #6bc985}.record-classification{display:flex;justify-content:space-between;max-width:1200px;margin:0 auto;padding:9px 14px;background:#102b47;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.12em}.record-classification strong{color:var(--gold2)}.service-status.active span{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#70c889;box-shadow:0 0 8px #70c889}
@media(max-width:1100px){.command-header__grid{grid-template-columns:180px 1fr 250px;padding:18px 24px}.identity-station__badge img{max-width:145px}.command-title h1{font-size:3.8rem}.command-title h2{font-size:1.1rem}.mission-hero{grid-template-columns:1fr}.operations-status{max-width:650px}.career-route__track{grid-template-columns:repeat(3,1fr);row-gap:42px}.career-route__track:before{display:none}}
@media(max-width:760px){.command-header,.command-header--compact{min-height:auto}.command-header__grid{grid-template-columns:1fr;padding:18px}.identity-station{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:0 0 12px}.identity-station__badge img{max-width:120px}.command-title h1{font-size:3rem}.command-title h2{letter-spacing:.18em}.access-station{max-width:420px;width:100%;margin:auto}.ops-navigation__inner{overflow-x:auto;padding:0}.ops-navigation__designation{display:none}.ops-navigation a{white-space:nowrap;padding:13px 14px}.mission-hero{padding:46px 22px}.mission-hero h2{font-size:3rem}.mission-hero__actions{flex-direction:column}.command-action{text-align:center}.command-strip{grid-template-columns:1fr}.command-strip article{border-right:0;border-bottom:1px solid #36516a;padding:24px}.career-route{padding:50px 22px}.career-route__track{grid-template-columns:1fr 1fr}.briefing-grid{grid-template-columns:1fr}.briefing-card{padding:42px 24px}.final-call{align-items:flex-start;flex-direction:column;padding:34px 24px}.operations-footer{flex-wrap:wrap;padding:14px 18px}.service-card{margin-top:0}}

/* MODSIM 1.1.0 Phase One */
.document-page{max-width:1180px;margin:24px auto;background:#f3f1e8;color:#17202a;border:1px solid #8b9198;box-shadow:0 8px 24px rgba(0,0,0,.28);padding:28px;font-size:14px;line-height:1.55}.narrow-document{max-width:820px}.document-header{border-bottom:3px double #2c3e50;padding-bottom:14px;margin-bottom:22px}.document-header p{letter-spacing:.18em;font-size:11px;margin:0;color:#485460}.document-header h1{font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:.08em;margin:5px 0}.document-header div{font-size:12px;color:#59636e}.official-form label{display:block;font-weight:700;margin:12px 0}.official-form input,.official-form textarea,.official-form select{width:100%;box-sizing:border-box;margin-top:5px;padding:10px;border:1px solid #747d86;background:#fff;color:#111;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.official-form fieldset{margin:16px 0;border:1px solid #89929a}.radio-line{display:inline-flex!important;align-items:center;gap:7px;margin-right:24px!important}.radio-line input{width:auto}.form-actions,.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.form-actions button,.inline-form button,.decision-form button{padding:10px 14px;border:1px solid #45515d;background:#273746;color:#fff;cursor:pointer;font-weight:700}.approve-button{background:#166534!important}.decline-button{background:#8b1e1e!important}.table-wrap{overflow:auto}.official-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.official-table th{background:#263746;color:#fff;text-align:left;letter-spacing:.06em}.official-table th,.official-table td{padding:10px;border:1px solid #98a0a7;vertical-align:top}.official-table a{font-weight:700}.archived-row{opacity:.58}.inline-form{display:inline;margin-left:8px}.command-dashboard{max-width:1250px;margin:24px auto}.dashboard-heading{border-left:5px solid #c6a35b;padding:10px 18px;margin-bottom:18px}.dashboard-heading p{font-size:11px;letter-spacing:.18em}.dashboard-heading h2{font-size:34px;margin:2px 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);gap:20px}.notice-card,.status-panel{background:rgba(7,23,40,.94);border:1px solid #536779;padding:18px;margin-bottom:15px;box-shadow:0 6px 18px rgba(0,0,0,.25)}.notice-card{border-left:5px solid #6b849b}.priority-important{border-left-color:#c6a35b}.priority-urgent{border-left-color:#c0392b}.notice-meta{display:flex;justify-content:space-between;color:#c6a35b;font-size:11px;letter-spacing:.12em}.notice-card h3,.status-panel h3{margin:8px 0;color:#fff}.notice-card p{white-space:pre-line}.notice-card footer{font-size:11px;color:#9fb0be;border-top:1px solid #405365;padding-top:9px}.status-panel dl div,.application-facts dl div,.approval-box dl div,.modsim-id-card dl div{display:grid;grid-template-columns:135px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12)}.status-panel dt{color:#9fb0be}.status-panel dd{margin:0;font-weight:700}.executive-panel a{display:block;margin:9px 0}.application-review-grid{display:grid;grid-template-columns:340px 1fr;gap:28px}.application-photo{width:100%;max-height:420px;object-fit:cover;border:8px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3)}.application-facts dt,.approval-box dt,.modsim-id-card dt{font-weight:700}.application-facts dd,.approval-box dd,.modsim-id-card dd{margin:0}.approval-box{border:2px solid #2f5d3a;padding:20px;background:#fff}.warning-text{color:#8b1e1e;font-weight:700}.id-card-page{padding:30px}.modsim-id-card{max-width:850px;margin:auto;background:linear-gradient(135deg,#e7ebee,#bcc8d0);color:#111;border:3px solid #142b3d;border-radius:12px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.4)}.modsim-id-card>header{display:grid;grid-template-columns:80px 1fr auto;align-items:center;background:#0b2437;color:#fff;padding:12px 18px}.modsim-id-card header img{width:62px}.modsim-id-card header p{font-size:10px;letter-spacing:.14em;margin:0}.modsim-id-card header h1{font-size:22px;margin:2px 0}.modsim-id-card header strong{color:#8fe59b}.id-card-body{display:grid;grid-template-columns:235px 1fr;gap:22px;padding:22px}.id-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:5px solid #fff}.id-service{font-family:monospace;font-size:20px;font-weight:700}.id-data h2{font-size:28px;margin:4px 0 12px}.id-insignia{display:flex;align-items:center;gap:24px;margin-top:14px}.rank-ribbon{max-width:180px;max-height:48px}.wings{max-width:100px}.ribbon-row{display:flex;gap:3px;flex-wrap:wrap;margin-top:12px}.ribbon-row img{height:18px;max-width:70px}.large-ribbons img{height:22px}.modsim-id-card>footer{display:flex;justify-content:space-between;background:#0b2437;color:#fff;padding:8px 18px;font-size:11px}.print-button{display:block;margin:20px auto}.identity-insignia{display:flex;align-items:center;gap:25px;margin-top:18px}.identity-insignia img{max-height:48px;max-width:180px}.dev-mode-toggle{position:fixed;right:12px;bottom:42px;z-index:50}.dev-mode-toggle button{font-size:10px;background:#7b1f1f;color:#fff;border:1px solid #ffb3b3;padding:5px}.development-strip{position:fixed;bottom:0;left:0;right:0;z-index:49;background:#751919;color:#fff;text-align:center;padding:6px;font:11px monospace}.service-record.document-page{font-size:14px}.service-photo-panel .command-action{display:block;text-align:center;margin-top:10px}
@media(max-width:800px){.dashboard-grid,.application-review-grid,.id-card-body,.form-grid{grid-template-columns:1fr}.document-page{margin:10px;padding:16px}.id-card-page{padding:10px}.operations-footer{padding-bottom:28px}}
@media print{body{background:#fff}.command-header,.ops-navigation,.operations-footer,.print-button,.dev-mode-toggle,.development-strip{display:none!important}.page-content{padding:0}.modsim-id-card{box-shadow:none;margin:0;max-width:none}}


/* MODSIM v1.2.0 Build 002 — banner identity card */
.banner-id-card{position:relative;display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:center;margin:10px 0 12px;padding:8px;border:1px solid rgba(231,185,79,.8);background:linear-gradient(135deg,rgba(230,236,240,.97),rgba(180,195,205,.97));color:#102334;text-decoration:none;box-shadow:0 5px 16px rgba(0,0,0,.35)}
.banner-id-card>img:first-child{width:66px;height:82px;object-fit:cover;border:2px solid #fff}
.banner-id-card__data{display:flex;min-width:0;flex-direction:column;line-height:1.15}
.banner-id-card__data small{color:#435568;font-size:.56rem;font-weight:800;letter-spacing:.12em}
.banner-id-card__data strong{margin-top:5px;color:#122a3d;font-size:.72rem;text-transform:uppercase}
.banner-id-card__data b{overflow:hidden;color:#071827;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}
.banner-id-card__data em{margin-top:5px;color:#4d5d6b;font-size:.62rem;font-style:normal;font-weight:800}
.banner-id-card__wings{position:absolute!important;right:8px;bottom:8px;width:auto!important;height:20px!important;object-fit:contain!important;border:0!important}
@media(max-width:1120px){.command-header__grid{grid-template-columns:190px minmax(360px,1fr) 280px;gap:18px;padding-left:24px;padding-right:24px}.banner-id-card{grid-template-columns:55px 1fr}.banner-id-card>img:first-child{width:55px;height:69px}}


/* MODSIM v1.2.0 Build 003 — dynamic personnel card based on Bob's layout */
.personnel-card-page{padding:32px 20px}.personnel-card{width:min(760px,100%);margin:auto;padding:30px;background:#f7f7f4;color:#080b0e;border:1px solid #9ca3aa;box-shadow:0 14px 38px rgba(0,0,0,.38)}
.personnel-card__header{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;border-bottom:2px solid #17324b;padding-bottom:18px}.personnel-card__formation{display:flex;gap:28px;align-items:flex-start}.personnel-card__formation figure{display:grid;grid-template-columns:115px auto;align-items:center;gap:15px;margin:0}.personnel-card__formation img{width:105px;height:105px;object-fit:contain}.personnel-card__formation figcaption{font-size:1.35rem;font-weight:800;white-space:nowrap}.personnel-card__status{text-align:right}.personnel-card__status span{display:block;color:#53616d;font-size:.7rem;font-weight:900;letter-spacing:.16em}.personnel-card__status strong{color:#1d6e35;font-size:1rem}
.personnel-card__main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:34px;align-items:start;padding-top:24px}.personnel-card__portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid #70777d}.personnel-card__portrait h1{margin:10px 0 0;text-align:center;font-size:1.65rem;font-weight:500}.personnel-card__insignia{display:flex;flex-direction:column;align-items:center;gap:20px}.personnel-card__service-number{width:100%;padding:12px;background:linear-gradient(90deg,#d7f4fb,#77d6ee);border-left:22px solid #2d1090;text-align:center}.personnel-card__service-number small,.personnel-card__rank small{display:block;color:#27333d;font-size:.66rem;font-weight:900;letter-spacing:.12em}.personnel-card__service-number strong{font-family:Consolas,monospace;font-size:1.5rem}.personnel-card__hat{width:100%;max-height:190px;object-fit:contain}.personnel-card__rank{width:100%;text-align:center}.personnel-card__rank img{max-width:100%;max-height:70px;object-fit:contain;margin-top:6px}
.personnel-card__wings{text-align:center;padding:20px 0 14px}.personnel-card__wings img{width:min(390px,75%);max-height:110px;object-fit:contain}.personnel-card__wings p,.personnel-card__awards p{color:#65717b;font-size:.75rem;font-weight:900;letter-spacing:.13em}.personnel-card__awards{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;min-height:48px;padding:12px;border-top:1px solid #aab0b5}.personnel-card__awards img{height:38px;max-width:145px;object-fit:fill}.personnel-card-actions{display:flex;justify-content:center;gap:12px;margin-top:18px}
@media(max-width:760px){.personnel-card{padding:18px}.personnel-card__header{display:block}.personnel-card__formation{display:grid;grid-template-columns:1fr 1fr;gap:12px}.personnel-card__formation figure{display:block;text-align:center}.personnel-card__formation figcaption{white-space:normal;font-size:.95rem}.personnel-card__formation img{width:85px;height:85px}.personnel-card__status{text-align:center;margin-top:12px}.personnel-card__main{grid-template-columns:1fr}.personnel-card__insignia{display:grid;grid-template-columns:1fr 1fr}.personnel-card__service-number{grid-column:1/-1}.personnel-card__hat{max-height:130px}.personnel-card__rank img{max-height:55px}}
@media print{.personnel-card-actions{display:none!important}.personnel-card{box-shadow:none;border:0;width:100%}}

/* MODSIM v1.2.0 Build 004 — authentic-photo personnel card */
/* ER1 Build 007f — personnel card rebuilt as two explicit rows. */
.banner-personnel-card{display:block;margin:10px 0 12px;padding:12px;border:1px solid #65ff7a;background:rgba(5,13,8,.92);color:#65ff7a;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(101,255,122,.12);overflow:hidden}
.banner-personnel-card__identity{display:grid;grid-template-columns:112px minmax(0,1fr) 70px;gap:14px;align-items:start;min-width:0}
.banner-personnel-card__photo{width:112px;height:150px;overflow:hidden;border:1px solid #65ff7a;background:#06100a}
.banner-personnel-card__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.banner-personnel-card__details{display:flex;min-width:0;flex-direction:column;line-height:1.12;padding-top:2px;overflow:hidden}
.banner-personnel-card__label{font-size:.66rem;font-weight:900;letter-spacing:.12em;line-height:1.15}
.banner-personnel-card__details strong{margin-top:7px;font-size:.88rem;line-height:1.15;white-space:normal}
.banner-personnel-card__details b{margin-top:4px;color:#fff;font-size:1.08rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner-personnel-card__details span:not(.banner-personnel-card__label){margin-top:5px;color:#c9ffd0;font-size:.70rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner-personnel-card__details em{margin-top:8px;color:#65ff7a;font-size:.69rem;line-height:1.1;font-style:normal;font-weight:900;white-space:nowrap}
.banner-personnel-card__insignia{display:flex;width:70px;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;overflow:hidden}
.banner-personnel-card__insignia img{display:block;object-fit:contain}
.banner-personnel-card__rank{width:64px;height:34px}
.banner-personnel-card__squadron{width:64px;height:82px}
.banner-personnel-card__decorations{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(101,255,122,.45);overflow:hidden}
.banner-personnel-card__wings{display:block;width:220px;height:52px;max-width:82%;object-fit:contain}
.banner-personnel-card__ribbons{display:grid;grid-template-columns:repeat(5,36px);grid-auto-rows:13px;justify-content:center;gap:4px 6px;max-width:100%;overflow:hidden}
.banner-personnel-card__ribbons img{display:block;width:36px;height:13px;max-width:none;object-fit:fill}
@media(max-width:1450px) and (min-width:761px){.banner-personnel-card__identity{grid-template-columns:96px minmax(0,1fr) 58px;gap:10px}.banner-personnel-card__photo{width:96px;height:130px}.banner-personnel-card__rank{width:52px;height:28px}.banner-personnel-card__squadron{width:52px;height:68px}.banner-personnel-card__label{font-size:.58rem}.banner-personnel-card__details strong{font-size:.76rem}.banner-personnel-card__details b{font-size:.96rem}.banner-personnel-card__details span:not(.banner-personnel-card__label),.banner-personnel-card__details em{font-size:.62rem}.banner-personnel-card__wings{width:185px;height:44px}.banner-personnel-card__ribbons{grid-template-columns:repeat(5,30px);grid-auto-rows:11px;gap:4px}.banner-personnel-card__ribbons img{width:30px;height:11px}}
@media(max-width:760px){.personnel-card{padding:16px}.personnel-card__header{grid-template-columns:1fr}.personnel-card__unit{grid-template-columns:65px 1fr}.personnel-card__unit img{width:62px;height:62px}.personnel-card__status{text-align:left}.personnel-card__main{grid-template-columns:1fr}.personnel-card__symbols img{height:70px}.personnel-card__details dl div{grid-template-columns:120px 1fr}}
@media print{.personnel-card-actions{display:none!important}.personnel-card{width:100%;box-shadow:none}}

/* Build 005: Airfields and Squadrons */
.org-page{max-width:1250px;margin:0 auto;padding:34px 24px 60px}.org-page.narrow{max-width:900px}.org-heading,.squadron-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.org-heading h1,.squadron-hero h1{margin:.15rem 0;color:#102746}.org-search{display:grid;grid-template-columns:1fr 220px 140px;gap:12px;margin:22px 0}.org-search input,.org-search select,.org-search button,.org-form input,.org-form select,.org-form textarea,.posting-form input,.posting-form select,.posting-form button{font:inherit;padding:12px;border:1px solid #aebdca;border-radius:5px}.org-search button,.posting-form button{background:#102746;color:#fff;font-weight:800;border:0}.org-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.org-card{display:block;padding:22px;border:1px solid #c7d1da;border-radius:8px;background:#fff;color:#243a51;text-decoration:none;box-shadow:0 5px 15px rgba(6,27,54,.08)}.org-card:hover{transform:translateY(-2px)}.org-card h2{margin:8px 0;color:#102746}.org-card dl{display:flex;gap:26px}.org-card dt{font-size:.78rem;text-transform:uppercase;color:#65778a}.org-card dd{margin:2px 0;font-weight:800}.org-code{display:inline-block;padding:5px 9px;background:#102746;color:#fff;border-radius:4px;font-weight:800;letter-spacing:.08em}.squadron-card img{float:right;width:85px;height:85px;object-fit:contain;margin-left:12px}.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0}.fact-grid>div{padding:18px;background:#fff;border:1px solid #c7d1da;border-left:5px solid #b88414;border-radius:6px}.fact-grid span,.fact-grid small{display:block;color:#65778a}.fact-grid strong{display:block;margin:5px 0;color:#102746}.org-panel{margin:20px 0;padding:24px;background:#fff;border:1px solid #c7d1da;border-radius:8px}.org-list-row{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;padding:13px 0;border-bottom:1px solid #e1e6eb;color:#243a51;text-decoration:none}.org-list-row:last-child{border-bottom:0}.org-list-row em{font-style:normal;color:#65778a}.org-table-wrap{overflow:auto;background:#fff;border:1px solid #c7d1da;border-radius:8px}.org-table{width:100%;border-collapse:collapse}.org-table th,.org-table td{padding:13px 15px;border-bottom:1px solid #dce3e9;text-align:left}.org-table th{background:#102746;color:#fff}.org-form{display:grid;gap:17px;padding:25px;background:#fff;border:1px solid #c7d1da;border-radius:8px}.org-form label{display:grid;gap:7px;font-weight:700;color:#243a51}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.form-note{padding:12px;background:#eef3f7;border-left:4px solid #b88414}.squadron-hero{padding:24px;background:#fff;border:1px solid #c7d1da;border-radius:8px}.squadron-hero>img{width:135px;height:135px;object-fit:contain}.squadron-hero>div{flex:1}.posting-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 170px auto auto;gap:10px;align-items:center}@media(max-width:900px){.org-card-grid,.fact-grid{grid-template-columns:repeat(2,1fr)}.org-search,.form-grid,.posting-form{grid-template-columns:1fr}.org-heading,.squadron-hero{align-items:flex-start;flex-wrap:wrap}}@media(max-width:600px){.org-card-grid,.fact-grid{grid-template-columns:1fr}.org-list-row{grid-template-columns:1fr}.squadron-hero>img{width:95px;height:95px}}
/* Build 006: Executive Member Management */
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.admin-form{display:grid;gap:.75rem}.admin-form label{display:grid;gap:.3rem;font-weight:700}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:.75rem;background:#081725;color:#fff;border:1px solid #4b6579}.admin-form textarea{min-height:90px}.personnel-link{text-decoration:none;color:inherit}.timeline-entry{border-left:3px solid #b89a50;padding:.65rem 1rem;margin:.7rem 0;background:rgba(255,255,255,.035)}.timeline-entry strong,.timeline-entry span{display:block}.warning-panel{max-width:850px;margin:auto;border:2px solid #b89a50}.org-list-row form{display:flex;gap:.4rem;align-items:center}.org-list-row button{padding:.45rem .7rem}

/* Build 006c: compact executive interface and awards management */
html{font-size:14px}
body{font-size:1rem}
.org-page{padding:24px 20px 44px}
.org-page.narrow{max-width:980px}
.org-heading,.squadron-hero{margin-bottom:18px}
.org-heading h1,.squadron-hero h1{font-size:1.8rem}
.org-panel{margin:14px 0;padding:17px}
.org-panel h2{margin:.2rem 0 .8rem;font-size:1.2rem}
.org-form{gap:12px;padding:18px;overflow:hidden}
.org-form input,.org-form select,.org-form textarea,.admin-form input,.admin-form select,.admin-form textarea,.posting-form input,.posting-form select{padding:8px 10px;font-size:.92rem;min-width:0}
.org-form textarea,.admin-form textarea{min-height:68px}
.form-grid{gap:11px}
.primary-action,.secondary-action,.danger-action{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:34px;padding:8px 13px;font-size:.78rem;font-weight:900;letter-spacing:.045em;border-radius:4px;text-decoration:none;cursor:pointer}
.secondary-action{border:1px solid #52697d;background:#edf2f6;color:#102746}.danger-action{border:0;background:#8b2635;color:#fff}
.org-form>.primary-action{justify-self:start;max-width:100%}
.org-table th,.org-table td{padding:9px 11px;font-size:.9rem}
.org-list-row{gap:12px;padding:9px 0}
.admin-grid{gap:1rem}.admin-form{gap:.55rem}.compact-form{padding-bottom:12px;border-bottom:1px solid #d8e0e7}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.text-action{font-size:.73rem;font-weight:900;color:#8d650b;text-decoration:none;letter-spacing:.06em}
.award-record,.award-definition{margin:10px 0;border:1px solid #cbd5de;border-radius:5px;background:#f8fafb}.award-record summary,.award-definition summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}.award-record summary>span{display:flex;align-items:center;gap:10px;flex:1}.award-record summary img,.award-summary-image img{width:70px;height:24px;object-fit:contain}.award-record summary em,.award-definition summary em{margin-left:auto;color:#617487;font-size:.78rem;font-style:normal}.award-record form,.award-definition form{margin:0 12px 12px}.remove-award-form{display:flex;justify-content:flex-end}
.award-definition-grid{display:grid;grid-template-columns:110px minmax(220px,1.4fr) 170px 130px;gap:10px;align-items:end}.award-definition-grid label{display:grid;gap:5px;font-weight:700}.award-definition-grid input,.award-definition-grid select{width:100%;box-sizing:border-box;padding:8px;border:1px solid #aebdca;border-radius:4px}.award-definition-grid .wide-field{grid-column:span 2}.award-definition-grid .check{align-self:center}.form-actions{display:flex;align-items:end}.award-definition summary{display:grid;grid-template-columns:80px 90px minmax(220px,1fr) auto}.award-definition.inactive{opacity:.7}
@media(max-width:900px){.award-definition-grid{grid-template-columns:1fr 1fr}.award-definition-grid .wide-field{grid-column:span 2}.award-definition summary{grid-template-columns:65px 70px 1fr}.award-definition summary em{grid-column:2/4;margin-left:0}.two-col{grid-template-columns:1fr}}

/* ER1 Build 007f — desktop command panel and navigation fit. */
@media(min-width:1121px){.command-header__grid{grid-template-columns:200px minmax(420px,1fr) 500px;gap:24px;max-width:1740px;padding-left:24px;padding-right:24px}.ops-navigation__inner{max-width:1740px;padding:0 18px}.ops-navigation__designation{margin-right:4px;padding:0 10px;font-size:.62rem}.ops-navigation a{padding:15px 13px;font-size:.74rem;letter-spacing:.02em;white-space:nowrap}}

/* ER1 Build 007g — final command-header personnel card structure. */
.banner-personnel-card{
    display:block;
    box-sizing:border-box;
    width:100%;
    margin:10px 0 12px;
    padding:14px;
    border:1px solid #65ff7a;
    background:rgba(2,8,5,.94);
    color:#65ff7a;
    text-decoration:none;
    overflow:hidden;
}
.banner-personnel-card__identity{
    display:grid;
    grid-template-columns:140px minmax(0,1fr) 92px;
    gap:18px;
    align-items:start;
    min-width:0;
    padding-bottom:12px;
    border-bottom:1px solid rgba(101,255,122,.55);
}
.banner-personnel-card__photo{
    width:140px;
    height:190px;
    overflow:hidden;
    border:1px solid #65ff7a;
    background:#06100a;
}
.banner-personnel-card__photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 28%;
}
.banner-personnel-card__details{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    padding-top:4px;
    overflow:visible;
    line-height:1.12;
}
.banner-personnel-card__label{
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.12em;
    line-height:1.15;
    white-space:normal;
}
.banner-personnel-card__details strong{
    margin-top:10px;
    color:#fff;
    font-size:1rem;
    line-height:1.16;
    white-space:normal;
}
.banner-personnel-card__details b{
    margin-top:7px;
    color:#65ff7a;
    font-size:1.35rem;
    line-height:1.08;
    white-space:normal;
}
.banner-personnel-card__details span:not(.banner-personnel-card__label){
    margin-top:8px;
    color:#c9ffd0;
    font-size:.82rem;
    line-height:1.15;
    white-space:normal;
}
.banner-personnel-card__details em{
    margin-top:11px;
    color:#65ff7a;
    font-size:.78rem;
    line-height:1.15;
    font-style:normal;
    font-weight:900;
    white-space:normal;
}
.banner-personnel-card__insignia{
    display:flex;
    width:92px;
    flex-direction:column;
    align-items:center;
    gap:14px;
    overflow:visible;
}
.banner-personnel-card__rank{
    display:block;
    width:88px;
    height:42px;
    object-fit:contain;
}
.banner-personnel-card__squadron{
    display:block;
    width:88px;
    height:112px;
    object-fit:contain;
}
.banner-personnel-card__decorations{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    padding-top:0;
    border-top:0;
    overflow:visible;
}
.banner-personnel-card__wings{
    display:block;
    width:320px;
    max-width:88%;
    height:82px;
    object-fit:contain;
    margin:0 auto 8px;
}
.banner-personnel-card__ribbon-rack{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    max-width:100%;
    margin:0 auto;
}
.banner-personnel-card__ribbon-row{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0;
    margin:0;
    padding:0;
    line-height:0;
}
.banner-personnel-card__ribbon-row img{
    display:block;
    flex:0 0 42px;
    width:42px;
    height:15px;
    max-width:none;
    margin:0;
    padding:0;
    border:0;
    object-fit:fill;
}
@media(max-width:1450px) and (min-width:1121px){
    .banner-personnel-card{padding:12px}
    .banner-personnel-card__identity{grid-template-columns:124px minmax(0,1fr) 78px;gap:14px}
    .banner-personnel-card__photo{width:124px;height:168px}
    .banner-personnel-card__rank{width:74px;height:36px}
    .banner-personnel-card__squadron{width:74px;height:96px}
    .banner-personnel-card__label{font-size:.68rem}
    .banner-personnel-card__details strong{font-size:.9rem}
    .banner-personnel-card__details b{font-size:1.18rem}
    .banner-personnel-card__details span:not(.banner-personnel-card__label){font-size:.74rem}
    .banner-personnel-card__details em{font-size:.7rem}
    .banner-personnel-card__wings{width:280px;height:70px}
    .banner-personnel-card__ribbon-row img{flex-basis:38px;width:38px;height:14px}
}

/* BUILD 008b: isolated personnel and flight-hours implementation */
.modsim-personnel-summary{display:block;margin:18px 0 22px;padding:18px 20px;border:1px solid #65ff7a;background:#020805;color:#65ff7a;text-decoration:none;overflow:hidden}
.modsim-personnel-summary__top{display:grid;grid-template-columns:46% minmax(0,1fr) 82px;gap:20px;align-items:start}
.modsim-personnel-summary__photo{aspect-ratio:4/5;border:1px solid #65ff7a;overflow:hidden;background:#07100a}.modsim-personnel-summary__photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.modsim-personnel-summary__details{min-width:0;display:flex;flex-direction:column;line-height:1.15}.modsim-personnel-summary__label{font-size:.72rem;font-weight:900;letter-spacing:.12em}.modsim-personnel-summary__details strong{font-size:1.05rem;margin-top:14px}.modsim-personnel-summary__details b{font-size:1.52rem;color:#fff;margin:10px 0;overflow-wrap:anywhere}.modsim-personnel-summary__details>span:not(.modsim-personnel-summary__label){font-size:.9rem;margin:4px 0}.modsim-personnel-summary__details em{font-style:normal;font-weight:900;margin-top:16px;font-size:.78rem}
.modsim-personnel-summary__squadron{width:82px;height:112px;object-fit:contain}.modsim-personnel-summary__experience{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:15px}.modsim-personnel-summary__rank,.modsim-personnel-summary__hours{display:block;width:130px;max-width:100%;height:30px;object-fit:fill}
.modsim-personnel-summary__wings{display:block;width:245px;height:58px;object-fit:contain;margin:17px auto 8px;border-top:1px solid rgba(101,255,122,.45);padding-top:10px;box-sizing:content-box}.modsim-personnel-summary__medals{display:flex;flex-wrap:wrap;justify-content:center;gap:0;width:210px;margin:8px auto 0}.modsim-personnel-summary__medals img{width:42px;height:15px;object-fit:fill}
.personnel-card-v2{width:min(820px,100%);margin:auto;padding:28px;background:#050907;color:#65ff7a;border:2px solid #65ff7a;box-shadow:0 18px 50px rgba(0,0,0,.45)}.personnel-card-v2 header{display:flex;justify-content:space-between;border-bottom:1px solid #65ff7a;padding-bottom:15px}.personnel-card-v2 header span{display:block;font-size:.75rem;letter-spacing:.16em}.personnel-card-v2 header strong{display:block;font-family:Consolas,monospace;font-size:1.35rem;color:#fff}.personnel-card-v2__status{font-weight:900}.personnel-card-v2__main{display:grid;grid-template-columns:42% minmax(0,1fr) 120px;gap:26px;align-items:start;padding-top:25px}.personnel-card-v2__portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid #65ff7a}.personnel-card-v2__identity p{font-weight:900;letter-spacing:.1em}.personnel-card-v2__identity h1{font-size:2.2rem;color:#fff;margin:.25em 0}.personnel-card-v2__identity h2,.personnel-card-v2__identity h3{font-size:1.08rem;margin:.45em 0}.personnel-card-v2__squadron{width:120px;height:155px;object-fit:contain}.personnel-card-v2__ranks{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:25px}.personnel-card-v2__ranks img{width:190px;height:42px;object-fit:fill}.personnel-card-v2__ranks small{font-weight:900}.personnel-card-v2__wings{text-align:center;border-top:1px solid rgba(101,255,122,.5);margin-top:25px;padding-top:18px}.personnel-card-v2__wings img{width:min(430px,70%);height:110px;object-fit:contain}.personnel-card-v2__medals{display:flex;flex-wrap:wrap;justify-content:center;width:300px;margin:15px auto 0}.personnel-card-v2__medals img{width:60px;height:22px;object-fit:fill}.flight-hours-total{font-family:Consolas,monospace;font-size:1.5rem;color:#65ff7a}.flight-hours-form{display:grid!important;grid-template-columns:minmax(220px,360px) auto;align-items:end;gap:16px}.flight-award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.flight-award-item{display:grid;gap:8px;padding:12px;border:1px solid rgba(101,255,122,.35)}.flight-award-preview{display:flex;align-items:center;gap:12px}.flight-award-preview img{width:95px;height:28px;object-fit:fill}.flight-hours-folder{font-family:Consolas,monospace;font-size:.75rem}
@media(max-width:1200px){.modsim-personnel-summary__top{grid-template-columns:42% minmax(0,1fr) 68px;gap:12px}.modsim-personnel-summary__squadron{width:68px;height:95px}.modsim-personnel-summary__details b{font-size:1.25rem}.modsim-personnel-summary__rank,.modsim-personnel-summary__hours{width:105px;height:25px}}
@media(max-width:760px){.modsim-personnel-summary__top,.personnel-card-v2__main{grid-template-columns:1fr}.modsim-personnel-summary__squadron,.personnel-card-v2__squadron{margin:auto}.personnel-card-v2__identity{text-align:center}.personnel-card-v2__ranks{align-items:center}.flight-hours-form{grid-template-columns:1fr}}


/* ER1 BUILD 008c — definitive compact personnel card and management UI. */
@media (min-width:1121px){
  .command-header__grid{grid-template-columns:200px minmax(420px,1fr) 520px;gap:20px;}
  .access-station{padding:18px 16px;}
}

/* Compact main navigation: one tidy line on normal desktop screens. */
.ops-navigation__inner{min-height:38px;padding:0 12px;}
.ops-navigation__designation{padding:0 9px;margin-right:2px;font-size:.58rem;}
.ops-navigation a{display:flex;align-items:center;padding:9px 10px;font-size:.69rem;line-height:1;letter-spacing:.015em;white-space:nowrap;}
.ops-navigation a.active:after{height:2px;}

/* Command-header personnel card. These rules deliberately override every older card experiment. */
.modsim-personnel-summary{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:12px 0 14px!important;
  padding:12px!important;
  border:1px solid #65ff7a!important;
  background:rgba(1,8,4,.96)!important;
  color:#65ff7a!important;
  text-decoration:none!important;
  overflow:hidden!important;
}
.modsim-personnel-summary__top{
  display:grid!important;
  grid-template-columns:145px minmax(150px,1fr) 82px!important;
  gap:12px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
.modsim-personnel-summary__photo{
  display:block!important;
  width:145px!important;
  height:182px!important;
  aspect-ratio:auto!important;
  border:1px solid #65ff7a!important;
  background:#07100a!important;
  overflow:hidden!important;
}
.modsim-personnel-summary__photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 25%!important;}
.modsim-personnel-summary__details{display:flex!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;line-height:1.15!important;overflow:visible!important;}
.modsim-personnel-summary__label{font-size:.62rem!important;font-weight:900!important;letter-spacing:.09em!important;white-space:nowrap!important;}
.modsim-personnel-summary__details strong{margin-top:8px!important;font-size:.88rem!important;line-height:1.1!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;}
.modsim-personnel-summary__details b{display:block!important;margin:7px 0 5px!important;color:#fff!important;font-size:1.28rem!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;}
.modsim-personnel-summary__details>span:not(.modsim-personnel-summary__label){margin:2px 0!important;font-size:.75rem!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;}
.modsim-personnel-summary__details em{margin-top:7px!important;font-size:.68rem!important;line-height:1.1!important;font-style:normal!important;font-weight:900!important;white-space:normal!important;}
.modsim-personnel-summary__squadron{display:block!important;width:82px!important;height:112px!important;max-width:82px!important;object-fit:contain!important;margin:0!important;}
.modsim-personnel-summary__experience{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;margin-top:9px!important;width:132px!important;}
.modsim-personnel-summary__rank,.modsim-personnel-summary__hours{display:block!important;width:132px!important;max-width:132px!important;height:28px!important;object-fit:fill!important;margin:0!important;}
.modsim-personnel-summary__wings{display:block!important;width:235px!important;height:52px!important;box-sizing:content-box!important;object-fit:contain!important;margin:10px auto 5px!important;padding-top:8px!important;border-top:1px solid rgba(101,255,122,.45)!important;}
.modsim-personnel-summary__medals{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:0!important;width:205px!important;margin:5px auto 0!important;}
.modsim-personnel-summary__medals img{display:block!important;width:41px!important;height:15px!important;object-fit:fill!important;margin:0!important;}

/* More compact personnel-management screens. */
.member-list-page,.member-admin-page{max-width:1120px!important;padding:18px 18px 34px!important;}
.member-list-page .org-heading,.member-admin-page .squadron-hero{margin-bottom:12px!important;padding:15px 18px!important;}
.member-list-page .org-heading h1,.member-admin-page .squadron-hero h1{font-size:1.65rem!important;}
.member-list-page .org-panel,.member-admin-page .org-panel{margin:10px 0!important;padding:14px 16px!important;}
.member-list-page .posting-form{grid-template-columns:minmax(250px,1fr) 160px 180px auto!important;gap:8px!important;}
.member-list-page .org-list-row{padding:9px 0!important;gap:12px!important;}
.member-admin-page .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.member-admin-page .admin-form{gap:7px!important;}
.member-admin-page .admin-form label{gap:2px!important;font-size:.82rem!important;}
.member-admin-page .admin-form input,.member-admin-page .admin-form select,.member-admin-page .admin-form textarea{padding:6px 8px!important;font-size:.86rem!important;}
.member-admin-page .admin-form textarea{min-height:52px!important;resize:vertical!important;}
.member-admin-page .primary-action,.member-admin-page button{padding:7px 11px!important;font-size:.74rem!important;}
.member-admin-page .flight-hours-form{grid-template-columns:minmax(180px,300px) auto!important;gap:10px!important;}
.member-admin-page .flight-hours-total{font-size:1.2rem!important;}
.member-admin-page .timeline-entry{margin:5px 0!important;padding:7px 10px!important;}
.member-admin-page .award-record{margin:6px 0!important;}

@media(max-width:1250px) and (min-width:761px){
  .modsim-personnel-summary__top{grid-template-columns:126px minmax(135px,1fr) 70px!important;gap:9px!important;}
  .modsim-personnel-summary__photo{width:126px!important;height:160px!important;}
  .modsim-personnel-summary__squadron{width:70px!important;height:96px!important;}
  .modsim-personnel-summary__experience{width:112px!important;}
  .modsim-personnel-summary__rank,.modsim-personnel-summary__hours{width:112px!important;max-width:112px!important;height:24px!important;}
}
@media(max-width:760px){
  .ops-navigation__inner{overflow-x:auto;}
  .modsim-personnel-summary__top{grid-template-columns:110px minmax(0,1fr)!important;}
  .modsim-personnel-summary__photo{width:110px!important;height:145px!important;}
  .modsim-personnel-summary__squadron{grid-column:1/-1!important;margin:4px auto 0!important;}
  .member-admin-page .admin-grid,.member-list-page .posting-form,.member-admin-page .flight-hours-form{grid-template-columns:1fr!important;}
}


/* ER1 BUILD 008d — final personnel card geometry, dual squadron badges and tighter screens. */
@media (min-width:1121px){.command-header__grid{grid-template-columns:190px minmax(390px,1fr) 500px!important;gap:16px!important}.access-station{padding:12px 14px!important}}
.modsim-personnel-summary{margin:8px 0 10px!important;padding:9px 10px!important;overflow:visible!important}
.modsim-personnel-summary__top{grid-template-columns:112px minmax(0,1fr) 74px!important;gap:10px!important;align-items:start!important}
.modsim-personnel-summary__photo{width:112px!important;height:142px!important}
.modsim-personnel-summary__details strong{margin-top:5px!important;font-size:.76rem!important}
.modsim-personnel-summary__details b{margin:4px 0!important;font-size:1.08rem!important}
.modsim-personnel-summary__details>span:not(.modsim-personnel-summary__label){font-size:.68rem!important;margin:1px 0!important}
.modsim-personnel-summary__details>span i{font-style:normal;font-weight:900;color:#fff}
.modsim-personnel-summary__details em{margin-top:4px!important;font-size:.61rem!important}
.modsim-personnel-summary__experience{margin-top:6px!important;gap:3px!important;width:116px!important}
.modsim-personnel-summary__rank,.modsim-personnel-summary__hours{width:116px!important;max-width:116px!important;height:24px!important}
.modsim-personnel-summary__squadrons{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;width:74px!important;min-width:74px!important}
.modsim-personnel-summary__squadrons img{display:block!important;width:66px!important;height:66px!important;object-fit:contain!important;margin:0!important}
.modsim-personnel-summary__honours{display:flex!important;flex-direction:column!important;align-items:center!important;border-top:1px solid rgba(101,255,122,.38)!important;margin-top:7px!important;padding-top:5px!important;min-height:0!important}
.modsim-personnel-summary__wings{width:205px!important;height:42px!important;margin:0 auto 2px!important;padding:0!important;border:0!important}
.modsim-personnel-summary__medals{width:190px!important;margin:1px auto 0!important}
.modsim-personnel-summary__medals img{width:38px!important;height:14px!important}

.personnel-card-v2{width:min(760px,100%)!important;padding:18px 20px!important}
.personnel-card-v2 header{padding-bottom:9px!important}.personnel-card-v2 header span{font-size:.62rem!important}.personnel-card-v2 header strong{font-size:1.1rem!important}
.personnel-card-v2__main{grid-template-columns:180px minmax(0,1fr) 150px!important;gap:18px!important;padding-top:14px!important;align-items:start!important}
.personnel-card-v2__portrait img{width:180px!important;height:225px!important;aspect-ratio:auto!important;object-position:center 22%!important}
.personnel-card-v2__identity p{font-size:.72rem!important;margin:2px 0!important}.personnel-card-v2__identity h1{font-size:1.65rem!important;margin:.18em 0 .35em!important}
.personnel-card-v2__appointments{display:grid;gap:3px;font-size:.78rem;line-height:1.2}.personnel-card-v2__appointments b{color:#fff}
.personnel-card-v2__ranks{gap:4px!important;margin-top:13px!important}.personnel-card-v2__ranks img{width:156px!important;height:33px!important}.personnel-card-v2__ranks small{font-size:.63rem!important}
.personnel-card-v2__squadrons{display:flex;flex-direction:column;align-items:center;gap:8px}.personnel-card-v2__squadrons figure{margin:0;text-align:center}.personnel-card-v2__squadrons img{display:block;width:94px;height:94px;object-fit:contain;margin:auto}.personnel-card-v2__squadrons figcaption{font-size:.61rem;font-weight:900;margin-top:1px}
.personnel-card-v2__honours{border-top:1px solid rgba(101,255,122,.45);margin-top:12px;padding-top:8px;text-align:center}.personnel-card-v2__wings{display:block!important;width:300px!important;height:64px!important;object-fit:contain!important;margin:0 auto 4px!important}.personnel-card-v2__medals{width:250px!important;margin:3px auto 0!important}.personnel-card-v2__medals img{width:50px!important;height:18px!important}
.member-list-page,.member-admin-page{max-width:1240px!important;padding:12px 14px 24px!important}.member-list-page .org-panel,.member-admin-page .org-panel{padding:10px 12px!important;margin:7px 0!important}.member-admin-page .admin-grid{gap:7px!important}.member-admin-page h2{font-size:1rem!important;margin:.15em 0 .45em!important}.member-admin-page .admin-form label{font-size:.74rem!important}.member-admin-page .admin-form input,.member-admin-page .admin-form select,.member-admin-page .admin-form textarea{padding:5px 7px!important;font-size:.79rem!important}.member-admin-page .admin-form textarea{min-height:42px!important}.member-admin-page .primary-action,.member-admin-page button{padding:6px 9px!important;font-size:.68rem!important}
@media(max-width:760px){.modsim-personnel-summary__top{grid-template-columns:96px minmax(0,1fr)!important}.modsim-personnel-summary__photo{width:96px!important;height:124px!important}.modsim-personnel-summary__squadrons{grid-column:1/-1!important;flex-direction:row!important;width:100%!important}.personnel-card-v2__main{grid-template-columns:1fr!important}.personnel-card-v2__portrait img{margin:auto}.personnel-card-v2__squadrons{flex-direction:row;justify-content:center}}


/* ER1 BUILD 008e — compact fixed-size personnel summary. */
@media (min-width:1121px){
  .command-header__grid{grid-template-columns:180px minmax(390px,1fr) 430px!important;gap:14px!important}
  .access-station{padding:10px 12px!important}
}
.modsim-personnel-summary{
  margin:7px 0 8px!important;
  padding:7px 8px!important;
  overflow:hidden!important;
}
.modsim-personnel-summary__top{
  grid-template-columns:94px minmax(0,1fr) 58px!important;
  gap:8px!important;
  align-items:start!important;
}
.modsim-personnel-summary__photo{
  width:94px!important;
  height:120px!important;
}
.modsim-personnel-summary__label{
  font-size:.50rem!important;
  letter-spacing:.09em!important;
  white-space:nowrap!important;
}
.modsim-personnel-summary__details{
  line-height:1.05!important;
  padding-top:0!important;
}
.modsim-personnel-summary__details strong{
  margin-top:3px!important;
  font-size:.62rem!important;
  line-height:1.08!important;
}
.modsim-personnel-summary__details b{
  margin:2px 0!important;
  font-size:.88rem!important;
  line-height:1.02!important;
  white-space:normal!important;
}
.modsim-personnel-summary__details>span:not(.modsim-personnel-summary__label){
  margin:0!important;
  font-size:.56rem!important;
  line-height:1.10!important;
  white-space:normal!important;
}
.modsim-personnel-summary__details em{
  margin-top:3px!important;
  font-size:.52rem!important;
  line-height:1.05!important;
}
.modsim-personnel-summary__experience{
  width:94px!important;
  margin-top:4px!important;
  gap:2px!important;
}
.modsim-personnel-summary__rank,
.modsim-personnel-summary__hours{
  display:block!important;
  width:94px!important;
  max-width:94px!important;
  height:19px!important;
  object-fit:fill!important;
}
.modsim-personnel-summary__squadrons{
  width:58px!important;
  min-width:58px!important;
  gap:2px!important;
}
.modsim-personnel-summary__squadrons img{
  width:52px!important;
  height:52px!important;
}
.modsim-personnel-summary__honours{
  margin-top:5px!important;
  padding-top:4px!important;
  gap:2px!important;
}
.modsim-personnel-summary__wings{
  width:150px!important;
  height:30px!important;
  margin:0 auto!important;
}
.modsim-personnel-summary__medals{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:1px!important;
  width:160px!important;
  margin:1px auto 0!important;
}
.modsim-personnel-summary__medals img{
  display:block!important;
  width:30px!important;
  height:11px!important;
  object-fit:fill!important;
  margin:0!important;
}

/* Full personnel record card follows the same compact scale. */
.personnel-card-v2{width:min(680px,100%)!important;padding:14px 16px!important}
.personnel-card-v2__main{grid-template-columns:150px minmax(0,1fr) 120px!important;gap:14px!important;padding-top:10px!important}
.personnel-card-v2__portrait img{width:150px!important;height:188px!important}
.personnel-card-v2__identity h1{font-size:1.35rem!important}
.personnel-card-v2__appointments{font-size:.68rem!important;gap:2px!important}
.personnel-card-v2__ranks{margin-top:9px!important;gap:2px!important}
.personnel-card-v2__ranks img{width:126px!important;height:26px!important}
.personnel-card-v2__squadrons{gap:4px!important}
.personnel-card-v2__squadrons img{width:72px!important;height:72px!important}
.personnel-card-v2__honours{margin-top:8px!important;padding-top:5px!important}
.personnel-card-v2__wings{width:230px!important;height:48px!important;margin:0 auto 2px!important}
.personnel-card-v2__medals{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:1px!important;width:190px!important;margin:1px auto 0!important}
.personnel-card-v2__medals img{width:36px!important;height:13px!important;margin:0!important}

@media(max-width:1250px) and (min-width:761px){
  .modsim-personnel-summary__top{grid-template-columns:88px minmax(0,1fr) 52px!important;gap:6px!important}
  .modsim-personnel-summary__photo{width:88px!important;height:112px!important}
  .modsim-personnel-summary__squadrons{width:52px!important;min-width:52px!important}
  .modsim-personnel-summary__squadrons img{width:46px!important;height:46px!important}
  .modsim-personnel-summary__experience{width:86px!important}
  .modsim-personnel-summary__rank,.modsim-personnel-summary__hours{width:86px!important;max-width:86px!important;height:18px!important}
}


/* ER1 BUILD 008f — signed-off compact card correction pass.
   Removes the redundant personnel heading, reduces the card footprint,
   keeps rank and flight-hours ribbons identical, enlarges wings, and
   places a uniform medal rack immediately beneath them. */
@media (min-width:1121px){
  .command-header__grid{grid-template-columns:172px minmax(390px,1fr) 392px!important;gap:12px!important}
  .access-station{padding:8px 10px!important}
}
.modsim-personnel-summary{
  margin:5px 0 7px!important;
  padding:6px 7px!important;
}
.modsim-personnel-summary__top{
  grid-template-columns:86px minmax(0,1fr) 52px!important;
  gap:7px!important;
}
.modsim-personnel-summary__photo{width:86px!important;height:108px!important}
.modsim-personnel-summary__details{line-height:1!important;padding-top:1px!important}
.modsim-personnel-summary__details strong{margin-top:0!important;font-size:.58rem!important}
.modsim-personnel-summary__details b{margin:2px 0!important;font-size:.82rem!important;line-height:1!important}
.modsim-personnel-summary__details>span{font-size:.53rem!important;line-height:1.08!important}
.modsim-personnel-summary__details em{margin-top:2px!important;font-size:.49rem!important}
.modsim-personnel-summary__experience{width:82px!important;margin-top:3px!important;gap:1px!important}
.modsim-personnel-summary__rank,
.modsim-personnel-summary__hours{
  width:82px!important;
  max-width:82px!important;
  height:17px!important;
  object-fit:fill!important;
}
.modsim-personnel-summary__squadrons{width:52px!important;min-width:52px!important;gap:1px!important}
.modsim-personnel-summary__squadrons img{width:46px!important;height:46px!important}
.modsim-personnel-summary__honours{
  margin-top:3px!important;
  padding-top:3px!important;
  gap:0!important;
}
.modsim-personnel-summary__wings{
  width:188px!important;
  height:40px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.modsim-personnel-summary__medals{
  width:184px!important;
  gap:1px!important;
  margin:0 auto!important;
  line-height:0!important;
}
.modsim-personnel-summary__medals img{
  width:36px!important;
  height:13px!important;
  object-fit:fill!important;
  margin:0!important;
}

/* Full personnel-record card mirrors the same visual hierarchy. */
.personnel-card-v2{width:min(640px,100%)!important;padding:12px 14px!important}
.personnel-card-v2 header{padding-bottom:6px!important}
.personnel-card-v2__main{grid-template-columns:138px minmax(0,1fr) 106px!important;gap:12px!important;padding-top:8px!important}
.personnel-card-v2__portrait img{width:138px!important;height:172px!important}
.personnel-card-v2__identity h1{font-size:1.22rem!important}
.personnel-card-v2__appointments{font-size:.64rem!important}
.personnel-card-v2__ranks{margin-top:7px!important;gap:1px!important}
.personnel-card-v2__ranks img{width:112px!important;height:23px!important;object-fit:fill!important}
.personnel-card-v2__ranks small{font-size:.56rem!important}
.personnel-card-v2__squadrons{gap:2px!important}
.personnel-card-v2__squadrons img{width:64px!important;height:64px!important}
.personnel-card-v2__honours{margin-top:5px!important;padding-top:3px!important}
.personnel-card-v2__wings{width:280px!important;height:58px!important;margin:0 auto!important}
.personnel-card-v2__medals{width:221px!important;gap:1px!important;margin:0 auto!important;line-height:0!important}
.personnel-card-v2__medals img{width:43px!important;height:15px!important;object-fit:fill!important;margin:0!important}

@media(max-width:1250px) and (min-width:761px){
  .modsim-personnel-summary__top{grid-template-columns:82px minmax(0,1fr) 48px!important;gap:5px!important}
  .modsim-personnel-summary__photo{width:82px!important;height:103px!important}
  .modsim-personnel-summary__squadrons{width:48px!important;min-width:48px!important}
  .modsim-personnel-summary__squadrons img{width:43px!important;height:43px!important}
  .modsim-personnel-summary__experience{width:78px!important}
  .modsim-personnel-summary__rank,.modsim-personnel-summary__hours{width:78px!important;max-width:78px!important;height:16px!important}
  .modsim-personnel-summary__wings{width:172px!important;height:37px!important}
}

/* ER1 BUILD 008g — final personnel-card insignia sizing correction.
   Rank and flight-hours ribbons are identical and smaller.
   Pilot wings are larger. Award ribbons sit directly beneath the wings,
   use one uniform compact size, and remain centred. */
.modsim-personnel-summary__experience{
  width:68px!important;
  margin-top:3px!important;
  gap:2px!important;
  align-items:center!important;
}
.modsim-personnel-summary__rank,
.modsim-personnel-summary__hours{
  display:block!important;
  width:68px!important;
  min-width:68px!important;
  max-width:68px!important;
  height:14px!important;
  object-fit:fill!important;
  margin:0 auto!important;
}
.modsim-personnel-summary__honours{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:3px!important;
  padding-top:3px!important;
  gap:1px!important;
}
.modsim-personnel-summary__wings{
  display:block!important;
  width:230px!important;
  height:48px!important;
  object-fit:contain!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  box-sizing:border-box!important;
}
.modsim-personnel-summary__medals{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  width:176px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:1px!important;
  line-height:0!important;
}
.modsim-personnel-summary__medals img{
  display:block!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:12px!important;
  object-fit:fill!important;
  margin:0!important;
  padding:0!important;
}

/* Full personnel-record card follows the same approved proportions. */
.personnel-card-v2__ranks{
  align-items:center!important;
  gap:2px!important;
}
.personnel-card-v2__ranks img{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:17px!important;
  object-fit:fill!important;
  margin:0 auto!important;
}
.personnel-card-v2__honours{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:1px!important;
}
.personnel-card-v2__wings{
  display:block!important;
  width:330px!important;
  height:68px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.personnel-card-v2__medals{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  width:206px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:1px!important;
  line-height:0!important;
}
.personnel-card-v2__medals img{
  display:block!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:14px!important;
  object-fit:fill!important;
  margin:0!important;
}

@media(max-width:1250px) and (min-width:761px){
  .modsim-personnel-summary__experience{width:64px!important}
  .modsim-personnel-summary__rank,
  .modsim-personnel-summary__hours{width:64px!important;min-width:64px!important;max-width:64px!important;height:13px!important}
  .modsim-personnel-summary__wings{width:210px!important;height:44px!important}
  .modsim-personnel-summary__medals{width:166px!important}
  .modsim-personnel-summary__medals img{width:32px!important;min-width:32px!important;max-width:32px!important;height:11px!important}
}


/* ER1 BUILD 008h — visually verified personnel-card insignia layout.
   Rank and approved-hours ribbons share one compact box. RAF wings are
   substantially larger. Award ribbons are uniform, smaller and directly
   beneath the wings. */
.modsim-personnel-summary__experience{
  width:58px!important;
  margin-top:2px!important;
  gap:1px!important;
  align-items:center!important;
}
.modsim-personnel-summary__rank,
.modsim-personnel-summary__hours{
  display:block!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:18px!important;
  object-fit:fill!important;
  margin:0 auto!important;
}
.modsim-personnel-summary__honours{
  margin-top:1px!important;
  padding-top:0!important;
  gap:0!important;
}
.modsim-personnel-summary__wings{
  width:260px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 auto -1px!important;
}
.modsim-personnel-summary__medals{
  width:146px!important;
  margin:0 auto!important;
  gap:0!important;
  line-height:0!important;
}
.modsim-personnel-summary__medals img{
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:10px!important;
  object-fit:fill!important;
}
.personnel-card-v2__ranks img{
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:21px!important;
  object-fit:fill!important;
}
.personnel-card-v2__honours{gap:0!important}
.personnel-card-v2__wings{
  width:360px!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto -1px!important;
}
.personnel-card-v2__medals{
  width:171px!important;
  margin:0 auto!important;
  gap:0!important;
}
.personnel-card-v2__medals img{
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:12px!important;
}
@media(max-width:1250px) and (min-width:761px){
  .modsim-personnel-summary__experience{width:56px!important}
  .modsim-personnel-summary__rank,
  .modsim-personnel-summary__hours{width:54px!important;min-width:54px!important;max-width:54px!important;height:17px!important}
  .modsim-personnel-summary__wings{width:236px!important;height:auto!important}
  .modsim-personnel-summary__medals{width:136px!important}
  .modsim-personnel-summary__medals img{width:27px!important;min-width:27px!important;max-width:27px!important;height:9px!important}
}
/* 008h final verified balance: larger wings without increasing the card excessively. */
.modsim-personnel-summary__wings{width:190px!important;height:auto!important}
@media(max-width:1250px) and (min-width:761px){.modsim-personnel-summary__wings{width:180px!important;height:auto!important}}

/* ER1 BUILD 008i — final visible insignia correction.
   This block intentionally comes last so no earlier build rule can override it. */
.modsim-personnel-summary{
  padding-bottom:8px!important;
  overflow:visible!important;
}
.modsim-personnel-summary__honours{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:2px!important;
  padding:4px 0 2px!important;
  gap:2px!important;
  min-height:76px!important;
  overflow:visible!important;
}
.modsim-personnel-summary__wings{
  display:block!important;
  width:224px!important;
  max-width:224px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
}
.modsim-personnel-summary__medals{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  width:132px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:1px!important;
  line-height:0!important;
}
.modsim-personnel-summary__medals img{
  display:block!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:11px!important;
  object-fit:fill!important;
  margin:0!important;
  padding:0!important;
}

/* Keep the full personnel record consistent with the summary card. */
.personnel-card-v2__honours{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:3px!important;
  overflow:visible!important;
}
.personnel-card-v2__wings{
  display:block!important;
  width:390px!important;
  max-width:390px!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
}
.personnel-card-v2__medals{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  width:176px!important;
  margin:0 auto!important;
  gap:1px!important;
  line-height:0!important;
}
.personnel-card-v2__medals img{
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:12px!important;
  object-fit:fill!important;
  margin:0!important;
}

@media(max-width:1250px) and (min-width:761px){
  .modsim-personnel-summary__honours{min-height:70px!important}
  .modsim-personnel-summary__wings{width:210px!important;max-width:210px!important}
  .modsim-personnel-summary__medals{width:124px!important}
  .modsim-personnel-summary__medals img{width:30px!important;min-width:30px!important;max-width:30px!important;height:10px!important}
}

/* ER1 BUILD 009a — online ICAO airfield lookup */
.icao-lookup-row{display:flex;gap:10px;align-items:center}
.icao-lookup-row input{flex:1;min-width:0}
.icao-lookup-row .secondary-action{white-space:nowrap;margin:0;padding:11px 16px}
.lookup-status{min-height:24px;margin:4px 0 12px;font-weight:600}
.lookup-status--success{color:#8fd19e}
.lookup-status--error{color:#ff9d9d}
@media(max-width:600px){.icao-lookup-row{align-items:stretch;flex-direction:column}}
.field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.field-heading .lookup-button-top{margin:0;padding:7px 13px;font-size:.82rem;line-height:1}

/* ER1 BUILD 009c — structured airfield runway records */
.runway-editor{margin:18px 0;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(0,0,0,.12)}
.runway-editor__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.runway-editor__heading h2{margin:0 0 4px}.runway-editor__heading p{margin:0;color:var(--muted,#b9c1cb)}
.runway-row{display:grid;grid-template-columns:70px 16px 70px 120px 110px minmax(120px,1fr) auto auto auto auto;gap:8px;align-items:center;margin-bottom:9px}
.runway-row input{min-width:0}.runway-separator{text-align:center;font-weight:700}.runway-check{display:flex!important;align-items:center;gap:5px;white-space:nowrap;margin:0!important}.runway-check input{width:auto!important}.runway-remove{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;border-radius:5px;padding:8px;cursor:pointer}.runway-table th,.runway-table td{white-space:nowrap}
@media(max-width:1050px){.runway-row{grid-template-columns:1fr 20px 1fr 1fr 1fr;}.runway-row input[name="runway_surface[]"]{grid-column:1/4}.runway-check{justify-self:start}.runway-remove{grid-column:5}}
@media(max-width:650px){.runway-editor__heading{align-items:stretch;flex-direction:column}.runway-row{grid-template-columns:1fr 20px 1fr}.runway-row input[name="runway_length_ft[]"],.runway-row input[name="runway_width_ft[]"],.runway-row input[name="runway_surface[]"]{grid-column:1/4}.runway-remove{grid-column:1/4}}

/* ER1 BUILD 010a — keep the expanded navigation visible at all desktop widths. */
@media (min-width:761px){
  .ops-navigation__inner{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    overflow:visible;
    padding:0 10px;
  }
  .ops-navigation__designation{
    flex:0 0 auto;
  }
  .ops-navigation a{
    flex:0 0 auto;
  }
}
@media (max-width:1450px) and (min-width:761px){
  .ops-navigation__designation{display:none;}
  .ops-navigation a{padding:9px 8px;font-size:.67rem;}
}

/* =============================================================
   ER1 BUILD 010d — COMPACT WORKSPACE
   Reduce scrolling on operational and administration pages while
   leaving the public home page presentation substantially unchanged.
   ============================================================= */
@media (min-width:761px){
  /* A shallower banner gives operational pages considerably more room. */
  .internal-page .command-header--compact,
  .internal-page .command-header--compact .command-header__grid{min-height:174px}
  .internal-page .command-header__grid{padding:10px 24px;gap:18px}
  .internal-page .identity-station{padding-right:18px}
  .internal-page .identity-station__badge{margin:3px auto 2px}
  .internal-page .identity-station__badge img{max-width:118px;max-height:112px}
  .internal-page .identity-station__date{font-size:.76rem}
  .internal-page .identity-station__time{font-size:1.08rem}
  .internal-page .command-title__eyebrow{font-size:.61rem;margin-bottom:2px}
  .internal-page .command-title h1{font-size:3.35rem}
  .internal-page .command-title h2{margin-top:3px;font-size:1.02rem}
  .internal-page .command-title__rule{margin:7px auto 5px}
  .internal-page .command-title__motto{font-size:.61rem}
  .internal-page .access-station{padding:9px 11px}
  .internal-page .access-station__topline{padding-bottom:5px;font-size:.62rem}
  .internal-page .access-button{margin-top:5px;padding:6px 9px;font-size:.66rem}

  /* Compact navigation without sacrificing clickability. */
  .internal-page .ops-navigation a{padding-top:9px;padding-bottom:9px;font-size:.69rem}
  .internal-page .ops-navigation__designation{font-size:.61rem}
}

/* Operational page frame, headings and cards. */
.internal-page .org-page{padding:16px 16px 28px}
.internal-page .org-page.narrow{max-width:1040px}
.internal-page .org-heading,
.internal-page .squadron-hero{gap:14px;margin-bottom:12px}
.internal-page .org-heading h1,
.internal-page .squadron-hero h1{font-size:1.55rem;line-height:1.1}
.internal-page .org-heading p,
.internal-page .squadron-hero p{margin:.25rem 0}
.internal-page .org-panel{margin:9px 0;padding:12px}
.internal-page .org-panel h2{margin:.05rem 0 .5rem;font-size:1.05rem}
.internal-page .org-panel h3{margin:.35rem 0;font-size:.95rem}
.internal-page .org-card-grid{gap:11px}
.internal-page .org-card{padding:13px}
.internal-page .org-card h2{margin:5px 0;font-size:1.1rem}
.internal-page .org-card p{margin:4px 0}
.internal-page .org-card dl{gap:14px;margin:8px 0}
.internal-page .fact-grid{gap:9px;margin:11px 0}
.internal-page .fact-grid>div{padding:10px 12px;border-left-width:3px}
.internal-page .fact-grid strong{margin:2px 0}
.internal-page .squadron-hero{padding:13px}
.internal-page .squadron-hero>img{width:92px;height:92px}

/* Forms: less padding, shorter boxes and closer labels. */
.internal-page .org-form{gap:8px;padding:12px}
.internal-page .org-form label,
.internal-page .admin-form label,
.internal-page .award-definition-grid label{gap:3px;font-size:.86rem}
.internal-page .form-grid{gap:8px 10px}
.internal-page .admin-grid{gap:.7rem}
.internal-page .admin-form{gap:.38rem}
.internal-page .two-col{gap:7px 9px}
.internal-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.internal-page select,
.internal-page textarea{
  min-height:30px;
  padding:5px 8px!important;
  font-size:.84rem!important;
  line-height:1.2;
}
.internal-page textarea,
.internal-page .org-form textarea,
.internal-page .admin-form textarea{min-height:52px}
.internal-page input[type="file"]{font-size:.8rem}
.internal-page .field-help,
.internal-page .form-note,
.internal-page .lookup-status{font-size:.78rem}
.internal-page .form-note{padding:7px 9px}
.internal-page .field-heading{margin-bottom:3px}
.internal-page .check{gap:5px;font-size:.84rem}
.internal-page .primary-action,
.internal-page .secondary-action,
.internal-page .danger-action,
.internal-page button:not(.dev-mode-toggle button){
  min-height:29px;
  padding:5px 10px;
  font-size:.72rem;
  line-height:1.15;
}
.internal-page .form-actions{gap:7px}

/* Searches, lists, timelines and tables. */
.internal-page .org-search{grid-template-columns:minmax(220px,1fr) 190px 110px;gap:7px;margin:10px 0}
.internal-page .org-list-row{gap:9px;padding:6px 0;font-size:.86rem}
.internal-page .org-table th,
.internal-page .org-table td{padding:6px 8px;font-size:.81rem;line-height:1.2}
.internal-page .timeline-entry{padding:.4rem .7rem;margin:.4rem 0}
.internal-page .award-record,
.internal-page .award-definition{margin:6px 0}
.internal-page .award-record summary,
.internal-page .award-definition summary{padding:6px 8px}
.internal-page .award-record form,
.internal-page .award-definition form{margin:0 8px 8px}
.internal-page .award-definition-grid{gap:7px}
.internal-page .posting-form{gap:6px}
.internal-page .runway-editor{margin:10px 0;padding:11px}
.internal-page .runway-editor__heading{margin-bottom:8px}
.internal-page .runway-row{gap:5px;margin-bottom:5px}

/* Keep footer unobtrusive on working screens. */
.internal-page .operations-footer{gap:10px;padding-top:9px;padding-bottom:9px;font-size:.68rem}

@media(max-width:900px){
  .internal-page .org-page{padding:12px 10px 24px}
  .internal-page .org-search{grid-template-columns:1fr}
  .internal-page .org-card-grid,
  .internal-page .fact-grid{gap:8px}
}

/* =============================================================
   MODSIM v1.3.0 BUILD 011a — RESPONSIVE DISPLAY DENSITY
   Each member may choose Compact, Standard or Comfortable.
   Existing responsive breakpoints continue to protect small screens.
   ============================================================= */
:root{
  --density-font-scale:1;
  --density-space-scale:1;
  --density-control-height:34px;
}
body.density-compact{
  --density-font-scale:.92;
  --density-space-scale:.78;
  --density-control-height:29px;
}
body.density-comfortable{
  --density-font-scale:1.08;
  --density-space-scale:1.25;
  --density-control-height:40px;
}

/* Apply density only to internal working pages, not the public landing page. */
.internal-page .page-content{font-size:calc(1rem * var(--density-font-scale));}
.internal-page .org-page{padding:calc(16px * var(--density-space-scale)) calc(16px * var(--density-space-scale)) calc(28px * var(--density-space-scale));}
.internal-page .org-panel,
.internal-page .record-panel{padding:calc(12px * var(--density-space-scale));margin:calc(9px * var(--density-space-scale)) 0;}
.internal-page .admin-grid,
.internal-page .org-card-grid,
.internal-page .form-grid,
.internal-page .two-col{gap:calc(.7rem * var(--density-space-scale));}
.internal-page .admin-form{gap:calc(.38rem * var(--density-space-scale));}
.internal-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.internal-page select,
.internal-page textarea{
  min-height:var(--density-control-height);
  font-size:calc(.84rem * var(--density-font-scale))!important;
}
.internal-page textarea{min-height:calc(52px * var(--density-space-scale));}
.internal-page .primary-action,
.internal-page .secondary-action,
.internal-page .danger-action,
.internal-page button:not(.dev-mode-toggle button){
  min-height:var(--density-control-height);
  font-size:calc(.72rem * var(--density-font-scale));
}
.internal-page .org-table th,
.internal-page .org-table td{
  padding:calc(6px * var(--density-space-scale)) calc(8px * var(--density-space-scale));
  font-size:calc(.81rem * var(--density-font-scale));
}
.internal-page .org-list-row,
.internal-page .timeline-entry{padding-top:calc(6px * var(--density-space-scale));padding-bottom:calc(6px * var(--density-space-scale));}

.display-preferences-panel{max-width:960px;}
.display-density-form fieldset{border:0;padding:0;margin:0 0 12px;}
.display-density-form legend{font-weight:700;margin-bottom:9px;}
.density-choice{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:9px 10px;margin:6px 0;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:rgba(0,0,0,.12);cursor:pointer;}
.density-choice input{margin-top:3px;}
.density-choice span{display:flex;flex-direction:column;gap:2px;}
.density-choice small{opacity:.8;line-height:1.3;}
.density-choice:has(input:checked){border-color:rgba(135,185,230,.7);background:rgba(80,130,180,.16);}

/* Responsive behaviour overrides density when available width is limited. */
@media(max-width:900px){
  .internal-page .admin-grid,
  .internal-page .org-card-grid,
  .internal-page .form-grid,
  .internal-page .two-col{grid-template-columns:1fr!important;}
}
@media(max-width:600px){
  body.density-compact,
  body.density-standard,
  body.density-comfortable{
    --density-font-scale:1;
    --density-space-scale:.9;
    --density-control-height:40px;
  }
  .density-choice{padding:10px 8px;}
}

/* =============================================================
   MODSIM v1.3.0 BUILD 011b — VISIBLE DISPLAY DENSITY CORRECTION
   Older interface rules use fixed rem/pixel values, so density is
   applied directly to the main working controls and panels.
   ============================================================= */
body.internal-page.density-compact .page-content{font-size:14px}
body.internal-page.density-standard .page-content{font-size:16px}
body.internal-page.density-comfortable .page-content{font-size:18px}

body.internal-page.density-compact .org-page{padding:10px 12px 20px}
body.internal-page.density-standard .org-page{padding:16px 16px 28px}
body.internal-page.density-comfortable .org-page{padding:24px 24px 38px}

body.internal-page.density-compact .org-panel,
body.internal-page.density-compact .record-panel{padding:8px;margin:6px 0}
body.internal-page.density-standard .org-panel,
body.internal-page.density-standard .record-panel{padding:12px;margin:9px 0}
body.internal-page.density-comfortable .org-panel,
body.internal-page.density-comfortable .record-panel{padding:18px;margin:14px 0}

body.internal-page.density-compact .admin-form{gap:4px}
body.internal-page.density-standard .admin-form{gap:7px}
body.internal-page.density-comfortable .admin-form{gap:12px}

body.internal-page.density-compact input:not([type=checkbox]):not([type=radio]):not([type=file]),
body.internal-page.density-compact select,
body.internal-page.density-compact textarea{min-height:28px;padding:4px 7px;font-size:12px!important}
body.internal-page.density-standard input:not([type=checkbox]):not([type=radio]):not([type=file]),
body.internal-page.density-standard select,
body.internal-page.density-standard textarea{min-height:34px;padding:6px 9px;font-size:14px!important}
body.internal-page.density-comfortable input:not([type=checkbox]):not([type=radio]):not([type=file]),
body.internal-page.density-comfortable select,
body.internal-page.density-comfortable textarea{min-height:43px;padding:9px 12px;font-size:17px!important}

body.internal-page.density-compact textarea{min-height:46px}
body.internal-page.density-standard textarea{min-height:58px}
body.internal-page.density-comfortable textarea{min-height:84px}

body.internal-page.density-compact .primary-action,
body.internal-page.density-compact .secondary-action,
body.internal-page.density-compact .danger-action,
body.internal-page.density-compact button{min-height:28px;padding:4px 9px;font-size:11px}
body.internal-page.density-standard .primary-action,
body.internal-page.density-standard .secondary-action,
body.internal-page.density-standard .danger-action,
body.internal-page.density-standard button{min-height:34px;padding:7px 12px;font-size:12px}
body.internal-page.density-comfortable .primary-action,
body.internal-page.density-comfortable .secondary-action,
body.internal-page.density-comfortable .danger-action,
body.internal-page.density-comfortable button{min-height:43px;padding:10px 15px;font-size:15px}

body.internal-page.density-compact .org-table th,
body.internal-page.density-compact .org-table td{padding:4px 6px;font-size:11px}
body.internal-page.density-standard .org-table th,
body.internal-page.density-standard .org-table td{padding:7px 9px;font-size:13px}
body.internal-page.density-comfortable .org-table th,
body.internal-page.density-comfortable .org-table td{padding:11px 13px;font-size:16px}

body.internal-page.density-compact h1{font-size:1.45rem}
body.internal-page.density-compact h2{font-size:1.05rem}
body.internal-page.density-comfortable h1{font-size:2rem}
body.internal-page.density-comfortable h2{font-size:1.45rem}

body.internal-page.density-compact .command-header--compact,
body.internal-page.density-compact .command-header--compact .command-header__grid{min-height:150px}
body.internal-page.density-standard .command-header--compact,
body.internal-page.density-standard .command-header--compact .command-header__grid{min-height:174px}
body.internal-page.density-comfortable .command-header--compact,
body.internal-page.density-comfortable .command-header--compact .command-header__grid{min-height:210px}

@media(max-width:600px){
  body.internal-page.density-compact .page-content,
  body.internal-page.density-standard .page-content,
  body.internal-page.density-comfortable .page-content{font-size:16px}
}


/* =============================================================
   MODSIM v1.3.0 BUILD 011c — RESPONSIVE INFORMATION-DENSE PANELS
   Uses available width before reducing text size.
   ============================================================= */
.service-work-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px;align-items:start}
.service-work-grid .record-section{margin:0}
.service-work-grid .display-preferences-panel{max-width:none}
.career-status-panel p{margin-top:0}
.career-status-list{display:grid;gap:6px;margin:12px 0 0}
.career-status-list div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12)}
.career-status-list dt{font-weight:800;letter-spacing:.04em}
.career-status-list dd{margin:0}
.responsive-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:start}
.responsive-field-grid>label{min-width:0}
.field-span-2{grid-column:span 2}
.form-check-group{display:grid;gap:5px;align-content:center}
.form-actions{display:flex;justify-content:flex-end;margin-top:8px}
.rank-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rank-status-grid section{min-width:0}
.rank-status-grid section+section{padding-left:14px;border-left:1px solid rgba(128,145,160,.28)}
.member-admin-page>.admin-grid:first-of-type{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}
@media(max-width:1120px){
  .member-admin-page>.admin-grid:first-of-type{grid-template-columns:1fr}
  .service-work-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .responsive-field-grid,.rank-status-grid{grid-template-columns:1fr}
  .field-span-2{grid-column:auto}
  .rank-status-grid section+section{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid rgba(128,145,160,.28)}
  .form-actions{justify-content:stretch}
  .form-actions .primary-action{width:100%}
  .career-status-list div{grid-template-columns:1fr}
}
body.internal-page.density-compact .responsive-field-grid{gap:4px 8px}
body.internal-page.density-comfortable .responsive-field-grid{gap:12px 16px}

/* =============================================================
   MODSIM v1.3.0 BUILD 011d — FLIPPING PERSONNEL ID CARD
   ============================================================= */
.id-card-workspace{width:min(1040px,calc(100% - 28px));margin:18px auto 32px}
.id-card-workspace__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 18px;border-left:4px solid #65ff7a;background:rgba(2,12,8,.78)}
.id-card-workspace__heading h1{margin:2px 0;font-size:1.55rem;color:#fff}.id-card-workspace__heading p{margin:2px 0}.id-card-live-status{display:flex;align-items:center;gap:7px;font-weight:900;letter-spacing:.1em}.id-card-live-status i,.personnel-card-valid i{width:8px;height:8px;border-radius:50%;background:#65ff7a;box-shadow:0 0 8px rgba(101,255,122,.8)}
.id-card-stage{display:flex;justify-content:center;perspective:1600px;padding:8px 0 16px}
.personnel-card-flip{display:block;width:min(900px,100%);aspect-ratio:1.586/1;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;perspective:1600px}
.personnel-card-flip:focus-visible{outline:3px solid #e7b94f;outline-offset:6px}
.personnel-card-flip__inner{position:relative;display:block;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.75,.25,1);transform-style:preserve-3d}
.personnel-card-flip.is-turned .personnel-card-flip__inner{transform:rotateY(180deg)}
.personnel-card-face{position:absolute;inset:0;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;border:2px solid #65ff7a;border-radius:16px;background:#020705;color:#65ff7a;box-shadow:0 18px 46px rgba(0,0,0,.45);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.personnel-card-back{transform:rotateY(180deg)}
.personnel-card-security{position:absolute;right:4%;top:28%;z-index:0;color:rgba(101,255,122,.035);font-size:8rem;font-weight:900;letter-spacing:.05em;transform:rotate(-18deg);pointer-events:none}.personnel-card-security--back{left:4%;right:auto;top:30%;transform:rotate(18deg)}
.personnel-card-topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:10px 18px;border-bottom:1px solid rgba(101,255,122,.75);background:linear-gradient(90deg,rgba(9,31,19,.98),rgba(1,8,4,.98))}
.personnel-card-brand{display:flex;align-items:center;gap:12px}.personnel-card-brand img{width:52px;height:52px;object-fit:contain}.personnel-card-brand span,.personnel-card-number{display:flex;flex-direction:column}.personnel-card-brand small,.personnel-card-number small{font-size:.62rem;letter-spacing:.15em}.personnel-card-brand strong{color:#fff;font-size:1.05rem;letter-spacing:.08em}.personnel-card-number{text-align:right}.personnel-card-number strong{color:#fff;font:900 1.28rem Consolas,monospace}
.personnel-card-front__body{position:relative;z-index:1;display:grid;grid-template-columns:27% minmax(0,1fr) 110px;gap:18px;align-items:start;flex:1;min-height:0;padding:16px 18px 10px}
.personnel-card-photo{display:flex;flex-direction:column;min-width:0}.personnel-card-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border:2px solid #65ff7a;background:#101810}.personnel-card-photo small{padding-top:4px;text-align:center;font-size:.52rem;letter-spacing:.1em}
.personnel-card-identity{display:flex;min-width:0;flex-direction:column}.personnel-card-rank-text{font-size:.75rem;font-weight:900;letter-spacing:.12em}.personnel-card-name{margin:2px 0;color:#fff;font-size:1.75rem;line-height:1.05}.personnel-card-callsign{margin-top:3px;font-size:.67rem;font-weight:800;letter-spacing:.1em}
.personnel-card-postings{display:flex;flex-direction:column;gap:3px;margin-top:10px}.personnel-card-postings>span{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:8px;font-size:.75rem}.personnel-card-postings b{color:#fff}.personnel-card-postings em{font-style:normal}
.personnel-card-experience{display:grid;grid-template-columns:minmax(135px,190px) minmax(135px,190px) auto;gap:8px;align-items:end;margin-top:auto;padding-top:12px}.personnel-card-ribbon-block{display:flex;flex-direction:column;gap:3px}.personnel-card-ribbon-block small,.personnel-card-hours small{font-size:.52rem;letter-spacing:.1em}.personnel-card-ribbon-block img{display:block;width:100%;height:35px;object-fit:fill}.personnel-card-no-ribbon{display:grid;height:35px;place-items:center;border:1px solid rgba(101,255,122,.45);font-size:.58rem}.personnel-card-hours{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.personnel-card-hours b{color:#fff;font:900 1.45rem Consolas,monospace}
.personnel-card-badges{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px}.personnel-card-badges>span{display:flex;min-height:0;flex-direction:column;align-items:center}.personnel-card-badges img{display:block;width:86px;height:102px;object-fit:contain}.personnel-card-badges small{font-size:.5rem}
.personnel-card-honours{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(150px,230px) 1fr;align-items:center;gap:12px;min-height:66px;padding:5px 18px 9px;border-top:1px solid rgba(101,255,122,.6)}
.personnel-card-wings-slot{display:flex;align-items:center;justify-content:flex-end}.personnel-card-wings-slot img{width:210px;max-height:48px;object-fit:contain}.personnel-card-wings-slot small{font-size:.58rem}
.personnel-card-medals{display:flex;flex-wrap:wrap;justify-content:center;gap:1px;line-height:0}.personnel-card-medals img{width:42px;height:15px;object-fit:fill}.personnel-card-medals small{font-size:.55rem;line-height:1.2}
.personnel-card-valid{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.1em}
.personnel-card-turn-cue{position:absolute;right:14px;bottom:3px;z-index:2;color:rgba(101,255,122,.65);font-size:.5rem;letter-spacing:.08em}
.personnel-card-back__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:10px 18px;border-bottom:1px solid #65ff7a;background:linear-gradient(90deg,rgba(9,31,19,.98),rgba(1,8,4,.98))}.personnel-card-back__header span{display:flex;flex-direction:column}.personnel-card-back__header small{font-size:.62rem;letter-spacing:.15em}.personnel-card-back__header strong{color:#fff;font-size:1.18rem;letter-spacing:.08em}.personnel-card-back__header img{width:55px;height:55px;object-fit:contain}
.personnel-card-back__body{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.35fr;grid-template-rows:auto 1fr auto;gap:12px 18px;flex:1;padding:16px 20px 12px}
.personnel-card-back__identity{display:flex;flex-direction:column;border-left:3px solid #65ff7a;padding-left:12px}.personnel-card-back__identity small{font:800 .75rem Consolas,monospace}.personnel-card-back__identity strong{margin:4px 0;color:#fff;font-size:1.25rem}.personnel-card-back__identity span{font-size:.75rem}
.personnel-card-facts{display:grid;grid-template-columns:1fr 1fr;grid-row:1/3;grid-column:2;gap:7px}.personnel-card-facts>span{display:flex;flex-direction:column;justify-content:center;padding:8px 10px;border:1px solid rgba(101,255,122,.3);background:rgba(5,18,11,.7)}.personnel-card-facts small,.personnel-card-current-postings>small,.personnel-card-verification small{font-size:.52rem;letter-spacing:.1em}.personnel-card-facts strong{margin-top:2px;color:#fff;font-size:.8rem}
.personnel-card-current-postings{display:flex;flex-direction:column;gap:5px;align-self:start}.personnel-card-current-postings>span{font-size:.76rem}.personnel-card-current-postings b{color:#fff}
.personnel-card-verification{display:grid;grid-column:1/3;grid-template-columns:minmax(220px,1fr) auto auto;gap:18px;align-items:end;padding-top:9px;border-top:1px solid rgba(101,255,122,.4)}.personnel-card-verification>span:not(.personnel-card-code){display:flex;flex-direction:column}.personnel-card-verification strong{color:#fff;font-size:.72rem}.personnel-card-code{display:flex;height:28px;align-items:stretch;gap:3px;overflow:hidden}.personnel-card-code i{display:block;width:3px;background:#65ff7a}.personnel-card-code i:nth-child(3n){width:7px}.personnel-card-code i:nth-child(4n){opacity:.55}
.personnel-card-back__footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;padding:8px 18px;border-top:1px solid #65ff7a;font-size:.55rem;letter-spacing:.05em}.personnel-card-back__footer b{color:#fff}
.personnel-card-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:8px}.personnel-card-actions .print-button{margin:0}
@media(max-width:820px){.id-card-workspace{width:min(100% - 16px,1040px)}.personnel-card-flip{font-size:.9em}.personnel-card-front__body{grid-template-columns:26% minmax(0,1fr) 78px;gap:10px;padding:12px}.personnel-card-badges img{width:64px;height:76px}.personnel-card-name{font-size:1.35rem}.personnel-card-postings>span{grid-template-columns:1fr}.personnel-card-experience{grid-template-columns:1fr 1fr}.personnel-card-hours{grid-column:1/3;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px}.personnel-card-honours{grid-template-columns:1fr 1fr auto}.personnel-card-wings-slot img{width:150px}.personnel-card-medals img{width:34px;height:12px}}
@media(max-width:600px){.id-card-workspace__heading{align-items:flex-start;flex-direction:column}.id-card-stage{overflow-x:auto;justify-content:flex-start;padding-bottom:12px}.personnel-card-flip{width:680px;min-width:680px}.personnel-card-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.personnel-card-flip__inner{transition:none}}
@media print{.id-card-workspace__heading,.personnel-card-actions,.personnel-card-back{display:none!important}.id-card-workspace,.id-card-stage{width:100%;margin:0;padding:0}.personnel-card-flip{width:100%;max-width:none}.personnel-card-flip__inner{transform:none!important}.personnel-card-front{position:absolute!important;display:flex!important;box-shadow:none!important}}

/* =============================================================
   MODSIM v1.3.0 Build 011e — corrected personnel ID card
   ============================================================= */
.modsim-personnel-summary--011e{padding:0;border:1px solid #65ff7a;border-radius:8px;background:#020705;overflow:hidden}
.modsim-personnel-summary--011e .modsim-personnel-summary__header{display:flex;justify-content:space-between;gap:8px;padding:5px 8px;border-bottom:1px solid rgba(101,255,122,.5);background:#0a2113;color:#fff;font-size:.57rem;letter-spacing:.12em}
.modsim-personnel-summary--011e .modsim-personnel-summary__header b{color:#65ff7a;font-family:Consolas,monospace}
.modsim-personnel-summary--011e .modsim-personnel-summary__top{padding:8px 8px 5px}
.modsim-personnel-summary--011e .modsim-personnel-summary__honours{margin:0 8px 8px;padding-top:5px}

.id-card-workspace--011e{width:min(860px,calc(100% - 24px));margin:16px auto 30px}
.id-card-workspace--011e .id-card-stage{display:block;padding:0}
.id011e-card{display:flex;width:100%;aspect-ratio:1.58/1;min-height:430px;flex-direction:column;box-sizing:border-box;overflow:hidden;border:2px solid #65ff7a;border-radius:14px;background:#020705;color:#65ff7a;box-shadow:0 14px 34px rgba(0,0,0,.42)}
.id011e-card[hidden]{display:none!important}
.id011e-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:9px 16px;border-bottom:1px solid rgba(101,255,122,.7);background:#081a10}
.id011e-brand{display:flex;align-items:center;gap:11px}.id011e-brand>img{width:48px;height:48px;object-fit:contain}.id011e-brand>span,.id011e-number{display:flex;flex-direction:column}.id011e-brand small,.id011e-number small{font-size:.58rem;letter-spacing:.14em}.id011e-brand strong{color:#fff;font-size:1rem;letter-spacing:.08em}.id011e-number{text-align:right}.id011e-number strong{color:#fff;font:900 1.18rem Consolas,monospace}
.id011e-main{display:grid;grid-template-columns:29% minmax(0,1fr) 92px;gap:16px;flex:1;min-height:0;padding:14px 16px 10px}
.id011e-photo{display:flex;min-width:0;flex-direction:column;margin:0}.id011e-photo img{display:block;width:100%;height:100%;min-height:250px;object-fit:cover;object-position:center 25%;border:2px solid #65ff7a}.id011e-photo figcaption{padding-top:4px;text-align:center;font-size:.5rem;letter-spacing:.1em}
.id011e-details{display:flex;min-width:0;flex-direction:column}.id011e-rank{margin:0;font-size:.72rem;font-weight:900;letter-spacing:.12em}.id011e-details h2{margin:2px 0;color:#fff;font-size:1.65rem;line-height:1.05}.id011e-callsign{margin:2px 0 0;font-size:.65rem;font-weight:800;letter-spacing:.1em}
.id011e-postings{display:flex;flex-direction:column;gap:3px;margin-top:10px}.id011e-postings p{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:8px;margin:0;font-size:.74rem}.id011e-postings b{color:#fff}.id011e-postings span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.id011e-ribbons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:10px}.id011e-ribbons>span{display:flex;min-width:0;flex-direction:column;gap:3px}.id011e-ribbons small{font-size:.5rem;letter-spacing:.1em}.id011e-ribbons img{display:block;width:100%;height:34px;object-fit:fill}.id011e-ribbons b{display:grid;height:34px;place-items:center;border:1px solid rgba(101,255,122,.5);font-size:.58rem}
.id011e-badges{display:flex;flex-direction:column;align-items:center;gap:6px;overflow:hidden}.id011e-badges span{display:flex;min-height:0;flex-direction:column;align-items:center}.id011e-badges img{display:block;width:78px;height:92px;object-fit:contain}.id011e-badges small{font-size:.48rem}
.id011e-footer{display:grid;grid-template-columns:minmax(130px,1fr) minmax(140px,1.2fr) auto auto;align-items:center;gap:12px;min-height:64px;padding:6px 16px 9px;border-top:1px solid rgba(101,255,122,.6);background:#030c07}.id011e-wings{display:flex;justify-content:flex-end}.id011e-wings img{width:170px;max-height:45px;object-fit:contain}.id011e-medals{display:flex;flex-wrap:wrap;justify-content:center;gap:1px}.id011e-medals img{width:42px;height:15px;object-fit:fill}.id011e-hours{display:flex;flex-direction:column;text-align:right}.id011e-hours b{color:#fff;font:900 1.25rem Consolas,monospace}.id011e-hours small,.id011e-medals small,.id011e-wings small{font-size:.5rem}.id011e-status{display:flex;align-items:center;gap:6px;color:#fff;font-size:.64rem;font-weight:900}.id011e-status i{width:8px;height:8px;border-radius:50%;background:#65ff7a}
.id011e-back-main{display:grid;grid-template-columns:.9fr 1.4fr;grid-template-rows:auto 1fr auto;gap:12px 16px;flex:1;padding:16px}.id011e-back-name{border-left:3px solid #65ff7a;padding-left:12px}.id011e-back-name small,.id011e-back-postings small,.id011e-verification small{font-size:.55rem;letter-spacing:.1em}.id011e-back-name h2{margin:4px 0;color:#fff;font-size:1.18rem}.id011e-back-name p{margin:0;font-size:.72rem}.id011e-facts{display:grid;grid-column:2;grid-row:1/3;grid-template-columns:1fr 1fr;gap:7px;margin:0}.id011e-facts div{padding:8px 9px;border:1px solid rgba(101,255,122,.32);background:#07140c}.id011e-facts dt{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}.id011e-facts dd{margin:3px 0 0;color:#fff;font-size:.76rem;font-weight:800}.id011e-back-postings p{margin:5px 0;font-size:.74rem}.id011e-back-postings b{color:#fff}.id011e-verification{display:grid;grid-column:1/3;grid-template-columns:1fr 1fr 1.5fr;gap:10px;padding-top:10px;border-top:1px solid rgba(101,255,122,.45)}.id011e-verification span{display:flex;flex-direction:column}.id011e-verification b{margin-top:3px;color:#fff;font-size:.68rem}.id011e-back-footer{padding:8px 16px;border-top:1px solid rgba(101,255,122,.6);text-align:center;font-size:.56rem;letter-spacing:.04em}
.id011e-face-controls{display:flex;justify-content:center;gap:8px;margin-top:12px}.id011e-face-controls .command-action{min-width:110px}.id011e-face-controls .is-active{border-color:#65ff7a;background:#0d2b18;color:#fff}
@media(max-width:720px){.id-card-workspace--011e{width:min(100% - 12px,860px)}.id011e-card{aspect-ratio:auto;min-height:0}.id011e-main{grid-template-columns:120px minmax(0,1fr)}.id011e-badges{grid-column:1/3;flex-direction:row;justify-content:center}.id011e-photo img{min-height:170px}.id011e-footer{grid-template-columns:1fr 1fr}.id011e-back-main{grid-template-columns:1fr}.id011e-facts{grid-column:1;grid-row:auto}.id011e-verification{grid-column:1}.id011e-back-postings{grid-row:auto}.id011e-brand strong{font-size:.82rem}}
@media(max-width:470px){.id011e-header{align-items:flex-start}.id011e-brand img{display:none}.id011e-main{grid-template-columns:1fr}.id011e-photo{width:150px;margin:auto}.id011e-badges{grid-column:1}.id011e-details h2{text-align:center}.id011e-rank,.id011e-callsign{text-align:center}.id011e-postings p{grid-template-columns:1fr;text-align:center}.id011e-footer{grid-template-columns:1fr}.id011e-wings,.id011e-hours,.id011e-status{justify-content:center;text-align:center}.id011e-verification{grid-template-columns:1fr}}
@media print{.id-card-workspace__heading,.id011e-face-controls,.personnel-card-actions,.command-header,.ops-navigation,.operations-footer{display:none!important}.id-card-workspace--011e{width:100%;margin:0}.id011e-card[hidden]{display:none!important}.id011e-card{box-shadow:none}}

/* MODSIM v1.3.0 Build 011f: isolated banner and personnel card */
.banner011f-card{display:block!important;margin:8px 0 10px!important;padding:0!important;border:1px solid #65ff7a!important;border-radius:7px!important;background:#020705!important;color:#65ff7a!important;text-decoration:none!important;overflow:hidden!important;box-shadow:none!important}
.banner011f-strip{display:flex;justify-content:space-between;align-items:center;padding:4px 7px;background:#0a2113;border-bottom:1px solid rgba(101,255,122,.45);font-size:.55rem;letter-spacing:.1em}.banner011f-strip b{font-family:Consolas,monospace;color:#fff}
.banner011f-body{display:grid;grid-template-columns:72px minmax(0,1fr) 52px;gap:8px;padding:7px;align-items:start}.banner011f-photo{display:block;width:72px;height:90px;object-fit:cover;object-position:center 25%;border:1px solid #65ff7a}.banner011f-info{display:flex;min-width:0;flex-direction:column;line-height:1.08}.banner011f-info>strong{font-size:.64rem}.banner011f-info>b{margin:3px 0;color:#fff;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner011f-info>span{font-size:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner011f-bars{display:flex;flex-direction:column;gap:3px;margin-top:5px}.banner011f-bars img{display:block!important;width:100px!important;height:20px!important;object-fit:fill!important;border:0!important}.banner011f-badges{display:flex;flex-direction:column;gap:2px;align-items:center}.banner011f-badges img{display:block!important;width:48px!important;height:48px!important;object-fit:contain!important;border:0!important}.banner011f-footer{display:flex;justify-content:space-between;align-items:center;min-height:24px;padding:3px 7px;border-top:1px solid rgba(101,255,122,.35)}.banner011f-footer img{display:block!important;width:105px!important;height:22px!important;object-fit:contain!important;border:0!important}.banner011f-footer em{font-size:.48rem;font-style:normal;letter-spacing:.08em;color:#fff}

.id011f-workspace{width:min(920px,calc(100% - 24px));margin:16px auto 30px}.id011f-pagehead{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;padding:12px 16px;border-left:4px solid #65ff7a;background:rgba(2,12,8,.78)}.id011f-pagehead h1{margin:2px 0;font-size:1.45rem}.id011f-pagehead p{margin:2px 0}.id011f-live{display:flex;gap:6px;align-items:center;font-weight:900;letter-spacing:.1em}.id011f-live i,.id011f-cardstatus i{width:8px;height:8px;border-radius:50%;background:#65ff7a}.id011f-stage{display:flex;justify-content:center}.id011f-cardbutton{display:block;width:min(820px,100%);padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.id011f-cardbutton:focus-visible{outline:3px solid #e7b94f;outline-offset:5px}.id011f-face{display:flex;width:100%;aspect-ratio:1.586/1;min-height:420px;box-sizing:border-box;flex-direction:column;overflow:hidden;border:2px solid #65ff7a;border-radius:14px;background:#020705;color:#65ff7a;box-shadow:0 12px 30px rgba(0,0,0,.4)}.id011f-face[hidden]{display:none!important}.id011f-cardhead{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:8px 14px;background:#081a10;border-bottom:1px solid rgba(101,255,122,.6)}.id011f-brand{display:flex;align-items:center;gap:10px}.id011f-brand img{width:46px;height:46px;object-fit:contain}.id011f-brand span,.id011f-servno{display:flex;flex-direction:column}.id011f-brand small,.id011f-servno small{font-size:.54rem;letter-spacing:.13em}.id011f-brand strong{color:#fff;font-size:.94rem;letter-spacing:.08em}.id011f-servno{text-align:right}.id011f-servno strong{color:#fff;font:900 1.12rem Consolas,monospace}
.id011f-frontgrid{display:grid;grid-template-columns:28% minmax(0,1fr) 88px;gap:14px;flex:1;padding:14px}.id011f-portrait{margin:0}.id011f-portrait img{display:block;width:100%;height:100%;min-height:245px;object-fit:cover;object-position:center 25%;border:2px solid #65ff7a}.id011f-identity{display:flex;min-width:0;flex-direction:column}.id011f-ranktext{margin:0;font-size:.68rem;font-weight:900;letter-spacing:.12em}.id011f-identity h2{margin:2px 0;color:#fff;font-size:1.55rem;line-height:1.05}.id011f-callsign{margin:2px 0;font-size:.62rem;font-weight:800;letter-spacing:.08em}.id011f-postings{margin-top:8px}.id011f-postings p{display:grid;grid-template-columns:minmax(80px,.8fr) 1.2fr;gap:8px;margin:2px 0;font-size:.7rem}.id011f-postings b{color:#fff}.id011f-ribbonrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:10px}.id011f-ribbonrow label{display:flex;min-width:0;flex-direction:column;gap:3px}.id011f-ribbonrow span{font-size:.48rem;letter-spacing:.1em}.id011f-ribbonrow img{display:block;width:100%;height:32px;object-fit:fill}.id011f-ribbonrow label>b{display:grid;height:32px;place-items:center;border:1px solid rgba(101,255,122,.4);font-size:.55rem}.id011f-squadrons{display:flex;flex-direction:column;align-items:center;gap:5px}.id011f-squadrons img{display:block;width:76px;height:86px;object-fit:contain}.id011f-cardfoot{display:grid;grid-template-columns:170px 1fr auto auto;gap:10px;align-items:center;min-height:58px;padding:6px 14px;border-top:1px solid rgba(101,255,122,.6);background:#030c07}.id011f-wings img{display:block;width:160px;max-height:42px;object-fit:contain}.id011f-medals{display:flex;justify-content:center;flex-wrap:wrap;gap:1px}.id011f-medals img{width:40px;height:14px;object-fit:fill}.id011f-hourtotal{display:flex;flex-direction:column;text-align:right}.id011f-hourtotal strong{color:#fff;font:900 1.15rem Consolas,monospace}.id011f-hourtotal span{font-size:.48rem}.id011f-cardstatus{display:flex;gap:5px;align-items:center;color:#fff;font-size:.6rem;font-weight:900}
.id011f-backgrid{display:grid;grid-template-columns:.9fr 1.4fr;grid-template-rows:auto 1fr auto;gap:12px 15px;flex:1;padding:16px}.id011f-backholder{padding-left:12px;border-left:3px solid #65ff7a}.id011f-backholder small,.id011f-backpostings small,.id011f-validation small{font-size:.52rem;letter-spacing:.1em}.id011f-backholder h2{margin:4px 0;color:#fff;font-size:1.12rem}.id011f-backholder p{margin:0;font-size:.7rem}.id011f-facts{display:grid;grid-column:2;grid-row:1/3;grid-template-columns:1fr 1fr;gap:7px;margin:0}.id011f-facts div{padding:8px;border:1px solid rgba(101,255,122,.32);background:#07140c}.id011f-facts dt{font-size:.5rem;letter-spacing:.08em;text-transform:uppercase}.id011f-facts dd{margin:3px 0 0;color:#fff;font-size:.72rem;font-weight:800}.id011f-backpostings p{margin:5px 0;font-size:.7rem}.id011f-backpostings b{color:#fff}.id011f-validation{display:grid;grid-column:1/3;grid-template-columns:1fr 1fr 1.5fr;gap:10px;padding-top:9px;border-top:1px solid rgba(101,255,122,.45)}.id011f-validation span{display:flex;flex-direction:column}.id011f-validation b{margin-top:3px;color:#fff;font-size:.65rem}.id011f-backfoot{padding:8px 14px;border-top:1px solid rgba(101,255,122,.6);text-align:center;font-size:.54rem}.id011f-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:720px){.banner011f-body{grid-template-columns:62px minmax(0,1fr)}.banner011f-photo{width:62px;height:78px}.banner011f-badges{grid-column:1/3;flex-direction:row;justify-content:center}.id011f-pagehead{align-items:flex-start;flex-direction:column}.id011f-face{aspect-ratio:auto;min-height:0}.id011f-frontgrid{grid-template-columns:120px minmax(0,1fr)}.id011f-squadrons{grid-column:1/3;flex-direction:row;justify-content:center}.id011f-cardfoot{grid-template-columns:1fr 1fr}.id011f-backgrid{grid-template-columns:1fr}.id011f-facts,.id011f-validation{grid-column:1;grid-row:auto}}
@media(max-width:470px){.id011f-brand img{display:none}.id011f-frontgrid{grid-template-columns:1fr}.id011f-portrait{width:150px;margin:auto}.id011f-squadrons{grid-column:1}.id011f-identity h2,.id011f-ranktext,.id011f-callsign{text-align:center}.id011f-postings p{grid-template-columns:1fr;text-align:center}.id011f-cardfoot{grid-template-columns:1fr}.id011f-wings,.id011f-medals,.id011f-cardstatus{justify-content:center}.id011f-hourtotal{text-align:center}.id011f-validation{grid-template-columns:1fr}}


/* MODSIM v1.3.0 Build 011h — compact identity-card correction */
.banner011f-footer{display:grid!important;grid-template-columns:92px 1fr auto!important;gap:6px!important;min-height:26px!important}
.banner011f-wings img{width:86px!important;height:20px!important}
.banner011f-awards{display:flex!important;align-items:center!important;justify-content:center!important;gap:1px!important;min-width:0!important}
.banner011f-awards img{display:block!important;width:23px!important;height:8px!important;object-fit:fill!important;border:0!important}
.banner011f-footer em{font-size:.44rem!important}

.id011f-workspace{width:min(760px,calc(100% - 24px))!important}
.id011f-cardbutton{width:min(680px,100%)!important}
.id011f-face{aspect-ratio:1.586/1!important;min-height:0!important;border-radius:11px!important}
.id011f-cardhead{min-height:48px!important;padding:6px 11px!important}
.id011f-brand img{width:35px!important;height:35px!important}
.id011f-brand small,.id011f-servno small{font-size:.43rem!important}
.id011f-brand strong{font-size:.76rem!important}
.id011f-servno strong{font-size:.9rem!important}
.id011f-frontgrid{grid-template-columns:24% minmax(0,1fr) 70px!important;gap:10px!important;padding:10px!important}
.id011f-portrait img{min-height:205px!important;border-width:1px!important}
.id011f-ranktext{font-size:.57rem!important}
.id011f-identity h2{font-size:1.24rem!important}
.id011f-callsign{font-size:.52rem!important}
.id011f-postings{margin-top:6px!important}
.id011f-postings p{grid-template-columns:75px 1fr!important;gap:6px!important;font-size:.58rem!important}
.id011f-ribbonrow{gap:6px!important;padding-top:7px!important}
.id011f-ribbonrow span{font-size:.4rem!important}
.id011f-ribbonrow img,.id011f-ribbonrow label>b{height:23px!important}
.id011f-squadrons{gap:3px!important}
.id011f-squadrons img{width:61px!important;height:69px!important}
.id011f-cardfoot{grid-template-columns:125px 1fr auto auto!important;min-height:43px!important;padding:4px 10px!important;gap:7px!important}
.id011f-wings img{width:118px!important;max-height:30px!important}
.id011f-medals img{width:31px!important;height:11px!important}
.id011f-hourtotal strong{font-size:.9rem!important}
.id011f-hourtotal span,.id011f-cardstatus{font-size:.42rem!important}
.id011f-backgrid{gap:8px 10px!important;padding:11px!important}
.id011f-facts{gap:5px!important}
.id011f-facts div{padding:6px!important}
.id011f-actions{margin-top:9px!important}
@media(max-width:720px){.id011f-cardbutton{width:min(680px,100%)!important}.id011f-face{aspect-ratio:auto!important}.id011f-frontgrid{grid-template-columns:105px minmax(0,1fr)!important}.id011f-squadrons{grid-column:1/3!important;flex-direction:row!important}.id011f-cardfoot{grid-template-columns:1fr 1fr!important}}


/* MODSIM v1.3.0 Build 011i — direct banner-card replacement */
/* -------------------------------------------------
   PERSONNEL BANNER COMPONENT — BUILD 013b
-------------------------------------------------- */
.personnel-banner {
    display: block;
    margin: 8px 0 10px;
    height: 184px;
    overflow: hidden;
    border: 2px solid #d8b35b;
    border-radius: 8px;
    background: #05090d;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.personnel-banner:hover { border-color: #ffe08a; background: #081019; }
.personnel-banner__heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 24px;
    padding: 4px 7px;
    border-bottom: 1px solid rgba(216,179,91,.65);
    background: #0c2132;
    font-size: .5rem;
    font-weight: 900;
    letter-spacing: .1em;
}
.personnel-banner__heading b { color: #ffe08a; font: 900 .62rem Consolas,monospace; }
.personnel-banner__identity {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) 62px 38px;
    gap: 6px;
    align-items: center;
    height: 84px;
    padding: 5px 7px;
}
.personnel-banner__photo {
    display: block;
    width: 58px;
    height: 74px;
    object-fit: cover;
    object-position: center 24%;
    border: 1px solid #d8b35b;
}
.personnel-banner__details { min-width: 0; align-self: start; padding-top: 2px; }
.personnel-banner__details small {
    display: block;
    color: #d8b35b;
    font-size: .46rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.personnel-banner__details strong {
    display: block;
    margin: 2px 0 4px;
    overflow: hidden;
    color: #fff;
    font-size: .72rem;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.personnel-banner__details span {
    display: block;
    overflow: hidden;
    color: #dce7ef;
    font-size: .43rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.personnel-banner__qualifications { display: grid; gap: 5px; align-content: center; }
.personnel-banner__qualifications div { min-width: 0; }
.personnel-banner__qualifications img,
.personnel-banner__qualifications span {
    display: grid;
    width: 62px;
    height: 13px;
    place-items: center;
    object-fit: fill;
    border: 0;
}
.personnel-banner__qualifications span { border: 1px solid #526878; color: #8fa3b3; font-size: .42rem; }
.personnel-banner__badges {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: center;
    justify-content: center;
}
.personnel-banner__badges img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
    border: 0;
    background: #fff;
}
.personnel-banner__wings {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    border-top: 1px solid rgba(216,179,91,.5);
    background: #07111a;
}
.personnel-banner__wings img {
    display: block;
    width: 112px;
    height: 32px;
    object-fit: contain;
    border: 0;
}
.personnel-banner__awards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    height: 38px;
    padding: 5px 7px;
    overflow: hidden;
    background: #07111a;
}
.personnel-banner__award-row {
    display: flex;
    justify-content: center;
    gap: 2px;
    min-height: 11px;
}
.personnel-banner__award-slot {
    display: block;
    flex: 0 0 28px;
    width: 28px;
    height: 11px;
    overflow: hidden;
}
.personnel-banner__award-slot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    border: 0;
}

/* Build 014: pilot information screen and uniform award ribbons */
.personnel-banner__award-slot{flex:0 0 30px!important;width:30px!important;height:11px!important}.personnel-banner__award-slot img{width:30px!important;height:11px!important;object-fit:fill!important}.pilot-info-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:18px}.pilot-info-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:2px solid rgba(101,255,122,.55)}.pilot-info-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.pilot-info-facts div{padding:10px;border:1px solid rgba(101,255,122,.28)}.pilot-info-facts dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.pilot-info-facts dd{margin:4px 0 0;color:#fff;font-weight:800}.pilot-award-ribbons{display:flex;flex-wrap:wrap;gap:10px}.pilot-award-ribbons span{display:flex;width:110px;flex-direction:column;gap:4px;text-align:center}.pilot-award-ribbons img{display:block;width:auto;height:30px;max-width:110px;object-fit:contain}.pilot-award-ribbons small{font-size:.68rem}@media(max-width:700px){.pilot-info-grid{grid-template-columns:1fr}.pilot-info-photo{max-width:280px;margin:auto}.pilot-info-facts{grid-template-columns:1fr}}

/* Build 014B: one authoritative size for medal/award ribbons.
   This deliberately does not affect rank or flight-hours ribbons. */
.personnel-banner__award-slot,
.banner011f-awards .personnel-banner__award-slot {
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 10px !important;
    min-width: 30px !important;
    min-height: 10px !important;
    max-width: 30px !important;
    max-height: 10px !important;
    overflow: hidden !important;
}
.personnel-banner__award-slot img,
.banner011f-awards img {
    display: block !important;
    width: 30px !important;
    height: 10px !important;
    min-width: 30px !important;
    min-height: 10px !important;
    max-width: 30px !important;
    max-height: 10px !important;
    object-fit: fill !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.id011f-medals img,
.personnel-card-v2__medals img {
    display: block !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 14px !important;
    min-width: 42px !important;
    min-height: 14px !important;
    max-width: 42px !important;
    max-height: 14px !important;
    object-fit: fill !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.pilot-award-ribbons span {
    width: 112px !important;
}
.pilot-award-ribbons img {
    display: block !important;
    width: 112px !important;
    height: 38px !important;
    min-width: 112px !important;
    min-height: 38px !important;
    max-width: 112px !important;
    max-height: 38px !important;
    object-fit: fill !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Build 014C: definitive equal award ribbon geometry. */
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot {
    display:block !important;
    box-sizing:border-box !important;
    flex:0 0 32px !important;
    width:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    height:11px !important;
    min-height:11px !important;
    max-height:11px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot > img {
    display:block !important;
    box-sizing:border-box !important;
    width:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    height:11px !important;
    min-height:11px !important;
    max-height:11px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    object-fit:fill !important;
}
.pilot-information-page .pilot-award-ribbons > span {
    display:grid !important;
    grid-template-rows:32px auto !important;
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
}
.pilot-information-page .pilot-award-ribbons > span > img {
    display:block !important;
    box-sizing:border-box !important;
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
    height:32px !important;
    min-height:32px !important;
    max-height:32px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    object-fit:fill !important;
}
\n\n/* Build 014D: single source of truth for award ribbon geometry. */
/* Compact header card */
.personnel-banner__award-row > .personnel-banner__award-slot,
.banner011f-awards > .personnel-banner__award-slot {
  box-sizing:border-box!important; flex:0 0 32px!important;
  width:32px!important; min-width:32px!important; max-width:32px!important;
  height:11px!important; min-height:11px!important; max-height:11px!important;
  margin:0!important; padding:0!important; overflow:hidden!important;
}
.personnel-banner__award-row > .personnel-banner__award-slot > img,
.banner011f-awards img {
  display:block!important; box-sizing:border-box!important;
  width:32px!important; min-width:32px!important; max-width:32px!important;
  height:11px!important; min-height:11px!important; max-height:11px!important;
  margin:0!important; padding:0!important; border:0!important; object-fit:fill!important;
}
/* Good personnel card */
.id011f-medals > img,
.personnel-card-v2__medals > img,
.modsim-personnel-summary__medals > img {
  display:block!important; box-sizing:border-box!important; flex:0 0 40px!important;
  width:40px!important; min-width:40px!important; max-width:40px!important;
  height:14px!important; min-height:14px!important; max-height:14px!important;
  margin:0!important; padding:0!important; border:0!important; object-fit:fill!important;
}
/* Service record and pilot information */
.ribbon-row.large-ribbons > img,
.pilot-award-ribbons > span > img,
.award-record summary img {
  display:block!important; box-sizing:border-box!important;
  width:96px!important; min-width:96px!important; max-width:96px!important;
  height:32px!important; min-height:32px!important; max-height:32px!important;
  margin:0!important; padding:0!important; border:0!important; object-fit:fill!important;
}
.pilot-award-ribbons > span {width:96px!important;min-width:96px!important;max-width:96px!important;}

/* Build 015 Training Centre */
.training-log-link,.training-item-card{border:1px solid rgba(165,190,214,.35);padding:1rem;margin:1rem 0;background:rgba(5,20,34,.55)}
.training-item-card--checkride{border-width:2px}.training-item-option{display:block;margin:.45rem 0}.linked-flights{margin-top:.8rem;padding:.7rem;border-left:3px solid currentColor}.training-item-card form+form{margin-top:.5rem}


/* Build 017: clearer Training Centre workflow */
.training-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1rem;border:1px solid rgba(150,190,225,.48);color:#dcefff;text-decoration:none;font-weight:800;letter-spacing:.04em;background:rgba(4,24,43,.74)}
.training-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.training-stat{min-height:112px;padding:1rem;border:1px solid rgba(120,173,214,.34);background:linear-gradient(180deg,rgba(13,43,68,.96),rgba(5,24,40,.96));display:flex;flex-direction:column;justify-content:center;text-decoration:none;color:#eaf6ff;box-shadow:0 10px 24px rgba(0,0,0,.18)}.training-stat strong{font-size:2rem;line-height:1;color:#fff}.training-stat span{margin-top:.55rem;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.training-workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.training-workflow a{display:flex;gap:.7rem;align-items:center;padding:.85rem;border:1px solid rgba(130,174,208,.3);background:rgba(8,31,50,.88);text-decoration:none;color:#e9f5ff}.training-workflow b{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#dceaf5;color:#092038}.training-workflow span{display:flex;flex-direction:column}.training-workflow small{opacity:.72;margin-top:.15rem}.panel-heading-row{display:flex;justify-content:space-between;gap:1rem;align-items:start}.training-admin-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.training-admin-links a{display:flex;flex-direction:column;padding:1rem 1.1rem;border:1px solid rgba(130,174,208,.35);background:rgba(8,31,50,.9);text-decoration:none;color:#fff}.training-admin-links span{margin-top:.35rem;opacity:.75}.training-step-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.training-step-strip span{padding:.55rem .75rem;border:1px solid rgba(130,174,208,.3);background:rgba(7,28,46,.8);font-size:.78rem;font-weight:800;letter-spacing:.04em}.training-step-strip .done{border-color:rgba(103,191,142,.65)}.training-step-strip .current{background:rgba(36,87,126,.95);border-color:rgba(183,222,252,.75)}.training-guidance{padding:.8rem;border-left:4px solid #9bc8e8;background:rgba(31,72,104,.35)}
@media(max-width:1100px){.training-stat-grid,.training-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.training-stat-grid,.training-workflow,.training-admin-links{grid-template-columns:1fr}.panel-heading-row{display:block}}

/* Build 018 — intelligent training progression */
.current-lesson-panel{margin:0 0 1rem;padding:1.2rem 1.35rem;border:2px solid rgba(139,202,244,.72);background:linear-gradient(135deg,rgba(18,63,94,.98),rgba(5,25,42,.98));box-shadow:0 14px 32px rgba(0,0,0,.28)}
.current-lesson-panel--checkride{border-color:rgba(231,198,103,.9);background:linear-gradient(135deg,rgba(83,64,18,.95),rgba(29,24,10,.98))}
.current-lesson-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.current-lesson-heading h2{margin:.15rem 0 .7rem;font-size:1.7rem}.current-lesson-progress{white-space:nowrap;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.35);font-size:.8rem;letter-spacing:.05em}
.current-lesson-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.9rem 0}.current-lesson-facts span{padding:.7rem;background:rgba(0,0,0,.2);display:flex;flex-direction:column}.current-lesson-facts strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-bottom:.25rem}
.training-item-card--current{border:2px solid rgba(139,202,244,.8);box-shadow:0 0 0 2px rgba(139,202,244,.08)}
@media(max-width:850px){.current-lesson-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.current-lesson-heading{display:block}.current-lesson-progress{display:inline-block;margin-bottom:.7rem}}


/* Build 020 — complete course programme and checkbox alignment */
.internal-page label.check,
.internal-page label.check-label,
.internal-page .admin-form label.check-label,
.internal-page .org-form label.check,
label.check,
label.check-label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.55rem!important;
  width:max-content;
  max-width:100%;
  min-height:28px;
  margin:.2rem 0;
  cursor:pointer;
}
.internal-page label.check input[type="checkbox"],
.internal-page label.check-label input[type="checkbox"],
label.check input[type="checkbox"],
label.check-label input[type="checkbox"]{
  display:inline-block!important;
  position:static!important;
  float:none!important;
  flex:0 0 auto!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
}
.course-record-summary{display:grid;gap:.45rem}.course-record-summary p{margin:0}.course-progress-bar{height:12px;border:1px solid rgba(155,196,225,.55);background:rgba(1,13,24,.72);overflow:hidden}.course-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#78b890,#b5d9c1)}
.course-flight-list{display:grid;gap:.55rem}.course-flight-row{border:1px solid rgba(148,184,211,.34);background:rgba(5,23,38,.72)}.course-flight-row summary{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(180px,250px);gap:.8rem;align-items:center;padding:.8rem 1rem;cursor:pointer;list-style:none}.course-flight-row summary::-webkit-details-marker{display:none}.course-flight-row summary::after{content:'+';position:absolute;right:1rem;font-weight:900}.course-flight-row[open] summary::after{content:'−'}.course-flight-row summary{position:relative;padding-right:3rem}.course-flight-number{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(190,218,239,.5);border-radius:50%;font-weight:900}.course-flight-title{display:flex;flex-direction:column;gap:.18rem}.course-flight-title small,.course-flight-state small{opacity:.72}.course-flight-state{display:flex;flex-direction:column;text-align:right}.course-flight-state b{letter-spacing:.04em;font-size:.8rem}.course-flight-row--completed{border-left:5px solid #78b890}.course-flight-row--current{border:2px solid #8bcaf4;background:linear-gradient(90deg,rgba(24,76,111,.86),rgba(5,23,38,.78));box-shadow:0 0 0 2px rgba(139,202,244,.08)}.course-flight-row--locked{opacity:.72;border-left:5px solid #d4b55f}.course-flight-row--future{border-left:5px solid rgba(148,184,211,.32)}.course-flight-detail{padding:0 1rem 1rem;border-top:1px solid rgba(148,184,211,.22)}.course-flight-detail>.admin-form{margin-top:.8rem}.course-flight-detail .current-lesson-facts{margin:.8rem 0}
@media(max-width:720px){.course-flight-row summary{grid-template-columns:38px 1fr}.course-flight-state{grid-column:2;text-align:left}.course-flight-detail .current-lesson-facts{grid-template-columns:1fr 1fr}}

/* Build 022 award ribbon master sizing */
.pilot-award-ribbons{display:flex;flex-wrap:wrap;gap:6px;max-width:520px;min-height:34px;overflow:hidden;}
.pilot-award-ribbons span{width:72px!important;height:34px!important;display:block!important;}
.pilot-award-ribbons img{width:72px!important;height:18px!important;object-fit:fill!important;}
.pilot-award-ribbons small{display:none!important;}

/* Build 022 - simplified Training Management */
.training-master-search{display:flex;gap:.45rem;align-items:center}.training-master-search input{min-width:230px;padding:.55rem}.training-master-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(148,184,211,.2)}.training-master-row>form:first-child{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;gap:.6rem;align-items:center}.training-master-row input[type=text],.training-master-row input:not([type]){width:100%}.training-course-lesson{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end}.training-course-lesson>form:first-child{display:grid;grid-template-columns:100px minmax(260px,1fr) auto;gap:.65rem;align-items:end}.training-course-lesson label{display:grid;gap:.25rem}.training-course-lesson input,.training-course-lesson select,.training-add-master-lesson input,.training-add-master-lesson select{box-sizing:border-box;width:100%;padding:.55rem;background:#071727;color:#fff;border:1px solid rgba(148,184,211,.45)}.training-add-master-lesson{margin-top:1rem;padding:1rem;border:1px solid rgba(101,255,122,.28)}.training-add-master-lesson form{margin-top:.6rem}.training-add-master-lesson select{min-height:180px}.danger-panel{border-color:rgba(194,65,65,.55)}@media(max-width:800px){.training-master-row,.training-master-row>form:first-child,.training-course-lesson,.training-course-lesson>form:first-child{grid-template-columns:1fr}}

/* Build 022 - simplified Training Management */
.training-master-search{display:flex;gap:.45rem;align-items:center}.training-master-search input{min-width:230px;padding:.55rem}.training-master-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(148,184,211,.2)}.training-master-row>form:first-child{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;gap:.6rem;align-items:center}.training-master-row input[type=text],.training-master-row input:not([type]){width:100%}.training-course-lesson{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end}.training-course-lesson>form:first-child{display:grid;grid-template-columns:100px minmax(260px,1fr) auto;gap:.65rem;align-items:end}.training-course-lesson label{display:grid;gap:.25rem}.training-course-lesson input,.training-course-lesson select,.training-add-master-lesson input,.training-add-master-lesson select{box-sizing:border-box;width:100%;padding:.55rem;background:#071727;color:#fff;border:1px solid rgba(148,184,211,.45)}.training-add-master-lesson{margin-top:1rem;padding:1rem;border:1px solid rgba(101,255,122,.28)}.training-add-master-lesson form{margin-top:.6rem}.training-add-master-lesson select{min-height:180px}.danger-panel{border-color:rgba(194,65,65,.55)}@media(max-width:800px){.training-master-row,.training-master-row>form:first-child,.training-course-lesson,.training-course-lesson>form:first-child{grid-template-columns:1fr}}
.course-flight-summary{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(180px,250px);gap:.8rem;align-items:center;padding:.8rem 1rem}.course-flight-summary .course-flight-state{text-align:right}@media(max-width:700px){.course-flight-summary{grid-template-columns:44px 1fr}.course-flight-summary .course-flight-state{grid-column:2;text-align:left}}

/* Build 023 — compact personnel card award ribbons.
   The source ribbon width is the common reference.  Preserve each image's
   own aspect ratio instead of stretching every ribbon to the slot height. */
.personnel-banner__award-row > .personnel-banner__award-slot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 11px !important;
    min-height: 11px !important;
    max-height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.personnel-banner__award-row > .personnel-banner__award-slot > img {
    display: block !important;
    box-sizing: border-box !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 11px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Build 023D — final compact personnel-card medal rule.
   All medal ribbons have one common displayed depth. Their widths are
   allowed to follow the source aspect ratio, so no ribbon is stretched.
   Seven fixed slots per row remain unchanged by the template logic. */
.personnel-banner__award-row > .personnel-banner__award-slot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex: 0 0 41px !important;
    width: 41px !important;
    min-width: 41px !important;
    max-width: 41px !important;
    height: 11px !important;
    min-height: 11px !important;
    max-height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.personnel-banner__award-row > .personnel-banner__award-slot > img {
    display: block !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 41px !important;
    height: 11px !important;
    min-height: 11px !important;
    max-height: 11px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Build 026 — Squadron roster cards use the exact same width as the header banner ID card.
   The template measures the live header card and sets --squadron-card-width.
   488px is only a safe desktop fallback if JavaScript is unavailable. */
.squadron-roster-cards{
    --squadron-card-width:488px;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:18px!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
}
.roster-personnel-banner{
    box-sizing:border-box!important;
    flex:0 0 var(--squadron-card-width)!important;
    width:var(--squadron-card-width)!important;
    min-width:0!important;
    max-width:var(--squadron-card-width)!important;
    margin:0!important;
}
.roster-personnel-banner:hover{
    border-color:#d8b35b;
    background:#05090d;
}
@media(max-width:760px){
    .squadron-roster-cards{--squadron-card-width:100%;}
    .roster-personnel-banner{
        flex-basis:100%!important;
        width:100%!important;
        max-width:100%!important;
    }
}

/* Build 027 — completed Squadron page: identity panel and squadron notices/orders. */
.squadron-page .squadron-identity-panel{
    display:grid;
    grid-template-columns:108px minmax(0,1fr) auto;
    gap:18px;
    align-items:start;
    padding:16px 18px;
}
.squadron-page .squadron-identity-badge{
    width:108px!important;
    height:108px!important;
    object-fit:contain;
    align-self:center;
}
.squadron-page .squadron-identity-copy{min-width:0;}
.squadron-page .squadron-identity-copy h1{margin:.1rem 0 .2rem;}
.squadron-page .squadron-motto{margin:.2rem 0 .65rem;color:#65778a;font-style:italic;}
.squadron-identity-facts{
    display:grid;
    grid-template-columns:repeat(4,minmax(130px,1fr));
    gap:8px;
    margin-top:10px;
}
.squadron-identity-facts>div{
    min-width:0;
    padding:8px 10px;
    border:1px solid #c7d1da;
    border-left:3px solid #b88414;
    border-radius:5px;
    background:#f8fafc;
}
.squadron-identity-facts span,
.squadron-identity-facts small{display:block;color:#65778a;font-size:.68rem;}
.squadron-identity-facts span{text-transform:uppercase;letter-spacing:.04em;font-weight:800;}
.squadron-identity-facts strong{display:block;margin:2px 0;color:#102746;font-size:.82rem;line-height:1.15;}
.squadron-page .squadron-edit-action{align-self:start;white-space:nowrap;}
.squadron-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.squadron-panel-heading h2{margin-top:0;}
.squadron-notice-compose{min-width:min(540px,100%);}
.squadron-notice-compose summary{
    width:max-content;
    margin-left:auto;
    padding:7px 10px;
    border:1px solid #102746;
    border-radius:4px;
    background:#102746;
    color:#fff;
    cursor:pointer;
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.04em;
}
.squadron-notice-compose[open] summary{margin-bottom:10px;}
.squadron-notice-compose form{
    display:grid;
    grid-template-columns:120px minmax(180px,1fr) auto;
    gap:8px;
    align-items:end;
    padding:10px;
    border:1px solid #c7d1da;
    border-radius:6px;
    background:#f7f9fb;
}
.squadron-notice-compose label{display:grid;gap:4px;color:#243a51;font-size:.72rem;font-weight:800;}
.squadron-notice-compose input,
.squadron-notice-compose select,
.squadron-notice-compose textarea{
    box-sizing:border-box;
    width:100%;
    padding:7px 8px;
    border:1px solid #aebdca;
    border-radius:4px;
    background:#fff;
    color:#243a51;
}
.squadron-notice-compose .squadron-notice-message{grid-column:1 / 4;}
.squadron-notice-compose button{justify-self:end;}
.squadron-notice-list{display:grid;gap:8px;margin-top:8px;}
.squadron-notice{
    padding:10px 12px;
    border:1px solid #c7d1da;
    border-left:4px solid #b88414;
    border-radius:5px;
    background:#f8fafc;
}
.squadron-notice--order{border-left-color:#8d2931;}
.squadron-notice-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;}
.squadron-notice-head>div{display:flex;gap:8px;align-items:baseline;min-width:0;}
.squadron-notice-head span{font-size:.62rem;font-weight:900;letter-spacing:.08em;color:#8d6410;}
.squadron-notice--order .squadron-notice-head span{color:#8d2931;}
.squadron-notice-head strong{color:#102746;}
.squadron-notice-head small{color:#65778a;white-space:nowrap;}
.squadron-notice p{margin:.35rem 0 0;white-space:pre-line;color:#243a51;}
.squadron-notice form{margin-top:6px;text-align:right;}
.squadron-notice .link-button{padding:0;border:0;background:none;color:#7a2630;font-size:.65rem;font-weight:900;cursor:pointer;}
.squadron-notice-empty{margin:.25rem 0;color:#65778a;}

@media(max-width:1050px){
    .squadron-page .squadron-identity-panel{grid-template-columns:92px minmax(0,1fr);}
    .squadron-page .squadron-identity-badge{width:92px!important;height:92px!important;}
    .squadron-page .squadron-edit-action{grid-column:2;justify-self:start;}
    .squadron-identity-facts{grid-template-columns:repeat(2,minmax(160px,1fr));}
}
@media(max-width:760px){
    .squadron-page .squadron-identity-panel{grid-template-columns:72px minmax(0,1fr);gap:12px;}
    .squadron-page .squadron-identity-badge{width:72px!important;height:72px!important;}
    .squadron-identity-facts{grid-column:1 / -1;grid-template-columns:1fr;}
    .squadron-panel-heading{display:block;}
    .squadron-notice-compose{min-width:0;margin-top:8px;}
    .squadron-notice-compose summary{margin-left:0;}
    .squadron-notice-compose form{grid-template-columns:1fr;}
    .squadron-notice-compose .squadron-notice-message{grid-column:auto;}
    .squadron-notice-compose button{justify-self:start;}
    .squadron-notice-head{display:block;}
    .squadron-notice-head small{display:block;margin-top:2px;white-space:normal;}
}

/* Build 028 — MODSIM operational map. */
.map-page{max-width:1500px;margin:0 auto}.map-page__heading{margin-bottom:12px}.map-command-bar{position:relative;z-index:700;display:grid;grid-template-columns:minmax(340px,1fr) auto auto;gap:14px;align-items:center;margin:0 0 10px;padding:10px 12px;border:1px solid #25445f;border-radius:6px;background:#071727;color:#e9f2f9;box-shadow:0 4px 16px rgba(0,0,0,.22)}
.map-search{position:relative;display:grid;grid-template-columns:auto minmax(190px,1fr) auto;gap:8px;align-items:center}.map-search label{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#9fc0d8}.map-search input{box-sizing:border-box;width:100%;height:34px;padding:6px 9px;border:1px solid #49687f;border-radius:4px;background:#020a12;color:#fff}.map-search button,.map-reset{height:34px;padding:0 12px;border:1px solid #b88414;border-radius:4px;background:#102746;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.05em;cursor:pointer}.map-search button:hover,.map-reset:hover{background:#183a61;border-color:#e0b84c}.map-search-results{position:absolute;left:39px;right:46px;top:40px;z-index:1200;max-height:330px;overflow:auto;border:1px solid #4d6b82;border-radius:5px;background:#07131f;box-shadow:0 10px 26px rgba(0,0,0,.48)}.map-search-results button{display:grid;width:100%;height:auto;padding:8px 10px;border:0;border-bottom:1px solid #20384a;border-radius:0;background:transparent;color:#fff;text-align:left}.map-search-results button:hover{background:#102b43}.map-search-results strong{font-size:.8rem}.map-search-results span{margin-top:2px;color:#9eb2c1;font-size:.65rem}.map-search-results p{margin:0;padding:10px;color:#b7c6d2}
.map-layer-switches{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.map-layer-switches label{display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:.72rem;font-weight:800;cursor:pointer}.map-layer-switches input{accent-color:#d5a932}.map-key{display:inline-block;width:10px;height:10px;border:2px solid #e8f2ff;border-radius:50%;vertical-align:-1px}.map-key--airfield{background:#2276b9}.map-key--operational{background:#9a2d39}.map-key--training{background:#c8921c}.map-shell{position:relative;border:1px solid #294b66;border-radius:7px;overflow:hidden;background:#07131d;box-shadow:0 8px 26px rgba(0,0,0,.28)}#modsim-map{width:100%;height:clamp(560px,70vh,820px);background:#d9e1e7}.map-legend{position:absolute;right:12px;bottom:25px;z-index:600;display:grid;gap:5px;min-width:165px;padding:9px 11px;border:1px solid rgba(255,255,255,.35);border-radius:5px;background:rgba(6,20,32,.92);color:#fff;font-size:.66rem;box-shadow:0 4px 16px rgba(0,0,0,.35)}.map-legend strong{font-size:.62rem;letter-spacing:.12em;color:#c4d8e8}.map-legend span{display:flex;gap:7px;align-items:center}.map-footnote{margin:.45rem 0 0;color:#647c90;font-size:.68rem}
.map-squadron-icon-host{background:transparent!important;border:0!important}.map-squadron-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid #f0f5f8;border-radius:50%;color:#fff;font-size:.69rem;font-weight:1000;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.52);cursor:pointer}.map-squadron-icon--operational{background:#9a2d39}.map-squadron-icon--training{background:#b17b0e}.map-squadron-icon:hover{outline:3px solid rgba(255,255,255,.48)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#071727;color:#eaf3fa}.leaflet-popup-content-wrapper{border:1px solid #47657b;border-radius:6px;box-shadow:0 8px 22px rgba(0,0,0,.5)}.leaflet-popup-content{margin:12px 13px}.map-popup-kicker{margin:0 0 2px;color:#d0a437;font-size:.61rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.map-popup h3{margin:0 0 8px;color:#fff;font-size:1rem}.map-popup-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.map-popup-facts span{padding:5px 7px;border:1px solid #29465a;border-radius:4px;background:#03101a;color:#fff;font-size:.72rem}.map-popup-facts b{display:block;margin-bottom:1px;color:#8aaabd;font-size:.55rem;letter-spacing:.07em}.map-popup-squadrons{display:grid;gap:5px;margin:6px 0}.map-popup-squadron{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px;border:1px solid #2a485f;border-radius:4px;background:#0b2133;color:#fff;text-decoration:none}.map-popup-squadron:hover{border-color:#d0a437;background:#102d45}.map-popup-squadron img{width:30px;height:30px;object-fit:contain}.map-popup-squadron span{display:grid}.map-popup-squadron strong{font-size:.72rem}.map-popup-squadron small{color:#a7bbc9;font-size:.58rem}.map-popup-squadron b{color:#e2bb55;font-size:.55rem;white-space:nowrap}.map-popup-airfield{display:block;margin-top:8px;padding:6px 8px;border:1px solid #52728a;border-radius:4px;color:#d7e8f5!important;text-align:center;text-decoration:none!important;font-size:.62rem;font-weight:900;letter-spacing:.05em}.map-popup-airfield:hover{border-color:#d0a437;background:#102d45}.map-popup-empty{color:#a7bbc9;font-size:.7rem}.leaflet-tooltip{border:1px solid #45667f;background:#071727;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.4);font-size:.68rem;font-weight:700}.leaflet-tooltip-top:before{border-top-color:#45667f}
@media(max-width:1050px){.map-command-bar{grid-template-columns:1fr auto}.map-layer-switches{grid-row:2;grid-column:1 / -1}.map-reset{grid-column:2;grid-row:1}}
@media(max-width:700px){.map-command-bar{grid-template-columns:1fr}.map-search{grid-template-columns:auto 1fr auto}.map-layer-switches{grid-column:1;grid-row:auto}.map-reset{grid-column:1;grid-row:auto;justify-self:start}.map-search-results{left:0;right:0}.map-legend{display:none}#modsim-map{height:65vh;min-height:480px}}


/* Build 029 — site-wide full-screen control and map hover refinement. */
.modsim-fullscreen-toggle{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:30px;
    margin-left:auto;
    padding:5px 9px;
    border:1px solid #526c81;
    border-radius:3px;
    background:#0a2034;
    color:#d9e8f3;
    font:inherit;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.06em;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
}
.modsim-fullscreen-toggle:hover,
.modsim-fullscreen-toggle:focus-visible{
    border-color:#d0a437;
    background:#12314d;
    color:#fff;
    outline:none;
}
.modsim-fullscreen-toggle.is-active{
    border-color:#d0a437;
    color:#f4d67c;
}
.modsim-fullscreen-toggle__icon{font-size:1.05rem;line-height:.8}
.map-squadron-icon-host{pointer-events:auto}
@media(max-width:900px){
    .modsim-fullscreen-toggle__label{display:none}
    .modsim-fullscreen-toggle{min-width:32px;padding:5px 7px}
}


/* Build 030 — persistent full-screen shell.
   The shell itself is the browser full-screen element. Normal MODSIM pages
   navigate inside its iframe, so changing page does not terminate full-screen. */
.modsim-fullscreen-shell{
    position:fixed;
    inset:0;
    z-index:2147483000;
    width:100vw;
    height:100vh;
    margin:0;
    padding:0;
    border:0;
    background:#020a12;
}
.modsim-fullscreen-shell:fullscreen,
.modsim-fullscreen-shell:-webkit-full-screen{
    width:100vw;
    height:100vh;
    background:#020a12;
}
.modsim-fullscreen-shell__frame{
    display:block;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    background:#020a12;
}
body.modsim-fullscreen-shell-open{overflow:hidden}

/* BUILD 031 - Find Member map control */
.map-command-bar{grid-template-columns:minmax(310px,1fr) minmax(300px,.9fr) auto auto}
.map-member-search label{white-space:nowrap}
.map-key--member{background:#f0c44f;border-color:#fff7d7;box-shadow:0 0 0 2px rgba(240,196,79,.2)}
.map-member-popup .map-popup-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.map-popup-section-label{margin:8px 0 4px;color:#8aaabd;font-size:.56rem;font-weight:900;letter-spacing:.09em}
.map-popup-member-postings{display:grid;gap:5px}
.map-popup-member-posting{display:grid;gap:2px;padding:6px 7px;border:1px solid #2a485f;border-radius:4px;background:#0b2133;color:#fff!important;text-decoration:none!important}
.map-popup-member-posting:hover{border-color:#d0a437;background:#102d45}
.map-popup-member-posting strong{font-size:.72rem}
.map-popup-member-posting small{color:#a7bbc9;font-size:.58rem}
@media(max-width:1250px){.map-command-bar{grid-template-columns:1fr 1fr auto}.map-layer-switches{grid-column:1 / 3;grid-row:2}.map-reset{grid-column:3;grid-row:1 / 3}}
@media(max-width:820px){.map-command-bar{grid-template-columns:1fr}.map-search,.map-member-search,.map-layer-switches,.map-reset{grid-column:1;grid-row:auto}.map-reset{justify-self:start}}
.map-member-results{left:88px;right:58px}
@media(max-width:820px){.map-member-results{left:0;right:0}}

/* BUILD 032 - Pilots as a standard map layer; Airfields-only default view. */
.map-command-bar{grid-template-columns:minmax(340px,1fr) auto auto}
.map-member-icon-host{background:transparent!important;border:0!important;pointer-events:auto}
.map-member-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid #fff7d7;border-radius:50%;background:#c49a26;color:#071727;font-size:.69rem;font-weight:1000;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.52);cursor:pointer}
.map-member-icon:hover{outline:3px solid rgba(240,196,79,.38)}
@media(max-width:1050px){.map-command-bar{grid-template-columns:1fr auto}.map-layer-switches{grid-row:2;grid-column:1 / -1}.map-reset{grid-column:2;grid-row:1}}
@media(max-width:700px){.map-command-bar{grid-template-columns:1fr}.map-search,.map-layer-switches,.map-reset{grid-column:1;grid-row:auto}.map-reset{justify-self:start}}
@media(max-width:1250px) and (min-width:821px){
    .map-command-bar{grid-template-columns:minmax(300px,1fr) auto}
    .map-search{grid-column:1;grid-row:1}
    .map-layer-switches{grid-column:1;grid-row:2}
    .map-reset{grid-column:2;grid-row:1 / 3;align-self:center}
}

/* BUILD 034 — MODSIM Message Centre. */
.message-nav-link{display:inline-flex!important;align-items:center;gap:5px}.message-nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#b88414;color:#071728;font-size:.62rem;font-weight:1000;line-height:1}.message-status-panel .message-alert{padding:8px 10px;border-left:4px solid #b88414;background:#fff8df;color:#243a51}.message-status-panel .message-alert strong{font-size:1.25rem;color:#8b6515}
.message-page{max-width:1260px;margin:0 auto}.message-header{display:flex;align-items:end;justify-content:space-between;gap:18px}.message-header h1{margin:.1rem 0}.message-header .primary-action,.message-header .command-action{flex:0 0 auto}.message-tabs{display:flex;gap:5px;margin:12px 0;border-bottom:1px solid #9eacb8}.message-tabs a{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid #bcc7d0;border-bottom:0;border-radius:5px 5px 0 0;background:#eef2f5;color:#21394e;text-decoration:none;font-size:.72rem;font-weight:900;letter-spacing:.05em}.message-tabs a:hover,.message-tabs a.active{background:#102746;color:#fff;border-color:#102746}.message-tabs a strong{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#d1a632;color:#071728;font-size:.62rem}.message-flash{margin:10px 0;padding:9px 12px;border:1px solid #9eacb8;border-left:4px solid #2d6f3f;border-radius:4px;background:#f7fbf8;color:#233b2b;font-weight:700}.message-flash--error{border-left-color:#8d2931;background:#fff7f7;color:#6f2028}
.message-list-panel{border:1px solid #b8c4ce;border-radius:5px;background:#fff;box-shadow:0 3px 12px rgba(22,43,61,.08);overflow:hidden}.message-list{display:grid}.message-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid #d5dde3;background:#fff}.message-row:last-child{border-bottom:0}.message-row--unread{background:#f3f8fc;border-left:4px solid #b88414}.message-row__main{display:grid;grid-template-columns:30px minmax(155px,220px) minmax(240px,1fr) 128px;gap:10px;align-items:center;min-width:0;padding:11px 12px;color:#243a51;text-decoration:none}.message-row__main:hover{background:#eef5fa}.message-row__status{display:flex;justify-content:center}.message-read-dot{display:block;width:10px;height:10px;border:2px solid #6d8191;border-radius:50%;background:#fff}.message-row--unread .message-read-dot{border-color:#b88414;background:#d8aa34;box-shadow:0 0 0 3px rgba(184,132,20,.13)}.message-sent-mark{font-size:1.2rem;font-weight:900;color:#6c8295}.message-row__who,.message-row__subject{display:grid;min-width:0}.message-row__who strong,.message-row__subject strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102746}.message-row--unread .message-row__subject strong{font-weight:1000}.message-row__who small{margin-top:2px;color:#788c9d;font-size:.58rem;font-weight:900;letter-spacing:.06em}.message-row--unread .message-row__who small{color:#946c15}.message-row__subject span{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#627687;font-size:.7rem}.message-row time{justify-self:end;color:#607586;font-size:.67rem;white-space:nowrap}.message-row>form{display:flex;align-items:center;padding:0 10px}.message-delete{padding:5px 7px;border:0;background:transparent;color:#7d2931;font-size:.6rem;font-weight:900;cursor:pointer}.message-delete:hover{text-decoration:underline}.message-empty{padding:34px;text-align:center;color:#65798a}.message-empty strong{color:#102746;font-size:1rem}.message-empty p{margin:.35rem 0 0}
.message-compose{display:grid;gap:13px;padding:18px;border:1px solid #b8c4ce;border-radius:5px;background:#fff;box-shadow:0 3px 12px rgba(22,43,61,.08)}.message-target{display:flex;gap:18px;align-items:center;margin:0;padding:10px 12px;border:1px solid #c2ccd4;border-radius:4px;background:#f5f7f9}.message-target legend{padding:0 6px;color:#5e7284;font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.message-target label{display:flex;gap:6px;align-items:center;color:#243a51;font-weight:800}.message-field{display:grid;gap:5px}.message-field>span{color:#5e7284;font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.message-field input,.message-field select,.message-field textarea{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #aebbc5;border-radius:4px;background:#fff;color:#1d3448;font:inherit}.message-field textarea{resize:vertical;min-height:230px;line-height:1.5}.message-field input:focus,.message-field select:focus,.message-field textarea:focus{border-color:#7c99af;outline:2px solid rgba(40,88,125,.12)}.message-compose__actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}
.message-reading{border:1px solid #b8c4ce;border-radius:5px;background:#fff;box-shadow:0 3px 12px rgba(22,43,61,.08);overflow:hidden}.message-reading__meta{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:1px;background:#c5cfd7}.message-reading__meta>div{display:grid;padding:10px 12px;background:#f4f7f9}.message-reading__meta span{color:#697d8d;font-size:.58rem;font-weight:900;letter-spacing:.08em}.message-reading__meta strong{margin-top:2px;color:#102746}.message-reading__meta small{margin-top:2px;color:#65798a}.message-reading h2{margin:0;padding:16px 18px 9px;color:#102746}.message-reading__body{min-height:220px;padding:4px 18px 22px;white-space:pre-wrap;color:#243a51;line-height:1.6}.message-reading__actions{display:flex;gap:8px;align-items:center;padding:12px 18px;border-top:1px solid #d3dce3;background:#f5f7f9}.message-reading__actions form{margin-left:auto}.message-delete-action{border-color:#8c5055!important;color:#7d2931!important;background:#fff!important;cursor:pointer}
@media(max-width:900px){.message-row__main{grid-template-columns:24px minmax(135px,190px) minmax(180px,1fr)}.message-row time{grid-column:3;justify-self:start}.message-reading__meta{grid-template-columns:1fr}.message-target{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:650px){.message-header{display:block}.message-header>a{margin-top:8px}.message-tabs{flex-wrap:wrap}.message-row{grid-template-columns:1fr auto}.message-row__main{grid-template-columns:22px 1fr;gap:7px}.message-row__who,.message-row__subject,.message-row time{grid-column:2}.message-row__subject span{white-space:normal}.message-row>form{padding:0 5px}.message-compose__actions{justify-content:flex-start}.message-reading__actions{flex-wrap:wrap}}

/* BUILD 035 — members-only MODSIM Forum. */
.forum-page{max-width:1320px;margin:0 auto;color:#243a51}.forum-page-header,.forum-topic-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.forum-page-header p,.forum-member-details>p{margin:0;color:#708394;font-size:.62rem;font-weight:900;letter-spacing:.11em}.forum-page-header h1,.forum-topic-header h1,.forum-member-details h1{margin:.15rem 0;color:#102746}.forum-page-header>div>span,.forum-topic-header p{color:#627687}.forum-breadcrumb{display:flex;gap:8px;align-items:center;margin:0 0 12px;color:#718494;font-size:.68rem;font-weight:800}.forum-breadcrumb a{color:#294e6c;text-decoration:none}.forum-breadcrumb a:hover{text-decoration:underline}.forum-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:18px}.forum-main-panel,.forum-side-panel,.forum-reply-box,.forum-member-card{border:1px solid #b8c4ce;border-radius:5px;background:#fff;box-shadow:0 3px 12px rgba(22,43,61,.08);overflow:hidden}.forum-panel-title{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #ccd5dc;background:#eef2f5}.forum-panel-title h2{margin:0;color:#102746;font-size:.78rem;letter-spacing:.07em}.forum-panel-title span{color:#718494;font-size:.62rem;font-weight:800}.forum-section-list,.forum-topic-list{display:grid}.forum-section-row{display:grid;grid-template-columns:38px minmax(240px,1fr) 130px minmax(170px,.75fr);gap:12px;align-items:center;padding:14px;border-bottom:1px solid #d6dee4;color:#243a51;text-decoration:none}.forum-section-row:last-child,.forum-topic-row:last-child{border-bottom:0}.forum-section-row:hover,.forum-topic-row:hover{background:#f3f7fa}.forum-section-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #b48a24;border-radius:50%;background:#fff8df;color:#9b7016;font-size:1rem}.forum-section-copy strong,.forum-section-latest strong,.forum-topic-copy strong,.forum-topic-last strong{display:block;color:#102746}.forum-section-copy p{margin:.2rem 0 0;color:#687c8c;font-size:.7rem}.forum-section-stats{display:grid;grid-template-columns:auto 1fr;gap:1px 6px;align-items:baseline}.forum-section-stats strong{color:#102746}.forum-section-stats span{color:#81919d;font-size:.54rem;font-weight:900;letter-spacing:.08em}.forum-section-latest{min-width:0}.forum-section-latest strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.forum-section-latest small,.forum-section-latest span{color:#738695;font-size:.61rem}.forum-latest-list{display:grid}.forum-latest-list>a{display:grid;gap:3px;padding:11px 13px;border-bottom:1px solid #d8e0e5;color:#243a51;text-decoration:none}.forum-latest-list>a:hover{background:#f3f7fa}.forum-latest-list strong{color:#102746}.forum-latest-list small{color:#738695;font-size:.61rem}.forum-pin{display:inline-flex;margin-right:6px;padding:2px 5px;border-radius:3px;background:#b88414;color:#fff;font-size:.5rem;font-weight:1000;letter-spacing:.08em}.forum-empty{padding:28px;text-align:center;color:#718494}.forum-empty strong{color:#102746}.forum-empty p{margin:.3rem 0 0}.forum-topic-row{display:grid;grid-template-columns:70px minmax(250px,1fr) 82px 180px;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #d6dee4;color:#243a51;text-decoration:none}.forum-topic-row--pinned{background:#fffaf0}.forum-topic-state{text-align:center}.forum-discussion-dot{display:inline-block;width:11px;height:11px;border:2px solid #71879a;border-radius:50%;background:#fff}.forum-topic-copy small,.forum-topic-last small{display:block;margin-top:3px;color:#738695;font-size:.61rem}.forum-topic-replies{text-align:center}.forum-topic-replies strong{display:block;color:#102746;font-size:1rem}.forum-topic-replies span{color:#81919d;font-size:.52rem;font-weight:900;letter-spacing:.08em}.forum-topic-header{padding:12px 0}.forum-topic-kicker{display:flex;align-items:center;gap:5px;color:#6e8292;font-size:.6rem;font-weight:900;letter-spacing:.08em}.forum-topic-header p{margin:.2rem 0 0}.forum-topic-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.forum-topic-tools form{margin:0}.forum-topic-tools button{cursor:pointer}.forum-danger{border-color:#97565c!important;color:#7d2931!important;background:#fff!important}.forum-post-list{display:grid;gap:12px}.forum-post{display:grid;grid-template-columns:210px minmax(0,1fr);border:1px solid #b9c5cf;border-radius:5px;background:#fff;box-shadow:0 2px 8px rgba(22,43,61,.06);overflow:hidden}.forum-author-card{display:flex;flex-direction:column;gap:5px;padding:14px;border-right:1px solid #cdd6dd;background:#eef3f6;color:#5f7485;font-size:.66rem}.forum-author-name{color:#102746;font-size:.76rem;font-weight:1000;text-decoration:none}.forum-author-name:hover{text-decoration:underline}.forum-service-no{font-weight:900;color:#60788b}.forum-role-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.forum-role-badges span{display:inline-flex;padding:2px 5px;border:1px solid #a9842b;border-radius:3px;background:#fff8df;color:#7f5d12;font-size:.48rem;font-weight:1000;letter-spacing:.07em}.forum-post-body{display:grid;grid-template-rows:auto 1fr auto;min-height:155px}.forum-post-body>header{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid #dae1e6;background:#f8fafb;color:#6f8291;font-size:.6rem}.forum-post-text{padding:15px 16px;white-space:pre-wrap;line-height:1.58;color:#243a51}.forum-post-body>footer{display:flex;justify-content:flex-end;gap:8px;align-items:center;padding:7px 11px;border-top:1px solid #d9e1e6;background:#f8fafb}.forum-post-body>footer a,.forum-post-body>footer button{border:0;background:none;color:#345d7b;font-size:.58rem;font-weight:900;text-decoration:none;cursor:pointer}.forum-post-body>footer button{color:#7d2931}.forum-reply-box{margin-top:15px}.forum-reply-box form{padding:14px}.forum-reply-box textarea,.forum-compose textarea{min-height:180px}.forum-compose{display:grid;gap:13px;padding:18px;border:1px solid #b8c4ce;border-radius:5px;background:#fff;box-shadow:0 3px 12px rgba(22,43,61,.08)}.forum-form-page{max-width:980px}.forum-dashboard-list{display:grid;margin:0 0 9px}.forum-dashboard-list a{display:grid;padding:7px 0;border-bottom:1px solid #d7e0e5;color:#243a51;text-decoration:none}.forum-dashboard-list a:hover strong{text-decoration:underline}.forum-dashboard-list strong{color:#102746;font-size:.7rem}.forum-dashboard-list small{margin-top:2px;color:#6e8393;font-size:.56rem}.forum-member-card{display:grid;grid-template-columns:120px minmax(0,1fr) 210px;gap:18px;align-items:center;padding:18px;margin-bottom:16px}.forum-member-emblem img{display:block;width:100px;height:100px;object-fit:cover;border:3px solid #d2a634;border-radius:50%;background:#102746}.forum-member-details h1{font-size:1.4rem}.forum-member-details dl{display:flex;gap:20px;flex-wrap:wrap;margin:10px 0 0}.forum-member-details dl div{display:grid}.forum-member-details dt{color:#718494;font-size:.52rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.forum-member-details dd{margin:2px 0 0;color:#243a51;font-weight:800}.forum-member-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.forum-member-stats div{padding:12px;border:1px solid #cad4dc;border-radius:4px;background:#f5f8fa;text-align:center}.forum-member-stats strong{display:block;color:#102746;font-size:1.35rem}.forum-member-stats span{color:#718494;font-size:.5rem;font-weight:900;letter-spacing:.07em}.forum-postings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.forum-postings-list>div{position:relative;display:grid;padding:11px;border:1px solid #c9d3db;border-radius:4px;background:#f8fafb}.forum-postings-list strong{color:#102746}.forum-postings-list span{color:#667b8b;font-size:.66rem}.forum-postings-list small{position:absolute;right:8px;top:8px;padding:2px 5px;border-radius:3px;background:#102746;color:#fff;font-size:.48rem;font-weight:900}
@media(max-width:1000px){.forum-layout{grid-template-columns:1fr}.forum-section-row{grid-template-columns:38px 1fr 120px}.forum-section-latest{grid-column:2 / -1}.forum-topic-row{grid-template-columns:58px 1fr 74px}.forum-topic-last{grid-column:2 / -1}.forum-member-card{grid-template-columns:110px 1fr}.forum-member-stats{grid-column:1 / -1}}
@media(max-width:700px){.forum-page-header,.forum-topic-header{display:block}.forum-page-header>a,.forum-topic-tools{margin-top:10px}.forum-section-row{grid-template-columns:34px 1fr}.forum-section-stats,.forum-section-latest{grid-column:2}.forum-topic-row{grid-template-columns:50px 1fr}.forum-topic-replies,.forum-topic-last{grid-column:2;text-align:left}.forum-post{grid-template-columns:1fr}.forum-author-card{border-right:0;border-bottom:1px solid #cdd6dd}.forum-member-card{grid-template-columns:1fr;text-align:center}.forum-member-emblem{display:flex;justify-content:center}.forum-member-details dl{justify-content:center}.forum-postings-list{grid-template-columns:1fr}}

/* Build 038 - Master Aircraft Table responsive width fix */
.aircraft-master-page{box-sizing:border-box;width:100%;max-width:1320px}
.aircraft-master-intro{max-width:760px;margin:.3rem 0 0;color:#53697e}
.aircraft-master-page .org-table-wrap{max-width:100%;overflow-x:auto}
.aircraft-master-table{width:100%;min-width:0;table-layout:fixed;font-size:.82rem}
.aircraft-master-table th,.aircraft-master-table td{box-sizing:border-box;padding:9px 8px;vertical-align:middle;overflow-wrap:anywhere}
.aircraft-master-table th:nth-child(1),.aircraft-master-table td:nth-child(1){width:11%}
.aircraft-master-table th:nth-child(2),.aircraft-master-table td:nth-child(2){width:18%}
.aircraft-master-table th:nth-child(3),.aircraft-master-table td:nth-child(3){width:13%}
.aircraft-master-table th:nth-child(4),.aircraft-master-table td:nth-child(4){width:11%}
.aircraft-master-table th:nth-child(5),.aircraft-master-table td:nth-child(5){width:14%}
.aircraft-master-table th:nth-child(6),.aircraft-master-table td:nth-child(6){width:11%}
.aircraft-master-table th:nth-child(7),.aircraft-master-table td:nth-child(7){width:8%}
.aircraft-master-table th:nth-child(8),.aircraft-master-table td:nth-child(8){width:14%}
.aircraft-picture-cell{width:auto}
.aircraft-table-thumb{display:block;width:100%;max-width:108px;height:61px;object-fit:contain;border:1px solid #aebdca;border-radius:5px;background:#eef2f5}
.aircraft-no-image{display:flex;width:100%;max-width:108px;height:61px;align-items:center;justify-content:center;border:1px dashed #9eacb8;border-radius:5px;background:#eef2f5;color:#687b8d;font-size:.62rem;font-weight:900;letter-spacing:.04em;text-align:center}
.aircraft-code{font-size:.62rem;white-space:normal;overflow-wrap:anywhere}
.aircraft-actions{position:sticky;right:0;z-index:2;white-space:normal;background:#fff;box-shadow:-5px 0 8px rgba(16,39,70,.08)}
.aircraft-master-table th:last-child{position:sticky;right:0;z-index:3;background:#102746;box-shadow:-5px 0 8px rgba(0,0,0,.12)}
.aircraft-actions>a{display:block;font-weight:800}
.aircraft-actions form{display:block;margin:5px 0 0}
.aircraft-delete-link{border:0;padding:0;background:none;color:#8d2931;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.aircraft-empty{text-align:center;padding:28px!important;color:#53697e}
.aircraft-current-picture{display:flex;align-items:center;gap:18px;padding:12px;border:1px solid #c7d1da;border-radius:6px;background:#f6f8fa}
.aircraft-current-picture img{width:220px;height:124px;object-fit:cover;border:1px solid #aebdca;border-radius:5px}
.aircraft-current-picture .check{margin:0}
.aircraft-type-form small{font-weight:500;color:#65778a}
.aircraft-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:1050px){
  .aircraft-master-table th:nth-child(3),.aircraft-master-table td:nth-child(3),
  .aircraft-master-table th:nth-child(5),.aircraft-master-table td:nth-child(5){display:none}
  .aircraft-master-table th:nth-child(1),.aircraft-master-table td:nth-child(1){width:15%}
  .aircraft-master-table th:nth-child(2),.aircraft-master-table td:nth-child(2){width:27%}
  .aircraft-master-table th:nth-child(4),.aircraft-master-table td:nth-child(4){width:17%}
  .aircraft-master-table th:nth-child(6),.aircraft-master-table td:nth-child(6){width:16%}
  .aircraft-master-table th:nth-child(7),.aircraft-master-table td:nth-child(7){width:10%}
  .aircraft-master-table th:nth-child(8),.aircraft-master-table td:nth-child(8){width:15%}
}
@media(max-width:700px){
  .aircraft-current-picture{align-items:flex-start;flex-direction:column}
  .aircraft-current-picture img{width:min(100%,320px);height:auto}
  .aircraft-master-page{padding-left:12px;padding-right:12px}
  .aircraft-master-table{font-size:.74rem}
  .aircraft-master-table th,.aircraft-master-table td{padding:7px 6px}
  .aircraft-master-table th:nth-child(4),.aircraft-master-table td:nth-child(4),
  .aircraft-master-table th:nth-child(7),.aircraft-master-table td:nth-child(7){display:none}
  .aircraft-master-table th:nth-child(1),.aircraft-master-table td:nth-child(1){width:20%}
  .aircraft-master-table th:nth-child(2),.aircraft-master-table td:nth-child(2){width:38%}
  .aircraft-master-table th:nth-child(6),.aircraft-master-table td:nth-child(6){width:20%}
  .aircraft-master-table th:nth-child(8),.aircraft-master-table td:nth-child(8){width:22%}
}

/* Build 039 - Squadron aircraft register and logbook aircraft lookup */
.aircraft-register-heading{align-items:flex-start;margin-bottom:.75rem}.aircraft-register-heading p{margin:.2rem 0 0;max-width:760px}.aircraft-allocation-form{margin-bottom:1rem}.aircraft-allocation-grid{display:grid;grid-template-columns:1.35fr 1.35fr 1fr .8fr 1fr 1.2fr;gap:10px;align-items:end}.aircraft-allocation-grid label{min-width:0}.aircraft-allocation-notes{min-width:0}.aircraft-register-wrap{margin-top:1rem;max-width:100%;overflow-x:auto}.aircraft-register-table{width:100%;table-layout:fixed}.aircraft-register-table th,.aircraft-register-table td{overflow-wrap:anywhere}.aircraft-register-table th:nth-child(1){width:20%}.aircraft-register-table th:nth-child(2){width:15%}.aircraft-register-table th:nth-child(3){width:10%}.aircraft-register-table th:nth-child(4){width:22%}.aircraft-register-table th:nth-child(5){width:12%}.aircraft-register-table th:nth-child(6){width:8%}.aircraft-register-table th:nth-child(7){width:13%}.aircraft-register-edit-form{max-width:980px}.squadron-aircraft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.squadron-aircraft-card{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid rgba(148,184,211,.32);border-radius:7px;background:rgba(255,255,255,.035)}.squadron-aircraft-card img{width:92px;height:56px;object-fit:contain;border-radius:4px;background:#eef2f5}.squadron-aircraft-card div{display:flex;flex-direction:column;gap:2px;min-width:0}.squadron-aircraft-card strong{font-size:.94rem}.squadron-aircraft-card span{font-weight:700}.squadron-aircraft-card small{opacity:.75}.admin-form button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.aircraft-allocation-grid{grid-template-columns:repeat(3,1fr)}.aircraft-register-table th:nth-child(3),.aircraft-register-table td:nth-child(3),.aircraft-register-table th:nth-child(6),.aircraft-register-table td:nth-child(6){display:none}.aircraft-register-table th:nth-child(1){width:24%}.aircraft-register-table th:nth-child(2){width:18%}.aircraft-register-table th:nth-child(4){width:28%}.aircraft-register-table th:nth-child(5){width:14%}.aircraft-register-table th:nth-child(7){width:16%}}
@media(max-width:700px){.aircraft-allocation-grid{grid-template-columns:1fr}.aircraft-register-table{font-size:.76rem}.aircraft-register-table th:nth-child(5),.aircraft-register-table td:nth-child(5){display:none}.aircraft-register-table th:nth-child(1){width:30%}.aircraft-register-table th:nth-child(2){width:23%}.aircraft-register-table th:nth-child(4){width:29%}.aircraft-register-table th:nth-child(7){width:18%}.squadron-aircraft-card img{width:76px;height:48px}}

/* Build 042 - Controlled Repository */
.repository-page{max-width:1260px}.repository-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.repository-filter-panel{padding:12px 16px}.repository-filter-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.repository-filter-form label{min-width:220px;flex:1}.repository-filter-form button{flex:0 0 auto}.repository-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.repository-card{display:flex;flex-direction:column;min-height:250px;padding:17px;border:1px solid #c6d1da;border-top:4px solid #b28a28;border-radius:6px;background:#fff;box-shadow:0 4px 12px rgba(16,39,70,.08)}.repository-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.repository-type-badge{display:inline-block;padding:3px 7px;border-radius:3px;background:#102746;color:#fff;font-size:.52rem;font-weight:900;letter-spacing:.08em}.repository-category{color:#687d8e;font-size:.6rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.repository-card h2{margin:11px 0 5px;color:#102746;font-size:1.05rem}.repository-card>p{margin:0 0 9px;color:#53697e}.repository-file-name{margin-bottom:9px;color:#738596;overflow-wrap:anywhere}.repository-access-summary{display:flex;gap:5px;flex-wrap:wrap;margin:auto 0 12px;padding-top:8px}.repository-access-summary span{padding:3px 6px;border:1px solid #cbd6de;border-radius:3px;background:#f4f7f9;color:#435b70;font-size:.49rem;font-weight:800}.repository-open{align-self:flex-start}.repository-empty{text-align:center}.repository-manage-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr) 90px;gap:16px;align-items:center;padding:14px 2px;border-top:1px solid #d3dce3}.repository-manage-row:first-of-type{border-top:0}.repository-manage-row--inactive{opacity:.62}.repository-manage-main{min-width:0}.repository-manage-main>strong{display:block;margin:5px 0;color:#102746;font-size:.92rem}.repository-manage-main p{margin:3px 0;color:#53697e}.repository-manage-main small{color:#748695}.repository-status-inactive{margin-left:5px;padding:2px 5px;border-radius:3px;background:#8d2931;color:#fff;font-size:.49rem;font-weight:900}.repository-manage-access{display:flex;gap:4px;flex-wrap:wrap}.repository-manage-access span{padding:3px 5px;border-radius:3px;background:#eef3f6;color:#42596c;font-size:.55rem;font-weight:700}.repository-manage-actions{display:grid;gap:5px;justify-items:start}.repository-manage-actions>a,.repository-manage-actions button{font-size:.63rem;font-weight:900}.repository-form-page{max-width:1140px}.repository-master-form{display:block}.repository-type-choice{display:flex;gap:22px;flex-wrap:wrap;margin:5px 0 13px}.repository-type-choice label,.repository-all-members{display:flex;align-items:center;gap:7px;font-weight:800;color:#243a51}.repository-current-file,.form-help{margin:.35rem 0;color:#607588;font-size:.72rem}.repository-access-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:13px}.repository-access-columns fieldset{min-width:0;margin:0;padding:10px;border:1px solid #c9d4dc;border-radius:5px}.repository-access-columns legend{padding:0 5px;color:#102746;font-size:.72rem;font-weight:900}.repository-check-list{max-height:260px;overflow:auto}.repository-check-list label{display:flex;align-items:flex-start;gap:7px;padding:6px 3px;border-bottom:1px solid #e1e7eb;font-size:.72rem}.repository-check-list label:last-child{border-bottom:0}.repository-check-list input{margin-top:2px;flex:0 0 auto}.repository-check-list span{color:#243a51}.repository-check-list small{color:#7c8c98}.repository-save-panel{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.repository-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.repository-mini-card{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid #cbd6de;border-left:4px solid #b28a28;border-radius:4px;background:#f8fafb;color:#243a51;text-decoration:none}.repository-mini-card:hover{border-color:#8ca1b2;background:#fff}.repository-mini-card strong{color:#102746}.repository-mini-card small{color:#718494}.repository-mini-card p{margin:2px 0 0;color:#53697e;font-size:.68rem}
@media(max-width:900px){.repository-manage-row{grid-template-columns:1fr}.repository-manage-actions{display:flex;gap:12px}.repository-access-columns{grid-template-columns:1fr}.repository-check-list{max-height:200px}}
@media(max-width:650px){.repository-grid{grid-template-columns:1fr}.repository-filter-form{display:grid;grid-template-columns:1fr;width:100%}.repository-filter-form label{min-width:0}.repository-hero-actions{justify-content:flex-start}.repository-save-panel{align-items:flex-start;flex-direction:column}}

/* BUILD 044 — Repository access selector checkbox/radio layout fix.
   Generic .admin-form inputs are full-width; Repository selectors must be compact controls. */
.repository-master-form input[type="checkbox"],
.repository-master-form input[type="radio"]{
    box-sizing:border-box;
    width:18px!important;
    min-width:18px!important;
    height:18px;
    padding:0!important;
    margin:0;
    flex:0 0 18px!important;
    accent-color:#b88414;
}
.repository-all-members{
    display:inline-flex!important;
    align-items:center;
    width:auto;
    gap:8px;
}
.repository-type-choice label{
    display:inline-flex!important;
    align-items:center;
    width:auto;
    gap:8px;
}
.repository-check-list{
    overflow-y:auto;
    overflow-x:hidden;
}
.repository-check-list label{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr);
    align-items:start;
    column-gap:8px;
    width:100%;
    box-sizing:border-box;
}
.repository-check-list label>span{
    display:block;
    min-width:0;
    color:#243a51;
    overflow-wrap:anywhere;
}
.repository-check-list label>input[type="checkbox"]{
    margin-top:1px;
}

/* BUILD 045 — Operational Planning */
.operations-page,.operation-form-page,.operation-briefing-page{max-width:1280px}
.operation-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:28px 0 10px;padding-bottom:8px;border-bottom:2px solid rgba(178,136,40,.45)}
.operation-section-heading h2{margin:0;color:#102746;font-size:1.15rem}.operation-section-heading .section-kicker{margin:0 0 2px}.operation-section-heading>span{display:grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:4px;background:#102746;color:#fff;font-size:.66rem;font-weight:900}
.operations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.operations-grid--history{opacity:.92}
.operation-card{display:flex;flex-direction:column;min-height:300px;padding:16px;border:1px solid #c7d3dc;border-top:4px solid #b88414;border-radius:6px;background:#fff;box-shadow:0 4px 12px rgba(16,39,70,.08)}
.operation-card--completed{border-top-color:#5b758a}.operation-card--cancelled{border-top-color:#8d2931}.operation-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px}.operation-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:3px;background:#445d74;color:#fff;font-size:.55rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}.operation-status--planned{background:#204f7d}.operation-status--briefed{background:#6c5515}.operation-status--completed{background:#476757}.operation-status--cancelled{background:#8d2931}.operation-type{color:#718394;font-size:.58rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.operation-card h2{margin:11px 0 2px;color:#102746;font-size:1.08rem}.operation-callsign,.operation-briefing-callsign{margin:0 0 10px;color:#9a7419;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.operation-card__facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:7px 0 14px}.operation-card__facts span{display:flex;flex-direction:column;min-width:0;color:#314b62;font-size:.68rem;overflow-wrap:anywhere}.operation-card__facts b{margin-bottom:2px;color:#7b8b97;font-size:.5rem;letter-spacing:.07em}.operation-card__counts{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}.operation-card__counts span{padding:4px 6px;border-radius:3px;background:#eef3f6;color:#42596d;font-size:.52rem;font-weight:900}.operation-card__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:13px}.operation-empty{padding:16px;color:#607487}
.operation-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.operation-master-form textarea{resize:vertical}.operation-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.operation-selector-grid fieldset{min-width:0;margin:0;padding:10px;border:1px solid #c9d4dc;border-radius:5px}.operation-selector-grid legend{padding:0 5px;color:#102746;font-size:.72rem;font-weight:900}.operation-check-list{max-height:330px;overflow-y:auto;overflow-x:hidden}.operation-check-list label{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:8px;width:100%;box-sizing:border-box;padding:7px 3px;border-bottom:1px solid #e1e7eb;font-size:.72rem}.operation-check-list label:last-child{border-bottom:0}.operation-check-list span{display:block;min-width:0;color:#243a51;overflow-wrap:anywhere}.operation-check-list small{display:block;margin-top:2px;color:#7a8b99;font-size:.61rem}.operation-master-form input[type="checkbox"]{box-sizing:border-box;width:18px!important;min-width:18px!important;height:18px;padding:0!important;margin:1px 0 0;flex:0 0 18px!important;accent-color:#b88414}.operation-save-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.operation-save-panel>p{max-width:720px;margin:0;color:#5d7285}.operation-danger-panel{display:flex;justify-content:space-between;align-items:center;gap:16px;border-color:#d4b9bc}.operation-danger-panel h2{color:#7e2730}.operation-danger-panel p{margin:.25rem 0 0;color:#6d7983}
.operation-briefing-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px;border:1px solid rgba(148,184,211,.3);border-left:5px solid #b88414;border-radius:6px;background:linear-gradient(115deg,#0d223e,#152f50);color:#fff;box-shadow:0 8px 18px rgba(8,24,45,.16)}.operation-briefing-hero .section-kicker{color:#dfc36d}.operation-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.operation-title-line h1{margin:0;font-size:1.65rem}.operation-briefing-callsign{margin:5px 0 0;color:#e5c76a}.operation-briefing-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.operation-fact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:14px;border:1px solid #c8d3dc;border-radius:5px;overflow:hidden;background:#c8d3dc}.operation-fact-strip span{display:flex;flex-direction:column;min-width:0;padding:11px 13px;background:#f8fafb;color:#243a51;font-size:.72rem;overflow-wrap:anywhere}.operation-fact-strip b{margin-bottom:2px;color:#718494;font-size:.51rem;letter-spacing:.08em}.operation-briefing-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.82fr);gap:14px}.operation-briefing-main,.operation-briefing-side{display:grid;gap:14px;align-content:start}.operation-brief-panel{border-left:4px solid #b88414}.operation-prose{color:#334f66;line-height:1.65}.operation-route-summary{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:8px;margin:8px 0 12px}.operation-route-summary>div:not(.operation-route-arrow){display:flex;flex-direction:column;padding:12px;border:1px solid #d2dbe2;border-radius:5px;background:#f7f9fa}.operation-route-summary b{color:#7a8b98;font-size:.52rem;letter-spacing:.08em}.operation-route-summary strong{margin-top:3px;color:#102746}.operation-route-summary span{color:#617487;font-size:.68rem}.operation-route-arrow{text-align:center;color:#b88414;font-size:1.5rem;font-weight:900}.operation-area{color:#455d71}.operation-waypoint-list{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.operation-waypoint-list>span{display:flex;flex-direction:column;padding:7px 9px;border:1px solid #cbd6de;border-radius:4px;background:#f4f7f9;color:#304a60;font-size:.67rem}.operation-waypoint-list b{color:#9a7419;font-size:.54rem}.operation-waypoint-list small{color:#7c8b97}.operation-note-text{margin-top:12px;padding-top:12px;border-top:1px solid #d8e0e5;color:#435b70}.operation-note-text p{margin:.35rem 0 0;line-height:1.55}.operation-side-list{display:grid;gap:7px}.operation-side-list>div{display:flex;flex-direction:column;padding:8px 9px;border:1px solid #d4dde3;border-radius:4px;background:#f7f9fa}.operation-side-list strong{color:#193654;font-size:.73rem}.operation-side-list span{margin-top:2px;color:#738493;font-size:.63rem}.operation-record-meta{display:grid;gap:4px;color:#718392}.operation-map-panel #operation-briefing-map{height:360px;border:1px solid #c3d0d9;border-radius:5px;overflow:hidden}.operation-map-panel .panel-heading-row a{font-size:.62rem;font-weight:900}.map-heading-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.map-key--operation{background:#b88414!important;border-color:#fff3c4!important}.map-operation-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;padding:8px 11px;border:1px solid #c4d1da;border-left:4px solid #b88414;border-radius:4px;background:#f8fafb;color:#354f65}.map-operation-banner strong{color:#102746}.map-operation-banner span{font-size:.68rem}.map-operation-banner a{margin-left:auto;font-size:.62rem;font-weight:900}
@media(max-width:1050px){.operation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-selector-grid{grid-template-columns:1fr}.operation-check-list{max-height:230px}.operation-fact-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-briefing-layout{grid-template-columns:1fr}.operation-briefing-side{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-record-meta{grid-column:1/-1}}
@media(max-width:720px){.operations-grid{grid-template-columns:1fr}.operation-card__facts{grid-template-columns:1fr}.operation-detail-grid{grid-template-columns:1fr}.operation-briefing-hero{flex-direction:column}.operation-briefing-actions{justify-content:flex-start}.operation-fact-strip{grid-template-columns:1fr}.operation-route-summary{grid-template-columns:1fr}.operation-route-arrow{transform:rotate(90deg)}.operation-briefing-side{grid-template-columns:1fr}.operation-record-meta{grid-column:auto}.operation-save-panel,.operation-danger-panel{align-items:flex-start;flex-direction:column}.map-operation-banner a{margin-left:0}}

/* BUILD 046 — banner video, member telephone and direct Executive email. */
.identity-station__media{
  width:100%;
  max-width:300px;
  aspect-ratio:16/9;
  margin:7px auto 6px;
  overflow:hidden;
  border:1px solid rgba(229,193,94,.78);
  background:#020912;
  box-shadow:0 7px 18px rgba(0,0,0,.48);
}
.identity-station__video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#020912;
}
.member-admin-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.member-email-recipient{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.member-email-recipient>div{padding:12px;border:1px solid #c7d1da;background:#f6f8fa}
.member-email-recipient dt{font-size:.72rem;font-weight:900;text-transform:uppercase;color:#617487}
.member-email-recipient dd{margin:4px 0 0;font-weight:800;color:#102746;overflow-wrap:anywhere}
@media (min-width:1350px){
  .command-header__grid{grid-template-columns:320px minmax(390px,1fr) 392px!important;gap:18px!important;max-width:1740px!important}
  .identity-station{padding-right:18px!important}
}
@media (min-width:1121px) and (max-width:1349px){
  .command-header__grid{grid-template-columns:250px minmax(320px,1fr) 360px!important;gap:16px!important}
  .identity-station{padding-right:14px!important}
  .identity-station__media{max-width:230px}
}
@media (min-width:761px) and (max-width:1120px){
  .command-header__grid{grid-template-columns:190px minmax(250px,1fr) 220px!important;gap:12px!important;padding-left:18px!important;padding-right:18px!important}
  .identity-station__media{max-width:180px}
}
@media (min-width:761px){
  .internal-page .identity-station__media{max-width:220px;margin:3px auto 2px}
}
@media (max-width:760px){
  .identity-station__media{max-width:280px}
  .member-email-recipient{grid-template-columns:1fr}
}


/* Build 047 — forum identity portrait and one consistent compact personnel card. */
.forum-author-identity{
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:9px;
    align-items:center;
    margin-bottom:3px;
}
.forum-author-photo{
    display:block;
    width:48px;
    height:48px;
    border:1px solid #b48a24;
    border-radius:4px;
    overflow:hidden;
    background:#102746;
}
.forum-author-photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 24%;
}
.forum-author-idcopy{display:grid;gap:3px;min-width:0}
.forum-author-idcopy .forum-author-name{line-height:1.18}
.forum-author-idcopy .forum-service-no{font-size:.57rem}

.id-card-view-page{
    width:min(760px,calc(100% - 24px));
    margin:20px auto 34px;
}
.id-card-view-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:16px;
    margin-bottom:12px;
    padding:10px 12px;
    border-left:4px solid #d8b35b;
    background:rgba(5,18,29,.82);
}
.id-card-view-heading p{margin:0;color:#a9bac7;font-size:.58rem;font-weight:900;letter-spacing:.11em}
.id-card-view-heading h1{margin:2px 0 0;color:#fff;font-size:1.12rem;letter-spacing:.06em}
.id-card-view-stage,.service-record-card-stage{display:flex;justify-content:center}
.id-card-view-card,.service-record-personnel-card{
    box-sizing:border-box;
    width:min(488px,100%);
    min-width:0;
    margin:0;
}
.service-record-card-stage{margin:4px 0 18px}
.service-record-personnel-card:hover,.id-card-view-card:hover{border-color:#d8b35b;background:#05090d}
@media(max-width:700px){
    .id-card-view-heading{align-items:flex-start;flex-direction:column}
    .forum-author-identity{grid-template-columns:46px minmax(0,1fr)}
    .forum-author-photo{width:44px;height:44px}
}


/* BUILD 048 — play banner intro once per site visit and use established member photo in Forum. */
.forum-author-photo img,
.forum-member-emblem img{
    visibility:visible!important;
    opacity:1!important;
}


/* BUILD 052 — personnel card width and definitive uniform award ribbons.
   This final block deliberately overrides historic experimental ribbon rules above. */
.id-card-view-card,
.service-record-personnel-card {
    box-sizing: border-box !important;
    width: min(440px, 100%) !important;
    max-width: 440px !important;
    min-width: 0 !important;
}

.personnel-banner .personnel-banner__award-row {
    display: flex !important;
    justify-content: center !important;
    gap: 2px !important;
}
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot {
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 41px !important;
    width: 41px !important;
    min-width: 41px !important;
    max-width: 41px !important;
    height: 11px !important;
    min-height: 11px !important;
    max-height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot > img {
    display: block !important;
    box-sizing: border-box !important;
    width: 41px !important;
    min-width: 41px !important;
    max-width: 41px !important;
    height: 11px !important;
    min-height: 11px !important;
    max-height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: fill !important;
}


/* BUILD 053 — proportional Command Centre personnel-card fitting.
   Only the header/access-panel card uses this frame; ID/service/roster cards
   retain their own BUILD 052 sizing. */
.access-station__personnel-fit {
    position: relative;
    width: 100%;
    height: 188px;
    margin: 8px 0 10px;
    overflow: visible;
}
.access-station__personnel-fit > .personnel-banner {
    position: absolute !important;
    top: 0;
    left: 0;
    margin: 0 !important;
    transform-origin: top left;
    will-change: transform;
}

/* BUILD 054 — true one-piece scaling for the Command Centre personnel card.
   The card itself has a fixed design geometry.  A separate surface is scaled,
   so rank/name/posting text, qualification strips, badges, wings and ribbons
   can never independently compress or wrap when the access panel is narrow. */
.access-station__personnel-fit {
    --command-card-scale: 1;
    position: relative !important;
    width: 100% !important;
    height: 184px;
    margin: 8px 0 10px !important;
    overflow: hidden !important;
}
.access-station__personnel-scale {
    position: absolute;
    top: 0;
    left: 0;
    width: 354px;
    height: 184px;
    transform: scale(var(--command-card-scale));
    transform-origin: top left;
}
.access-station__personnel-scale > .personnel-banner {
    position: static !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 354px !important;
    min-width: 354px !important;
    max-width: 354px !important;
    height: 184px !important;
    min-height: 184px !important;
    max-height: 184px !important;
    margin: 0 !important;
    transform: none !important;
}
.access-station__personnel-scale .personnel-banner__identity {
    grid-template-columns: 58px minmax(0,1fr) 62px 38px !important;
}
.access-station__personnel-scale .personnel-banner__details small,
.access-station__personnel-scale .personnel-banner__details strong,
.access-station__personnel-scale .personnel-banner__details span {
    white-space: nowrap !important;
}

/* CSS fallbacks for the known Command Centre header widths.  JavaScript
   replaces these values with the exact measured scale when available. */
@media (min-width:1121px) and (max-width:1349px) {
    .access-station__personnel-fit { --command-card-scale: .93; height: 172px; }
}
@media (min-width:761px) and (max-width:1120px) {
    .access-station__personnel-fit { --command-card-scale: .55; height: 102px; }
}
@media (max-width:390px) {
    .access-station__personnel-fit { --command-card-scale: .90; height: 166px; }
}
@media (max-width:350px) {
    .access-station__personnel-fit { --command-card-scale: .80; height: 148px; }
}

/* BUILD 055 — isolated Command Centre ID card and final ribbon geometry.
   The header card uses no shared personnel-banner classes, so old responsive
   experiments elsewhere in this stylesheet cannot alter it. */
.command-personnel-card-frame{
    position:relative;
    width:100%;
    height:184px;
    margin:8px 0 10px;
    overflow:hidden;
}
.command-personnel-card-surface{
    position:absolute;
    top:0;
    left:0;
    width:354px;
    height:184px;
    transform-origin:top left;
    will-change:transform;
}
.command-personnel-card{
    display:block;
    box-sizing:border-box;
    width:354px;
    min-width:354px;
    max-width:354px;
    height:184px;
    min-height:184px;
    max-height:184px;
    margin:0;
    overflow:hidden;
    border:2px solid #d8b35b;
    border-radius:8px;
    background:#05090d;
    color:#fff;
    text-decoration:none;
    box-shadow:0 4px 14px rgba(0,0,0,.35);
}
.command-personnel-card:hover{border-color:#ffe08a;background:#081019}
.command-personnel-card__heading{
    display:flex;
    box-sizing:border-box;
    justify-content:space-between;
    align-items:center;
    width:350px;
    height:24px;
    padding:4px 7px;
    border-bottom:1px solid rgba(216,179,91,.65);
    background:#0c2132;
    font-size:.5rem;
    font-weight:900;
    letter-spacing:.1em;
    white-space:nowrap;
}
.command-personnel-card__heading b{color:#ffe08a;font:900 .62rem Consolas,monospace}
.command-personnel-card__identity{
    display:grid;
    box-sizing:border-box;
    grid-template-columns:58px 174px 62px 38px;
    gap:6px;
    align-items:center;
    width:350px;
    height:84px;
    padding:5px 7px;
}
.command-personnel-card__photo{
    display:block;
    width:58px;
    height:74px;
    object-fit:cover;
    object-position:center 24%;
    border:1px solid #d8b35b;
}
.command-personnel-card__details{min-width:0;align-self:start;padding-top:2px;overflow:hidden}
.command-personnel-card__details small{
    display:block;
    overflow:hidden;
    color:#d8b35b;
    font-size:.46rem;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.command-personnel-card__details strong{
    display:block;
    margin:2px 0 4px;
    overflow:hidden;
    color:#fff;
    font-size:.72rem;
    line-height:1.05;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.command-personnel-card__details span{
    display:block;
    overflow:hidden;
    color:#dce7ef;
    font-size:.43rem;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.command-personnel-card__qualifications{display:grid;gap:5px;align-content:center;width:62px}
.command-personnel-card__qualifications div{width:62px;height:13px}
.command-personnel-card__qualifications img,
.command-personnel-card__qualifications span{
    display:grid;
    box-sizing:border-box;
    width:62px;
    min-width:62px;
    max-width:62px;
    height:13px;
    min-height:13px;
    max-height:13px;
    place-items:center;
    object-fit:fill;
    border:0;
}
.command-personnel-card__qualifications span{border:1px solid #526878;color:#8fa3b3;font-size:.42rem}
.command-personnel-card__badges{
    display:flex;
    width:38px;
    flex-direction:column;
    gap:3px;
    align-items:center;
    justify-content:center;
}
.command-personnel-card__badges img{
    display:block;
    width:32px;
    min-width:32px;
    max-width:32px;
    height:32px;
    min-height:32px;
    max-height:32px;
    object-fit:contain;
    border:0;
    background:#fff;
}
.command-personnel-card__wings{
    display:flex;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    width:350px;
    height:36px;
    border-top:1px solid rgba(216,179,91,.5);
    background:#07111a;
}
.command-personnel-card__wings img{
    display:block;
    width:112px;
    min-width:112px;
    max-width:112px;
    height:32px;
    min-height:32px;
    max-height:32px;
    object-fit:contain;
    border:0;
}
.command-personnel-card__awards{
    display:flex;
    box-sizing:border-box;
    width:350px;
    height:38px;
    flex-direction:column;
    align-items:center;
    gap:2px;
    padding:5px 7px;
    overflow:hidden;
    background:#07111a;
}
.command-personnel-card__award-row{
    display:flex;
    justify-content:center;
    gap:2px;
    min-height:11px;
}
.command-personnel-card__award-slot{
    display:block;
    box-sizing:border-box;
    flex:0 0 41px;
    width:41px;
    min-width:41px;
    max-width:41px;
    height:11px;
    min-height:11px;
    max-height:11px;
    margin:0;
    padding:0;
    overflow:hidden;
}
.command-personnel-card img.command-personnel-card__award-ribbon{
    display:block!important;
    box-sizing:border-box!important;
    width:41px!important;
    min-width:41px!important;
    max-width:41px!important;
    height:11px!important;
    min-height:11px!important;
    max-height:11px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    object-fit:fill!important;
}

/* The standalone/service-record card is deliberately tighter than BUILD 054. */
.id-card-view-card,
.service-record-personnel-card{
    box-sizing:border-box!important;
    width:min(400px,100%)!important;
    max-width:400px!important;
    min-width:0!important;
}

/* One final, high-specificity rule for every award ribbon in the shared card.
   All displayed award ribbons are identical 41 x 11 boxes, regardless of source file. */
.personnel-banner .personnel-banner__award-row{
    display:flex!important;
    justify-content:center!important;
    gap:2px!important;
}
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot{
    display:block!important;
    box-sizing:border-box!important;
    flex:0 0 41px!important;
    width:41px!important;
    min-width:41px!important;
    max-width:41px!important;
    height:11px!important;
    min-height:11px!important;
    max-height:11px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot > img.personnel-award-ribbon{
    display:block!important;
    box-sizing:border-box!important;
    width:41px!important;
    min-width:41px!important;
    max-width:41px!important;
    height:11px!important;
    min-height:11px!important;
    max-height:11px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    object-fit:fill!important;
}


/* BUILD 056 — fixed award tiles and compact Squadron roster cards.
   Award graphics are backgrounds inside identical boxes, so legacy img rules
   cannot alter their rendered dimensions. Squadron cards use a fixed design
   surface scaled to the same compact width as the Command Centre card. */
.command-personnel-card__award-slot,
.personnel-banner .personnel-banner__award-row > .personnel-banner__award-slot{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    flex:0 0 41px!important;
    width:41px!important;
    min-width:41px!important;
    max-width:41px!important;
    height:11px!important;
    min-height:11px!important;
    max-height:11px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
.command-personnel-card__award-ribbon-tile,
.personnel-award-ribbon-tile{
    display:block!important;
    box-sizing:border-box!important;
    width:41px!important;
    min-width:41px!important;
    max-width:41px!important;
    height:11px!important;
    min-height:11px!important;
    max-height:11px!important;
    margin:0!important;
    padding:0!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:100% 100%!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)!important;
}

/* Compact Squadron roster: 400 x 184 design card scaled to 354 x 163. */
.squadron-roster-cards{
    --squadron-card-width:354px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:14px!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
}
.squadron-roster-card-frame{
    position:relative!important;
    flex:0 0 354px!important;
    width:354px!important;
    min-width:354px!important;
    max-width:354px!important;
    height:163px!important;
    margin:0!important;
    overflow:hidden!important;
}
.squadron-roster-card-frame > .roster-personnel-banner{
    box-sizing:border-box!important;
    width:400px!important;
    min-width:400px!important;
    max-width:400px!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    margin:0!important;
    transform:scale(.885)!important;
    transform-origin:top left!important;
}
@media(max-width:390px){
    .squadron-roster-cards{gap:12px!important;}
    .squadron-roster-card-frame{
        flex-basis:300px!important;
        width:300px!important;
        min-width:300px!important;
        max-width:300px!important;
        height:138px!important;
    }
    .squadron-roster-card-frame > .roster-personnel-banner{
        transform:scale(.75)!important;
    }
}


/* BUILD 057 — Executive Site Content editor */
.site-content-editor{max-width:1100px}.site-content-page-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}.site-content-page-tabs .command-action{font-size:11px}.site-content-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #9ba3aa;background:#fff;padding:12px 14px;margin-bottom:18px}.site-content-summary span{display:block;color:#5e6870;font-size:12px;margin-top:3px}.site-content-fieldset{padding:14px 18px 18px!important;background:rgba(255,255,255,.45)}.site-content-fieldset legend{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:700;padding:0 8px}.site-content-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.site-content-fields label:has(textarea){grid-column:1/-1}.site-content-form textarea{min-height:74px;resize:vertical}.site-content-actions{position:sticky;bottom:0;background:#f3f1e8;border-top:1px solid #969da4;padding:12px 0;margin-top:22px;z-index:5}.site-content-restore{background:#6b2d2d!important;border-color:#6b2d2d!important;color:#fff!important}@media(max-width:800px){.site-content-fields{grid-template-columns:1fr}.site-content-summary{align-items:flex-start;flex-direction:column}.site-content-fields label:has(textarea){grid-column:auto}}

/* BUILD 058 — public Meet the Execs page and Executive member-photo controls. */
.meet-execs-page{max-width:1120px;margin:0 auto;padding:28px 20px 42px}
.meet-execs-hero{text-align:center;max-width:820px;margin:0 auto 26px;padding:4px 16px 8px}
.meet-execs-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:2.25rem;letter-spacing:.035em;margin:.15em 0 .25em;color:#152536}
.meet-execs-hero>p:last-child{font-size:1.02rem;line-height:1.65;color:#4b5660;margin:0 auto;max-width:760px}
.meet-execs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.meet-exec-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #a7adb2;box-shadow:0 9px 24px rgba(21,37,54,.10);overflow:hidden}
.meet-exec-photo-wrap{position:relative;aspect-ratio:4/3;background:#162536;overflow:hidden;border-bottom:4px solid #b99a55}
.meet-exec-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.meet-exec-copy{display:flex;flex:1;flex-direction:column;padding:18px 19px 20px}
.meet-exec-command{align-self:flex-start;font-size:.68rem;line-height:1;letter-spacing:.16em;font-weight:800;color:#6f571f;border:1px solid #c9b678;background:#f5f0de;padding:5px 8px;margin-bottom:9px}
.meet-exec-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;line-height:1.22;color:#172838;margin:0 0 6px}
.meet-exec-copy h3{font-size:.76rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:#69737b;margin:0 0 14px}
.meet-exec-copy p{font-size:.9rem;line-height:1.6;color:#48535d;margin:0;white-space:pre-line}
.meet-exec-bio-empty{font-style:italic;color:#7e858b!important}
.meet-execs-closing{max-width:840px;margin:28px auto 0;padding:16px 20px;border-top:1px solid #b7aa82;text-align:center;color:#56616a;font-style:italic}
.meet-execs-empty{grid-column:1/-1;text-align:center}
.member-public-profile-panel .panel-heading{align-items:flex-start}
.member-public-profile-grid{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:22px;align-items:start}
.member-photo-admin{display:grid;gap:10px}
.member-photo-admin>img{display:block;width:100%;max-width:300px;aspect-ratio:4/3;object-fit:cover;object-position:center top;border:1px solid #8c969f;background:#142536}
.member-photo-admin .admin-form,.member-public-bio-form{margin:0}
.member-photo-admin input[type=file]{width:100%;font-size:.78rem}
.member-photo-admin small,.member-public-bio-form small{display:block;color:#69737b;line-height:1.45}
.member-public-bio-form textarea{min-height:128px!important}
@media(max-width:900px){.meet-execs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-public-profile-grid{grid-template-columns:1fr}.member-photo-admin>img{max-width:320px}}
@media(max-width:580px){.meet-execs-page{padding-left:12px;padding-right:12px}.meet-execs-grid{grid-template-columns:1fr}.meet-execs-hero h1{font-size:1.8rem}}

/* BUILD 061 — Online member presence */
.online-nav-link{display:inline-flex!important;align-items:center;gap:5px}
.online-nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#3c9b70;color:#fff;font-size:.56rem;font-weight:1000;line-height:1}
.online-now-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.online-now-summary{display:grid;justify-items:center;min-width:92px;padding:10px 16px;border:1px solid #87a89a;border-radius:5px;background:#edf8f2;color:#1e5d42}
.online-now-summary strong{font-size:1.65rem;line-height:1}.online-now-summary span{margin-top:4px;font-size:.55rem;font-weight:1000;letter-spacing:.12em}
.online-now-panel{padding:0!important;overflow:hidden}.online-now-list{display:grid}
.online-member-row{display:grid;grid-template-columns:16px minmax(230px,1fr) minmax(160px,.65fr) 130px;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid #d7e0e5;background:#fff}
.online-member-row:last-child{border-bottom:0}.online-member-row--self{background:#f6fbf8}
.online-presence-dot{width:10px;height:10px;border-radius:50%;background:#2d9b67;box-shadow:0 0 0 3px rgba(45,155,103,.13)}
.online-member-identity{display:grid;min-width:0}.online-member-identity strong{color:#102746;font-size:.76rem}.online-member-identity strong small{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:3px;background:#102746;color:#fff;font-size:.45rem;letter-spacing:.08em;vertical-align:middle}
.online-member-identity span{margin-top:2px;color:#708493;font-size:.62rem}.online-member-area{display:grid}.online-member-area small,.online-member-time small{color:#81919d;font-size:.5rem;font-weight:900;letter-spacing:.08em}.online-member-area strong{margin-top:2px;color:#345d7b;font-size:.67rem}.online-member-time{display:grid;justify-items:end;text-align:right}.online-member-time strong{color:#2b7756;font-size:.66rem}.online-member-time small{margin-top:2px;letter-spacing:0}
.online-empty{padding:32px;text-align:center;color:#6e8292}.online-empty strong{color:#102746}.online-privacy-note{margin:10px 2px 0;color:#748897;font-size:.62rem}
@media(max-width:850px){.online-member-row{grid-template-columns:16px 1fr 120px}.online-member-area{grid-column:2}.online-member-time{grid-column:3;grid-row:1 / span 2}.online-now-heading{align-items:center}}
@media(max-width:560px){.online-now-heading{display:block}.online-now-summary{margin-top:10px;width:max-content}.online-member-row{grid-template-columns:16px 1fr}.online-member-area,.online-member-time{grid-column:2;justify-items:start;text-align:left}.online-member-time{grid-row:auto}}

/* BUILD 062 — Awards Master ribbon uploader */
.ribbon-upload-panel .panel-heading{align-items:flex-start}
.ribbon-upload-form{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(220px,1fr) auto;gap:14px;align-items:end}
.ribbon-upload-form label{display:grid;gap:5px;font-weight:700}
.ribbon-upload-form input[type=file]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #aebdca;border-radius:4px;background:#fff;color:#172635}
.ribbon-upload-form small{font-size:.72rem;font-weight:500;opacity:.78}
.ribbon-upload-preview{display:grid;grid-template-columns:auto 96px;column-gap:10px;row-gap:4px;align-items:center}
.ribbon-upload-preview>span{grid-column:1;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.ribbon-upload-preview img{grid-column:2;grid-row:1/3;width:96px;height:32px;object-fit:fill;border:1px solid rgba(148,184,211,.55);background:repeating-conic-gradient(#dce2e6 0 25%,#f5f7f8 0 50%) 50%/10px 10px}
.ribbon-upload-preview small{grid-column:1;max-width:260px}
@media(max-width:900px){.ribbon-upload-form{grid-template-columns:1fr}.ribbon-upload-preview{justify-content:start}.ribbon-upload-form .form-actions{justify-content:start}}
