html {
    min-width: 320px;
    min-height: 100%;
    background: #101214;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    background: #101214;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

#root {
    min-height: 100vh;
}

::selection {
    background: rgba(215, 172, 97, 0.25);
    color: #ffffff;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #101214;
}

::-webkit-scrollbar-thumb {
    border: 3px solid #101214;
    border-radius: 999px;
    background: #363b40;
}

::-webkit-scrollbar-thumb:hover {
    background: #454b51;
}
:root {
    --background: #101214;
    --surface: #171a1d;
    --surface-elevated: #1d2024;
    --surface-soft: #22262a;
    --border: #2b3035;
    --border-light: #343a40;
    --text-primary: #f3f4f2;
    --text-secondary: #9da4a9;
    --text-muted: #6f777d;
    --accent: #d7ac61;
    --accent-strong: #f0c87f;
    --success: #71c99a;
    --warning: #e4b768;
    --danger: #de756f;
    --travel: #8ba8d8;
    --sidebar-width: 244px;
}

* {
    box-sizing: border-box;
}

button,
input {
    font: inherit;
}

button {
    color: inherit;
}

.app-shell {
    display: flex;
    min-height: 100vh;
    background: radial-gradient( circle at 75% 10%, rgba(215, 172, 97, 0.05), transparent 28% ), var(--background);
    color: var(--text-primary);
}

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 20;
    display: flex;
    width: var(--sidebar-width);
    height: 100dvh;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border-right: 1px solid var(--border);
    background: rgba(20, 22, 24, 0.96);
    padding: 24px 16px 18px;
    backdrop-filter: blur(18px);
}

.brand {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding: 2px 8px 30px;
}

.brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(215, 172, 97, 0.55);
    border-radius: 12px;
    background: linear-gradient( 145deg, rgba(215, 172, 97, 0.18), rgba(215, 172, 97, 0.04) );
    color: var(--accent-strong);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.brand-name {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.brand-product {
    margin-top: 3px;
    color: var(--accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.28em;
}

.sidebar-label {
    padding: 0 12px 10px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.navigation {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 5px;
    scrollbar-gutter: stable;
}

.navigation::-webkit-scrollbar {
    width: 6px;
}

.navigation::-webkit-scrollbar-track {
    background: transparent;
}

.navigation::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(215, 172, 97, 0.24);
}

.navigation::-webkit-scrollbar-thumb:hover {
    background: rgba(215, 172, 97, 0.42);
}

.navigation-item {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    gap: 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    padding: 0 12px;
    color: var(--text-secondary);
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

    .navigation-item:hover {
        border-color: var(--border);
        background: var(--surface);
        color: var(--text-primary);
        transform: translateX(2px);
    }

    .navigation-item.active {
        border-color: rgba(215, 172, 97, 0.25);
        background: linear-gradient( 90deg, rgba(215, 172, 97, 0.16), rgba(215, 172, 97, 0.045) );
        color: var(--accent-strong);
    }

.navigation-icon {
    display: grid;
    width: 20px;
    place-items: center;
    font-size: 16px;
}

.navigation-count {
    margin-left: auto;
    border: 1px solid rgba(222, 117, 111, 0.35);
    border-radius: 999px;
    background: rgba(222, 117, 111, 0.12);
    padding: 2px 7px;
    color: #ef9690;
    font-size: 10px;
    font-weight: 700;
}

.sidebar-bottom {
    flex: 0 0 auto;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
    background: rgba(20, 22, 24, 0.98);
}

.signed-user {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    border-top: 0;
    padding: 10px 8px 0;
}

.user-avatar,
.person-avatar {
    display: grid;
    place-items: center;
    border: 1px solid rgba(215, 172, 97, 0.28);
    border-radius: 10px;
    background: rgba(215, 172, 97, 0.1);
    color: var(--accent-strong);
    font-weight: 700;
}

.user-avatar {
    width: 34px;
    height: 34px;
    font-size: 11px;
}

.user-details {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

    .user-details strong {
        overflow: hidden;
        font-size: 11px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .user-details span {
        margin-top: 3px;
        color: var(--text-muted);
        font-size: 9px;
    }

.user-menu {
    border: 0;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.main-area {
    width: calc(100% - var(--sidebar-width));
    min-height: 100vh;
    margin-left: var(--sidebar-width);
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    height: 70px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    background: rgba(16, 18, 20, 0.86);
    padding: 0 34px;
    backdrop-filter: blur(16px);
}

.search-box {
    display: flex;
    width: min(470px, 45vw);
    height: 40px;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
    padding: 0 11px;
}

    .search-box:focus-within {
        border-color: rgba(215, 172, 97, 0.48);
        box-shadow: 0 0 0 3px rgba(215, 172, 97, 0.06);
    }

.search-icon {
    color: var(--text-muted);
    font-size: 19px;
}

.search-box input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 12px;
}

    .search-box input::placeholder {
        color: var(--text-muted);
    }

.search-shortcut {
    border: 1px solid var(--border-light);
    border-radius: 5px;
    padding: 3px 6px;
    color: var(--text-muted);
    font-size: 9px;
    white-space: nowrap;
}

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

.icon-button {
    position: relative;
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
    cursor: pointer;
}

.notification-dot {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 6px;
    height: 6px;
    border: 1px solid var(--background);
    border-radius: 50%;
    background: var(--danger);
}

.primary-button {
    display: flex;
    height: 39px;
    align-items: center;
    gap: 8px;
    border: 1px solid #e2bb74;
    border-radius: 10px;
    background: linear-gradient(135deg, #e0b76e, #c99b4c);
    padding: 0 16px;
    color: #1c1710;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 28px rgba(215, 172, 97, 0.12);
}

    .primary-button:hover {
        filter: brightness(1.06);
    }

.page-content {
    width: min(1480px, 100%);
    margin: 0 auto;
    padding: 34px;
}

.page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.eyebrow,
.panel-kicker {
    color: var(--accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.page-heading h1 {
    margin: 7px 0 5px;
    font-size: clamp(28px, 3vw, 42px);
    letter-spacing: -0.045em;
}

.page-heading p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 12px;
}

.live-indicator {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    padding: 8px 12px;
    color: var(--text-secondary);
    font-size: 10px;
    white-space: nowrap;
}

.live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 4px rgba(113, 201, 154, 0.1);
}

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

.metric-card {
    min-height: 138px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient( 145deg, var(--surface-elevated), var(--surface) );
    padding: 18px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

    .metric-card.attention {
        border-color: rgba(222, 117, 111, 0.26);
    }

.metric-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.metric-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    color: var(--accent);
}

.metric-card strong {
    display: block;
    margin-top: 18px;
    font-size: 30px;
    letter-spacing: -0.04em;
}

.metric-card p {
    margin: 7px 0 0;
    color: var(--text-muted);
    font-size: 10px;
}

.positive {
    color: var(--success);
}

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.75fr);
    gap: 14px;
    margin-top: 14px;
}

.panel {
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(24, 27, 30, 0.92);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
}

.panel-header {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid var(--border);
    padding: 0 20px;
}

    .panel-header h2 {
        margin: 5px 0 0;
        font-size: 16px;
        letter-spacing: -0.02em;
    }

.text-button {
    border: 0;
    background: transparent;
    color: var(--accent);
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.movement-list {
    padding: 5px 20px 12px;
}

.movement-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 78px;
    border-bottom: 1px solid var(--border);
}

    .movement-item:last-child {
        border-bottom: 0;
    }

.movement-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid var(--border);
}

    .movement-date strong {
        font-size: 19px;
    }

    .movement-date span {
        margin-top: 2px;
        color: var(--text-muted);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 0.12em;
    }

.movement-line {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .movement-line div {
        display: flex;
        min-width: 0;
        flex-direction: column;
    }

    .movement-line strong {
        font-size: 11px;
    }

    .movement-line span:last-child {
        margin-top: 5px;
        color: var(--text-muted);
        font-size: 9px;
    }

.timeline-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.025);
}

    .timeline-dot.join {
        background: var(--success);
    }

    .timeline-dot.travel {
        background: var(--travel);
    }

    .timeline-dot.leave {
        background: var(--warning);
    }

    .timeline-dot.signoff {
        background: var(--danger);
    }

.event-tag,
.status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-weight: 800;
}

.event-tag {
    border: 1px solid var(--border-light);
    padding: 5px 8px;
    font-size: 7px;
    letter-spacing: 0.1em;
}

    .event-tag.join {
        color: var(--success);
    }

    .event-tag.travel {
        color: var(--travel);
    }

    .event-tag.leave {
        color: var(--warning);
    }

    .event-tag.signoff {
        color: var(--danger);
    }

.alerts-panel {
    display: flex;
    flex-direction: column;
}

.alert-count {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border: 1px solid rgba(222, 117, 111, 0.35);
    border-radius: 8px;
    background: rgba(222, 117, 111, 0.1);
    color: #ef9690;
    font-size: 10px;
    font-weight: 800;
}

.alert-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
}

.alert-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
    padding: 10px;
    text-align: left;
    cursor: pointer;
}

    .alert-item:hover {
        border-color: var(--border-light);
        background: var(--surface-soft);
    }

.alert-symbol {
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border-radius: 8px;
    font-weight: 900;
}

.alert-item.critical .alert-symbol {
    background: rgba(222, 117, 111, 0.12);
    color: var(--danger);
}

.alert-item.warning .alert-symbol {
    background: rgba(228, 183, 104, 0.1);
    color: var(--warning);
}

.alert-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

    .alert-copy strong {
        font-size: 10px;
    }

    .alert-copy small {
        margin-top: 4px;
        overflow: hidden;
        color: var(--text-muted);
        font-size: 8px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.view-all-button {
    width: calc(100% - 28px);
    min-height: 38px;
    margin: auto 14px 14px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 9px;
    cursor: pointer;
}

.people-panel {
    margin-top: 14px;
    overflow: hidden;
}

.people-table {
    width: 100%;
}

.people-row {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(230px, 1.6fr) minmax(150px, 1fr) minmax(120px, 0.8fr) minmax(155px, 1fr) 20px;
    align-items: center;
    gap: 12px;
    min-height: 66px;
    border: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    padding: 0 20px;
    color: var(--text-secondary);
    font-size: 10px;
    text-align: left;
}

button.people-row {
    cursor: pointer;
}

    button.people-row:hover {
        background: rgba(255, 255, 255, 0.018);
    }

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

.people-header {
    min-height: 38px;
    background: rgba(255, 255, 255, 0.015);
    color: var(--text-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.09em;
}

.person-cell {
    display: flex;
    align-items: center;
    gap: 11px;
}

.person-avatar {
    width: 35px;
    height: 35px;
    flex: 0 0 auto;
    font-size: 10px;
}

.person-cell > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.person-cell strong {
    color: var(--text-primary);
    font-size: 10px;
}

.person-cell small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 8px;
}

.status-pill {
    gap: 7px;
    border: 1px solid var(--border-light);
    padding: 5px 9px;
    font-size: 8px;
}

    .status-pill > span {
        width: 6px;
        height: 6px;
        border-radius: 50%;
    }

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

        .status-pill.onboard > span {
            background: var(--success);
        }

    .status-pill.leave {
        color: var(--warning);
    }

        .status-pill.leave > span {
            background: var(--warning);
        }

    .status-pill.travel {
        color: var(--travel);
    }

        .status-pill.travel > span {
            background: var(--travel);
        }

.row-arrow {
    color: var(--text-muted);
    font-size: 19px;
}

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

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

    .people-row {
        grid-template-columns: minmax(210px, 1.5fr) 1fr 0.8fr 1fr 20px;
    }
}

@media (max-width: 820px) {
    :root {
        --sidebar-width: 74px;
    }

    .sidebar {
        padding-inline: 10px;
    }

    .brand {
        justify-content: center;
        padding-inline: 0;
    }

        .brand > div:last-child,
        .sidebar-label,
        .navigation-item span:not(.navigation-icon),
        .signed-user .user-details,
        .signed-user .user-menu {
            display: none;
        }

    .navigation-item {
        justify-content: center;
        padding: 0;
    }

    .signed-user {
        display: flex;
        justify-content: center;
        padding-inline: 0;
    }

    .topbar {
        padding-inline: 18px;
    }

    .page-content {
        padding: 24px 18px;
    }

    .people-row {
        grid-template-columns: 1fr auto 20px;
    }

        .people-row > span:nth-child(2),
        .people-row > span:nth-child(4) {
            display: none;
        }
}

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

    .page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .search-shortcut,
    .icon-button {
        display: none;
    }

    .primary-button {
        padding-inline: 11px;
    }

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

    .event-tag {
        display: none;
    }
}

/* CrewOps functional application extensions */
a {
    color: inherit;
    text-decoration: none;
}

select,
textarea {
    font: inherit;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.brand {
    text-decoration: none;
}

.page-actions,
.panel-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.secondary-button,
.danger-button {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 0 15px;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.secondary-button {
    border: 1px solid var(--border-light);
    background: var(--surface);
    color: var(--text-primary);
}

.secondary-button:hover {
    border-color: rgba(215, 172, 97, 0.45);
}

.danger-button {
    border: 1px solid rgba(222, 117, 111, 0.48);
    background: rgba(222, 117, 111, 0.1);
    color: #ef9690;
}

.danger-button:hover {
    background: rgba(222, 117, 111, 0.18);
}

.global-search-wrap,
.popover-anchor {
    position: relative;
}

.search-results,
.notification-popover,
.create-menu {
    position: absolute;
    z-index: 80;
    top: calc(100% + 9px);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    background: rgba(25, 28, 31, 0.99);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(20px);
}

.search-results {
    right: 0;
    left: 0;
    overflow: hidden;
    padding: 6px;
}

.search-result {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 9px;
    padding: 9px;
}

.search-result:hover {
    background: var(--surface-soft);
}

.search-result > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.search-result strong {
    font-size: 10px;
}

.search-result small,
.search-empty {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 8px;
}

.search-empty {
    padding: 14px;
}

.person-avatar.compact {
    width: 29px;
    height: 29px;
    border-radius: 8px;
    font-size: 8px;
}

.notification-popover {
    right: 0;
    width: 360px;
    padding: 8px;
}

.popover-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 10px 12px;
    font-size: 11px;
}

.popover-heading span {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 7px;
    background: rgba(222, 117, 111, 0.12);
    color: var(--danger);
    font-size: 9px;
}

.notification-item {
    display: grid;
    width: 100%;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 9px;
    border: 0;
    border-top: 1px solid var(--border);
    background: transparent;
    padding: 10px;
    text-align: left;
    cursor: pointer;
}

.notification-item:hover {
    background: var(--surface-soft);
}

.notification-item > span:last-child {
    display: flex;
    flex-direction: column;
}

.notification-item strong {
    font-size: 9px;
}

.notification-item small {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 8px;
}

.popover-footer {
    width: 100%;
    border: 0;
    border-top: 1px solid var(--border);
    background: transparent;
    padding: 12px;
    color: var(--accent);
    font-size: 9px;
    cursor: pointer;
}

.create-menu {
    right: 0;
    width: 285px;
    padding: 7px;
}

.create-menu button {
    display: grid;
    width: 100%;
    grid-template-columns: 32px 1fr;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    padding: 10px;
    text-align: left;
    cursor: pointer;
}

.create-menu button:hover {
    background: var(--surface-soft);
}

.create-menu button > span {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    color: var(--accent);
}

.create-menu button div {
    display: flex;
    flex-direction: column;
}

.create-menu strong {
    font-size: 10px;
}

.create-menu small {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 8px;
}

.global-error,
.success-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 18px 34px 0;
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 10px;
}

.global-error {
    border: 1px solid rgba(222, 117, 111, 0.35);
    background: rgba(222, 117, 111, 0.1);
    color: #ef9690;
}

.global-error button {
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 800;
    cursor: pointer;
}

.success-banner {
    margin: 0 0 14px;
    border: 1px solid rgba(113, 201, 154, 0.3);
    background: rgba(113, 201, 154, 0.08);
    color: var(--success);
}

.boot-screen {
    display: grid;
    min-height: 100vh;
    place-content: center;
    justify-items: center;
    background: var(--background);
    color: var(--text-primary);
    text-align: center;
}

.boot-logo {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border: 1px solid rgba(215, 172, 97, 0.5);
    border-radius: 18px;
    background: rgba(215, 172, 97, 0.1);
    color: var(--accent);
    font-weight: 900;
}

.boot-screen h1 {
    margin: 20px 0 4px;
}

.boot-screen p {
    color: var(--text-muted);
}

.toolbar {
    display: flex;
    min-height: 62px;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 10px 14px;
}

.toolbar select,
.entity-form select,
.entity-form input,
.entity-form textarea {
    border: 1px solid var(--border);
    border-radius: 9px;
    outline: 0;
    background: var(--surface);
    color: var(--text-primary);
}

.toolbar select {
    min-height: 39px;
    padding: 0 34px 0 12px;
    color: var(--text-secondary);
    font-size: 10px;
}

.filter-search {
    display: flex;
    min-width: 250px;
    flex: 1;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    padding: 0 11px;
}

.filter-search input {
    width: 100%;
    min-height: 38px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 10px;
}

.filter-search span {
    color: var(--text-muted);
}

.view-toggle,
.segmented-control,
.planner-nav {
    display: flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    padding: 3px;
}

.view-toggle button,
.segmented-control button,
.planner-nav button {
    min-height: 30px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    padding: 0 10px;
    color: var(--text-muted);
    font-size: 9px;
    cursor: pointer;
}

.view-toggle button.active,
.segmented-control button.active,
.planner-nav button:hover {
    background: var(--surface-soft);
    color: var(--accent);
}

.result-count {
    margin-left: auto;
    color: var(--text-muted);
    font-size: 9px;
    white-space: nowrap;
}

.directory-panel {
    overflow: hidden;
}

.directory-table .people-row {
    grid-template-columns: minmax(230px, 1.5fr) minmax(100px, 0.7fr) minmax(150px, 1fr) minmax(120px, 0.8fr) minmax(130px, 0.8fr) 20px;
}

.people-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.person-card {
    min-height: 245px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(145deg, var(--surface-elevated), var(--surface));
    padding: 18px;
    transition: transform 160ms ease, border-color 160ms ease;
}

.person-card:hover {
    border-color: rgba(215, 172, 97, 0.3);
    transform: translateY(-2px);
}

.person-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.person-avatar.large {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    font-size: 12px;
}

.person-card h3 {
    margin: 18px 0 4px;
    font-size: 15px;
}

.person-card > p {
    margin: 0;
    color: var(--text-muted);
    font-size: 9px;
}

.person-card dl {
    display: grid;
    gap: 9px;
    margin: 18px 0 0;
}

.person-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--border);
    padding-top: 8px;
    font-size: 8px;
}

.person-card dt {
    color: var(--text-muted);
}

.person-card dd {
    margin: 0;
    text-align: right;
}

.status-pill.available,
.status-pill.office,
.status-pill.training,
.status-pill.vacancy,
.status-pill.inactive,
.status-pill.unavailable {
    color: var(--text-secondary);
}

.status-pill.available > span,
.status-pill.office > span,
.status-pill.training > span {
    background: var(--travel);
}

.status-pill.vacancy > span,
.status-pill.inactive > span,
.status-pill.unavailable > span {
    background: var(--text-muted);
}

.profile-breadcrumb {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--text-muted);
    font-size: 9px;
}

.profile-breadcrumb a {
    color: var(--accent);
}

.profile-hero {
    display: flex;
    min-height: 150px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
}

.profile-identity {
    display: flex;
    align-items: center;
    gap: 18px;
}

.hero-avatar {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    font-size: 18px;
}

.profile-title-line {
    display: flex;
    align-items: center;
    gap: 12px;
}

.profile-title-line h1 {
    margin: 0;
    font-size: 28px;
    letter-spacing: -0.04em;
}

.profile-identity p {
    margin: 7px 0 4px;
    color: var(--text-secondary);
    font-size: 11px;
}

.profile-identity > div > span:last-child {
    color: var(--text-muted);
    font-size: 9px;
}

.profile-actions {
    display: flex;
    gap: 9px;
}

.profile-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 12px;
}

.profile-metrics article {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface);
    padding: 15px;
}

.profile-metrics article.attention {
    border-color: rgba(222, 117, 111, 0.28);
}

.profile-metrics span {
    color: var(--text-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.profile-metrics strong {
    display: block;
    margin-top: 10px;
    font-size: 22px;
}

.profile-metrics small {
    display: block;
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 8px;
}

.profile-tabs {
    display: flex;
    gap: 4px;
    margin: 20px 0 12px;
    border-bottom: 1px solid var(--border);
}

.profile-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    padding: 11px 14px;
    color: var(--text-muted);
    font-size: 10px;
    cursor: pointer;
}

.profile-tabs button.active {
    border-bottom-color: var(--accent);
    color: var(--accent);
}

.profile-tabs button span {
    margin-left: 5px;
    border-radius: 999px;
    background: var(--surface-soft);
    padding: 2px 6px;
    font-size: 8px;
}

.profile-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(290px, 0.65fr);
    gap: 14px;
}

.timeline-panel {
    overflow: hidden;
}

.personal-timeline {
    padding: 18px 20px 24px;
}

.timeline-year {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
}

.timeline-year + .timeline-year {
    margin-top: 20px;
}

.timeline-year-label {
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
}

.timeline-events {
    display: flex;
    flex-direction: column;
}

.timeline-event {
    position: relative;
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: 12px;
    border-left: 1px solid var(--border-light);
    padding: 0 0 22px 17px;
}

.timeline-event:last-child {
    padding-bottom: 5px;
}

.event-type-mark {
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    background: var(--surface-soft);
    font-size: 9px;
    font-weight: 900;
}

.event-type-mark.rotation,
.event-tag.rotation,
.event-rail.rotation {
    color: var(--success);
}

.event-type-mark.leave,
.event-tag.leave,
.event-rail.leave {
    color: var(--warning);
}

.event-type-mark.travel,
.event-tag.travel,
.event-rail.travel {
    color: var(--travel);
}

.event-type-mark.training,
.event-tag.training,
.event-rail.training {
    color: #be91db;
}

.timeline-event-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.timeline-event-title strong {
    font-size: 11px;
}

.timeline-event-main p {
    margin: 6px 0 3px;
    color: var(--text-secondary);
    font-size: 9px;
}

.timeline-event-main small,
.timeline-event-main em {
    display: block;
    color: var(--text-muted);
    font-size: 8px;
}

.timeline-event-main em {
    margin-top: 6px;
    font-style: normal;
}

.row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.row-actions.vertical {
    flex-direction: column;
    align-items: flex-end;
}

.row-actions button {
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: 8px;
    cursor: pointer;
}

.row-actions button:hover {
    color: var(--accent);
}

.row-actions .danger-link,
.danger-copy {
    color: var(--danger);
}

.detail-list {
    display: grid;
    margin: 0;
    padding: 10px 20px 20px;
}

.detail-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--border);
    padding: 13px 0;
}

.detail-list div:last-child {
    border-bottom: 0;
}

.detail-list dt {
    color: var(--text-muted);
    font-size: 8px;
}

.detail-list dd {
    margin: 0;
    color: var(--text-primary);
    font-size: 9px;
    text-align: right;
}

.detail-list.wide {
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
}

.detail-list.wide .full {
    grid-column: 1 / -1;
}

.data-list {
    padding: 6px 18px 14px;
}

.data-list-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    border-bottom: 1px solid var(--border);
}

.data-list-row:last-child {
    border-bottom: 0;
}

.data-list-row > div:nth-child(2) {
    display: flex;
    flex-direction: column;
}

.data-list-row strong {
    font-size: 10px;
}

.data-list-row small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 8px;
}

.priority-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--text-muted);
}

.priority-dot.high,
.priority-dot.critical {
    background: var(--danger);
}

.priority-dot.medium {
    background: var(--warning);
}

.priority-dot.low {
    background: var(--success);
}

.task-status,
.travel-status,
.document-state,
.priority-badge {
    display: inline-flex;
    width: fit-content;
    border: 1px solid var(--border-light);
    border-radius: 999px;
    padding: 5px 8px;
    color: var(--text-secondary);
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
}

.task-status.completed,
.travel-status.confirmed,
.travel-status.completed,
.document-state.valid {
    color: var(--success);
}

.task-status.blocked,
.task-status.cancelled,
.document-state.expired {
    color: var(--danger);
}

.task-status.in-progress,
.task-status.waiting,
.travel-status.planned,
.document-state.warning {
    color: var(--warning);
}

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

.master-document-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0;
}

.document-card {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface);
    padding: 14px;
}

.document-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--border-light);
    border-radius: 10px;
    color: var(--accent);
}

.document-card h3 {
    margin: 9px 0 3px;
    font-size: 11px;
}

.document-card p,
.document-card a {
    margin: 3px 0;
    color: var(--text-secondary);
    font-size: 8px;
}

.document-card a {
    color: var(--accent);
}

.document-card small {
    color: var(--text-muted);
    font-size: 7px;
}

.danger-zone p {
    margin: 0;
    padding: 20px;
    color: var(--text-muted);
    font-size: 9px;
    line-height: 1.6;
}

.danger-zone .danger-button {
    margin: 0 20px 20px;
}

.empty-state {
    display: grid;
    min-height: 240px;
    place-content: center;
    justify-items: center;
    padding: 30px;
    text-align: center;
}

.empty-state-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    color: var(--accent);
    font-size: 10px;
    font-weight: 900;
}

.empty-state h3 {
    margin: 14px 0 4px;
    font-size: 13px;
}

.empty-state p,
.inline-empty {
    color: var(--text-muted);
    font-size: 9px;
}

.inline-empty {
    padding: 26px;
    text-align: center;
}

.success-copy {
    color: var(--success);
}

.modal-backdrop {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(4, 6, 7, 0.78);
    padding: 24px;
    backdrop-filter: blur(8px);
}

.modal-card {
    width: min(610px, 100%);
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid var(--border-light);
    border-radius: 16px;
    background: #181b1e;
    box-shadow: 0 40px 120px rgba(0, 0, 0, 0.55);
}

.modal-wide {
    width: min(820px, 100%);
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    padding: 18px 20px;
}

.modal-header h2 {
    margin: 4px 0 0;
    font-size: 17px;
}

.modal-close {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    color: var(--text-muted);
    font-size: 18px;
    cursor: pointer;
}

.modal-body {
    max-height: calc(100vh - 135px);
    overflow: auto;
    padding: 20px;
}

.composer-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.composer-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    padding: 8px 12px;
    color: var(--text-muted);
    font-size: 9px;
    cursor: pointer;
}

.composer-tabs button.active {
    border-bottom-color: var(--accent);
    color: var(--accent);
}

.entity-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.form-grid {
    display: grid;
    gap: 12px;
}

.form-grid.two-columns {
    grid-template-columns: 1fr 1fr;
}

.entity-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--text-secondary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.entity-form input,
.entity-form select {
    min-height: 40px;
    padding: 0 11px;
    text-transform: none;
}

.entity-form textarea {
    resize: vertical;
    padding: 11px;
    text-transform: none;
}

.entity-form input:focus,
.entity-form select:focus,
.entity-form textarea:focus {
    border-color: rgba(215, 172, 97, 0.48);
    box-shadow: 0 0 0 3px rgba(215, 172, 97, 0.06);
}

.span-two {
    grid-column: 1 / -1;
}

.check-field {
    flex-direction: row !important;
    align-items: center;
    text-transform: none !important;
}

.check-field input {
    min-height: auto;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--border);
    padding-top: 15px;
}

.form-error {
    margin: 0;
    color: var(--danger);
    font-size: 9px;
}

.planner-toolbar {
    flex-wrap: wrap;
}

.planner-panel {
    overflow: auto;
}

.planner-header-row,
.planner-row {
    display: grid;
    min-width: 1000px;
    grid-template-columns: 250px minmax(750px, 1fr);
}

.planner-header-row {
    position: sticky;
    top: 0;
    z-index: 3;
    min-height: 50px;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.planner-person-heading {
    display: flex;
    align-items: center;
    border-right: 1px solid var(--border);
    padding: 0 16px;
    color: var(--text-muted);
    font-size: 8px;
    font-weight: 800;
}

.planner-months,
.planner-lane {
    position: relative;
}

.planner-months span {
    position: absolute;
    inset-block: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 8px;
    font-weight: 800;
}

.planner-row {
    min-height: 74px;
    border-bottom: 1px solid var(--border);
}

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

.planner-person {
    display: flex;
    align-items: center;
    gap: 10px;
    border-right: 1px solid var(--border);
    padding: 0 14px;
}

.planner-person > span:last-child {
    display: flex;
    flex-direction: column;
}

.planner-person strong {
    font-size: 9px;
}

.planner-person small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 7px;
}

.month-gridline {
    position: absolute;
    inset-block: 0;
    border-left: 1px solid rgba(43, 48, 53, 0.72);
}

.planner-bar {
    position: absolute;
    z-index: 2;
    top: calc(15px + var(--bar-row) * 25px);
    left: var(--bar-left);
    width: var(--bar-width);
    min-width: 5px;
    height: 20px;
    overflow: hidden;
    border: 1px solid currentColor;
    border-radius: 6px;
    padding: 3px 6px;
    background: rgba(113, 201, 154, 0.12);
    color: var(--success);
    font-size: 7px;
    white-space: nowrap;
}

.planner-bar.leave {
    background: rgba(228, 183, 104, 0.1);
    color: var(--warning);
}

.planner-bar.travel {
    background: rgba(139, 168, 216, 0.1);
    color: var(--travel);
}

.planner-bar.training {
    background: rgba(190, 145, 219, 0.1);
    color: #be91db;
}

.no-plan {
    position: absolute;
    top: 27px;
    left: 12px;
    color: var(--text-muted);
    font-size: 8px;
}

.planner-legend {
    display: flex;
    min-width: 1000px;
    gap: 18px;
    border-top: 1px solid var(--border);
    padding: 12px 16px;
    color: var(--text-muted);
    font-size: 8px;
}

.planner-legend span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.planner-legend i,
.breakdown-list i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--text-muted);
}

.planner-legend i.rotation,
.breakdown-list i.rotation {
    background: var(--success);
}

.planner-legend i.leave,
.breakdown-list i.leave {
    background: var(--warning);
}

.planner-legend i.travel,
.breakdown-list i.travel {
    background: var(--travel);
}

.planner-legend i.training,
.breakdown-list i.training {
    background: #be91db;
}

.calendar-agenda {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.agenda-day {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
}

.agenda-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 14px;
}

.agenda-date strong {
    font-size: 24px;
}

.agenda-date span {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 8px;
    text-transform: uppercase;
}

.agenda-events {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.agenda-event {
    position: relative;
    display: grid;
    grid-template-columns: 4px 1fr auto;
    gap: 14px;
    overflow: hidden;
    padding: 15px;
}

.event-rail {
    position: absolute;
    inset-block: 0;
    left: 0;
    width: 3px;
    background: currentColor;
}

.agenda-event h3 {
    margin: 7px 0 4px;
    font-size: 11px;
}

.agenda-event p {
    margin: 0;
    color: var(--text-muted);
    font-size: 8px;
}

.agenda-event-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.agenda-event-meta strong {
    font-size: 9px;
}

.agenda-event-meta small {
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 7px;
}

.compact-metrics {
    margin-bottom: 14px;
}

.task-board {
    display: grid;
    grid-template-columns: repeat(5, minmax(230px, 1fr));
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
}

.task-column {
    min-height: 430px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(23, 26, 29, 0.7);
    padding: 9px;
}

.task-column > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 6px 12px;
}

.task-column > header strong {
    font-size: 9px;
}

.task-column > header span {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 7px;
    background: var(--surface-soft);
    color: var(--text-muted);
    font-size: 8px;
}

.task-card {
    margin-bottom: 8px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-elevated);
    padding: 11px;
}

.task-card.overdue {
    border-color: rgba(222, 117, 111, 0.34);
}

.task-card-top {
    display: flex;
    justify-content: space-between;
}

.task-card-top button {
    border: 0;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.priority-badge.high,
.priority-badge.critical {
    color: var(--danger);
}

.priority-badge.medium {
    color: var(--warning);
}

.priority-badge.low {
    color: var(--success);
}

.task-card h3 {
    margin: 12px 0 6px;
    font-size: 10px;
}

.task-card p {
    min-height: 30px;
    margin: 0 0 8px;
    color: var(--text-muted);
    font-size: 8px;
    line-height: 1.5;
}

.task-card > a {
    color: var(--accent);
    font-size: 8px;
}

.task-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    border-top: 1px solid var(--border);
    padding-top: 9px;
    color: var(--text-muted);
    font-size: 7px;
}

.task-card footer select {
    max-width: 105px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    padding: 4px;
    color: var(--text-secondary);
    font-size: 7px;
}

.travel-table-panel {
    overflow: hidden;
}

.travel-table {
    width: 100%;
}

.travel-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) minmax(170px, 1fr) minmax(180px, 1fr) 100px auto;
    align-items: center;
    gap: 14px;
    min-height: 76px;
    border-bottom: 1px solid var(--border);
    padding: 0 18px;
}

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

.travel-header {
    min-height: 40px;
    background: rgba(255, 255, 255, 0.014);
    color: var(--text-muted);
    font-size: 8px;
    font-weight: 800;
}

.travel-person {
    display: flex;
    align-items: center;
    gap: 11px;
}

.travel-person > div:last-child,
.travel-row > div:nth-child(3) {
    display: flex;
    flex-direction: column;
}

.travel-person a,
.travel-row strong {
    font-size: 9px;
}

.travel-person small,
.travel-row small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 7px;
}

.travel-date {
    display: flex;
    width: 40px;
    height: 46px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 9px;
}

.travel-date strong {
    font-size: 14px;
}

.travel-date span {
    color: var(--text-muted);
    font-size: 7px;
}

.travel-route {
    display: flex;
    align-items: center;
    gap: 8px;
}

.travel-route span {
    color: var(--accent);
}

.report-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, 0.55fr);
    gap: 14px;
    margin-top: 14px;
}

.utilisation-list {
    padding: 10px 18px 16px;
}

.utilisation-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.9fr) minmax(170px, 1.5fr) 70px;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    border-bottom: 1px solid var(--border);
}

.utilisation-row > div:first-child {
    display: flex;
    flex-direction: column;
}

.utilisation-row strong {
    font-size: 9px;
}

.utilisation-row small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 7px;
}

.utilisation-track {
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface-soft);
}

.utilisation-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent), var(--accent-strong));
}

.breakdown-list {
    padding: 12px 18px 18px;
}

.breakdown-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    padding: 13px 0;
}

.breakdown-list span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-secondary);
    font-size: 9px;
}

.breakdown-list strong {
    font-size: 11px;
}

.date-metric {
    font-size: 20px !important;
}

.settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.settings-card.full-width {
    grid-column: 1 / -1;
}

.settings-content {
    padding: 20px;
}

.settings-content > p {
    margin: 0 0 14px;
    color: var(--text-muted);
    font-size: 9px;
    line-height: 1.65;
}

.alert-count.neutral {
    border-color: var(--border-light);
    background: var(--surface-soft);
    color: var(--text-secondary);
}

.audit-list {
    max-height: 420px;
    overflow: auto;
    padding: 8px 16px 16px;
}

.audit-row {
    display: grid;
    grid-template-columns: 28px 1fr;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--border);
    padding: 11px 0;
}

.audit-row > span {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 7px;
    background: rgba(215, 172, 97, 0.09);
    color: var(--accent);
    font-size: 8px;
    font-weight: 900;
}

.audit-row > div {
    display: flex;
    flex-direction: column;
}

.audit-row strong {
    font-size: 9px;
}

.audit-row small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 7px;
}

.danger-settings {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.danger-settings strong {
    font-size: 10px;
}

.danger-settings p {
    margin: 5px 0 0;
    color: var(--text-muted);
    font-size: 8px;
}

@media (max-width: 1300px) {
    .people-card-grid,
    .master-document-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .task-board {
        grid-template-columns: repeat(5, 240px);
    }
}

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

    .profile-content-grid,
    .report-grid,
    .settings-grid {
        grid-template-columns: 1fr;
    }

    .settings-card.full-width {
        grid-column: auto;
    }

    .travel-row {
        grid-template-columns: minmax(200px, 1.3fr) minmax(150px, 1fr) 100px auto;
    }

    .travel-row > div:nth-child(3),
    .travel-header > span:nth-child(3) {
        display: none;
    }
}

@media (max-width: 820px) {
    .notification-popover,
    .create-menu {
        position: fixed;
        top: 65px;
        right: 12px;
    }

    .profile-hero,
    .page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

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

    .directory-table .people-row {
        grid-template-columns: minmax(210px, 1.5fr) minmax(120px, 1fr) minmax(110px, 0.8fr) 20px;
    }

    .directory-table .people-row > span:nth-child(2),
    .directory-table .people-row > span:nth-child(5) {
        display: none;
    }

    .toolbar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .filter-search {
        min-width: 100%;
    }

    .form-grid.two-columns,
    .detail-list.wide {
        grid-template-columns: 1fr;
    }

    .span-two,
    .detail-list.wide .full {
        grid-column: auto;
    }

    .travel-row {
        grid-template-columns: 1fr auto;
        padding-block: 12px;
    }

    .travel-row > div:nth-child(2),
    .travel-row > div:nth-child(3),
    .travel-header > span:nth-child(2),
    .travel-header > span:nth-child(3) {
        display: none;
    }
}

@media (max-width: 620px) {
    .people-card-grid,
    .master-document-grid,
    .document-grid,
    .profile-metrics {
        grid-template-columns: 1fr;
    }

    .profile-actions {
        width: 100%;
    }

    .profile-actions button {
        flex: 1;
    }

    .timeline-year {
        grid-template-columns: 1fr;
    }

    .timeline-event {
        grid-template-columns: 30px 1fr;
    }

    .timeline-event .row-actions {
        grid-column: 2;
        justify-content: flex-start;
    }

    .agenda-day {
        grid-template-columns: 1fr;
    }

    .agenda-date {
        align-items: flex-start;
        flex-direction: row;
        gap: 7px;
        padding-top: 0;
    }

    .agenda-date strong {
        font-size: 15px;
    }

    .danger-settings {
        align-items: flex-start;
        flex-direction: column;
    }
}


.movement-item {
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.status-pill.on-board,
.status-pill.on-leave,
.status-pill.travelling {
    color: var(--text-secondary);
}

/* People and person profile operational upgrade */
.ops-people-metrics,
.ops-operational-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}
.ops-operational-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ops-people-metrics article,
.ops-operational-strip article {
    min-height: 104px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(145deg, var(--surface-elevated), var(--surface));
    padding: 17px 18px;
}
.ops-people-metrics article.attention,
.ops-operational-strip article.attention { border-color: rgba(222,117,111,.38); }
.ops-people-metrics span,
.ops-operational-strip span { display: block; color: var(--text-muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.ops-people-metrics strong,
.ops-operational-strip strong { display: block; margin-top: 13px; color: var(--text-primary); font-size: 22px; letter-spacing: -.03em; }
.ops-people-metrics small,
.ops-operational-strip small { display: block; margin-top: 6px; color: var(--text-muted); font-size: 9px; }
.ops-people-toolbar { flex-wrap: wrap; gap: 10px; padding-block: 12px; }
.ops-people-toolbar .filter-search { min-width: 310px; flex: 1 1 340px; }
.ops-attention-toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--text-secondary); font-size: 9px; white-space: nowrap; }
.ops-attention-toggle input { accent-color: var(--accent); }
.ops-clear-filters { border: 0; background: transparent; color: var(--accent); font-size: 9px; cursor: pointer; }
.ops-directory-table .people-row { grid-template-columns: minmax(220px,1.55fr) minmax(100px,.7fr) minmax(135px,.9fr) minmax(110px,.7fr) minmax(135px,.9fr) minmax(90px,.65fr) 20px; }
.ops-attention-badge,
.ops-clear-badge { display: inline-flex; width: fit-content; border-radius: 999px; padding: 5px 8px; font-size: 8px; font-weight: 800; white-space: nowrap; }
.ops-attention-badge { border: 1px solid rgba(222,117,111,.36); background: rgba(222,117,111,.1); color: #ef9690; }
.ops-clear-badge { border: 1px solid rgba(113,201,154,.25); background: rgba(113,201,154,.07); color: var(--success); }
.person-card footer { margin-top: 16px; }
.ops-person-card-attention { border-color: rgba(222,117,111,.28); }
.ops-profile-hero { margin-bottom: 14px; }
.ops-quick-actions { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 14px 0; padding: 18px 20px; }
.ops-quick-actions h2 { margin: 4px 0 0; font-size: 15px; }
.ops-quick-actions > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.ops-quick-actions button { min-height: 36px; border: 1px solid var(--border-light); border-radius: 9px; background: var(--surface); padding: 0 12px; color: var(--text-secondary); font-size: 9px; font-weight: 700; cursor: pointer; }
.ops-quick-actions button:hover { border-color: rgba(215,172,97,.42); color: var(--accent-strong); }
.ops-person-alerts { margin-bottom: 14px; overflow: hidden; }
.ops-person-alerts > div:last-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px; }
.ops-person-alert { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 11px; }
.ops-person-alert > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; font-weight: 900; }
.ops-person-alert.critical > span { background: rgba(222,117,111,.12); color: var(--danger); }
.ops-person-alert.warning > span { background: rgba(228,183,104,.12); color: var(--warning); }
.ops-person-alert div { display: flex; flex-direction: column; }
.ops-person-alert strong { font-size: 10px; }
.ops-person-alert small { margin-top: 4px; color: var(--text-muted); font-size: 8px; }
.ops-timeline-controls { display: flex; align-items: center; gap: 14px; }
.ops-conflict-event { border-color: rgba(222,117,111,.38) !important; background: rgba(222,117,111,.035); }
.ops-conflict-label { border: 1px solid rgba(222,117,111,.35); border-radius: 999px; padding: 4px 7px; color: #ef9690; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 1100px) {
    .ops-people-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ops-operational-strip { grid-template-columns: 1fr; }
    .ops-directory-table .people-row { grid-template-columns: minmax(210px,1.5fr) 1fr .8fr 1fr 20px; }
    .ops-directory-table .people-row > span:nth-child(2), .ops-directory-table .people-row > span:nth-child(6) { display:none; }
}
@media (max-width: 760px) {
    .ops-people-metrics { grid-template-columns: 1fr; }
    .ops-quick-actions { align-items: flex-start; flex-direction: column; }
    .ops-person-alerts > div:last-child { grid-template-columns: 1fr; }
    .ops-timeline-controls { align-items: flex-end; flex-direction: column; }
}

/* Planner operational upgrade */
.planner-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.planner-summary-card {
    min-height: 104px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(145deg, var(--surface-elevated), var(--surface));
    padding: 16px 18px;
}

.planner-summary-card span {
    display: block;
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}

.planner-summary-card strong {
    display: block;
    margin-top: 10px;
    font-size: 25px;
}

.planner-summary-card small {
    display: block;
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 9px;
}

.planner-summary-card.danger {
    border-color: rgba(222, 117, 111, .32);
}

.planner-summary-card.danger strong,
.planner-summary-card.danger small {
    color: var(--danger);
}

.planner-summary-card.warning {
    border-color: rgba(228, 183, 104, .28);
}

.planner-toolbar-advanced {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(130px, .72fr)) auto auto auto;
    gap: 10px;
    align-items: center;
}

.planner-search {
    display: flex;
    height: 38px;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    padding: 0 10px;
}

.planner-search span {
    color: var(--text-muted);
    font-size: 18px;
}

.planner-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 10px;
}

.planner-conflict-toggle {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    padding: 0 10px;
    color: var(--text-secondary);
    font-size: 9px;
    white-space: nowrap;
}

.planner-conflict-toggle input {
    accent-color: var(--danger);
}

.planner-months,
.planner-lane {
    position: relative;
}

.planner-today-line {
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(240, 200, 127, .78);
    pointer-events: none;
}

.planner-today-line::after {
    position: absolute;
    top: 0;
    left: -3px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-strong);
    content: '';
}

.planner-today-line.header {
    top: 22px;
}

.planner-today-line.header b {
    position: absolute;
    top: -21px;
    left: 5px;
    color: var(--accent-strong);
    font-size: 8px;
    font-style: normal;
    white-space: nowrap;
}

.planner-row.has-conflict {
    background: linear-gradient(90deg, rgba(222,117,111,.045), transparent 44%);
}

.planner-person {
    position: relative;
}

.planner-person-alert {
    display: grid;
    width: 20px;
    height: 20px;
    margin-left: auto;
    place-items: center;
    border: 1px solid rgba(222, 117, 111, .42);
    border-radius: 7px;
    background: rgba(222, 117, 111, .12);
    color: var(--danger);
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.planner-bar.conflict {
    z-index: 5;
    outline: 2px solid rgba(222, 117, 111, .88);
    box-shadow: 0 0 0 3px rgba(222, 117, 111, .14), 0 7px 16px rgba(0,0,0,.22);
}

.planner-bar b {
    display: grid;
    width: 15px;
    height: 15px;
    margin-left: auto;
    place-items: center;
    border-radius: 50%;
    background: var(--danger);
    color: #17110f;
    font-size: 9px;
}

.planner-add-inline {
    border: 1px dashed var(--border-light);
    border-radius: 8px;
    background: transparent;
    padding: 6px 10px;
    cursor: pointer;
}

.planner-add-inline:hover {
    border-color: rgba(215,172,97,.45);
    color: var(--accent);
}

.planner-empty {
    padding: 34px;
    color: var(--text-muted);
    font-size: 11px;
    text-align: center;
}

.planner-legend i.office {
    background: #a38bd8;
}

.planner-legend i.conflict {
    border: 2px solid var(--danger);
    background: transparent;
}

@media (max-width: 1320px) {
    .planner-toolbar-advanced {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .planner-search {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {
    .planner-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .planner-toolbar-advanced {
        grid-template-columns: 1fr 1fr;
    }

    .planner-search {
        grid-column: 1 / -1;
    }
}

/* Operations Centre — crew-change command layer */
.ops-command-strip {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    margin-bottom: 14px;
    border: 1px solid rgba(215, 172, 97, 0.28);
    border-radius: 16px;
    background: linear-gradient(110deg, rgba(215, 172, 97, 0.12), rgba(24, 27, 30, 0.94) 38%, rgba(24, 27, 30, 0.92));
    padding: 22px 24px;
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.16);
}
.ops-readiness-ring {
    --progress: 0deg;
    display: grid;
    width: 92px;
    height: 92px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--accent) var(--progress), var(--border) 0);
    position: relative;
}
.ops-readiness-ring::before { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: var(--surface); }
.ops-readiness-ring > div { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.ops-readiness-ring strong { font-size: 22px; letter-spacing: -0.04em; }
.ops-readiness-ring span { color: var(--text-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.ops-command-copy h2 { margin: 5px 0 7px; font-size: 22px; }
.ops-command-copy p { margin: 0; color: var(--text-secondary); font-size: 11px; }
.ops-command-metrics { display: flex; gap: 8px; }
.ops-command-metrics button { min-width: 84px; border: 1px solid var(--border); border-radius: 11px; background: rgba(16, 18, 20, .45); padding: 12px 14px; cursor: pointer; }
.ops-command-metrics button:hover, .ops-command-metrics button.active { border-color: rgba(215, 172, 97, .45); background: rgba(215, 172, 97, .08); }
.ops-command-metrics strong, .ops-command-metrics span { display: block; }
.ops-command-metrics strong { font-size: 20px; }
.ops-command-metrics span { margin-top: 4px; color: var(--text-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.ops-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .6fr); gap: 14px; }
.ops-side-stack { display: flex; flex-direction: column; gap: 14px; }
.ops-readiness-panel { overflow: hidden; }
.ops-toolbar-header { min-height: 74px; }
.ops-window-control { display: flex; gap: 4px; border: 1px solid var(--border); border-radius: 9px; padding: 3px; background: var(--background); }
.ops-window-control button { border: 0; border-radius: 6px; background: transparent; padding: 6px 9px; color: var(--text-muted); font-size: 9px; cursor: pointer; }
.ops-window-control button.active { background: var(--surface-soft); color: var(--accent-strong); }
.ops-filter-row { display: grid; grid-template-columns: 1fr 180px 130px; gap: 8px; border-bottom: 1px solid var(--border); padding: 12px 16px; }
.ops-filter-row input, .ops-filter-row select { min-height: 38px; border: 1px solid var(--border); border-radius: 9px; outline: 0; background: var(--surface); padding: 0 11px; color: var(--text-primary); font-size: 10px; }
.ops-filter-row input:focus, .ops-filter-row select:focus { border-color: rgba(215, 172, 97, .5); }
.ops-table-row { display: grid; grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .75fr) minmax(190px, .9fr) minmax(145px, .7fr) 18px; align-items: center; gap: 12px; min-height: 76px; border-bottom: 1px solid var(--border); padding: 0 16px; color: var(--text-secondary); text-decoration: none; font-size: 9px; }
.ops-table-row:not(.ops-table-head):hover { background: rgba(255, 255, 255, .018); }
.ops-table-head { min-height: 38px; background: rgba(255, 255, 255, .014); color: var(--text-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.ops-table-row.readiness-blocked { box-shadow: inset 3px 0 var(--danger); }
.ops-table-row.readiness-attention { box-shadow: inset 3px 0 var(--warning); }
.ops-table-row.readiness-ready { box-shadow: inset 3px 0 var(--success); }
.ops-date-cell, .readiness-status-cell { display: flex; flex-direction: column; gap: 5px; }
.ops-date-cell strong { color: var(--text-primary); font-size: 11px; }
.ops-date-cell small, .readiness-status-cell small { color: var(--text-muted); font-size: 8px; }
.readiness-checks { display: flex; flex-wrap: wrap; gap: 5px; }
.readiness-check { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--border); border-radius: 6px; padding: 4px 6px; font-size: 7px; font-weight: 800; letter-spacing: .05em; }
.readiness-check > span { font-size: 9px; }
.readiness-check.ok { border-color: rgba(113, 201, 154, .28); color: var(--success); background: rgba(113, 201, 154, .07); }
.readiness-check.warning { border-color: rgba(228, 183, 104, .28); color: var(--warning); background: rgba(228, 183, 104, .07); }
.readiness-check.blocked { border-color: rgba(222, 117, 111, .32); color: var(--danger); background: rgba(222, 117, 111, .08); }
.readiness-badge { display: inline-flex; width: fit-content; border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.readiness-badge.ready { color: var(--success); border-color: rgba(113, 201, 154, .3); }
.readiness-badge.attention { color: var(--warning); border-color: rgba(228, 183, 104, .3); }
.readiness-badge.blocked { color: var(--danger); border-color: rgba(222, 117, 111, .34); }
.assignment-pulse-list { padding: 8px 14px 14px; }
.assignment-pulse { display: flex; align-items: center; justify-content: space-between; min-height: 62px; border-bottom: 1px solid var(--border); }
.assignment-pulse:last-child { border-bottom: 0; }
.assignment-pulse > div:first-child { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.assignment-pulse strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.assignment-pulse small { color: var(--text-muted); font-size: 8px; }
.movement-chips { display: flex; gap: 5px; }
.movement-chips span { min-width: 30px; border-radius: 7px; padding: 5px 7px; font-size: 9px; font-weight: 800; text-align: center; }
.join-chip { background: rgba(113, 201, 154, .1); color: var(--success); }
.leave-chip { background: rgba(222, 117, 111, .1); color: var(--danger); }
.ops-quick-actions { display: flex; flex-direction: column; gap: 7px; padding: 14px; }
.ops-quick-actions button { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; min-height: 55px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 9px; text-align: left; cursor: pointer; }
.ops-quick-actions button:hover { border-color: var(--border-light); background: var(--surface-soft); }
.ops-quick-actions button > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 8px; background: rgba(215, 172, 97, .09); color: var(--accent); }
.ops-quick-actions button div { display: flex; flex-direction: column; gap: 4px; }
.ops-quick-actions strong { font-size: 9px; }
.ops-quick-actions small { color: var(--text-muted); font-size: 8px; }
@media (max-width: 1180px) { .ops-layout { grid-template-columns: 1fr; } .ops-side-stack { display: grid; grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .ops-command-strip { grid-template-columns: auto 1fr; } .ops-command-metrics { grid-column: 1 / -1; } .ops-table-row { grid-template-columns: minmax(190px, 1.2fr) minmax(130px, .7fr) minmax(170px, .9fr) minmax(130px, .7fr) 16px; } }
@media (max-width: 700px) { .ops-command-strip { grid-template-columns: 1fr; } .ops-readiness-ring { width: 78px; height: 78px; } .ops-command-metrics { width: 100%; } .ops-command-metrics button { flex: 1; min-width: 0; } .ops-filter-row { grid-template-columns: 1fr; } .ops-table-head { display: none; } .ops-table-row { grid-template-columns: 1fr auto; padding-block: 14px; } .ops-table-row > span:nth-child(2), .ops-table-row > span:nth-child(3) { grid-column: 1 / -1; } .ops-table-row > span:nth-child(4) { grid-column: 1; } .ops-table-row > span:last-child { grid-column: 2; grid-row: 1; } .ops-side-stack { grid-template-columns: 1fr; } }

/* Manual action register upgrade */
.task-filter-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) repeat(5, minmax(130px, auto)) auto auto auto;
    gap: 10px;
    align-items: center;
}

.task-filter-toolbar select {
    min-width: 0;
}

.task-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 10px;
    color: var(--text-muted);
    font-size: 9px;
}

.task-links a {
    color: var(--accent);
    text-decoration: none;
}

.tasks-empty-panel {
    margin-top: 14px;
    min-height: 320px;
    display: grid;
    place-items: center;
}

@media (max-width: 1380px) {
    .task-filter-toolbar {
        grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(135px, 1fr));
    }
}

@media (max-width: 820px) {
    .task-filter-toolbar {
        grid-template-columns: 1fr 1fr;
    }

    .task-filter-toolbar .filter-search {
        grid-column: 1 / -1;
    }
}

/* Secure access */
.login-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 70% 15%,rgba(215,172,97,.12),transparent 35%),#101214;color:var(--text-primary)}
.login-card{width:min(460px,100%);border:1px solid var(--border-light);border-radius:20px;background:linear-gradient(145deg,rgba(29,32,36,.98),rgba(20,22,24,.98));padding:34px;box-shadow:0 28px 90px rgba(0,0,0,.45)}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:34px}.brand-mark.large{width:50px;height:50px}.login-brand>div:last-child{display:flex;flex-direction:column}.login-brand strong{letter-spacing:.18em}.login-brand span{color:var(--accent);font-size:10px;letter-spacing:.28em;margin-top:4px}
.login-copy h1{font-size:34px;margin:8px 0}.login-copy p{color:var(--text-secondary);font-size:12px;line-height:1.6;margin:0 0 24px}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:7px;color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.06em}.login-form input{height:44px;border:1px solid var(--border-light);border-radius:10px;background:#121416;color:var(--text-primary);padding:0 13px;outline:0}.login-form input:focus{border-color:rgba(215,172,97,.65);box-shadow:0 0 0 3px rgba(215,172,97,.08)}.login-submit{width:100%;justify-content:center;height:44px}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-error{border:1px solid rgba(222,117,111,.35);background:rgba(222,117,111,.08);color:#ef9690;border-radius:9px;padding:10px;font-size:10px}.login-help{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);display:grid;gap:5px;color:var(--text-secondary);font-size:10px}.login-help strong{color:var(--text-primary)}.login-help small{color:var(--danger);margin-top:5px}.logout-button{border:0;background:transparent;cursor:pointer;color:var(--text-muted);font-size:16px}.logout-button:hover{color:var(--accent)}

/* User management */
.user-management-grid{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(620px,1.6fr);gap:14px}.user-form{display:grid;gap:14px;padding:20px}.user-form label{display:grid;gap:7px;color:var(--text-secondary);font-size:10px;font-weight:700}.user-form input,.user-form select,.user-row select{height:40px;border:1px solid var(--border-light);border-radius:9px;background:#121416;color:var(--text-primary);padding:0 11px;outline:0}.user-form input:focus,.user-form select:focus,.user-row select:focus{border-color:rgba(215,172,97,.58);box-shadow:0 0 0 3px rgba(215,172,97,.07)}.form-hint{margin:0;color:var(--text-muted);font-size:9px;line-height:1.5}.users-panel{overflow:hidden}.user-table{width:100%}.user-row{display:grid;grid-template-columns:minmax(180px,1.25fr) 145px 100px minmax(170px,1fr) 135px;gap:12px;align-items:center;min-height:68px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:10px}.user-row:last-child{border-bottom:0}.user-row>span{display:flex;min-width:0;flex-direction:column;gap:4px}.user-row strong{color:var(--text-primary)}.user-row small{color:var(--text-muted);font-size:8px}.user-header{min-height:38px;background:rgba(255,255,255,.015);color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-toggle{border:1px solid var(--border-light);border-radius:999px;background:transparent;padding:6px 10px;font-size:8px;font-weight:800;cursor:pointer}.status-toggle.active{color:var(--success);border-color:rgba(113,201,154,.3)}.status-toggle.inactive{color:var(--danger);border-color:rgba(222,117,111,.3)}.compact-button{min-height:32px;padding:0 10px;font-size:8px}.inline-link-button{display:inline-flex;width:max-content;text-decoration:none}.empty-state{padding:60px;text-align:center;color:var(--text-secondary)}
@media(max-width:1100px){.user-management-grid{grid-template-columns:1fr}.user-row{grid-template-columns:minmax(180px,1.2fr) 130px 90px 150px 125px}}
@media(max-width:760px){.user-row{grid-template-columns:1fr 120px 90px}.user-row>span:nth-child(4),.user-row>span:nth-child(5){display:none}.user-header>span:nth-child(4),.user-header>span:nth-child(5){display:none}}

/* Excel Import Center */
.import-toolbar { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.import-security-note { color:var(--text-muted); font-size:11px; }
.global-error.standalone { margin:0 0 14px; }
.import-intro { padding:54px 28px; text-align:center; margin-bottom:14px; }
.import-intro h2 { margin:14px 0 8px; }
.import-intro p { max-width:720px; margin:0 auto; color:var(--text-secondary); line-height:1.7; }
.import-drop-icon { width:56px; height:56px; display:grid; place-items:center; margin:auto; border:1px solid rgba(215,172,97,.35); border-radius:16px; color:var(--accent); font-size:26px; background:rgba(215,172,97,.08); }
.import-flow { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:24px; }
.import-flow span { border:1px solid var(--border); border-radius:999px; padding:7px 11px; color:var(--text-muted); font-size:9px; }
.import-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.import-kpi-grid article { min-height:112px; border:1px solid var(--border); border-radius:14px; background:var(--surface); padding:17px; }
.import-kpi-grid article.attention { border-color:rgba(222,117,111,.35); }
.import-kpi-grid span { color:var(--text-muted); font-size:9px; font-weight:800; letter-spacing:.1em; }
.import-kpi-grid strong { display:block; margin-top:13px; font-size:26px; }
.import-kpi-grid small { display:block; margin-top:5px; color:var(--text-muted); }
.import-preview-panel,.import-history-panel { margin-bottom:14px; overflow:hidden; }
.import-person-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:14px; }
.import-person-card { display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:10px; min-height:58px; border:1px solid var(--border); border-radius:11px; padding:9px 11px; background:var(--surface); cursor:pointer; }
.import-person-card.selected { border-color:rgba(215,172,97,.32); background:rgba(215,172,97,.035); }
.import-person-card>span:nth-of-type(2) { display:flex; flex-direction:column; }
.import-person-card strong { font-size:10px; }
.import-person-card small { margin-top:4px; color:var(--text-muted); font-size:8px; }
.match-badge { border-radius:999px; padding:5px 8px; font-size:8px; font-weight:700; white-space:nowrap; }
.match-badge.existing { color:var(--success); background:rgba(113,201,154,.09); border:1px solid rgba(113,201,154,.22); }
.match-badge.new { color:var(--accent); background:rgba(215,172,97,.08); border:1px solid rgba(215,172,97,.22); }
.import-events-header { flex-wrap:wrap; }
.import-filters { display:flex; gap:5px; }
.import-filters button { border:1px solid var(--border); border-radius:999px; background:transparent; color:var(--text-muted); padding:5px 9px; font-size:8px; text-transform:capitalize; cursor:pointer; }
.import-filters button.active { color:var(--accent); border-color:rgba(215,172,97,.35); background:rgba(215,172,97,.08); }
.import-event-table { overflow-x:auto; }
.import-event-row { display:grid; grid-template-columns:28px minmax(150px,1.2fr) 105px 105px 80px minmax(170px,1.25fr) minmax(150px,1fr); gap:10px; align-items:center; min-width:920px; min-height:54px; padding:0 18px; border-bottom:1px solid var(--border); color:var(--text-secondary); font-size:9px; }
.import-event-row.header { min-height:36px; background:rgba(255,255,255,.014); color:var(--text-muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.import-event-row.duplicate { opacity:.68; }
.import-event-row.invalid { background:rgba(222,117,111,.025); }
.import-event-row strong { color:var(--text-primary); }
.result-pill { display:inline-block; border-radius:999px; padding:5px 8px; font-style:normal; font-size:8px; }
.result-pill.ready { color:var(--success); border:1px solid rgba(113,201,154,.25); }
.result-pill.duplicate { color:var(--travel); border:1px solid rgba(139,168,216,.25); }
.result-pill.invalid { color:var(--danger); border:1px solid rgba(222,117,111,.25); white-space:normal; line-height:1.35; }
.import-commit-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 18px; background:rgba(255,255,255,.015); }
.import-commit-bar>div { display:flex; align-items:center; gap:10px; }
.import-commit-bar strong { font-size:11px; }
.import-commit-bar span { color:var(--text-muted); font-size:9px; }
.secondary-button { min-height:38px; border:1px solid var(--border); border-radius:9px; background:transparent; padding:0 14px; color:var(--text-secondary); cursor:pointer; }
.import-history-list { padding:0 14px 14px; }
.import-history-row { display:grid; grid-template-columns:92px minmax(220px,1fr) 90px 90px 110px; align-items:center; gap:14px; min-height:68px; border-bottom:1px solid var(--border); }
.import-history-row>div { display:flex; flex-direction:column; }
.import-history-row strong { font-size:10px; }
.import-history-row small,.rollback-note { margin-top:4px; color:var(--text-muted); font-size:8px; }
.history-state { justify-self:start; border-radius:999px; padding:5px 8px; font-size:8px; font-weight:800; }
.history-state.completed { color:var(--success); border:1px solid rgba(113,201,154,.24); }
.history-state.rolled-back { color:var(--text-muted); border:1px solid var(--border); }
.danger-outline-button { border:1px solid rgba(222,117,111,.35); border-radius:9px; background:transparent; color:var(--danger); min-height:34px; padding:0 11px; cursor:pointer; }
.import-empty-history { padding:30px; text-align:center; color:var(--text-muted); }
.import-back-link { display:inline-block; margin:4px 0 20px; }
@media(max-width:1000px){.import-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-person-grid{grid-template-columns:1fr}.import-history-row{grid-template-columns:80px 1fr 70px 70px 90px}}
@media(max-width:650px){.import-toolbar,.import-commit-bar{align-items:flex-start;flex-direction:column}.import-kpi-grid{grid-template-columns:1fr}.import-history-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.import-history-row .history-state{order:-1}}

/* Backup and Recovery Center */
.backup-back-link{display:inline-block;margin:0 0 18px}.backup-loading{padding:42px;text-align:center;color:var(--text-muted)}
.backup-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.backup-health-card{min-height:128px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,var(--surface-elevated),var(--surface));padding:18px}.backup-health-card.healthy{border-color:rgba(113,201,154,.28)}.backup-health-card.critical{border-color:rgba(222,117,111,.4)}.backup-health-card>span{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.1em}.backup-health-card strong{display:block;margin-top:18px;font-size:25px}.backup-health-card.healthy strong{color:var(--success)}.backup-health-card.critical strong{color:var(--danger)}.backup-health-card small{display:block;margin-top:7px;color:var(--text-muted)}
.backup-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.backup-action-card{overflow:hidden}.backup-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(215,172,97,.25);border-radius:10px;color:var(--accent);background:rgba(215,172,97,.06)}.backup-reason{display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:10px;margin:16px 0}.backup-reason input{height:40px;border:1px solid var(--border);border-radius:9px;background:var(--background);color:var(--text-primary);padding:0 11px;outline:none}.backup-reason input:focus{border-color:rgba(215,172,97,.45)}
.backup-list-panel{overflow:hidden;margin-bottom:14px}.backup-list{overflow-x:auto}.backup-row{display:grid;grid-template-columns:120px minmax(230px,1.5fr) 130px 80px 105px 180px;gap:12px;align-items:center;min-width:940px;min-height:68px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:9px}.backup-row>span{min-width:0}.backup-row>span:first-child,.backup-row>span:nth-child(2){display:flex;flex-direction:column}.backup-row strong{color:var(--text-primary);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-row small{margin-top:4px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-header{min-height:36px;background:rgba(255,255,255,.014);color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em}.backup-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.backup-actions a{text-decoration:none}.backup-warning{display:flex;align-items:flex-start;gap:14px;border:1px solid rgba(228,183,104,.25);border-radius:12px;background:rgba(228,183,104,.045);padding:16px 18px}.backup-warning strong{white-space:nowrap;color:var(--warning);font-size:10px}.backup-warning p{margin:0;color:var(--text-muted);font-size:9px;line-height:1.6}
@media(max-width:1000px){.backup-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-action-grid{grid-template-columns:1fr}}@media(max-width:620px){.backup-health-grid{grid-template-columns:1fr}.backup-warning{flex-direction:column}}

/* Reports and Export Center */
.report-filter-panel{margin-bottom:14px;padding:16px}.report-filter-grid{display:grid;grid-template-columns:150px 150px minmax(190px,1fr) auto;gap:12px;align-items:end}.report-filter-grid label{display:flex;flex-direction:column;gap:7px;color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.05em}.report-filter-grid input,.report-filter-grid select{height:39px;border:1px solid var(--border);border-radius:9px;background:var(--background);color:var(--text-primary);padding:0 10px;outline:none}.report-export-buttons{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:1050px){.report-filter-grid{grid-template-columns:1fr 1fr}.report-export-buttons{grid-column:1/-1;justify-content:flex-start}}@media(max-width:620px){.report-filter-grid{grid-template-columns:1fr}}

/* Compliance & notification command centre */
.three-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.compliance-toolbar { grid-template-columns: minmax(280px, 1fr) 190px 170px auto; }
.compliance-table-wrap { overflow: hidden; margin-top: 14px; }
.compliance-row { display: grid; grid-template-columns: minmax(220px, 1.25fr) 130px minmax(280px, 1.55fr) minmax(150px, .85fr) minmax(130px, .8fr) 24px; gap: 14px; align-items: center; min-height: 78px; padding: 0 20px; border-bottom: 1px solid var(--border); }
.compliance-row:last-child { border-bottom: 0; }
.compliance-head { min-height: 40px; color: var(--text-muted); background: rgba(255,255,255,.015); font-size: 8px; font-weight: 800; letter-spacing: .09em; }
.compliance-row > div { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.readiness-badge { display: inline-flex; width: fit-content; border: 1px solid var(--border-light); border-radius: 999px; padding: 5px 9px; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.readiness-badge.ready { color: var(--success); border-color: rgba(113,201,154,.3); background: rgba(113,201,154,.08); }
.readiness-badge.attention { color: var(--warning); border-color: rgba(228,183,104,.3); background: rgba(228,183,104,.08); }
.readiness-badge.blocked { color: var(--danger); border-color: rgba(222,117,111,.3); background: rgba(222,117,111,.08); }
.score-label { color: var(--text-muted); font-size: 8px; }
.coverage-list { flex-direction: row !important; flex-wrap: wrap; }
.coverage-chip { border: 1px solid var(--border); border-radius: 6px; padding: 4px 7px; color: var(--text-secondary); background: var(--surface); font-size: 7px; font-weight: 800; }
.coverage-chip.valid, .coverage-chip.no-expiry { color: var(--success); border-color: rgba(113,201,154,.22); }
.coverage-chip.warning { color: var(--warning); border-color: rgba(228,183,104,.28); }
.coverage-chip.expired, .coverage-chip.missing { color: var(--danger); border-color: rgba(222,117,111,.3); }
.exposure-copy span { font-size: 9px; }
.danger-text { color: var(--danger); }
.warning-text { color: var(--warning); }
.success-text { color: var(--success); }
.muted-copy { color: var(--text-muted); font-size: 9px; }
.notification-centre { overflow: hidden; margin-top: 14px; }
.notification-centre-row { display: grid; grid-template-columns: 38px minmax(0,1fr) 90px 20px; gap: 14px; align-items: center; min-height: 74px; border-bottom: 1px solid var(--border); padding: 0 20px; color: var(--text-primary); text-decoration: none; }
.notification-centre-row:hover { background: rgba(255,255,255,.018); }
.notification-centre-row:last-child { border-bottom: 0; }
.notification-severity { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: rgba(228,183,104,.1); color: var(--warning); font-weight: 900; }
.notification-centre-row.critical .notification-severity { background: rgba(222,117,111,.12); color: var(--danger); }
.notification-centre-row > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.notification-centre-row small { color: var(--text-muted); font-size: 9px; }
.severity-label { justify-self: end; border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; color: var(--text-muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.severity-label.critical { color: var(--danger); border-color: rgba(222,117,111,.28); }
.severity-label.warning { color: var(--warning); border-color: rgba(228,183,104,.28); }
@media (max-width: 1180px) { .compliance-row { grid-template-columns: minmax(210px,1.2fr) 120px minmax(230px,1.3fr) 150px 24px; } .compliance-row > :nth-child(5), .compliance-head > :nth-child(5) { display:none; } }
@media (max-width: 850px) { .three-metrics { grid-template-columns: 1fr; } .compliance-toolbar { grid-template-columns: 1fr; } .compliance-row { grid-template-columns: 1fr auto 20px; padding: 14px 16px; } .compliance-row > :nth-child(3), .compliance-row > :nth-child(4), .compliance-head { display:none; } }

/* Travel, calendar and approval command upgrade */
.header-action-group{display:flex;gap:8px;align-items:center}.travel-command-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto 160px auto;gap:12px;align-items:center}.travel-command-panel{overflow:hidden;margin-top:14px}.travel-command-list{overflow-x:auto}.travel-command-row{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(210px,1fr) minmax(220px,1.1fr) 100px 120px;gap:14px;align-items:center;min-width:960px;min-height:72px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:9px}.travel-command-head{min-height:38px;background:rgba(255,255,255,.014);color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em}.travel-command-row.needs-booking{background:rgba(222,117,111,.025)}.booking-control{display:flex;min-width:0;flex-direction:column;gap:5px}.booking-control strong,.booking-control small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-control small{color:var(--text-muted)}
.approval-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 180px auto;gap:12px;align-items:center}.approval-list{overflow:hidden;margin-top:14px}.approval-row{display:grid;grid-template-columns:minmax(220px,1.2fr) 150px minmax(230px,1.2fr) 90px 180px;gap:14px;align-items:center;min-height:80px;padding:0 20px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:9px}.approval-head{min-height:40px;background:rgba(255,255,255,.014);color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em}.approval-row.past-due{background:rgba(222,117,111,.025)}.approval-person,.approval-row>div{display:flex;min-width:0;flex-direction:column;gap:5px}.approval-person .event-tag{width:max-content}.approval-row strong{color:var(--text-primary)}.approval-row small{color:var(--text-muted)}.approval-state{justify-self:start;border:1px solid var(--border);border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.approval-state.pending{color:var(--warning);border-color:rgba(228,183,104,.28)}.approval-state.late{color:var(--danger);border-color:rgba(222,117,111,.3)}.approval-actions{flex-direction:row!important;align-items:center}.approve-button{min-height:34px;border:1px solid rgba(113,201,154,.35);border-radius:9px;background:rgba(113,201,154,.08);color:var(--success);padding:0 12px;cursor:pointer}.approve-button:disabled{opacity:.5}
.calendar-command-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 180px auto;gap:12px;align-items:center}.calendar-month-controls{display:flex;align-items:center;gap:8px}.calendar-month-controls strong{min-width:170px;text-align:center}.calendar-month-controls button{height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);padding:0 10px;cursor:pointer}.calendar-month-controls .today-button{margin-left:4px;color:var(--accent)}.month-calendar{overflow:hidden;margin-top:14px}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);background:rgba(255,255,255,.014)}.month-weekdays span{padding:10px 12px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.1em}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-day{min-height:132px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px}.month-day:nth-child(7n){border-right:0}.month-day.outside{opacity:.34}.month-day.today{background:rgba(215,172,97,.035);box-shadow:inset 0 0 0 1px rgba(215,172,97,.24)}.month-day-number{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.month-day-number span{font-size:10px;font-weight:800}.month-day-number em{color:var(--accent);font-size:6px;font-style:normal;font-weight:900;letter-spacing:.1em}.month-events{display:flex;flex-direction:column;gap:4px}.month-event{display:flex;min-width:0;align-items:center;gap:5px;border-left:3px solid var(--text-muted);border-radius:4px;background:rgba(255,255,255,.025);padding:4px 5px;color:var(--text-secondary);font-size:7px;text-decoration:none}.month-event strong{font-size:6px}.month-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-event.rotation{border-color:var(--success)}.month-event.leave{border-color:var(--warning)}.month-event.travel{border-color:var(--travel)}.month-event.training{border-color:var(--accent)}.month-event.office{border-color:#9e8bd8}.month-event.unavailable{border-color:var(--danger)}.more-events{color:var(--text-muted);font-size:7px}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;padding:13px 16px}.calendar-legend span{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:8px}.calendar-legend i{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.calendar-legend i.rotation{background:var(--success)}.calendar-legend i.leave{background:var(--warning)}.calendar-legend i.travel{background:var(--travel)}.calendar-legend i.training{background:var(--accent)}.calendar-legend i.office{background:#9e8bd8}.calendar-legend i.unavailable{background:var(--danger)}
@media(max-width:1050px){.travel-command-toolbar,.approval-toolbar,.calendar-command-toolbar{grid-template-columns:1fr 1fr}.travel-command-toolbar .inline-search,.approval-toolbar .inline-search,.calendar-month-controls{grid-column:1/-1}.approval-row{grid-template-columns:minmax(200px,1fr) 140px minmax(200px,1fr) 150px}.approval-row>span:nth-child(4),.approval-head>span:nth-child(4){display:none}.month-day{min-height:110px}}
@media(max-width:720px){.header-action-group{align-items:stretch;flex-direction:column}.travel-command-toolbar,.approval-toolbar,.calendar-command-toolbar{grid-template-columns:1fr}.month-calendar{overflow-x:auto}.month-weekdays,.month-grid{min-width:840px}.approval-row{grid-template-columns:1fr;padding:14px 16px;gap:8px}.approval-head{display:none}.approval-actions{justify-content:flex-start}.three-metrics{grid-template-columns:1fr}}

/* Command Centre big-big upgrade */
.command-filterbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;margin-bottom:14px}.command-tabs{display:flex;gap:4px;flex-wrap:wrap}.command-tabs button{border:0;border-radius:8px;background:transparent;color:var(--text-muted);padding:9px 12px;font-size:8px;font-weight:800;cursor:pointer}.command-tabs button.active{background:rgba(215,172,97,.12);color:var(--accent)}.command-controls{display:flex;gap:8px}.command-controls input,.command-controls select{height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);padding:0 10px;font-size:9px}.command-search{min-width:240px}.command-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}.command-kpi{min-height:112px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));padding:15px}.command-kpi>span{color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.1em}.command-kpi strong{display:block;margin:15px 0 6px;color:var(--text-primary);font-size:25px}.command-kpi small{color:var(--text-muted);font-size:8px}.command-kpi.danger strong{color:var(--danger)}.command-kpi.warning strong{color:var(--warning)}.command-kpi.success strong{color:var(--success)}.command-kpi.accent strong{color:var(--accent)}.command-overview-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.command-risk-panel,.command-priority-panel{padding:0 18px 16px}.risk-line{display:grid;grid-template-columns:minmax(180px,1fr) 1.2fr;gap:20px;align-items:center;padding:15px 0;border-top:1px solid var(--border)}.risk-line>div:first-child{display:flex;flex-direction:column;gap:4px}.risk-line span{color:var(--text-muted);font-size:8px}.risk-score{display:grid;grid-template-columns:1fr 40px;gap:10px;align-items:center}.risk-score>div{height:6px;border-radius:999px;background:rgba(255,255,255,.04);overflow:hidden}.risk-score i{display:block;height:100%;background:linear-gradient(90deg,var(--danger),var(--warning),var(--success));border-radius:999px}.risk-score b{font-size:9px}.command-priority{display:grid;grid-template-columns:32px 1fr 16px;gap:10px;align-items:center;min-height:58px;border-top:1px solid var(--border);color:var(--text-secondary);text-decoration:none}.command-priority-mark{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:rgba(228,183,104,.1);color:var(--warning);font-weight:900}.command-priority.critical .command-priority-mark{background:rgba(222,117,111,.12);color:var(--danger)}.command-priority>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.command-priority small{color:var(--text-muted);font-size:8px}.command-table-panel{overflow:hidden}.command-table-scroll{overflow-x:auto}.matrix-row{display:grid;grid-template-columns:minmax(200px,1.2fr) 145px 100px 105px 145px 75px 65px 55px 90px;gap:12px;align-items:center;min-width:1050px;min-height:66px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:8px;text-decoration:none}.matrix-head{min-height:38px;background:rgba(255,255,255,.015);color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.08em}.matrix-row>span{display:flex;align-items:center;gap:6px;min-width:0}.matrix-row>span:first-child{flex-direction:column;align-items:flex-start;gap:3px}.matrix-row small{color:var(--text-muted);font-size:7px}.matrix-row em{width:64px;height:5px;background:rgba(255,255,255,.05);border-radius:999px;overflow:hidden}.matrix-row em i{display:block;height:100%;background:var(--accent)}.readiness-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.readiness-dot.ready{background:var(--success)}.readiness-dot.attention{background:var(--warning)}.readiness-dot.blocked{background:var(--danger)}.gap-list,.action-board{overflow:hidden}.gap-row{display:grid;grid-template-columns:75px minmax(190px,1fr) minmax(220px,1.2fr) minmax(260px,1.4fr) 16px;gap:14px;align-items:center;min-height:76px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);text-decoration:none;font-size:8px}.gap-row>span:nth-child(2),.gap-row>span:nth-child(3){display:flex;flex-direction:column;gap:4px}.gap-row small{color:var(--text-muted);font-size:7px}.gap-severity{width:max-content;border:1px solid var(--border);border-radius:999px;padding:5px 8px;font-weight:800}.gap-row.critical .gap-severity{color:var(--danger);border-color:rgba(222,117,111,.3)}.gap-row.warning .gap-severity{color:var(--warning);border-color:rgba(228,183,104,.3)}.action-row{display:grid;grid-template-columns:85px minmax(230px,1.4fr) minmax(150px,.9fr) 90px 100px 16px;gap:14px;align-items:center;min-height:66px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:8px;text-decoration:none}.action-head{min-height:38px;background:rgba(255,255,255,.015);color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.08em}.action-row>span:first-child{display:flex;align-items:center;gap:7px}.action-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.action-row small{color:var(--text-muted);font-size:7px}.action-row i{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.action-row.critical i{background:var(--danger)}.action-row.warning i{background:var(--warning)}
@media(max-width:1250px){.command-kpis{grid-template-columns:repeat(3,1fr)}.command-filterbar{align-items:stretch;flex-direction:column}.command-controls{justify-content:flex-end}}@media(max-width:850px){.command-kpis{grid-template-columns:repeat(2,1fr)}.command-overview-grid{grid-template-columns:1fr}.command-controls{display:grid;grid-template-columns:1fr 1fr}.command-search{grid-column:1/-1;min-width:0}.gap-row{grid-template-columns:70px 1fr 16px;padding:12px 14px}.gap-row>span:nth-child(3),.gap-row>span:nth-child(4){display:none}.action-board{overflow-x:auto}.action-row{min-width:850px}}@media(max-width:560px){.command-kpis{grid-template-columns:1fr}.command-tabs{display:grid;grid-template-columns:1fr 1fr}.command-controls{grid-template-columns:1fr}.command-search{grid-column:auto}}


/* Stability hardening */
.fatal-error-screen{min-height:100vh;display:grid;place-items:center;padding:32px;background:#071018;color:#eef7fb}.fatal-error-card{width:min(560px,100%);padding:36px;border:1px solid rgba(114,198,220,.25);border-radius:20px;background:rgba(12,27,39,.96);box-shadow:0 28px 80px rgba(0,0,0,.45);text-align:center}.fatal-error-card p{color:#9eb2bf;margin:14px 0 24px}.fatal-error-card .primary-button{min-width:180px}

/* Document storage & onboarding */
.onboarding-layout{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:18px;align-items:start}.onboarding-roster,.onboarding-detail{padding:18px}.onboarding-person-list{display:grid;gap:8px;margin-top:14px;max-height:68vh;overflow:auto}.onboarding-person{border:1px solid var(--border);background:transparent;color:inherit;border-radius:12px;padding:12px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px;cursor:pointer}.onboarding-person:hover,.onboarding-person.active{border-color:var(--accent);background:rgba(76,157,255,.08)}.onboarding-person small{display:block;color:var(--muted);margin-top:3px}.readiness-chip{font-size:12px;font-weight:800;padding:4px 8px;border-radius:999px;align-self:start}.readiness-chip.ready{background:rgba(55,199,132,.15);color:#59d99b}.readiness-chip.progress{background:rgba(255,183,77,.14);color:#ffc065}.readiness-chip.blocked{background:rgba(255,91,107,.14);color:#ff7b88}.progress-track{grid-column:1/-1;height:4px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--accent)}.onboarding-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:16px}.onboarding-detail-head h2{margin:4px 0}.onboarding-detail-head p{color:var(--muted);margin:0}.onboarding-score{text-align:right}.onboarding-score strong{font-size:34px;display:block}.onboarding-score span{color:var(--muted)}.onboarding-toolbar{margin:16px 0}.onboarding-checklist{display:grid;gap:9px}.onboarding-step{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:12px}.onboarding-step.completed{opacity:.72}.step-check{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--accent);font-size:18px}.step-main small{display:block;color:var(--muted);margin:3px 0 7px}.step-main input{width:100%;background:transparent;border:0;border-bottom:1px solid transparent;color:inherit;padding:4px 0}.step-main input:focus{outline:0;border-bottom-color:var(--accent)}.step-controls{display:flex;gap:10px;align-items:center}.step-controls label{font-size:12px;color:var(--muted);white-space:nowrap}.onboarding-loading{padding:30px}.document-file-button{white-space:nowrap}@media(max-width:1000px){.onboarding-layout{grid-template-columns:1fr}.onboarding-person-list{max-height:310px}.onboarding-step{grid-template-columns:36px 1fr}.step-controls{grid-column:2;justify-content:flex-start}}@media(max-width:650px){.onboarding-detail-head{align-items:flex-start}.onboarding-score strong{font-size:28px}.onboarding-step{grid-template-columns:32px 1fr}.step-controls{flex-wrap:wrap}}
.document-files-panel{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px;margin-top:8px}.document-files-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.document-file-list{display:grid;gap:6px;margin-top:8px}.document-file-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:center;font-size:12px}.document-file-row a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-file-row span,.document-files-panel>small{color:var(--muted)}.inline-error{color:#ff7b88!important;display:block;margin-top:6px}.secondary-button.compact{padding:6px 9px;font-size:12px}@media(max-width:650px){.document-file-row{grid-template-columns:1fr}.document-file-row span{font-size:11px}}

/* Manning, competence and crew-change centre */
.manning-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.manning-kpis article{min-height:112px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,var(--surface-elevated),var(--surface));padding:18px}.manning-kpis article.attention{border-color:rgba(222,117,111,.35)}.manning-kpis span{color:var(--text-muted);font-size:8px;font-weight:900;letter-spacing:.1em}.manning-kpis strong{display:block;margin-top:15px;font-size:28px}.manning-kpis small{display:block;margin-top:5px;color:var(--text-muted)}
.manning-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;margin-bottom:14px}.manning-tabs{display:flex;gap:6px;flex-wrap:wrap}.manning-tabs button{border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-muted);min-height:36px;padding:0 12px;cursor:pointer;font-size:9px}.manning-tabs button.active{border-color:rgba(215,172,97,.4);background:rgba(215,172,97,.08);color:var(--accent)}.manning-controls{display:flex;gap:10px}.manning-controls label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.08em}.manning-controls input{height:35px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);padding:0 9px;min-width:150px}.manning-table-wrap{overflow:hidden}.manning-table{overflow-x:auto}.manning-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 90px 70px minmax(170px,1.2fr) minmax(150px,1fr) 55px 80px;gap:12px;align-items:center;min-width:900px;min-height:68px;padding:0 18px;border-bottom:1px solid var(--border);font-size:9px;color:var(--text-secondary)}.manning-row.head{min-height:38px;background:rgba(255,255,255,.014);color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.08em}.manning-row.gap{background:rgba(222,117,111,.025)}.manning-row>span{min-width:0}.manning-row>span:first-child,.manning-row>span:nth-child(4),.manning-row>span:nth-child(5){display:flex;flex-direction:column;gap:4px}.manning-row small{color:var(--text-muted);font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manning-row input{width:55px;height:32px;border:1px solid var(--border);border-radius:7px;background:var(--background);color:var(--text-primary);padding:0 7px}.manning-row em,.crewchange-row em{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:5px 8px;font-style:normal;font-size:7px;font-weight:900}.manning-row em.ready,.crewchange-row em.ready{color:var(--success);border-color:rgba(113,201,154,.28)}.manning-row em.blocked,.crewchange-row em.blocked{color:var(--danger);border-color:rgba(222,117,111,.3)}
.competence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.competence-card{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid var(--border);border-radius:12px;padding:14px;color:var(--text-primary);text-decoration:none}.competence-card.attention{border-color:rgba(228,183,104,.3)}.competence-card small{display:block;margin-top:4px;color:var(--text-muted);font-size:8px}.competence-card b{font-size:17px}.competence-card p{grid-column:1/-1;margin:0;color:var(--text-muted);font-size:8px;line-height:1.5}.competence-progress{grid-column:1/-1;height:5px;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}.competence-progress span{display:block;height:100%;background:var(--accent)}
.crewchange-row{display:grid;grid-template-columns:minmax(190px,1.3fr) 105px 105px minmax(130px,1fr) minmax(130px,1fr) 105px;gap:12px;align-items:center;min-width:900px;min-height:66px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:8px;text-decoration:none}.crewchange-row.head{min-height:38px;background:rgba(255,255,255,.014);color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.08em}.crewchange-row>span:first-child{display:flex;flex-direction:column;gap:4px}.crewchange-row small{color:var(--text-muted);font-size:7px}.crewchange-row .ok{color:var(--success)}.crewchange-row .missing{color:var(--danger)}.manning-empty{padding:38px;text-align:center;color:var(--text-muted)}
.mobilisation-layout{display:grid;grid-template-columns:310px 1fr;gap:14px}.mobilisation-roster{padding-bottom:12px;overflow:hidden}.mobilisation-roster>button{display:flex;flex-direction:column;width:calc(100% - 24px);margin:7px 12px 0;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text-primary);padding:11px;text-align:left;cursor:pointer}.mobilisation-roster>button.active{border-color:var(--accent);background:rgba(215,172,97,.06)}.mobilisation-roster small{margin-top:4px;color:var(--text-muted);font-size:8px}.mobilisation-pack{overflow:hidden}.pack-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:14px}.pack-summary article{border:1px solid var(--border);border-radius:10px;padding:12px}.pack-summary span{display:block;color:var(--text-muted);font-size:7px}.pack-summary strong{display:block;margin-top:8px}.mobilisation-pack h3{margin:18px 18px 8px;font-size:10px}.pack-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1.2fr) 125px 110px;gap:12px;align-items:center;min-height:48px;padding:0 18px;border-top:1px solid var(--border);font-size:8px;color:var(--text-secondary)}.pack-row em{font-style:normal;text-transform:capitalize}.pack-row em.expired{color:var(--danger)}.pack-row em.warning{color:var(--warning)}.pack-row em.valid{color:var(--success)}
.audit-list{overflow-x:auto}.audit-row{display:grid;grid-template-columns:155px 150px minmax(280px,1fr) 120px;gap:14px;align-items:center;min-width:800px;min-height:60px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:8px}.audit-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.audit-row small{color:var(--text-muted);font-size:7px}
@media(max-width:1100px){.manning-kpis{grid-template-columns:repeat(2,1fr)}.manning-toolbar{align-items:stretch;flex-direction:column}.manning-controls{justify-content:flex-end}.competence-grid{grid-template-columns:repeat(2,1fr)}.mobilisation-layout{grid-template-columns:1fr}.pack-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.manning-kpis,.competence-grid,.pack-summary{grid-template-columns:1fr}.manning-controls{display:grid;grid-template-columns:1fr}.manning-controls input{width:100%}.pack-row{grid-template-columns:1fr;padding:10px 14px}.manning-tabs{display:grid;grid-template-columns:1fr 1fr}.manning-tabs button:last-child{grid-column:1/-1}}
/* Multi-vessel portfolio upgrade */
.portfolio-actions{display:flex;justify-content:flex-end;gap:10px;margin:-54px 0 22px}.portfolio-kpis,.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.portfolio-kpis article,.project-metrics article{background:linear-gradient(145deg,#101b2c,#0c1523);border:1px solid #24344a;border-radius:14px;padding:18px}.portfolio-kpis span,.project-metrics span{display:block;color:#7890ad;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.portfolio-kpis strong,.project-metrics strong{display:block;font-size:28px;margin-top:8px}.portfolio-kpis small{color:#8799ae}.attention{border-color:#714b2e!important}.portfolio-layout{display:grid;grid-template-columns:310px 1fr;gap:18px}.portfolio-list{padding:0;overflow:hidden}.portfolio-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:16px 18px;border:0;border-top:1px solid #1d2b3e;background:transparent;color:#dce8f5}.portfolio-list>button:hover,.portfolio-list>button.active{background:#12243a}.portfolio-list button span{display:grid;gap:4px}.portfolio-list small{color:#7d91aa}.portfolio-list em{font-style:normal;font-size:10px;text-transform:uppercase;border:1px solid #35506e;border-radius:99px;padding:5px 8px}.portfolio-list em.active{color:#62d9aa}.portfolio-list em.mobilising{color:#f0b35f}.portfolio-detail{display:grid;gap:16px}.project-hero{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(120deg,#13253b,#0d1725)}.project-hero h2{margin:6px 0;font-size:28px}.project-hero p{margin:0;color:#8ba0b8}.project-hero>div>span{color:#66d4c2;font-size:11px;letter-spacing:.14em}.project-dates{text-align:right}.project-dates span,.project-dates small{display:block;color:#7f93aa}.project-dates strong{display:block;margin:8px 0}.project-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.workspace-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}.workspace-links a{padding:14px;border:1px solid #263a52;border-radius:10px;background:#0d1928;color:#bdd1e8;text-decoration:none}.workspace-links a:hover{background:#14283e}.project-form{margin:18px 0;padding:20px}.project-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.project-form-grid label{display:grid;gap:6px;color:#8498af;font-size:11px}.project-form-grid input,.project-form-grid select,.project-form-grid textarea,.access-editor input,.access-editor select{background:#09131f;border:1px solid #2a3b51;color:#e0ecf8;padding:10px;border-radius:8px}.project-form-grid .wide{grid-column:1/-1}.project-form-grid textarea{min-height:72px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.access-editor{display:flex;gap:10px;padding:16px}.access-list{padding:0 16px 16px}.access-list>div{display:grid;grid-template-columns:1fr 120px auto;gap:12px;padding:11px 0;border-top:1px solid #1d2c3e}.access-list button{background:transparent;border:0;color:#f18c8c}.access-list p{color:#7d91aa}@media(max-width:1100px){.portfolio-layout{grid-template-columns:1fr}.portfolio-kpis,.project-metrics{grid-template-columns:repeat(2,1fr)}.project-form-grid{grid-template-columns:repeat(2,1fr)}}

.project-switcher{margin-left:auto;display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(8,16,29,.72)}.project-switcher span{font-size:10px;letter-spacing:.14em;color:#738198}.project-switcher select{min-width:210px;border:0;background:transparent;color:#e8eef8;font-weight:700;outline:none}.project-switcher option{color:#111827}.topbar{gap:14px}.global-search-wrap{flex:1}


/* Production readiness */
.health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.health-summary{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.health-summary span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.health-summary strong{font-size:25px}.health-summary small{color:var(--muted)}.health-summary.healthy{border-color:rgba(63,185,127,.35)}.health-summary.warning{border-color:rgba(230,173,63,.45)}.health-summary.critical{border-color:rgba(228,86,86,.5)}.health-check-list{display:flex;flex-direction:column}.health-check-row{display:grid;grid-template-columns:16px minmax(0,1fr) 110px 130px;align-items:center;gap:14px;padding:15px 18px;border-top:1px solid var(--line)}.health-check-row div{display:flex;flex-direction:column;gap:4px}.health-check-row small{color:var(--muted)}.health-light{width:10px;height:10px;border-radius:50%;background:#8090a0}.health-light.healthy{background:#3fb97f;box-shadow:0 0 12px rgba(63,185,127,.6)}.health-light.warning{background:#e6ad3f}.health-light.critical{background:#e45656}.system-settings-panel{margin-top:18px}.system-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.system-settings-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}.system-settings-grid input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--text)}.system-toggle{flex-direction:row!important;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.system-toggle input{width:auto}.system-toggle span{display:flex;flex-direction:column;gap:3px}.system-toggle strong{color:var(--text)}.settings-actions{padding:0 18px 18px}@media(max-width:1000px){.health-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.health-summary-grid,.system-settings-grid{grid-template-columns:1fr}.health-check-row{grid-template-columns:16px 1fr}.health-check-row>span:nth-last-child(-n+2){grid-column:2}}

/* Release Candidate 1 — data quality */
.quality-summary-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:16px;margin-bottom:18px}.quality-score,.quality-summary{padding:20px;border:1px solid var(--border-color,#273447);background:var(--panel-bg,#111a27);border-radius:14px;display:flex;flex-direction:column;gap:5px}.quality-score span,.quality-summary span{font-size:11px;letter-spacing:.13em;color:var(--muted,#8997aa)}.quality-score strong,.quality-summary strong{font-size:32px;line-height:1}.quality-score small,.quality-summary small{color:var(--muted,#8997aa)}.quality-score.healthy{box-shadow:inset 4px 0 #39b98a}.quality-score.warning,.quality-summary.warning{box-shadow:inset 4px 0 #e5aa43}.quality-score.critical,.quality-summary.critical{box-shadow:inset 4px 0 #e36464}.quality-panel{overflow:hidden}.quality-actions,.quality-links{display:flex;gap:10px;align-items:center}.quality-filters{display:grid;grid-template-columns:minmax(220px,1fr) 170px 190px;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color,#273447);border-bottom:1px solid var(--border-color,#273447)}.quality-filters input,.quality-filters select{width:100%}.quality-list{display:flex;flex-direction:column}.quality-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border-color,#273447)}.quality-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}.quality-row small{color:var(--muted,#8997aa);white-space:normal}.quality-severity{font-size:11px;font-weight:800;letter-spacing:.06em;text-align:center;border-radius:999px;padding:6px 8px}.quality-severity.critical{background:rgba(227,100,100,.14);color:#ff9999}.quality-severity.warning{background:rgba(229,170,67,.14);color:#efc26f}.quality-severity.review{background:rgba(103,164,223,.14);color:#83baf0}.quality-empty{padding:46px 20px;text-align:center;display:flex;flex-direction:column;gap:7px;color:var(--muted,#8997aa)}.quality-empty strong{color:inherit}@media(max-width:1100px){.quality-summary-grid{grid-template-columns:repeat(2,1fr)}.quality-row{grid-template-columns:90px minmax(0,1fr)}.quality-links{grid-column:2}}@media(max-width:720px){.quality-summary-grid{grid-template-columns:1fr}.quality-filters{grid-template-columns:1fr}.quality-row{grid-template-columns:1fr}.quality-links{grid-column:auto}.quality-severity{width:max-content}}

.backup-preview-modal{max-width:760px}.backup-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px}.backup-preview-grid article,.release-score-panel{background:#101827;border:1px solid #26344d;border-radius:14px;padding:18px}.backup-preview-grid span,.release-score-panel span{display:block;font-size:11px;letter-spacing:.14em;color:#7f96b8}.backup-preview-grid strong{display:block;font-size:28px;margin:8px 0}.backup-preview-grid small{color:#91a0b8}.backup-preview-warning{margin:0 20px 20px;padding:14px;border-radius:10px}.backup-preview-warning.healthy{background:#10241d;color:#91d5b6}.backup-preview-warning.critical{background:#2a1618;color:#ff9ea4}.release-score-panel{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:30px;margin-bottom:18px}.release-score-panel strong{display:block;font-size:42px;margin:6px 0}.release-score-panel small{color:#91a0b8}.release-score-track{height:14px;background:#0b111c;border-radius:999px;overflow:hidden}.release-score-track span{height:100%;background:linear-gradient(90deg,#c79b4b,#f1cf82);border-radius:999px}.release-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.release-check-list{padding:10px 18px 20px}.release-check,.release-manual-check{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #222c3b}.release-check>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700}.release-check>span.pass{background:#153126;color:#8fddb8}.release-check>span.fail{background:#321a1d;color:#ff9da4}.release-check strong,.release-check small{display:block}.release-check small{color:#8392aa;margin-top:3px}.release-manual-check input{width:18px;height:18px}.release-links{margin-top:18px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.release-links>div:first-child span{display:block;color:#8795aa;margin-top:4px}.release-links>div:last-child{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1000px){.release-grid{grid-template-columns:1fr}.release-score-panel{grid-template-columns:1fr}.backup-preview-grid{grid-template-columns:repeat(2,1fr)}}
/* Aquitor CrewOps Premium UI Overhaul — Phase 1 */
/*
 * DESIGN TOKENS (authoritative).
 * App.css also declares a :root token block with different values for the
 * same variable names (background, sidebar-width, accent, etc). Because this
 * file is imported after App.css (see App.tsx), these values are the ones
 * that actually render — App.css's :root block is shadowed, not deleted.
 * Treat this block, not App.css's, as the source of truth for tokens.
 * Left unmerged deliberately: App.css and this file also share ~95 top-level
 * class selectors with only partial rule overrides, and merging them without
 * an automated visual-diff tool risks silent pixel-level regressions. See
 * KNOWN_LIMITATIONS.md.
 */
:root {
  --background: #080b0e;
  --background-deep: #050709;
  --surface: #11161b;
  --surface-elevated: #171d23;
  --surface-soft: #1d242b;
  --surface-glass: rgba(18, 23, 28, .82);
  --border: rgba(255,255,255,.075);
  --border-light: rgba(255,255,255,.12);
  --text-primary: #f6f7f5;
  --text-secondary: #a7b0b8;
  --text-muted: #68737d;
  --accent: #cfa45b;
  --accent-strong: #f1cc84;
  --accent-soft: rgba(207,164,91,.13);
  --success: #66d09b;
  --warning: #efb85f;
  --danger: #ef7770;
  --travel: #7da8e8;
  --sidebar-width: 268px;
  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --shadow-1: 0 10px 30px rgba(0,0,0,.24);
  --shadow-2: 0 20px 60px rgba(0,0,0,.34);
  --focus-ring: 0 0 0 3px rgba(207,164,91,.18);
}

body {
  background:
    radial-gradient(circle at 76% 4%, rgba(207,164,91,.08), transparent 24rem),
    radial-gradient(circle at 20% 80%, rgba(55,94,125,.08), transparent 30rem),
    var(--background-deep);
  color: var(--text-primary);
}

button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.app-shell {
  background:
    linear-gradient(180deg, rgba(255,255,255,.01), transparent 22rem),
    radial-gradient(circle at 70% 0%, rgba(207,164,91,.07), transparent 28rem),
    var(--background);
}

.sidebar {
  width: var(--sidebar-width);
  padding: 22px 14px 16px;
  border-right: 1px solid rgba(255,255,255,.065);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 16rem),
    rgba(9,12,15,.95);
  box-shadow: 18px 0 60px rgba(0,0,0,.22);
}

.brand {
  min-height: 72px;
  margin: 0 2px 16px;
  padding: 12px;
  border: 1px solid rgba(207,164,91,.13);
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, rgba(207,164,91,.09), rgba(255,255,255,.015));
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border-color: rgba(241,204,132,.5);
  background:
    linear-gradient(145deg, rgba(241,204,132,.22), rgba(207,164,91,.04)),
    #11161b;
  box-shadow: 0 10px 25px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
  font-size: 13px;
}
.brand-name { font-size: 16px; letter-spacing: .18em; }
.brand-product { color: var(--accent-strong); letter-spacing: .32em; }
.sidebar-label { margin: 0 4px; padding: 0 12px 9px; font-size: 9px; letter-spacing: .2em; }
.navigation { gap: 5px; padding: 0 5px 4px 2px; }
.navigation-item {
  position: relative;
  min-height: 43px;
  border-radius: 12px;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 570;
  letter-spacing: .01em;
  transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.navigation-item::before {
  content: '';
  position: absolute;
  left: -3px;
  width: 3px;
  height: 0;
  border-radius: 999px;
  background: var(--accent-strong);
  box-shadow: 0 0 14px rgba(241,204,132,.55);
  transition: height .18s ease;
}
.navigation-item:hover { transform: translateX(3px); background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.07); }
.navigation-item.active {
  border-color: rgba(207,164,91,.22);
  background: linear-gradient(90deg, rgba(207,164,91,.16), rgba(207,164,91,.035));
  color: #f7d998;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 8px 24px rgba(0,0,0,.14);
}
.navigation-item.active::before { height: 23px; }
.navigation-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(255,255,255,.025);
  color: #8e9aa4;
  font-size: 14px;
}
.navigation-item.active .navigation-icon { background: rgba(207,164,91,.12); color: var(--accent-strong); }
.navigation-count { min-width: 23px; text-align: center; }
.sidebar-bottom { margin-top: 10px; padding-top: 10px; border-color: rgba(255,255,255,.065); background: transparent; }
.signed-user {
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 13px;
  background: rgba(255,255,255,.022);
}
.user-avatar { width: 36px; height: 36px; border-radius: 11px; }
.logout-button { width: 30px; height: 30px; border-radius: 9px; transition: background .18s ease, color .18s ease; }
.logout-button:hover { background: rgba(239,119,112,.1); color: var(--danger); }

.main-area { width: calc(100% - var(--sidebar-width)); margin-left: var(--sidebar-width); }
.topbar {
  height: 78px;
  padding: 0 34px;
  border-bottom-color: rgba(255,255,255,.06);
  background: rgba(8,11,14,.78);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  backdrop-filter: blur(22px) saturate(140%);
}
.search-box {
  min-width: min(480px, 35vw);
  height: 46px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 14px;
  background: rgba(255,255,255,.028);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.search-box:focus-within { border-color: rgba(207,164,91,.38); background: rgba(255,255,255,.04); box-shadow: var(--focus-ring); }
.search-shortcut { border: 1px solid rgba(255,255,255,.075); border-radius: 7px; background: rgba(255,255,255,.035); }
.project-switcher {
  min-width: 235px;
  padding: 7px 10px 7px 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}
.project-switcher span { color: var(--text-muted); font-size: 8px; letter-spacing: .18em; }
.project-switcher select { color: var(--text-primary); font-weight: 650; }
.icon-button {
  width: 43px;
  height: 43px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 13px;
  background: rgba(255,255,255,.028);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.icon-button:hover { transform: translateY(-2px); border-color: rgba(207,164,91,.3); background: rgba(207,164,91,.07); }
.page-content { max-width: 1800px; margin: 0 auto; padding: 32px 36px 56px; }

.primary-button, .secondary-button, .danger-button, .text-button, .inline-link-button {
  min-height: 42px;
  border-radius: 11px;
  font-weight: 720;
  letter-spacing: .015em;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.primary-button {
  border: 1px solid rgba(241,204,132,.5);
  background: linear-gradient(135deg, #e4bd72, #bd8d45);
  color: #11100d;
  box-shadow: 0 10px 24px rgba(177,128,55,.18), inset 0 1px 0 rgba(255,255,255,.38);
}
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(177,128,55,.26), inset 0 1px 0 rgba(255,255,255,.42); }
.primary-button:active { transform: translateY(0); }
.secondary-button { border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.035); color: var(--text-primary); }
.secondary-button:hover { transform: translateY(-1px); border-color: rgba(207,164,91,.28); background: rgba(207,164,91,.065); }
.danger-button { border: 1px solid rgba(239,119,112,.35); background: rgba(239,119,112,.11); color: #ffaaa5; }
.danger-button:hover { transform: translateY(-1px); background: rgba(239,119,112,.17); }
.text-button { color: var(--accent-strong); }
.text-button:hover { color: #ffe0a2; }
button:disabled { opacity: .45; cursor: not-allowed; transform: none !important; box-shadow: none !important; }

.page-header { margin-bottom: 26px; }
.page-header h1 { margin-top: 6px; font-size: clamp(28px, 2.4vw, 40px); line-height: 1.05; letter-spacing: -.035em; }
.page-header p { max-width: 760px; color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
.panel-kicker, .eyebrow { color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .22em; }

.panel, .metric-card, .person-card, .document-card, .task-card, .planner-summary-card, .settings-card, .command-card, .portfolio-card {
  border-color: rgba(255,255,255,.075) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 55%),
    rgba(17,22,27,.92) !important;
  box-shadow: var(--shadow-1), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter: blur(16px);
}
.panel { border-radius: var(--radius-lg); overflow: hidden; }
.panel-header { min-height: 72px; padding: 20px 22px; border-bottom-color: rgba(255,255,255,.06); }
.panel-header h2 { letter-spacing: -.02em; }
.metric-grid { gap: 16px; }
.metric-card {
  position: relative;
  min-height: 150px;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.metric-card::after {
  content: '';
  position: absolute;
  inset: auto -20% -65% 35%;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207,164,91,.1), transparent 68%);
  pointer-events: none;
}
.metric-card:hover { transform: translateY(-4px); border-color: rgba(207,164,91,.2) !important; box-shadow: var(--shadow-2), inset 0 1px 0 rgba(255,255,255,.05); }
.metric-card strong { font-size: clamp(30px, 3vw, 44px); letter-spacing: -.045em; }
.metric-top span { color: #929da6; letter-spacing: .15em; }
.metric-icon { border-radius: 11px; background: rgba(207,164,91,.08); color: var(--accent-strong); }
.metric-card.attention .metric-icon { background: rgba(239,184,95,.1); color: var(--warning); }

input, select, textarea {
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 11px !important;
  background: rgba(5,8,11,.55) !important;
  color: var(--text-primary) !important;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
input:hover, select:hover, textarea:hover { border-color: rgba(255,255,255,.15) !important; }
input:focus, select:focus, textarea:focus { border-color: rgba(207,164,91,.42) !important; background: rgba(8,11,14,.78) !important; box-shadow: var(--focus-ring) !important; outline: none; }
label { color: #b5bdc4; font-weight: 620; }

.table-wrap, .table-container {
  border: 1px solid rgba(255,255,255,.075);
  border-radius: var(--radius-md);
  overflow: auto;
  background: rgba(10,14,18,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
table { border-collapse: separate; border-spacing: 0; }
thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(20,26,31,.96) !important;
  color: #8f9aa3 !important;
  font-size: 9px !important;
  letter-spacing: .16em;
  backdrop-filter: blur(16px);
}
tbody td { border-bottom-color: rgba(255,255,255,.05) !important; }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: rgba(207,164,91,.035) !important; }
.row-actions button { border-radius: 9px; }

.status-pill, .document-state, .alert-count, .live-indicator, .badge {
  border-radius: 999px !important;
  font-weight: 740 !important;
  letter-spacing: .055em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.modal-backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(8px); }
.modal, .composer-modal {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.035), transparent 42%), #11161b !important;
  box-shadow: 0 35px 100px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.045);
}
.modal-header, .modal-footer { border-color: rgba(255,255,255,.065) !important; }

.search-results, .notification-popover, .create-menu {
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 16px !important;
  background: rgba(15,20,25,.97) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(22px);
}

.empty-state {
  border: 1px dashed rgba(255,255,255,.11);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.018);
}

.person-card, .document-card, .task-card {
  border-radius: var(--radius-md) !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.person-card:hover, .document-card:hover, .task-card:hover {
  transform: translateY(-3px);
  border-color: rgba(207,164,91,.2) !important;
  box-shadow: var(--shadow-2);
}
.person-avatar { box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }

.view-toggle { padding: 3px; border: 1px solid rgba(255,255,255,.07); border-radius: 11px; background: rgba(255,255,255,.025); }
.view-toggle button { border-radius: 8px; }
.view-toggle button.active { background: rgba(207,164,91,.14); color: var(--accent-strong); }

.boot-screen, .login-page { background: radial-gradient(circle at 50% 10%, rgba(207,164,91,.12), transparent 32rem), #080b0e; }
.login-card {
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 26px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.04), transparent 45%), rgba(15,20,25,.94) !important;
  box-shadow: 0 35px 100px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
}

@keyframes premiumFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.page-content > * { animation: premiumFadeUp .32s ease both; }

@media (max-width: 1180px) {
  :root { --sidebar-width: 238px; }
  .topbar { padding: 0 22px; gap: 14px; }
  .search-box { min-width: 280px; }
  .project-switcher { min-width: 190px; }
  .page-content { padding: 28px 24px 46px; }
}

@media (max-width: 900px) {
  .topbar { align-items: stretch; height: auto; min-height: 78px; flex-wrap: wrap; padding: 14px 18px; }
  .global-search-wrap { flex: 1 1 100%; order: 2; }
  .search-box { min-width: 100%; width: 100%; }
  .project-switcher { flex: 1; }
  .page-content { padding: 22px 18px 40px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* =========================================================
   PREMIUM UI OVERHAUL — PHASE 2
   Screen-specific command-centre composition and polish
   ========================================================= */

/* Dashboard — executive command surface */
.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.metric-card {
  min-height: 154px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.metric-card::after {
  content: "";
  position: absolute;
  inset: auto -30px -52px auto;
  width: 128px;
  height: 128px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(207,164,91,.14), transparent 68%);
  pointer-events: none;
  z-index: -1;
}
.metric-card > strong {
  font-size: clamp(2.45rem, 4vw, 3.55rem);
  letter-spacing: -.055em;
  line-height: .95;
}
.metric-card.attention::after {
  background: radial-gradient(circle, rgba(232,111,96,.18), transparent 68%);
}
.dashboard-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
  gap: 20px;
}
.movements-panel,
.alerts-panel,
.people-panel {
  position: relative;
  overflow: hidden;
}
.movements-panel::before,
.people-panel::before,
.command-table-panel::before,
.compliance-table-wrap::before,
.portfolio-detail > .panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(207,164,91,.62), transparent);
  opacity: .85;
}
.movement-item {
  margin: 0 10px;
  border-radius: 14px;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.movement-item:hover {
  transform: translateX(4px);
  background: rgba(255,255,255,.035);
  border-color: rgba(207,164,91,.15);
}
.alert-item {
  margin: 0 8px 7px;
  border-radius: 13px;
  background: rgba(255,255,255,.018);
  border: 1px solid transparent;
}
.alert-item:hover {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.07);
  transform: translateX(3px);
}
.people-row:not(.people-header) {
  min-height: 68px;
}
.people-row:not(.people-header):hover {
  background: linear-gradient(90deg, rgba(207,164,91,.065), rgba(255,255,255,.018));
}

/* Command Centre — mission control */
.command-tabs {
  padding: 6px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.075);
  background: rgba(5,8,11,.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.command-tabs button {
  min-height: 42px;
  border-radius: 11px;
  padding: 0 18px;
  color: #8f9aa4;
  font-size: .76rem;
  font-weight: 760;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.command-tabs button.active {
  color: #f4e0b8;
  background: linear-gradient(180deg, rgba(207,164,91,.17), rgba(207,164,91,.075));
  border-color: rgba(207,164,91,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.22);
}
.command-kpis {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.command-kpis article {
  min-height: 132px;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.038), transparent 42%),
    rgba(14,19,24,.88);
  border: 1px solid rgba(255,255,255,.075);
  box-shadow: 0 16px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.035);
}
.command-kpis article strong {
  font-size: 2.7rem;
  letter-spacing: -.055em;
}
.command-overview-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 20px;
}
.command-priority-panel,
.command-risk-panel {
  min-height: 360px;
}
.risk-score {
  width: 146px;
  height: 146px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  margin: 14px auto 24px;
  font-size: 2.8rem;
  font-weight: 820;
  color: #f4e0b8;
  background:
    radial-gradient(circle at center, #151b21 54%, transparent 55%),
    conic-gradient(#cfa45b 0 68%, rgba(255,255,255,.07) 68% 100%);
  box-shadow: 0 0 0 10px rgba(207,164,91,.035), 0 18px 44px rgba(0,0,0,.28);
}
.gap-list,
.action-board {
  display: grid;
  gap: 8px;
}
.matrix-row,
.action-row {
  border-radius: 12px;
  border: 1px solid transparent;
  margin: 0 8px;
}
.matrix-row:not(.matrix-head):hover,
.action-row:not(.action-head):hover {
  background: rgba(207,164,91,.045);
  border-color: rgba(207,164,91,.11);
}
  border-radius: 20px;
  background: radial-gradient(circle at 85% 15%, rgba(207,164,91,.16), transparent 38%), rgba(12,17,22,.9);
  border: 1px solid rgba(207,164,91,.18);
}

/* People — premium personnel directory */
.ops-people-metrics {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.ops-people-metrics article {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(145deg, rgba(255,255,255,.035), transparent), rgba(13,18,23,.84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.ops-people-toolbar {
  position: sticky;
  top: 94px;
  z-index: 12;
  backdrop-filter: blur(18px);
  background: rgba(11,15,19,.86) !important;
}
.people-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
  gap: 18px;
}
.people-card-grid > * {
  position: relative;
  overflow: hidden;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.045), transparent 38%),
    rgba(13,18,23,.9) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.19), inset 0 1px 0 rgba(255,255,255,.035);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.people-card-grid > *::after {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  right: -38px;
  top: -40px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(207,164,91,.14), transparent 68%);
}
.people-card-grid > *:hover {
  transform: translateY(-4px);
  border-color: rgba(207,164,91,.24) !important;
  box-shadow: 0 26px 65px rgba(0,0,0,.28), 0 0 0 1px rgba(207,164,91,.035);
}
.person-avatar.large {
  width: 58px;
  height: 58px;
  border-radius: 17px;
  font-size: 1rem;
  color: #f3dba9;
  background: linear-gradient(145deg, rgba(207,164,91,.28), rgba(207,164,91,.08));
  border: 1px solid rgba(207,164,91,.33);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.23);
}
.ops-directory-table {
  border-radius: 20px;
  overflow: hidden;
}
.ops-directory-table .people-header {
  background: rgba(6,9,12,.78);
}

/* Planner — operational timeline */
.planner-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.planner-summary-card {
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 50%),
    rgba(13,18,23,.87);
}
.planner-toolbar-advanced {
  position: sticky;
  top: 94px;
  z-index: 13;
  background: rgba(10,14,18,.88) !important;
  backdrop-filter: blur(18px);
}
.planner-panel {
  border-radius: 22px;
  overflow: hidden;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 26px 65px rgba(0,0,0,.22);
}
.planner-header-row {
  background: linear-gradient(180deg, rgba(14,19,24,.98), rgba(9,13,17,.96));
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.planner-person {
  background: rgba(9,13,17,.7);
  border-right-color: rgba(255,255,255,.065);
}
.planner-lane {
  min-height: 68px;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.027) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.022), transparent 45%);
}
.planner-lane:hover {
  background-color: rgba(207,164,91,.022);
}
.planner-lane .rotation,
.planner-lane .leave,
.planner-lane .travel,
.planner-lane .training,
.planner-lane .office {
  min-height: 36px;
  border-radius: 10px;
  font-weight: 760;
  letter-spacing: .015em;
  box-shadow: 0 8px 20px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.12);
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.planner-lane .rotation:hover,
.planner-lane .leave:hover,
.planner-lane .travel:hover,
.planner-lane .training:hover,
.planner-lane .office:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16);
}
.planner-today-line {
  width: 2px;
  background: linear-gradient(180deg, #f6d79a, #c6903d);
  box-shadow: 0 0 12px rgba(207,164,91,.65);
}
.planner-legend {
  padding: 12px 18px;
  border-radius: 14px;
  background: rgba(7,10,13,.58);
  border: 1px solid rgba(255,255,255,.05);
}

/* Compliance — risk and readiness */
.compact-metrics .metric-card {
  min-height: 142px;
}
.compliance-toolbar {
  position: sticky;
  top: 94px;
  z-index: 12;
  background: rgba(10,14,18,.88) !important;
  backdrop-filter: blur(18px);
}
.compliance-table-wrap {
  border-radius: 22px;
  overflow: hidden;
}
.compliance-row {
  min-height: 76px;
  border: 1px solid transparent;
  border-width: 1px 0;
}
.compliance-row:not(.compliance-head):hover {
  background: linear-gradient(90deg, rgba(207,164,91,.052), rgba(255,255,255,.015));
  border-color: rgba(207,164,91,.085);
}
.readiness-badge {
  min-width: 88px;
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-size: .69rem;
  font-weight: 820;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.readiness-badge.ready {
  color: #9ee8c0;
  background: rgba(50,180,112,.11);
  border: 1px solid rgba(75,211,142,.23);
}
.readiness-badge.attention {
  color: #f0cb83;
  background: rgba(207,164,91,.11);
  border: 1px solid rgba(207,164,91,.25);
}
.readiness-badge.blocked {
  color: #ffaaa1;
  background: rgba(223,90,78,.12);
  border: 1px solid rgba(232,111,96,.26);
}
.coverage-chip {
  min-height: 27px;
  border-radius: 8px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  font-weight: 720;
  border: 1px solid rgba(255,255,255,.07);
}
.coverage-chip.valid { background: rgba(54,181,117,.09); color: #94dbb4; border-color: rgba(54,181,117,.18); }
.coverage-chip.expiring { background: rgba(207,164,91,.10); color: #e7c47d; border-color: rgba(207,164,91,.2); }
.coverage-chip.expired, .coverage-chip.missing { background: rgba(222,92,80,.095); color: #ee9b92; border-color: rgba(222,92,80,.2); }

/* Portfolio — vessel/project command cards */
.portfolio-actions {
  display: flex;
  justify-content: flex-end;
  margin: -56px 0 26px;
  position: relative;
  z-index: 3;
}
.portfolio-layout {
  grid-template-columns: minmax(300px, .78fr) minmax(0, 2.22fr);
  gap: 20px;
}
.portfolio-list {
  position: sticky;
  top: 94px;
  align-self: start;
  border-radius: 22px;
  overflow: hidden;
}
.portfolio-list > button {
  min-height: 76px;
  margin: 0 9px 8px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: rgba(255,255,255,.018);
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.portfolio-list > button:hover {
  transform: translateX(3px);
  background: rgba(255,255,255,.038);
  border-color: rgba(255,255,255,.065);
}
.portfolio-list > button.active {
  background: linear-gradient(90deg, rgba(207,164,91,.14), rgba(207,164,91,.035));
  border-color: rgba(207,164,91,.24);
  box-shadow: inset 3px 0 0 #cfa45b;
}
.portfolio-detail {
  display: grid;
  gap: 18px;
}
.project-hero {
  min-height: 194px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 20%, rgba(207,164,91,.17), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 46%),
    rgba(12,17,22,.94) !important;
  border-color: rgba(207,164,91,.16) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.045);
}
.project-hero h2 {
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1;
  letter-spacing: -.055em;
  max-width: 760px;
}
.project-dates {
  min-width: 260px;
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(5,8,11,.38);
  border: 1px solid rgba(255,255,255,.07);
}
.project-metrics {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.project-metrics article {
  min-height: 116px;
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(145deg, rgba(255,255,255,.035), transparent), rgba(13,18,23,.87);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.project-metrics article strong {
  font-size: 2.45rem;
  letter-spacing: -.05em;
}
.workspace-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.workspace-links a {
  min-height: 62px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 14px;
  color: #d6dce2;
  font-weight: 730;
  background: rgba(255,255,255,.024);
  border: 1px solid rgba(255,255,255,.07);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.workspace-links a::after {
  content: "↗";
  margin-left: auto;
  color: #cfa45b;
}
.workspace-links a:hover {
  transform: translateY(-2px);
  background: rgba(207,164,91,.07);
  border-color: rgba(207,164,91,.2);
}
.access-editor {
  padding: 14px;
  border-radius: 15px;
  background: rgba(5,8,11,.38);
  border: 1px solid rgba(255,255,255,.06);
}
.access-list > div {
  min-height: 58px;
  margin-top: 8px;
  padding: 0 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.055);
}

/* Shared high-impact page controls */
.command-filterbar,
.ops-people-toolbar,
.planner-toolbar-advanced,
.compliance-toolbar {
  border-radius: 17px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.035);
}
.command-search,
.planner-search,
.filter-search {
  min-height: 44px;
  border-radius: 12px;
  background: rgba(4,7,10,.48);
}
.segmented-control {
  padding: 4px;
  border-radius: 12px;
  background: rgba(4,7,10,.5);
  border: 1px solid rgba(255,255,255,.065);
}
.segmented-control button.active {
  color: #f3d9a7;
  background: rgba(207,164,91,.13);
  border-color: rgba(207,164,91,.25);
}

@media (max-width: 1180px) {
  .metric-grid,
  .command-kpis,
  .ops-people-metrics,
  .planner-summary-grid,
  .project-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid,
  .command-overview-grid,
  .portfolio-layout { grid-template-columns: 1fr; }
  .portfolio-list { position: relative; top: auto; }
  .portfolio-actions { margin: 0 0 20px; }
}

@media (max-width: 720px) {
  .metric-grid,
  .command-kpis,
  .ops-people-metrics,
  .planner-summary-grid,
  .project-metrics,
  .workspace-links { grid-template-columns: 1fr; }
  .project-hero { align-items: flex-start; }
  .project-dates { min-width: 100%; }
  .command-tabs { overflow-x: auto; justify-content: flex-start; }
}

/* ================================================================
   PREMIUM UI OVERHAUL — PHASE 3
   Feedback, empty states, skeletons, modal polish and responsive QA
   ================================================================ */

/* Premium empty states */
.premium-empty-state {
  position: relative;
  isolation: isolate;
  min-height: 290px;
  padding: 46px 30px;
  overflow: hidden;
  border: 1px dashed rgba(207,164,91,.24);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 12%, rgba(207,164,91,.09), transparent 34%),
    linear-gradient(155deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 24px 64px rgba(0,0,0,.16);
}
.premium-empty-state::before,
.premium-empty-state::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(207,164,91,.08);
  border-radius: 50%;
  width: 260px;
  height: 260px;
  left: calc(50% - 130px);
  top: -165px;
}
.premium-empty-state::after { width: 340px; height: 340px; left: calc(50% - 170px); top: -205px; opacity: .55; }
.empty-state-halo {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin: 0 auto 18px;
  border-radius: 24px;
  color: #efd39d;
  font: 700 24px/1 var(--font-display, inherit);
  background: linear-gradient(145deg, rgba(207,164,91,.2), rgba(207,164,91,.055));
  border: 1px solid rgba(207,164,91,.28);
  box-shadow: 0 20px 45px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
.premium-empty-state h3 { margin: 7px 0 8px; font-size: clamp(20px,2vw,27px); letter-spacing: -.025em; }
.premium-empty-state p { max-width: 560px; margin-inline: auto; color: rgba(224,229,235,.64); line-height: 1.65; }
.empty-state-action { display: flex; justify-content: center; margin-top: 22px; }

/* Loading skeleton system */
.loading-skeleton { padding: 18px; border-radius: 20px; background: rgba(255,255,255,.018); border: 1px solid rgba(255,255,255,.055); overflow: hidden; }
.loading-skeleton * { position: relative; overflow: hidden; background: rgba(255,255,255,.045); }
.loading-skeleton *::after {
  content: ""; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.085), transparent);
  animation: premium-shimmer 1.45s infinite;
}
.skeleton-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; background: transparent; }
.skeleton-card { height: 132px; border-radius: 18px; }
.skeleton-toolbar { height: 48px; width: min(620px,100%); margin-bottom: 16px; border-radius: 13px; }
.skeleton-row { display: grid; grid-template-columns: 1.3fr .8fr .8fr .55fr; gap: 18px; min-height: 62px; align-items: center; padding: 0 16px; margin-top: 8px; border-radius: 13px; background: rgba(255,255,255,.02); }
.skeleton-row i { display: block; height: 12px; border-radius: 20px; }
.skeleton-hero { height: 190px; border-radius: 22px; }
.skeleton-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; background: transparent; }
.skeleton-detail-grid > div { min-height: 240px; border-radius: 18px; }
@keyframes premium-shimmer { 100% { transform: translateX(100%); } }

/* Toast notification layer */
.toast-viewport { position: fixed; z-index: 5000; right: 22px; top: 22px; display: grid; gap: 10px; width: min(390px,calc(100vw - 32px)); pointer-events: none; }
.premium-toast {
  pointer-events: auto; display: grid; grid-template-columns: 4px 1fr 30px; gap: 13px; align-items: center;
  min-height: 76px; padding: 13px 12px; overflow: hidden; border-radius: 16px;
  color: #edf0f3; background: rgba(12,17,22,.94); border: 1px solid rgba(255,255,255,.105);
  box-shadow: 0 25px 70px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(18px); animation: toast-enter .32s cubic-bezier(.22,1,.36,1);
}
.toast-signal { align-self: stretch; width: 4px; border-radius: 8px; background: #7da3bd; box-shadow: 0 0 18px currentColor; }
.toast-success .toast-signal { background: #68c493; }.toast-warning .toast-signal { background: #d7aa58; }.toast-danger .toast-signal { background: #df7373; }
.toast-copy { display: grid; gap: 4px; min-width: 0; }.toast-copy strong { font-size: 14px; }.toast-copy span { color: rgba(229,234,239,.62); font-size: 12px; line-height: 1.45; }
.premium-toast button { width: 30px; height: 30px; border: 0; border-radius: 9px; color: rgba(255,255,255,.58); background: rgba(255,255,255,.045); cursor: pointer; }
.premium-toast button:hover { color: white; background: rgba(255,255,255,.09); }
@keyframes toast-enter { from { opacity: 0; transform: translateY(-12px) scale(.97); } }

/* Confirmation and modal refinement */
.modal-backdrop { backdrop-filter: blur(10px) saturate(.82); background: rgba(1,3,5,.72) !important; animation: modal-backdrop-in .18s ease-out; }
.modal-card { overflow: hidden; border-color: rgba(207,164,91,.18) !important; box-shadow: 0 40px 110px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.06) !important; animation: modal-card-in .28s cubic-bezier(.22,1,.36,1); }
.modal-header { position: relative; padding-bottom: 18px !important; border-bottom: 1px solid rgba(255,255,255,.065); }
.modal-header::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 92px; height: 1px; background: linear-gradient(90deg,#d1a95f,transparent); }
.modal-close { transition: transform .18s ease, color .18s ease, background .18s ease; }.modal-close:hover { transform: rotate(5deg); }
.confirm-dialog-copy { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: center; padding: 10px 0 24px; }
.confirm-orb { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; color: #eed49e; font-weight: 800; background: rgba(207,164,91,.12); border: 1px solid rgba(207,164,91,.25); }
.confirm-orb.danger { color: #ffc0c0; background: rgba(220,78,78,.11); border-color: rgba(220,78,78,.28); }
.confirm-dialog-copy p { margin: 0; color: rgba(233,237,241,.72); line-height: 1.65; }
.modal-action-footer { display: flex; justify-content: flex-end; gap: 10px; margin: 4px -24px -24px; padding: 16px 24px; background: rgba(0,0,0,.14); border-top: 1px solid rgba(255,255,255,.06); }
@keyframes modal-backdrop-in { from { opacity: 0; } } @keyframes modal-card-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }

/* Universal final polish */
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid rgba(224,183,105,.78); outline-offset: 3px; }
.table-wrap, .data-table-wrap, .planner-grid-wrap { scrollbar-color: rgba(207,164,91,.34) rgba(255,255,255,.025); scrollbar-width: thin; }
.table-wrap::-webkit-scrollbar, .data-table-wrap::-webkit-scrollbar, .planner-grid-wrap::-webkit-scrollbar { width: 10px; height: 10px; }
.table-wrap::-webkit-scrollbar-thumb, .data-table-wrap::-webkit-scrollbar-thumb, .planner-grid-wrap::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 20px; background: rgba(207,164,91,.34); background-clip: padding-box; }
.status-pill, .badge, .chip { box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.panel, .metric-card, .command-card, .project-card { transform: translateZ(0); }

@keyframes boot-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(207,164,91,.2),0 24px 70px rgba(0,0,0,.42); } 50% { box-shadow: 0 0 0 12px rgba(207,164,91,0),0 24px 70px rgba(0,0,0,.42); } }
.boot-logo { animation: boot-pulse 2s ease-in-out infinite; }

/* Responsive visual QA */
@media (max-width: 980px) {
  .skeleton-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .skeleton-detail-grid { grid-template-columns: 1fr; }
  .modal-card { max-height: calc(100dvh - 28px); }
}
@media (max-width: 640px) {
  .toast-viewport { top: 12px; right: 12px; width: calc(100vw - 24px); }
  .premium-toast { min-height: 70px; }
  .skeleton-card-grid { grid-template-columns: 1fr; }
  .premium-empty-state { min-height: 260px; padding: 34px 20px; }
  .modal-backdrop { padding: 10px !important; align-items: flex-end !important; }
  .modal-card { width: 100% !important; max-height: calc(100dvh - 20px); border-radius: 22px 22px 14px 14px !important; }
  .modal-action-footer { position: sticky; bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .loading-skeleton *::after, .boot-logo, .premium-toast, .modal-backdrop, .modal-card { animation: none !important; }
}

/* ================================================================
   PREMIUM UI OVERHAUL — PHASE 4
   Final visual consolidation for secondary operational screens
   ================================================================ */

/* Unified page architecture */
.page-header, .people-header, .backup-header, .approval-head, .onboarding-detail-head,
.compliance-head, .matrix-head, .action-head, .calendar-command-toolbar {
  position: relative;
}
.page-header::after, .people-header::after, .backup-header::after,
.onboarding-detail-head::after, .matrix-head::after {
  content: ""; position: absolute; left: 0; bottom: -1px; width: 118px; height: 1px;
  background: linear-gradient(90deg, rgba(224,183,105,.9), transparent);
}
.page-title h1, .page-header h1, .people-header h1, .backup-header h1 {
  letter-spacing: -.035em;
}
.page-subtitle, .muted-copy, .form-hint { color: rgba(224,229,235,.58) !important; }

/* Unified action and filter bars */
.approval-toolbar, .onboarding-toolbar, .manning-toolbar, .import-toolbar,
.calendar-command-toolbar, .ops-people-toolbar, .command-filterbar, .compliance-toolbar,
.import-filters, .manning-controls, .command-controls {
  position: sticky; top: 76px; z-index: 18;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(22,29,36,.95), rgba(15,20,25,.93)) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter: blur(18px);
}

/* Calendar */
.month-calendar { overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 22px; background: rgba(8,12,16,.5); box-shadow: 0 24px 70px rgba(0,0,0,.24); }
.month-weekdays { background: rgba(255,255,255,.025); border-bottom: 1px solid rgba(255,255,255,.065); }
.month-weekdays > * { color: rgba(224,229,235,.5); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.month-gridline { min-height: 128px; transition: background .2s ease, transform .2s ease; }
.month-gridline:hover { background: rgba(207,164,91,.035); }
.month-day-number { font-variant-numeric: tabular-nums; }
.month-events > * { border-radius: 9px !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.calendar-legend { padding: 12px 14px; border: 1px solid rgba(255,255,255,.06); border-radius: 14px; background: rgba(255,255,255,.018); }

/* Tasks and approvals */
.approval-list, .data-list, .audit-list { display: grid; gap: 10px; }
.approval-row, .data-list-row, .audit-row, .action-row {
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.025), rgba(255,255,255,.012)) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.approval-row:hover, .data-list-row:hover, .audit-row:hover, .action-row:hover {
  transform: translateY(-1px); border-color: rgba(207,164,91,.2) !important; background: rgba(207,164,91,.028) !important;
}
.approve-button { box-shadow: 0 8px 24px rgba(72,168,116,.14); }
.danger-button, .danger-outline-button { box-shadow: 0 8px 24px rgba(214,83,83,.1); }

/* Travel */
.movement-list { display: grid; gap: 10px; }
.movement-item, .movement-line {
  border-radius: 16px !important; border: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.028), rgba(255,255,255,.012)) !important;
}
.movement-date { min-width: 72px; color: #e4bd76; font-variant-numeric: tabular-nums; }
.movement-chips { gap: 7px; }
.join-chip, .leave-chip { box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.booking-control input { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .035em; }

/* Documents */
.document-grid, .master-document-grid { gap: 14px !important; }
.document-card {
  position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 18px !important; background: linear-gradient(145deg, rgba(255,255,255,.034), rgba(255,255,255,.012)) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.18); transition: transform .2s ease, border-color .2s ease;
}
.document-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(#d5ae68, rgba(213,174,104,.1)); opacity: .75; }
.document-card:hover { transform: translateY(-3px); border-color: rgba(207,164,91,.22) !important; }
.document-icon { display: grid; place-items: center; border-radius: 14px !important; background: rgba(207,164,91,.095) !important; border: 1px solid rgba(207,164,91,.17); }
.document-card-copy strong { letter-spacing: -.015em; }

/* Onboarding */
.onboarding-layout { gap: 16px !important; }
.onboarding-roster, .onboarding-detail, .onboarding-checklist {
  border: 1px solid rgba(255,255,255,.07) !important; border-radius: 20px !important;
  background: linear-gradient(160deg, rgba(255,255,255,.028), rgba(255,255,255,.011)) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
}
.onboarding-score { position: relative; overflow: hidden; }
.onboarding-score::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg,#d4ad68,#6fc495); }
.onboarding-person-list > * { transition: background .18s ease, transform .18s ease; }
.onboarding-person-list > *:hover { background: rgba(207,164,91,.035); transform: translateX(2px); }

/* Manning, competence and crew-change */
.manning-tabs { padding: 5px; border-radius: 15px; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.06); }
.manning-tabs button { border-radius: 11px !important; }
.manning-tabs button.active { color: #f2d9a8 !important; background: rgba(207,164,91,.12) !important; box-shadow: inset 0 0 0 1px rgba(207,164,91,.18); }
.manning-table-wrap, .crewchange-table, .competence-grid, .mobilisation-pack {
  border: 1px solid rgba(255,255,255,.07) !important; border-radius: 20px !important; overflow: hidden;
  background: rgba(10,14,18,.46) !important; box-shadow: 0 20px 55px rgba(0,0,0,.2);
}
.manning-row, .crewchange-row, .matrix-row { transition: background .16s ease; }
.manning-row:hover, .crewchange-row:hover, .matrix-row:hover { background: rgba(207,164,91,.026) !important; }
.competence-progress { overflow: hidden; border-radius: 999px; box-shadow: inset 0 1px 3px rgba(0,0,0,.35); }

/* Reports */
.report-card, .breakdown-list, .coverage-list {
  border-radius: 18px !important; border: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.026), rgba(255,255,255,.01)) !important;
}

/* Data quality, health and release control */
.health-summary-grid, .health-check-list, .backup-health-grid, .backup-preview-grid, .import-kpi-grid { gap: 12px !important; }
.health-check-row, .backup-health-card, .backup-action-card {
  border: 1px solid rgba(255,255,255,.065) !important; border-radius: 16px !important;
  background: linear-gradient(140deg, rgba(255,255,255,.027), rgba(255,255,255,.011)) !important;
}
.health-check-row::before { content: ""; width: 5px; align-self: stretch; border-radius: 8px; background: #718395; opacity: .65; }
.health-check-row.ok::before, .health-check-row.success::before { background: #65bf8d; }
.health-check-row.warning::before { background: #d5aa5e; }
.health-check-row.danger::before, .health-check-row.critical::before { background: #dc6b6b; }
.backup-icon { border-radius: 14px !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.release-score, .quality-score { filter: drop-shadow(0 10px 25px rgba(0,0,0,.3)); }

/* Settings and access */
.settings-grid, .access-panel, .danger-settings, .danger-zone {
  border-radius: 20px !important;
}
.access-panel, .danger-settings, .danger-zone { border: 1px solid rgba(255,255,255,.07) !important; background: rgba(255,255,255,.018) !important; }
.access-editor { padding: 16px; border-radius: 16px; background: rgba(207,164,91,.025); border: 1px solid rgba(207,164,91,.1); }
.access-list { display: grid; gap: 8px; }
.access-list > * { border-radius: 13px; background: rgba(255,255,255,.02); }
.danger-zone { border-color: rgba(218,87,87,.18) !important; background: linear-gradient(145deg, rgba(218,87,87,.035), rgba(255,255,255,.01)) !important; }

/* Import centre */
.import-flow > * { position: relative; }
.import-flow > *:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -18px; width: 36px; height: 1px; background: linear-gradient(90deg, rgba(207,164,91,.45), transparent); }
.import-preview-panel, .import-history-panel, .import-security-note {
  border-radius: 20px !important; border: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,.01)) !important;
}
.import-drop-icon { box-shadow: 0 0 0 8px rgba(207,164,91,.035), 0 18px 45px rgba(0,0,0,.25); }

/* Compact navigation mode */
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sidebar-collapse {
  flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px;
  border: 1px solid rgba(255,255,255,.07); color: rgba(238,241,244,.62); background: rgba(255,255,255,.025); cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.sidebar-collapse:hover { color: #f2d49b; background: rgba(207,164,91,.08); transform: translateX(-1px); }
.sidebar-compact .sidebar { width: 88px; }
.sidebar-compact .main-area { margin-left: 88px; }
.sidebar-compact .brand { justify-content: center; }
.sidebar-compact .brand > div:last-child, .sidebar-compact .sidebar-label, .sidebar-compact .navigation-item > span:not(.navigation-icon):not(.navigation-count),
.sidebar-compact .user-details { display: none; }
.sidebar-compact .brand-row { justify-content: center; flex-direction: column; }
.sidebar-compact .navigation-item { justify-content: center; padding-inline: 10px; }
.sidebar-compact .navigation-icon { margin: 0; }
.sidebar-compact .navigation-count { position: absolute; right: 8px; top: 7px; min-width: 17px; height: 17px; font-size: 9px; }
.sidebar-compact .signed-user { justify-content: center; padding-inline: 6px; }
.sidebar-compact .logout-button { position: absolute; right: 4px; bottom: 4px; transform: scale(.78); }
.sidebar-compact .topbar { left: 88px; }

/* Laptop optimisation */
@media (max-width: 1440px) {
  .page-content { padding-inline: 24px !important; }
  .metric-grid, .command-kpis, .health-summary-grid { gap: 11px !important; }
  .metric-card { padding: 16px !important; }
  .topbar { padding-inline: 22px !important; }
  .global-search-wrap { max-width: 430px; }
}
@media (max-width: 1180px) {
  .project-switcher > span { display: none; }
  .topbar { gap: 12px; }
  .global-search-wrap { min-width: 220px; }
  .manning-kpis, .command-kpis, .health-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .onboarding-layout, .mobilisation-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 820px) {
  .sidebar, .sidebar-compact .sidebar { width: 74px; }
  .main-area, .sidebar-compact .main-area { margin-left: 74px; }
  .topbar, .sidebar-compact .topbar { left: 74px; }
  .brand > div:last-child, .sidebar-label, .navigation-item > span:not(.navigation-icon):not(.navigation-count), .user-details, .sidebar-collapse { display: none; }
  .navigation-item { justify-content: center; padding-inline: 8px; }
  .navigation-icon { margin: 0; }
  .project-switcher { display: none; }
  .global-search-wrap { flex: 1; max-width: none; }
}

/* Final motion consistency */
.document-card, .approval-row, .movement-item, .health-check-row, .backup-action-card,
.onboarding-roster, .onboarding-detail, .manning-table-wrap, .crewchange-table {
  animation: phase4-rise .34s cubic-bezier(.22,1,.36,1) both;
}
@keyframes phase4-rise { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .document-card, .approval-row, .movement-item, .health-check-row, .backup-action-card, .onboarding-roster, .onboarding-detail, .manning-table-wrap, .crewchange-table { animation: none !important; } }

/* =========================================================
   ORIGINAL PRODUCT REDESIGN — CORE 3
   Purpose-built maritime workforce control language.
   ========================================================= */
.aq-command-dashboard{display:grid;gap:18px}
.aq-ops-hero{position:relative;min-height:300px;display:grid;grid-template-columns:minmax(0,1.2fr) 260px;align-items:center;overflow:hidden;padding:34px 38px;border:1px solid rgba(207,164,91,.16);border-radius:28px;background:radial-gradient(circle at 75% 35%,rgba(207,164,91,.12),transparent 30%),linear-gradient(135deg,#0a1016 0%,#101820 58%,#080c11 100%);box-shadow:0 32px 80px rgba(0,0,0,.34)}
.aq-ops-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.aq-ops-hero-copy{position:relative;z-index:2}.aq-overline{font-size:9px;font-weight:900;letter-spacing:.2em;color:#cdaa6c}.aq-ops-hero h1{margin:18px 0 12px;font-size:clamp(34px,4.2vw,64px);line-height:.98;letter-spacing:-.055em;color:#f3f5f7}.aq-ops-hero h1 em{font-style:normal;color:#c9a764}.aq-ops-hero p{color:#82909d;font-size:12px}.aq-hero-actions{display:flex;gap:10px;margin-top:24px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid rgba(255,255,255,.1);border-radius:11px;color:#dbe0e4;text-decoration:none;background:rgba(255,255,255,.025)}
.aq-readiness-dial{position:relative;z-index:2;width:210px;height:210px;justify-self:end;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d0a75e var(--readiness),rgba(255,255,255,.055) 0);box-shadow:0 0 0 14px rgba(255,255,255,.018),0 25px 70px rgba(0,0,0,.45)}.aq-readiness-dial:after{content:"";position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#17212a,#090e13 65%);border:1px solid rgba(255,255,255,.07)}.aq-readiness-dial>div{position:relative;z-index:2;text-align:center}.aq-readiness-dial span,.aq-readiness-dial small{display:block;color:#7c8995;font-size:8px;letter-spacing:.14em}.aq-readiness-dial strong{display:block;margin:8px 0;font-size:45px;letter-spacing:-.06em;color:#f1d59e}
.aq-vessel-watermark{position:absolute;right:270px;bottom:24px;color:rgba(255,255,255,.035);font-size:48px;line-height:.8;font-weight:900;letter-spacing:.15em}.aq-vessel-watermark span,.aq-vessel-watermark b{display:block}
.aq-status-rail{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.065);border-radius:18px;overflow:hidden;background:#0a0f14}.aq-status-node{position:relative;padding:17px 20px;border-right:1px solid rgba(255,255,255,.055)}.aq-status-node:last-child{border:0}.aq-status-node:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#657383}.aq-status-node.onboard:before{background:#59b98a}.aq-status-node.available:before{background:#6d9fd4}.aq-status-node.leave:before{background:#967fd1}.aq-status-node.travel:before{background:#d2a656}.aq-status-node.danger:before{background:#d26767}.aq-status-node span,.aq-status-node small{display:block;color:#778490;font-size:8px;letter-spacing:.11em}.aq-status-node strong{display:block;margin:7px 0 4px;font-size:28px;color:#eef1f3}
.aq-command-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px}.aq-movement-board,.aq-exception-stack,.aq-roster-deck{border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(155deg,rgba(255,255,255,.025),rgba(255,255,255,.008));overflow:hidden}.aq-movement-board>header,.aq-exception-stack>header,.aq-roster-deck>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.06)}.aq-movement-board header span,.aq-exception-stack header span,.aq-roster-deck header span{font-size:8px;letter-spacing:.16em;color:#9b8054;font-weight:900}.aq-movement-board h2,.aq-exception-stack h2,.aq-roster-deck h2{margin:5px 0 0;font-size:18px}.aq-movement-board header a,.aq-roster-deck header a{color:#c9a768;text-decoration:none;font-size:9px}.aq-movement-track{position:relative}.aq-movement-track:before{content:"";position:absolute;left:70px;top:0;bottom:0;width:1px;background:rgba(207,164,91,.16)}.aq-movement-node{display:grid;grid-template-columns:42px 58px minmax(0,1fr) 80px;gap:12px;align-items:center;width:100%;min-height:68px;padding:0 18px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:#dce1e5;text-align:left;cursor:pointer}.aq-movement-node:hover{background:rgba(207,164,91,.035)}.aq-track-index{color:#56616b;font-size:9px}.aq-track-date{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:42px;padding:7px 0;border:1px solid rgba(207,164,91,.18);border-radius:10px;background:#0c1217;color:#8b98a3;font-size:8px}.aq-track-date b{font-size:15px;color:#e6cc9a}.aq-track-copy{display:flex;flex-direction:column;gap:4px}.aq-track-copy small{color:#75828e;font-size:8px}.aq-track-type{justify-self:end;font-size:8px;text-transform:uppercase;color:#9e895f}.aq-exception-stack>header>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(210,103,103,.1);color:#df8181}.aq-exception{display:grid;grid-template-columns:30px 1fr 12px;gap:10px;align-items:center;width:100%;min-height:64px;padding:10px 18px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:#dce1e5;text-align:left}.aq-exception:hover{background:rgba(255,255,255,.02)}.aq-exception i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(207,164,91,.08);color:#d7b46e;font-style:normal}.aq-exception.critical i{background:rgba(210,103,103,.1);color:#e07777}.aq-exception span{display:flex;flex-direction:column;gap:4px}.aq-exception small{color:#74818c;font-size:8px}.aq-all-clear{display:grid;place-items:center;gap:8px;padding:44px;text-align:center;color:#7d8a95}.aq-all-clear i{font-size:30px;color:#65bd8c}.aq-all-clear span{font-size:9px}.aq-roster-deck>header>div:last-child{display:flex;gap:15px;align-items:center}.aq-roster-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.05)}.aq-roster-card{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:10px;padding:16px;background:#0b1116;color:#dce1e5;text-decoration:none}.aq-roster-card:hover{background:#101821}.aq-roster-card>.status-pill{justify-self:end}.aq-roster-card p{grid-column:1/-1;margin:0;color:#9aa5ae;font-size:8px}.aq-roster-card p span{display:block;margin-top:4px;color:#687681}

/* Crew roster: operational cards, not generic directory tiles */
.people-card-grid{grid-template-columns:repeat(3,minmax(260px,1fr)) !important;gap:14px !important}.person-card{position:relative;min-height:230px;padding:20px !important;border-radius:20px !important;background:linear-gradient(155deg,#101820,#0a0f14) !important;border:1px solid rgba(255,255,255,.07) !important;overflow:hidden}.person-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#587389}.person-card.ops-person-card-attention:before{background:#d0a75e}.person-card h3{font-size:18px !important;margin-top:17px !important}.person-card dl{margin-top:18px !important}.person-card dl div{padding:9px 0;border-top:1px solid rgba(255,255,255,.055)}.ops-people-metrics{border-radius:18px;overflow:hidden;background:#0a0f14;border:1px solid rgba(255,255,255,.065)}.ops-people-metrics article{border-radius:0 !important;border:0 !important;border-right:1px solid rgba(255,255,255,.055) !important;background:transparent !important}

/* Planner becomes the product signature: denser, maritime lane control */
.planner-panel{border-radius:22px !important;background:#090e13 !important;border-color:rgba(255,255,255,.075) !important;box-shadow:0 28px 70px rgba(0,0,0,.3)}.planner-header-row{background:linear-gradient(180deg,#121b23,#0d141a) !important}.planner-person-heading{letter-spacing:.14em;color:#9a8057 !important}.planner-row{min-height:78px !important}.planner-row:nth-child(even){background:rgba(255,255,255,.012)}.planner-person{border-right:1px solid rgba(207,164,91,.11) !important;background:linear-gradient(90deg,rgba(207,164,91,.025),transparent)}.planner-lane{background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:28px 100%}.planner-bar{height:25px !important;border-radius:6px !important;box-shadow:0 6px 14px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08) !important}.planner-bar.rotation{background:linear-gradient(90deg,#176c65,#3b9c87) !important}.planner-bar.leave{background:linear-gradient(90deg,#554174,#8667aa) !important}.planner-bar.travel{background:linear-gradient(90deg,#886226,#c49743) !important}.planner-bar.training{background:linear-gradient(90deg,#2e5377,#4f83ad) !important}.planner-bar.office{background:linear-gradient(90deg,#4c5964,#74818b) !important}.planner-today-line{width:2px !important;background:#d5aa61 !important;box-shadow:0 0 13px rgba(213,170,97,.8)}.planner-summary-card{border-radius:0 !important;background:#0b1116 !important;border-color:rgba(255,255,255,.055) !important}.planner-summary-grid{gap:1px !important;border:1px solid rgba(255,255,255,.06);border-radius:17px;overflow:hidden;background:rgba(255,255,255,.05)}

/* Navigation identity */
.brand-mark{border-radius:8px !important;transform:skew(-8deg);background:linear-gradient(145deg,#d2b06c,#82652f) !important;color:#071016 !important;box-shadow:0 10px 28px rgba(0,0,0,.35)}.brand-mark::first-letter{transform:skew(8deg)}.navigation-item{border-left:2px solid transparent !important;border-radius:8px !important}.navigation-item.active{border-left-color:#d1aa61 !important;background:linear-gradient(90deg,rgba(207,164,91,.11),rgba(207,164,91,.025)) !important}.navigation-icon{font-family:Georgia,serif;color:#7c8994}.navigation-item.active .navigation-icon{color:#ddb96f}

@media(max-width:1180px){.aq-ops-hero{grid-template-columns:1fr 190px}.aq-readiness-dial{width:170px;height:170px}.aq-status-rail{grid-template-columns:repeat(3,1fr)}.aq-command-grid{grid-template-columns:1fr}.aq-roster-cards{grid-template-columns:repeat(2,1fr)}.people-card-grid{grid-template-columns:repeat(2,minmax(240px,1fr)) !important}}
@media(max-width:720px){.aq-ops-hero{grid-template-columns:1fr;padding:25px}.aq-readiness-dial{justify-self:start;margin-top:24px}.aq-status-rail{grid-template-columns:1fr 1fr}.aq-movement-node{grid-template-columns:35px 50px 1fr}.aq-track-type{display:none}.aq-roster-cards,.people-card-grid{grid-template-columns:1fr !important}}


/* FINAL PRODUCT REDESIGN — People, Command Centre and grouped navigation */
.navigation-groups{display:block!important;padding:0 5px 10px 2px!important}
.navigation-group{display:grid;gap:3px;margin:0 0 10px}
.navigation-group .sidebar-label{padding:7px 10px 4px;margin:0;font-size:9px;letter-spacing:.2em;color:#64717d}
.navigation-group .navigation-item{min-height:37px;padding:8px 10px;font-size:12px}
.navigation-group .navigation-icon{width:23px;height:23px;font-size:12px}
.sidebar{overflow:hidden}.navigation-groups{overflow-y:auto;min-height:0;scrollbar-width:thin}
.sidebar-bottom{box-shadow:0 -18px 30px #090d11}

.crew-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(420px,1fr));gap:14px}
.crew-roster-card{display:block;color:inherit;text-decoration:none;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:linear-gradient(150deg,#111820,#0a0f14 72%);overflow:hidden;transition:.18s ease;position:relative}
.crew-roster-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#4d718c}
.crew-roster-card.attention:before{background:#d2a75b}.crew-roster-card.vacancy{border-style:dashed;background:linear-gradient(150deg,rgba(18,25,31,.72),rgba(8,12,16,.92))}.crew-roster-card.vacancy:before{background:#61798b}
.crew-roster-card:hover{transform:translateY(-2px);border-color:rgba(211,172,99,.28);box-shadow:0 18px 38px rgba(0,0,0,.24)}
.crew-roster-card>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px 18px 14px}
.crew-rank-code{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;border:1px solid rgba(215,177,104,.28);background:linear-gradient(145deg,rgba(210,174,101,.2),rgba(210,174,101,.06));color:#e1bf79;font-weight:800;font-size:14px}
.crew-identity span{display:block;color:#7d8994;font-size:9px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}.crew-identity h3{font-size:18px;margin:0;color:#f2f4f5}
.crew-assignment-strip{display:flex;justify-content:space-between;gap:12px;padding:9px 18px;background:rgba(255,255,255,.025);border-block:1px solid rgba(255,255,255,.055);font-size:11px}.crew-assignment-strip span{color:#d9b96f}.crew-assignment-strip b{color:#7f8b95;font-weight:600}
.crew-card-body{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;padding:17px 18px}
.crew-readiness-dial{--crew-ready:360deg;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d6ad60 var(--crew-ready),#202932 0);position:relative}.crew-readiness-dial:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#0d1319}.crew-readiness-dial strong,.crew-readiness-dial span{position:relative;z-index:1;grid-column:1;grid-row:1}.crew-readiness-dial strong{font-size:21px}.crew-readiness-dial span{font-size:7px;letter-spacing:.15em;margin-top:29px;color:#76838f}
.crew-card-body dl{margin:0;display:grid;gap:8px}.crew-card-body dl div{display:flex;justify-content:space-between;gap:18px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.05)}.crew-card-body dt{font-size:8px;letter-spacing:.13em;color:#65727d}.crew-card-body dd{margin:0;font-size:11px;color:#d9dee2;text-align:right}
.crew-roster-card>footer{display:flex;justify-content:space-between;align-items:center;padding:11px 18px 13px;border-top:1px solid rgba(255,255,255,.055);font-size:10px;color:#87939d}.crew-clear{color:#55c7a0}.crew-alert{color:#e37c73}.crew-roster-card.vacancy .crew-readiness-dial{background:conic-gradient(#54728a var(--crew-ready),#202932 0)}

.command-decision-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(390px,1.15fr) minmax(330px,.95fr);gap:16px;align-items:stretch}
.command-decision-layout>.panel{min-height:520px;margin:0}.command-coverage-board,.command-readiness-core,.command-decision-queue{display:flex;flex-direction:column}
.coverage-primary{display:grid;place-items:center;text-align:center;padding:28px 12px 26px}.coverage-primary strong{font-size:76px;line-height:.9;color:#f4f5f6}.coverage-primary span{margin-top:13px;font-size:10px;letter-spacing:.18em;color:#d7b36b}.coverage-primary small{margin-top:6px;color:#6d7984}
.coverage-status-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.055);border-radius:14px;overflow:hidden}.coverage-status-grid div{padding:17px;border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.coverage-status-grid b{display:block;font-size:25px}.coverage-status-grid span{font-size:9px;letter-spacing:.12em;color:#73808a}.coverage-status-grid .danger b{color:#e67d74}.coverage-status-grid .warning b{color:#dfb55f}
.command-deep-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:15px 3px 2px;color:#d7b36b;text-decoration:none;font-size:11px;border-top:1px solid rgba(255,255,255,.055)}
.command-core-dial{--command-ready:360deg;width:210px;height:210px;border-radius:50%;margin:18px auto 24px;display:grid;place-items:center;background:conic-gradient(#d8ad5e var(--command-ready),#222b33 0);box-shadow:0 0 0 12px rgba(255,255,255,.018),0 22px 50px rgba(0,0,0,.28);position:relative}.command-core-dial:after{content:"";position:absolute;inset:15px;border-radius:50%;background:radial-gradient(circle at 50% 42%,#141d25,#0c1117 70%)}.command-core-dial>div{position:relative;z-index:1;text-align:center}.command-core-dial strong{display:block;font-size:45px}.command-core-dial span{font-size:9px;letter-spacing:.2em;color:#7d8993}
.command-core-lines{display:grid;gap:14px}.command-core-lines .risk-line{grid-template-columns:1fr;gap:8px}.command-core-lines .risk-score{grid-template-columns:1fr auto}
.decision-summary{display:flex;gap:8px;margin:-5px 0 12px}.decision-summary span{padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.035);font-size:10px;color:#77848e}.decision-summary b{color:#eef1f3;font-size:14px;margin-right:3px}
.command-decision-queue .command-priority{padding:13px 0}.command-decision-queue .command-priority strong{font-size:13px}.command-decision-queue .command-priority small{font-size:9px}

@media(max-width:1450px){.command-decision-layout{grid-template-columns:.88fr 1.12fr}.command-decision-queue{grid-column:1/-1;min-height:auto!important}.command-decision-queue .command-priority{padding:10px 0}.crew-roster-grid{grid-template-columns:repeat(2,minmax(330px,1fr))}}
@media(max-width:1050px){.command-decision-layout,.crew-roster-grid{grid-template-columns:1fr}.command-decision-layout>.panel{min-height:auto}.crew-roster-card>header{grid-template-columns:auto 1fr}.crew-roster-card>header>.status-pill{grid-column:2}.crew-card-body{grid-template-columns:78px 1fr}}
.sidebar-compact .navigation-group .sidebar-label{display:none}.sidebar-compact .navigation-group{margin-bottom:6px}

/* CRITICAL UI LAYOUT FIX — personnel identity, status alignment and grouped navigation */
.aq-roster-card{
  grid-template-columns:42px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:11px;
  align-items:center;
  min-width:0;
}
.aq-roster-card>.person-avatar{grid-column:1;grid-row:1;align-self:start}
.aq-roster-identity{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:4px;min-width:0;align-self:center}
.aq-roster-identity strong,.aq-roster-identity small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aq-roster-identity strong{font-size:15px;line-height:1.2;color:#edf0f2}
.aq-roster-identity small{font-size:9px;line-height:1.35;color:#788691}
.aq-roster-card>.status-pill{grid-column:3;grid-row:1;justify-self:end;align-self:start;max-width:92px;text-align:center}
.aq-roster-card p{grid-column:2/4;grid-row:2;display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:9px;border-top:1px solid rgba(255,255,255,.045)}
.aq-roster-card p b,.aq-roster-card p span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aq-roster-card p b{font-weight:600;color:#aeb8c0}
.aq-roster-card p span{margin-top:0}

.navigation-group{position:relative;padding-bottom:7px;margin-bottom:7px}
.navigation-group:not(:last-child)::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(207,164,91,.12),rgba(255,255,255,.035),transparent)}
.navigation-group .sidebar-label{display:block!important;color:#7d8993!important;font-weight:800}
.navigation-group .navigation-item{margin-bottom:2px}

@media(max-width:1450px){
  .aq-roster-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .aq-roster-card{grid-template-columns:42px minmax(0,1fr)}
  .aq-roster-card>.status-pill{grid-column:2;grid-row:2;justify-self:start}
  .aq-roster-card p{grid-column:1/3;grid-row:3}
}

/* BIG OPERATIONAL READINESS UPDATE */
.brief-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at 80% 20%,rgba(213,174,91,.13),transparent 34%),linear-gradient(135deg,#10161d,#090d11);margin-bottom:18px}.brief-hero h2{font-size:clamp(28px,3vw,46px);margin:8px 0}.brief-hero p{color:var(--text-muted)}.brief-score{width:142px;height:142px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--gold) 0 82%,rgba(255,255,255,.06) 82%);box-shadow:inset 0 0 0 14px #0d1218}.brief-score strong{font-size:32px}.brief-score span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.brief-metrics{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-bottom:18px;background:#0d1217}.brief-metrics>div{padding:18px 22px;border-right:1px solid var(--border);position:relative}.brief-metrics>div:last-child{border-right:0}.brief-metrics span,.brief-metrics small{display:block;color:var(--text-muted);font-size:11px}.brief-metrics strong{display:block;font-size:28px;margin:6px 0}.brief-metrics .attention:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#e46f65}
.brief-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.brief-panel{overflow:hidden}.brief-panel.full-span{grid-column:1/-1}.brief-panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--border)}.brief-panel-head h2{margin:4px 0 0;font-size:20px}.brief-panel-head a,.brief-panel-head button{color:var(--gold);font-size:12px}.brief-list{display:flex;flex-direction:column}.brief-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.brief-row:hover{background:rgba(255,255,255,.025)}.brief-row time{color:var(--gold);font-weight:700}.brief-row strong,.brief-row small{display:block}.brief-row small{color:var(--text-muted);margin-top:3px}.brief-alert{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(228,111,101,.12);color:#e46f65}.brief-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border)}.brief-task-grid>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:#0d1217;padding:16px 20px;color:inherit;text-decoration:none}.brief-task-grid small{display:block;color:var(--text-muted);margin-top:3px}.priority-dot{width:9px;height:9px;border-radius:50%;background:#7f8a96}.priority-dot.high,.priority-dot.critical{background:#e46f65}.priority-dot.medium{background:var(--gold)}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-card{padding:24px}.profile-card.full-span{grid-column:1/-1}.profile-card h2{margin:6px 0 20px}.profile-card label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;color:var(--text-muted);font-size:12px}.profile-card input,.profile-card textarea{width:100%}.profile-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px}.form-note{color:var(--text-muted);font-size:12px}
.acceptance-score{display:flex;align-items:center;gap:28px;padding:24px 28px;border:1px solid var(--border);border-radius:22px;background:#0d1217;margin-bottom:18px}.acceptance-ring{--progress:0deg;width:130px;height:130px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--gold) var(--progress),rgba(255,255,255,.06) 0);box-shadow:inset 0 0 0 13px #0a0f14}.acceptance-ring strong{font-size:30px}.acceptance-ring span{font-size:10px;color:var(--text-muted);text-transform:uppercase}.acceptance-score h2{margin:6px 0}.acceptance-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.acceptance-grid>.panel{overflow:hidden}.acceptance-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border)}.acceptance-row strong,.acceptance-row small{display:block}.acceptance-row small{color:var(--text-muted);margin-top:3px}.acceptance-row.interactive{cursor:pointer}.acceptance-row input{width:16px;height:16px}.test-pass,.test-fail{width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.test-pass{background:rgba(80,200,153,.12);color:#50c899}.test-fail{background:rgba(228,111,101,.12);color:#e46f65}
@media(max-width:1100px){.brief-metrics{grid-template-columns:repeat(3,1fr)}.brief-grid,.profile-grid,.acceptance-grid{grid-template-columns:1fr}.profile-card.full-span,.brief-panel.full-span,.profile-actions{grid-column:1}.brief-task-grid{grid-template-columns:1fr}}@media(max-width:720px){.brief-hero,.acceptance-score{align-items:flex-start;flex-direction:column}.brief-metrics{grid-template-columns:1fr 1fr}.brief-score{width:110px;height:110px}.brief-row{grid-template-columns:52px minmax(0,1fr)}.brief-row>span:last-child{display:none}}

/* IMO FAL 5 Crew List */
.fal5-print-sheet{display:none}.fal5-control-panel,.fal5-editor{margin-bottom:18px}.fal5-mode-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.fal5-mode-row label{display:flex;align-items:center;gap:8px}.fal5-mode-row strong{margin-left:auto;color:var(--gold)}.fal5-person-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.fal5-person-selector label{display:flex;align-items:center;gap:8px}.fal5-person-selector small{color:var(--muted)}.fal5-warning{display:flex;gap:14px;align-items:center;padding:13px 16px;margin-bottom:18px;border:1px solid rgba(224,176,84,.35);background:rgba(224,176,84,.08);border-radius:12px}.fal5-warning strong{color:#e5bd69}.fal5-warning span{color:var(--muted)}.fal5-editor h2{margin:0 0 18px}.fal5-header-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fal5-header-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px}.fal5-edit-table{min-width:1500px}.fal5-edit-table th{white-space:nowrap}.fal5-edit-table td{vertical-align:top}.fal5-edit-table input,.fal5-edit-table select{min-width:90px;width:100%;padding:8px}.fal5-edit-table td:nth-child(7) input,.fal5-edit-table td:nth-child(8) input{margin-bottom:6px}.page-header-actions{display:flex;gap:10px;align-items:center}
@media(max-width:1100px){.fal5-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fal5-person-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media print{
 @page{size:A4 landscape;margin:8mm}
 body{background:#fff!important;color:#000!important}.app-shell>.sidebar,.topbar,.global-error,.fal5-screen-only{display:none!important}.app-shell,.main-area,.page-content{display:block!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important}.fal5-print-sheet{display:block!important;font-family:Arial,sans-serif;color:#000;font-size:8.5pt}.fal5-print-sheet header{display:flex;justify-content:space-between;align-items:flex-start;border:1.5px solid #000;padding:6px 8px}.fal5-print-sheet h1{font-size:17pt;margin:2px 0 0}.fal5-print-status{border:1px solid #000;padding:4px 8px;font-weight:700}.fal5-print-header{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #000}.fal5-print-header>div{min-height:34px;border-right:1px solid #000;border-bottom:1px solid #000;padding:4px 6px}.fal5-print-header span,.fal5-print-sheet footer span{display:block;font-size:7pt;color:#333;margin-bottom:3px}.fal5-print-header b{font-size:9pt}.fal5-print-sheet table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:5px}.fal5-print-sheet th,.fal5-print-sheet td{border:1px solid #000;padding:3px 4px;vertical-align:top;overflow-wrap:anywhere}.fal5-print-sheet th{font-size:7pt;background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.fal5-print-sheet th:nth-child(1){width:3%}.fal5-print-sheet th:nth-child(2),.fal5-print-sheet th:nth-child(3){width:10%}.fal5-print-sheet th:nth-child(4){width:10%}.fal5-print-sheet th:nth-child(5){width:6%}.fal5-print-sheet th:nth-child(6){width:4%}.fal5-print-sheet th:nth-child(7){width:8%}.fal5-print-sheet th:nth-child(8){width:12%}.fal5-print-sheet th:nth-child(9){width:16%}.fal5-print-sheet th:nth-child(10){width:8%}.fal5-print-sheet th:nth-child(11){width:7%}.fal5-print-sheet tr{break-inside:avoid}.fal5-print-sheet footer{display:grid;grid-template-columns:1fr 2fr 1.3fr;margin-top:12px;gap:18px}.fal5-print-sheet footer>div{border-bottom:1px solid #000;min-height:28px}.fal5-signature{text-align:center}
}

/* Role/access handling */
.boot-actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px}


/* Crew self-service portal */
.self-service-hero{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;margin-bottom:18px;background:linear-gradient(135deg,rgba(191,156,86,.16),rgba(16,28,38,.96));}
.self-service-hero h2{margin:6px 0;font-size:30px}.self-service-hero p{margin:0;color:var(--text-muted)}
.self-service-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.self-service-documents{grid-column:1/-1}.crew-self-service-label{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.crew-self-service-label span{font-size:10px;letter-spacing:.16em;color:var(--gold)}.crew-self-service-label strong{font-size:13px}.linked-person-select{margin-top:6px;max-width:220px}
@media(max-width:1050px){.self-service-grid{grid-template-columns:1fr}.self-service-documents{grid-column:auto}}

/* FAL 5 print reliability fix: disable page-entry animation during browser printing. */
@media print {
  html, body, #root { width: 100% !important; min-width: 0 !important; height: auto !important; overflow: visible !important; }
  .page-content > *, .fal5-print-sheet, .fal5-print-sheet * {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .fal5-print-sheet {
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
  }
}

/* Document Scan & Auto-Fill */
.document-scan-panel{border:1px solid rgba(214,174,91,.24);background:linear-gradient(135deg,rgba(214,174,91,.06),rgba(9,15,21,.72));border-radius:18px;padding:18px;margin-bottom:20px}.document-scan-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.document-scan-heading h3{margin:4px 0 6px;font-size:1.1rem}.document-scan-heading p{margin:0;color:var(--muted);font-size:.84rem}.scan-local-badge{font-size:.66rem;letter-spacing:.16em;color:var(--gold);border:1px solid rgba(214,174,91,.3);border-radius:999px;padding:7px 10px;white-space:nowrap}.document-scan-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}.scan-file-control{display:grid;gap:7px}.scan-file-control span{font-size:.76rem;color:var(--muted);font-weight:700}.scan-file-control input{min-height:44px;padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(4,8,12,.74);color:var(--text)}.scan-message{margin-top:12px;border-radius:10px;padding:10px 12px;font-size:.8rem}.scan-message.error{background:rgba(229,91,91,.1);border:1px solid rgba(229,91,91,.28);color:#ff9e9e}.scan-message.warning{background:rgba(214,174,91,.09);border:1px solid rgba(214,174,91,.22);color:#e9cc8c}.scan-review{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.scan-review-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.scan-review-header>div{display:grid;gap:3px}.scan-review-header small{color:var(--muted)}.scan-field-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.scan-field-grid article{min-width:0;background:rgba(4,8,12,.56);border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:6px}.scan-field-grid article>span{font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.scan-field-grid article>strong{font-size:.88rem;overflow-wrap:anywhere}.scan-confidence{font-size:.66rem}.scan-confidence.high{color:#70d7ae}.scan-confidence.medium{color:#e0bc6b}.scan-confidence.low{color:#ff9e76}.scan-confidence.missing{color:var(--muted)}.scan-raw-text{margin-top:12px}.scan-raw-text summary{cursor:pointer;color:var(--gold);font-size:.76rem}.scan-raw-text pre{white-space:pre-wrap;max-height:180px;overflow:auto;background:#05080b;border:1px solid var(--border);border-radius:10px;padding:12px;font-size:.72rem;color:#cbd2da}@media(max-width:1200px){.scan-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.document-scan-controls,.scan-field-grid{grid-template-columns:1fr}.document-scan-heading,.scan-review-header{align-items:stretch;flex-direction:column}}


/* RC9 PWA / MOBILE WEB */
.mobile-menu-button,.mobile-nav-backdrop{display:none}.pwa-install-button{color:var(--gold,#cfa45b)}
@media(max-width:900px){
  html,body,#root{min-height:100%;min-height:100dvh}
  body{overscroll-behavior-y:none}
  .app-shell{display:block;min-height:100dvh}
  .sidebar{position:fixed;z-index:120;left:0;top:0;bottom:0;width:min(88vw,320px);transform:translateX(-105%);transition:transform .24s ease;box-shadow:24px 0 60px rgba(0,0,0,.42)}
  .mobile-navigation-open .sidebar{transform:translateX(0)}
  .mobile-nav-backdrop{position:fixed;z-index:110;inset:0;border:0;background:rgba(2,6,10,.68);backdrop-filter:blur(3px)}
  .mobile-navigation-open .mobile-nav-backdrop{display:block}
  .mobile-menu-button{display:grid;flex:0 0 auto}
  .sidebar-collapse{display:none}
  .main-area{min-width:0;width:100%;margin-left:0!important}
  .topbar{position:sticky;top:0;z-index:90;height:auto;min-height:64px;padding:10px 12px;gap:8px;background:rgba(9,13,18,.94);backdrop-filter:blur(18px)}
  .global-search-wrap{order:3;flex-basis:100%;width:100%}
  .search-box{width:100%}.search-shortcut{display:none}
  .project-switcher{display:none}
  .topbar-actions{margin-left:auto;gap:6px}
  .topbar-actions .primary-button{padding:10px 12px}.topbar-actions .primary-button span+span{display:none}
  .page-content{padding:14px 12px 88px!important;max-width:none!important}
  .page-header,.page-heading{align-items:flex-start;gap:12px}.page-header-actions,.page-heading-actions{width:100%;flex-wrap:wrap}
  .brief-hero{padding:22px 18px;align-items:flex-start}.brief-score{width:112px;height:112px;flex:0 0 112px}
  .brief-metrics{grid-template-columns:repeat(2,1fr)}.brief-metrics>div{border-bottom:1px solid var(--border);padding:14px}.brief-grid{grid-template-columns:1fr}
  .dashboard-command-grid,.dashboard-grid,.portfolio-layout,.release-grid{grid-template-columns:1fr!important}
  .panel{border-radius:14px}.table-wrap,.planner-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}
  input,select,textarea,button{font-size:16px}
  .modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:none;max-height:92dvh;border-radius:22px 22px 0 0}
  .scan-file-control{min-height:64px}
}
@media(max-width:560px){
  .topbar{flex-wrap:wrap}.crew-self-service-label{max-width:150px}.crew-self-service-label strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brief-hero{display:grid;grid-template-columns:1fr auto}.brief-hero h2{font-size:30px}.brief-hero p{grid-column:1/-1}
  .brief-metrics{grid-template-columns:1fr 1fr}.aq-roster-cards{grid-template-columns:1fr!important}
  .status-grid,.summary-grid,.health-summary-grid,.quality-summary-grid{grid-template-columns:1fr!important}
}
@media(display-mode:standalone){
  .topbar{padding-top:max(10px,env(safe-area-inset-top))}
  .sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .page-content{padding-bottom:max(88px,calc(72px + env(safe-area-inset-bottom)))!important}
}

.camera-capture-control{border-color:rgba(207,164,91,.35)!important;background:rgba(207,164,91,.055)!important}.camera-capture-control span:before{content:"▣ ";color:var(--gold,#cfa45b)}
@media(min-width:901px){.camera-capture-control{display:none}}

/* RC9.1 MOBILE SIDEBAR VISIBILITY FIX
   Override earlier tablet compact-navigation rules when the navigation is used
   as a slide-out drawer. Mobile users must see both icons and text labels. */
@media (max-width: 900px) {
  .sidebar,
  .sidebar-compact .sidebar {
    width: min(92vw, 360px) !important;
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
  }

  .sidebar .brand-row,
  .sidebar-compact .brand-row {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 68px;
  }

  .sidebar .brand,
  .sidebar-compact .brand {
    justify-content: flex-start !important;
    padding-inline: 4px !important;
    gap: 12px !important;
  }

  .sidebar .brand > div:last-child,
  .sidebar-compact .brand > div:last-child,
  .sidebar .sidebar-label,
  .sidebar-compact .sidebar-label,
  .sidebar .navigation-item > span:not(.navigation-icon):not(.navigation-count),
  .sidebar-compact .navigation-item > span:not(.navigation-icon):not(.navigation-count),
  .sidebar .user-details,
  .sidebar-compact .user-details {
    display: block !important;
  }

  .sidebar .navigation-groups,
  .sidebar-compact .navigation-groups {
    padding: 4px 2px 14px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  .sidebar .navigation-group,
  .sidebar-compact .navigation-group {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
  }

  .sidebar .navigation-group .sidebar-label,
  .sidebar-compact .navigation-group .sidebar-label {
    padding: 8px 10px 5px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .18em !important;
  }

  .sidebar .navigation-item,
  .sidebar-compact .navigation-item {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    justify-content: initial !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 8px 11px !important;
    gap: 10px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  .sidebar .navigation-icon,
  .sidebar-compact .navigation-icon {
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    font-size: 14px !important;
  }

  .sidebar .navigation-count,
  .sidebar-compact .navigation-count {
    position: static !important;
    transform: none !important;
    min-width: 24px !important;
    height: 22px !important;
    font-size: 10px !important;
  }

  .sidebar .sidebar-bottom,
  .sidebar-compact .sidebar-bottom {
    padding: 12px 2px 2px !important;
  }

  .sidebar .signed-user,
  .sidebar-compact .signed-user {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 36px !important;
    justify-content: initial !important;
    align-items: center !important;
    padding: 10px !important;
    gap: 10px !important;
  }

  .sidebar .logout-button,
  .sidebar-compact .logout-button {
    position: static !important;
    transform: none !important;
  }
}
