:root {
    --logbook-accent:#22c55e;
    --logbook-accent-bright:#4ade80;
    --logbook-accent-soft:#86efac;
    --logbook-accent-deep:#15803d;
    --logbook-accent-hover:#16a34a;
}

body.light {
    --logbook-accent:#16a34a;
    --logbook-accent-bright:#15803d;
    --logbook-accent-soft:#4ade80;
    --logbook-accent-deep:#15803d;
    --logbook-accent-hover:#166534;
}

.dashboard-logbook-toggle {
    display:none;
}

.dashboard-logbook-panel-content {
    display:grid;
    grid-template-columns:minmax(0,1.4fr) auto auto;
    align-items:center;
    gap:28px;
}

@media (max-width:900px) {
    .dashboard-logbook-panel-content {
        grid-template-columns:minmax(0,1fr) auto;
    }

    .dashboard-logbook-panel-content .dashboard-logbook-panel-stats {
        grid-column:1 / -1;
        grid-row:2;
    }
}

@media (max-width:680px) {
    .dashboard-logbook-panel-content {
        grid-template-columns:1fr;
        gap:16px;
    }

    .dashboard-logbook-panel-content .dashboard-logbook-panel-stats {
        grid-column:auto;
        grid-row:auto;
    }
}

@media (max-width:720px) {
    body.is-native-app:not(.public-screen) .top-nav.app-nav > nav {
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }

    body.is-native-app .dashboard-logbook-panel {
        display:block;
        padding:0;
        overflow:hidden;
    }

    body.is-native-app .dashboard-logbook-toggle {
        box-sizing:border-box;
        width:100%;
        min-height:70px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        padding:13px 15px;
        border:0;
        background:transparent;
        color:var(--text);
        cursor:pointer;
        font:inherit;
        text-align:left;
    }

    body.is-native-app .dashboard-logbook-toggle > span:first-child {
        min-width:0;
        display:grid;
        gap:4px;
    }

    body.is-native-app .dashboard-logbook-toggle small {
        color:color-mix(in srgb, var(--logbook-accent-bright) 76%, var(--text));
        font-size:10px;
        font-weight:900;
        text-transform:uppercase;
    }

    body.is-native-app .dashboard-logbook-toggle strong {
        overflow:hidden;
        font-size:15px;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    body.is-native-app .dashboard-logbook-toggle-chevron {
        width:10px;
        height:10px;
        flex:0 0 auto;
        border-right:2px solid color-mix(in srgb, var(--text) 64%, transparent);
        border-bottom:2px solid color-mix(in srgb, var(--text) 64%, transparent);
        transform:rotate(45deg);
        transition:transform 160ms ease;
    }

    body.is-native-app .dashboard-logbook-toggle[aria-expanded="true"] .dashboard-logbook-toggle-chevron {
        transform:rotate(225deg);
    }

    body.is-native-app .dashboard-logbook-toggle[aria-expanded="false"] + .dashboard-logbook-panel-content {
        display:none;
    }

    body.is-native-app .dashboard-logbook-panel-content {
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
        padding:0 15px 15px;
        border-top:1px solid color-mix(in srgb, var(--border) 84%, transparent);
    }

    body.is-native-app .dashboard-logbook-panel-copy {
        padding-top:14px;
    }

    body.is-native-app.public-screen .landing-logbook-plan {
        cursor:pointer;
    }

    body.is-native-app.public-screen .landing-logbook-plan.selected {
        border-color:#ffffff;
        background:color-mix(in srgb, #ffffff 9%, var(--control));
        box-shadow:
            inset 0 0 0 1px #ffffff,
            0 16px 34px rgba(0,0,0,0.2);
    }

    body.is-native-app.public-screen .landing-logbook-plan.selected::before {
        background:#ffffff;
    }

    body.is-native-app.public-screen .landing-logbook-plan.selected button {
        border-color:#ffffff;
    }
}


.landing-logbook-showcase {
    box-sizing:border-box;
    position:relative;
    width:100vw;
    margin:0 0 0 calc(50% - 50vw);
    padding:72px max(28px, calc((100vw - var(--landing-rail)) / 2 + 28px)) 76px;
    display:grid;
    grid-template-columns:minmax(340px,470px) minmax(0,1fr);
    column-gap:clamp(38px,3.5vw,68px);
    row-gap:52px;
    align-items:start;
    border-top:1px solid color-mix(in srgb, var(--logbook-accent) 24%, var(--border));
    border-bottom:0;
    background:
        linear-gradient(100deg, color-mix(in srgb, var(--logbook-accent) 8%, var(--bg)), var(--bg) 46%, color-mix(in srgb, #38bdf8 5%, var(--bg)));
}

.landing-logbook-copy {
    box-sizing:border-box;
    min-width:0;
}

.landing-logbook-kicker {
    display:block;
    margin-bottom:10px;
    color:var(--logbook-accent-bright);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.landing-logbook-copy h2 {
    max-width:700px;
    margin:0;
    font-size:clamp(32px,4vw,54px);
    line-height:1.04;
    text-wrap:balance;
}

.landing-logbook-copy > p {
    max-width:620px;
    margin:18px 0 0;
    color:color-mix(in srgb, var(--text) 72%, transparent);
    font-size:16px;
    line-height:1.65;
}

.landing-logbook-copy ul {
    display:grid;
    gap:11px;
    margin:24px 0;
    padding:0;
    list-style:none;
}

.landing-logbook-copy li {
    position:relative;
    padding-left:28px;
    color:color-mix(in srgb, var(--text) 72%, transparent);
    font-size:14px;
    line-height:1.45;
}

.landing-logbook-copy li::before {
    content:"";
    position:absolute;
    left:0;
    top:3px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:var(--logbook-accent);
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.55 18-5.7-5.7 1.4-1.4 4.3 4.3 9.2-9.2 1.4 1.4L9.55 18Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.55 18-5.7-5.7 1.4-1.4 4.3 4.3 9.2-9.2 1.4 1.4L9.55 18Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.landing-logbook-copy li strong {
    color:var(--text);
}

.landing-logbook-primary {
    min-height:50px;
    padding:0 20px;
    border:1px solid var(--logbook-accent-bright);
    border-radius:7px;
    background:var(--logbook-accent-deep);
    color:#fff;
    cursor:pointer;
    font:inherit;
    font-weight:850;
}

.landing-logbook-primary:hover,
.landing-logbook-primary:focus-visible,
.landing-logbook-plans button:hover,
.landing-logbook-plans button:focus-visible {
    border-color:#fff;
    outline:none;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--logbook-accent) 24%, transparent);
}

.landing-logbook-device {
    min-width:0;
    position:relative;
    width:min(100%, 870px);
    margin:26px auto 0;
    justify-self:center;
}

.landing-logbook-tablet {
    box-sizing:border-box;
    position:relative;
    width:100%;
    padding:12px;
    border:1px solid rgba(255,255,255,0.14);
    border-radius:22px;
    background:#252a31;
    box-shadow:0 30px 80px rgba(0,0,0,0.42), 0 0 0 2px rgba(0,0,0,0.28);
}

.landing-logbook-tablet::after {
    content:"";
    position:absolute;
    top:24%;
    right:-4px;
    width:3px;
    height:58px;
    border-radius:0 3px 3px 0;
    background:#525964;
}

.landing-logbook-camera {
    position:absolute;
    z-index:2;
    top:4px;
    left:50%;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#07090c;
    box-shadow:0 0 0 1px rgba(255,255,255,0.06);
    transform:translateX(-50%);
}

.landing-logbook-screen {
    overflow:hidden;
    position:relative;
    container-type:inline-size;
    aspect-ratio:2078 / 1198;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:11px;
    background:#091321;
}

.landing-logbook-screen::after {
    content:none;
}

.landing-logbook-screen img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.landing-logbook-phone {
    box-sizing:border-box;
    position:absolute;
    z-index:3;
    right:-18px;
    bottom:-24px;
    width:clamp(128px,14vw,178px);
    aspect-ratio:9 / 19.5;
    padding:7px;
    border:1px solid rgba(255,255,255,0.2);
    border-radius:30px;
    background:#20252c;
    box-shadow:
        0 24px 52px rgba(0,0,0,0.48),
        0 0 0 2px rgba(0,0,0,0.34);
}

.landing-logbook-phone-camera {
    position:absolute;
    z-index:2;
    top:10px;
    left:50%;
    width:42%;
    height:12px;
    border-radius:10px;
    background:#07090c;
    transform:translateX(-50%);
}

.landing-logbook-phone-screen {
    container-type:inline-size;
    width:100%;
    height:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:23px;
    background:#091321;
}

.landing-logbook-phone-screen img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:left top;
}

.landing-logbook-mobile-preview {
    box-sizing:border-box;
    width:100%;
    height:100%;
    display:grid;
    grid-template-rows:13% minmax(0,1fr);
    overflow:hidden;
    background:#091321;
    color:#e5edf8;
    font-size:clamp(6px, 4.2cqw, 9px);
    line-height:1.2;
}

.landing-logbook-mobile-preview * {
    box-sizing:border-box;
    min-width:0;
}

.landing-logbook-mobile-totals {
    overflow:hidden;
    border:1px solid rgba(148,163,184,0.2);
    border-radius:0.45em;
    background:#0e1a2b;
}

.landing-logbook-mobile-totals-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0.75em 0.85em;
    border-bottom:1px solid rgba(148,163,184,0.18);
    color:#f8fbff;
    font-size:0.88em;
    font-weight:850;
}

.landing-logbook-mobile-totals-heading span,
.landing-logbook-mobile-breakdown span {
    color:#86efac;
    font-size:1.25em;
    line-height:0.7;
}

.landing-logbook-mobile-metrics {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.landing-logbook-mobile-metrics > div {
    display:flex;
    min-width:0;
    min-height:4.65em;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:0.6em 0.45em;
    border-bottom:1px solid rgba(148,163,184,0.16);
    text-align:center;
}

.landing-logbook-mobile-metrics > div:nth-child(odd) {
    border-right:1px solid rgba(148,163,184,0.16);
}

.landing-logbook-mobile-metrics > div:nth-last-child(-n+2) {
    border-bottom:0;
}

.landing-logbook-mobile-metrics > div.is-primary {
    background:rgba(20,83,45,0.28);
}

.landing-logbook-mobile-metrics small {
    overflow:hidden;
    width:100%;
    color:rgba(229,237,248,0.58);
    font-size:0.62em;
    font-weight:850;
    line-height:1.1;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.landing-logbook-mobile-metrics b {
    margin-top:0.22em;
    color:#f8fbff;
    font-size:1.4em;
    line-height:1;
}

.landing-logbook-mobile-metrics .is-primary b {
    color:#86efac;
}

.landing-logbook-mobile-metrics em {
    color:rgba(229,237,248,0.52);
    font-size:0.62em;
    font-style:normal;
    line-height:1.1;
    text-transform:uppercase;
}

.landing-logbook-mobile-metrics > div > span {
    display:inline-flex;
    align-items:center;
    gap:0.16em;
    margin-top:0.16em;
}

.landing-logbook-mobile-metrics > div > span + span {
    margin-left:0.25em;
}

.landing-logbook-mobile-metrics > div > span b {
    margin-top:0;
    font-size:1.05em;
}

.landing-logbook-mobile-breakdown {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0.78em 0.85em;
    border:1px solid rgba(148,163,184,0.16);
    border-radius:0.45em;
    color:#e5edf8;
    font-size:0.8em;
}

.landing-logbook-mobile-breakdown strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.landing-logbook-mobile-top {
    display:flex;
    align-items:center;
    gap:0.58em;
    padding:0 7%;
    background:linear-gradient(90deg, #10353b, #102536);
}

.landing-logbook-mobile-top strong {
    overflow:hidden;
    font-size:1.05em;
    font-weight:900;
    letter-spacing:0;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.landing-logbook-mobile-mark {
    width:1.95em;
    height:1em;
    flex:0 0 auto;
    background:#7dd3fc;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 18'%3E%3Cpath fill='black' d='M.7 9.1c4.9-5.1 10.9-5.1 18 0 6 4.4 11 4.5 15.1.4l2.6 2.8c-5.5 5.4-12.2 5.3-20-.3-5.5-4-9.7-4-12.7.1L.7 9.1Zm4.1-5.7c4.7-3.5 10.1-3 16.1 1.5 4.6 3.4 8.5 3.7 11.7.7l2.5 2.7c-4.5 4.2-10 3.9-16.5-.8-4.7-3.5-8.5-3.9-11.4-1.3L4.8 3.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 18'%3E%3Cpath fill='black' d='M.7 9.1c4.9-5.1 10.9-5.1 18 0 6 4.4 11 4.5 15.1.4l2.6 2.8c-5.5 5.4-12.2 5.3-20-.3-5.5-4-9.7-4-12.7.1L.7 9.1Zm4.1-5.7c4.7-3.5 10.1-3 16.1 1.5 4.6 3.4 8.5 3.7 11.7.7l2.5 2.7c-4.5 4.2-10 3.9-16.5-.8-4.7-3.5-8.5-3.9-11.4-1.3L4.8 3.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.landing-logbook-mobile-body {
    display:grid;
    align-content:start;
    gap:0.82em;
    padding:15% 7% 8%;
}

.landing-logbook-mobile-kicker {
    color:#86efac;
    font-size:0.72em;
    font-weight:900;
    text-transform:uppercase;
}

.landing-logbook-mobile-body h3 {
    margin:0;
    color:#f8fbff;
    font-size:2em;
    line-height:1.02;
}

.landing-logbook-mobile-body p {
    margin:0;
    overflow:hidden;
    color:rgba(229,237,248,0.62);
    font-size:0.86em;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.landing-logbook-mobile-stats {
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid rgba(148,163,184,0.18);
    border-bottom:1px solid rgba(148,163,184,0.18);
}

.landing-logbook-mobile-stats span {
    display:grid;
    gap:0.1em;
    padding:0.72em 0;
}

.landing-logbook-mobile-stats span + span {
    padding-left:1em;
    border-left:1px solid rgba(148,163,184,0.18);
}

.landing-logbook-mobile-stats b {
    color:#f8fbff;
    font-size:1.5em;
}

.landing-logbook-mobile-stats small {
    color:rgba(229,237,248,0.58);
    font-size:0.72em;
    font-weight:800;
    text-transform:uppercase;
}

.landing-logbook-mobile-access {
    display:grid;
    gap:0.22em;
    padding:0.9em 0.9em;
    border-left:0.28em solid #22c55e;
    background:rgba(20,83,45,0.38);
}

.landing-logbook-mobile-access strong,
.landing-logbook-mobile-access small {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.landing-logbook-mobile-access strong {
    color:#f8fbff;
    font-size:0.9em;
}

.landing-logbook-mobile-access small {
    color:rgba(229,237,248,0.58);
    font-size:0.76em;
}

.landing-logbook-mobile-tabs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0.6em;
    border-bottom:1px solid rgba(148,163,184,0.18);
}

.landing-logbook-mobile-tabs b,
.landing-logbook-mobile-tabs span {
    overflow:hidden;
    padding-bottom:0.55em;
    font-size:0.84em;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.landing-logbook-mobile-tabs b {
    color:#f8fbff;
    border-bottom:0.18em solid #22c55e;
}

.landing-logbook-mobile-tabs span {
    color:rgba(229,237,248,0.55);
    font-weight:800;
}

.landing-logbook-mobile-search {
    overflow:hidden;
    padding:0.78em 0.9em;
    border:1px solid rgba(148,163,184,0.14);
    border-radius:0.42em;
    background:#101929;
    color:rgba(229,237,248,0.5);
    font-size:0.8em;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.landing-logbook-mobile-table {
    display:grid;
    border:1px solid rgba(148,163,184,0.12);
    border-radius:0.42em;
    overflow:hidden;
}

.landing-logbook-mobile-table div {
    display:grid;
    grid-template-columns:1.05fr 0.92fr 1fr;
    gap:0.55em;
    padding:0.8em 0.75em;
    border-bottom:1px solid rgba(148,163,184,0.12);
}

.landing-logbook-mobile-table div:last-child {
    border-bottom:0;
}

.landing-logbook-mobile-table b,
.landing-logbook-mobile-table span,
.landing-logbook-mobile-table em {
    overflow:hidden;
    font-size:0.78em;
    font-style:normal;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.landing-logbook-mobile-table b,
.landing-logbook-mobile-table span {
    color:#e5edf8;
}

.landing-logbook-mobile-table em {
    color:rgba(229,237,248,0.62);
}

.landing-logbook-device figcaption {
    margin-top:12px;
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:11px;
    font-weight:750;
    text-align:center;
    text-transform:uppercase;
}

.landing-logbook-trial {
    box-sizing:border-box;
    width:min(100%,620px);
    margin-top:22px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:12px 0;
    border-top:1px solid color-mix(in srgb, var(--logbook-accent-bright) 42%, var(--border));
    border-bottom:1px solid color-mix(in srgb, var(--logbook-accent) 24%, var(--border));
}

.landing-logbook-trial > div {
    min-width:0;
}

.landing-logbook-trial strong,
.landing-logbook-trial p {
    display:block;
}

.landing-logbook-trial-number {
    width:58px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb, var(--logbook-accent-bright) 44%, var(--border));
    border-radius:6px;
    background:color-mix(in srgb, var(--logbook-accent) 10%, var(--control));
    color:var(--logbook-accent-bright);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.landing-logbook-trial strong {
    color:var(--text);
    font-size:16px;
    line-height:1.25;
}

.landing-logbook-trial p {
    margin:3px 0 0;
    color:color-mix(in srgb, var(--text) 64%, transparent);
    font-size:12px;
    line-height:1.4;
}

.landing-logbook-trial .landing-logbook-primary {
    flex:0 0 auto;
    min-width:140px;
    min-height:42px;
    padding-inline:16px;
    font-size:12px;
}

.landing-logbook-trial[hidden],
.landing-logbook-included[hidden] {
    display:none !important;
}

.landing-logbook-product {
    min-width:0;
    overflow:hidden;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 34%, var(--border));
    border-radius:8px;
    background:color-mix(in srgb, var(--card) 96%, var(--logbook-accent));
    box-shadow:0 24px 70px rgba(0,0,0,0.24);
}

.landing-logbook-product > header {
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 20px;
    border-bottom:1px solid var(--border);
}

.landing-logbook-product > header > div span,
.landing-logbook-metrics small {
    display:block;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
}

.landing-logbook-product > header > div strong {
    display:block;
    margin-top:3px;
    font-size:21px;
}

.landing-logbook-status {
    color:var(--logbook-accent-soft);
    font-size:12px;
    font-weight:800;
}

.landing-logbook-metrics {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-bottom:1px solid var(--border);
}

.landing-logbook-metrics > span {
    min-width:0;
    padding:14px;
    border-right:1px solid var(--border);
}

.landing-logbook-metrics > span:last-child {
    border-right:0;
}

.landing-logbook-metrics strong {
    display:block;
    margin-top:3px;
    font-size:22px;
}

.landing-logbook-empty {
    min-height:220px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:30px;
    text-align:center;
}

.landing-logbook-empty strong {
    margin-top:13px;
    font-size:18px;
}

.landing-logbook-empty p {
    max-width:38ch;
    margin:7px 0 0;
    color:color-mix(in srgb, var(--text) 60%, transparent);
    font-size:13px;
}

.landing-logbook-plane {
    width:42px;
    height:42px;
    background:var(--logbook-accent-bright);
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m21 16-8-5V5.5a1.5 1.5 0 0 0-3 0V11l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-3.5l8 2.5v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m21 16-8-5V5.5a1.5 1.5 0 0 0-3 0V11l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-3.5l8 2.5v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.landing-logbook-product > footer {
    min-height:46px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:center;
    border-top:1px solid var(--border);
}

.landing-logbook-product > footer span {
    padding:0 8px;
    color:color-mix(in srgb, var(--text) 55%, transparent);
    font-size:11px;
    font-weight:750;
    text-align:center;
}

.landing-logbook-product > footer span:first-child {
    color:var(--logbook-accent-soft);
}

.landing-logbook-plans {
    grid-column:1 / -1;
    width:min(72%, 820px);
    justify-self:center;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    align-items:stretch;
}

.landing-logbook-included {
    grid-column:1 / -1;
    position:static;
    width:min(50%, 785px);
    min-width:0;
    justify-self:center;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:11px 13px;
    border:1px solid color-mix(in srgb, var(--logbook-accent-bright) 54%, var(--border));
    border-radius:6px;
    background:color-mix(in srgb, var(--card) 92%, var(--logbook-accent));
    box-shadow:0 16px 38px rgba(0,0,0,0.18);
}

.landing-logbook-copy > .landing-logbook-included {
    width:100%;
    max-width:470px;
    justify-self:stretch;
    margin:-8px 0 24px;
}

.landing-logbook-included-icon {
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--logbook-accent-bright);
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.55 18-5.7-5.7 1.4-1.4 4.3 4.3 9.2-9.2 1.4 1.4L9.55 18Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.55 18-5.7-5.7 1.4-1.4 4.3 4.3 9.2-9.2 1.4 1.4L9.55 18Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.landing-logbook-included > div {
    min-width:0;
    display:grid;
    gap:2px;
}

.landing-logbook-included > div > span {
    color:var(--logbook-accent-bright);
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
}

.landing-logbook-included > div > strong {
    color:var(--text);
    font-size:14px;
    line-height:1.24;
}

.landing-logbook-free-emphasis {
    color:var(--logbook-accent-bright);
    font-size:1.08em;
    font-weight:950;
    text-decoration:underline;
    text-decoration-color:color-mix(in srgb, var(--logbook-accent-bright) 64%, transparent);
    text-underline-offset:3px;
}

.landing-logbook-included > div > p {
    max-width:90ch;
    margin:1px 0 0;
    color:color-mix(in srgb, var(--text) 62%, transparent);
    font-size:12px;
    line-height:1.4;
}

.landing-logbook-standalone-heading {
    grid-column:1 / -1;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:14px;
    padding:12px 2px 0;
}

.landing-logbook-standalone-heading strong {
    font-size:19px;
}

.landing-logbook-standalone-heading span {
    color:color-mix(in srgb, var(--text) 60%, transparent);
    font-size:13px;
}

.landing-logbook-plan {
    position:relative;
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 16px;
    margin:0;
    min-height:148px;
    padding:20px;
    overflow:hidden;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 28%, var(--border));
    border-radius:7px;
    background:color-mix(in srgb, var(--control) 94%, var(--bg));
    box-shadow:0 12px 28px rgba(0,0,0,0.12);
    transition:border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.landing-logbook-plan::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:3px;
    background:color-mix(in srgb, var(--text) 18%, transparent);
}

.landing-logbook-plan:hover {
    transform:translateY(-2px);
    border-color:color-mix(in srgb, var(--logbook-accent-bright) 62%, var(--border));
    box-shadow:0 16px 34px rgba(0,0,0,0.17);
}

.landing-logbook-plan > span,
.landing-logbook-plan > small {
    color:color-mix(in srgb, var(--text) 60%, transparent);
    font-size:13px;
}

.landing-logbook-plan > span {
    font-weight:900;
    text-transform:uppercase;
}

.landing-logbook-plan > strong {
    grid-row:1 / span 2;
    grid-column:2;
    align-self:center;
    font-size:38px;
    line-height:1;
}

.landing-logbook-plans button {
    grid-column:1 / -1;
    min-height:42px;
    margin-top:10px;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 54%, var(--border));
    border-radius:6px;
    background:transparent;
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:14px;
    font-weight:850;
}

.landing-logbook-plans button:disabled {
    border-color:color-mix(in srgb, var(--logbook-accent) 24%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 7%, var(--control));
    color:color-mix(in srgb, var(--text) 58%, transparent);
    cursor:not-allowed;
    box-shadow:none;
}

.landing-logbook-plans.is-access-included > .landing-logbook-plan {
    background:color-mix(in srgb, var(--logbook-accent) 4%, transparent);
}

.landing-logbook-plan.is-best-value {
    border-color:color-mix(in srgb, var(--logbook-accent-bright) 58%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 7%, var(--control));
}

.landing-logbook-plan.is-best-value::before {
    background:var(--logbook-accent-bright);
}

.landing-logbook-plan.is-best-value button {
    border-color:var(--logbook-accent-bright);
    background:var(--logbook-accent-deep);
    color:#fff;
}

.landing-logbook-carryover {
    grid-column:1 / -1;
    margin:0;
    padding:6px 4px 0;
    color:color-mix(in srgb, var(--text) 68%, transparent);
    font-size:14px;
    line-height:1.5;
}

.landing-logbook-carryover strong {
    color:var(--text);
}

.dashboard-logbook-summary,
.logbook-app {
    box-sizing:border-box;
    width:100%;
    max-width:1180px;
    margin-right:auto;
    margin-left:auto;
}

.dashboard-logbook-summary:empty {
    display:none;
}

.dashboard-logbook-summary {
    max-width:920px;
    margin:0 auto 24px;
}

.dashboard-logbook-panel {
    box-sizing:border-box;
    display:grid;
    grid-template-columns:minmax(0,1.4fr) auto auto;
    align-items:center;
    gap:28px;
    width:100%;
    padding:22px 24px;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 24%, var(--border));
    border-radius:8px;
    background:
        linear-gradient(100deg, color-mix(in srgb, var(--logbook-accent) 8%, var(--card)), var(--card) 48%);
}

body.light .dashboard-logbook-panel {
    border-color:var(--border);
    border-left:3px solid color-mix(in srgb, var(--logbook-accent) 72%, var(--border));
    background:var(--card);
    box-shadow:var(--subtle-shadow);
}

body.light .dashboard-logbook-panel > div:first-child > span {
    color:#15803d;
}

body.light .dashboard-logbook-deferred-access {
    border-color:color-mix(in srgb, var(--logbook-accent) 62%, #8a99ab);
    background:color-mix(in srgb, var(--logbook-accent) 11%, #ffffff);
}

body.light .dashboard-logbook-deferred-access small {
    color:#15803d;
}

body.light .dashboard-logbook-deferred-access p {
    color:#475569;
}

body.light .dashboard-logbook-panel-actions button:not(.is-buy) {
    border-color:var(--border);
    background:var(--control);
}

body.light .dashboard-logbook-panel-actions button:not(.is-buy):hover,
body.light .dashboard-logbook-panel-actions button:not(.is-buy):focus-visible {
    border-color:color-mix(in srgb, var(--logbook-accent) 44%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 7%, var(--control));
}

.dashboard-logbook-panel > div:first-child > span,
.logbook-kicker,
.logbook-access-banner > div > span,
.logbook-section-heading > div > span,
.logbook-entry-modal > header > div > span {
    display:block;
    margin-bottom:5px;
    color:color-mix(in srgb, var(--logbook-accent-bright) 72%, var(--text));
    font-size:11px;
    font-weight:850;
    letter-spacing:0;
    text-transform:uppercase;
}

.dashboard-logbook-panel h2 {
    margin:0;
    font-size:20px;
}

.dashboard-logbook-panel p {
    margin:7px 0 0;
    color:color-mix(in srgb, var(--text) 67%, transparent);
    font-size:14px;
}

.dashboard-logbook-panel-stats {
    display:flex;
    align-items:center;
    gap:18px;
}

.dashboard-logbook-panel-stats span {
    min-width:64px;
    color:color-mix(in srgb, var(--text) 62%, transparent);
    font-size:12px;
}

.dashboard-logbook-panel-stats strong {
    display:block;
    margin-bottom:2px;
    color:var(--text);
    font-size:16px;
}

.dashboard-logbook-access-status {
    min-width:174px;
}

.dashboard-logbook-access-status small {
    display:block;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:11px;
    font-weight:650;
    line-height:1.35;
}

.dashboard-logbook-deferred-access {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(190px, 0.55fr) minmax(0, 1.45fr);
    align-items:center;
    gap:22px;
    padding:14px 16px;
    border:1px solid color-mix(in srgb, var(--logbook-accent-bright) 34%, var(--border));
    border-radius:7px;
    background:color-mix(in srgb, var(--logbook-accent) 9%, var(--control));
}

.dashboard-logbook-deferred-access > span {
    min-width:0;
}

.dashboard-logbook-deferred-access small {
    display:block;
    margin-bottom:4px;
    color:color-mix(in srgb, var(--logbook-accent-bright) 80%, var(--text));
    font-size:10px;
    font-weight:900;
    line-height:1.2;
    text-transform:uppercase;
}

.dashboard-logbook-deferred-access strong {
    display:block;
    color:var(--text);
    font-size:15px;
    line-height:1.3;
}

.dashboard-logbook-deferred-access p {
    margin:0;
    color:color-mix(in srgb, var(--text) 72%, transparent);
    font-size:12px;
    line-height:1.5;
}

.dashboard-logbook-panel-actions button,
.logbook-add-button,
.logbook-access-actions button,
.logbook-empty button,
.logbook-section-heading > button,
.logbook-profile-form button,
.logbook-report-action button,
.logbook-data-actions button {
    min-height:42px;
    padding:10px 16px;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 42%, var(--border));
    border-radius:7px;
    background:color-mix(in srgb, var(--logbook-accent) 17%, var(--control));
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:800;
}

.dashboard-logbook-panel-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
}

.dashboard-logbook-panel-actions button {
    width:100%;
    white-space:nowrap;
}

.dashboard-logbook-purchase {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(220px, 1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    align-items:stretch;
    gap:0;
    padding-top:18px;
    border-top:1px solid color-mix(in srgb, var(--logbook-accent) 24%, var(--border));
}

.dashboard-logbook-purchase-heading {
    display:grid;
    align-content:center;
    gap:5px;
    padding-right:22px;
}

.dashboard-logbook-purchase-heading strong {
    font-size:14px;
}

.dashboard-logbook-purchase-heading span {
    color:color-mix(in srgb, var(--text) 64%, transparent);
    font-size:12px;
    line-height:1.45;
}

.dashboard-logbook-purchase-option {
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:4px 12px;
    padding:2px 18px;
    border-left:1px solid var(--border);
}

.dashboard-logbook-purchase-option > span {
    min-width:0;
    display:grid;
    gap:3px;
}

.dashboard-logbook-purchase-option > span strong {
    font-size:14px;
}

.dashboard-logbook-purchase-option small {
    overflow:hidden;
    color:color-mix(in srgb, var(--text) 62%, transparent);
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.dashboard-logbook-purchase-option > b {
    font-size:18px;
}

.dashboard-logbook-purchase-option > button {
    grid-column:1 / -1;
    min-height:34px;
    margin-top:5px;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 46%, var(--border));
    border-radius:6px;
    background:color-mix(in srgb, var(--logbook-accent) 14%, var(--control));
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:850;
}

.dashboard-logbook-purchase-option > button:hover,
.dashboard-logbook-purchase-option > button:focus-visible {
    border-color:var(--logbook-accent-bright);
    background:color-mix(in srgb, var(--logbook-accent) 24%, var(--control));
    outline:none;
}

.dashboard-logbook-panel-actions .is-buy {
    border-color:var(--logbook-accent-bright);
    background:var(--logbook-accent-deep);
    color:#fff;
}

.dashboard-logbook-panel-actions .is-buy:hover,
.dashboard-logbook-panel-actions .is-buy:focus-visible {
    border-color:var(--logbook-accent-soft);
    background:var(--logbook-accent-hover);
}

.dashboard-logbook-panel-actions button:hover,
.dashboard-logbook-panel-actions button:focus-visible,
.logbook-add-button:hover,
.logbook-add-button:focus-visible,
.logbook-access-actions button:hover,
.logbook-access-actions button:focus-visible,
.logbook-empty button:hover,
.logbook-empty button:focus-visible,
.logbook-section-heading > button:hover,
.logbook-section-heading > button:focus-visible,
.logbook-profile-form button:hover,
.logbook-profile-form button:focus-visible,
.logbook-report-action button:hover,
.logbook-report-action button:focus-visible,
.logbook-data-actions button:hover,
.logbook-data-actions button:focus-visible {
    background:color-mix(in srgb, var(--logbook-accent) 25%, var(--control));
    outline:none;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--logbook-accent) 22%, transparent);
}

.logbook-app {
    padding-bottom:34px;
}

.logbook-report-button {
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:42px;
    padding:10px 16px;
    border:1px solid color-mix(in srgb, var(--border) 86%, var(--text));
    border-radius:6px;
    background:transparent;
    color:color-mix(in srgb, var(--text) 66%, transparent);
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:750;
    white-space:nowrap;
}

.logbook-report-button:hover,
.logbook-report-button:focus-visible {
    border-color:color-mix(in srgb, var(--logbook-accent) 58%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 7%, transparent);
    color:var(--text);
    outline:none;
}

.logbook-report-button > span {
    display:inline-grid;
    width:16px;
    height:16px;
    place-items:center;
    border:1px solid currentColor;
    border-radius:50%;
    font-size:10px;
    line-height:1;
}

.logbook-back-to-top {
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:80;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:8px 13px;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 56%, var(--border));
    border-radius:7px;
    background:color-mix(in srgb, var(--card) 94%, var(--logbook-accent) 6%);
    color:color-mix(in srgb, var(--text) 86%, var(--logbook-accent));
    box-shadow:0 10px 26px rgba(0,0,0,0.22);
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:800;
    opacity:0;
    transform:translateY(8px);
    transition:opacity 160ms ease, transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.logbook-back-to-top[hidden] {
    display:none;
}

.logbook-back-to-top.is-visible {
    opacity:1;
    transform:translateY(0);
}

.logbook-back-to-top:hover,
.logbook-back-to-top:focus-visible {
    border-color:var(--logbook-accent-bright);
    background:color-mix(in srgb, var(--card) 86%, var(--logbook-accent) 14%);
    outline:none;
}

.logbook-back-to-top > span {
    font-size:18px;
    line-height:0.8;
}

.logbook-header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    padding:30px 0 22px;
}

.logbook-header h1 {
    margin:0;
    font-size:clamp(30px, 4vw, 46px);
    letter-spacing:0;
}

.logbook-title-row {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:10px 16px;
}

.logbook-title-access {
    display:inline-flex;
    align-items:baseline;
    gap:7px;
    min-width:0;
    padding-left:14px;
    border-left:1px solid color-mix(in srgb, var(--logbook-accent) 55%, var(--border));
    white-space:nowrap;
}

.logbook-title-access span {
    color:color-mix(in srgb, var(--logbook-accent-bright) 78%, var(--text));
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.logbook-title-access strong {
    color:color-mix(in srgb, var(--text) 76%, transparent);
    font-size:12px;
    font-weight:750;
}

.logbook-header p {
    max-width:680px;
    margin:8px 0 0;
    color:color-mix(in srgb, var(--text) 66%, transparent);
    font-size:15px;
}

.logbook-header-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.logbook-header-buttons {
    display:flex;
    align-items:center;
    gap:8px;
}

.logbook-header-buttons > button {
    box-sizing:border-box;
    flex:1 1 0;
    min-width:148px;
    min-height:42px;
    white-space:nowrap;
}

.logbook-access-chip {
    max-width:210px;
    color:color-mix(in srgb, var(--text) 66%, transparent);
    font-size:12px;
    line-height:1.3;
    text-align:right;
}

.logbook-add-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--logbook-accent-deep);
    border-color:var(--logbook-accent);
    color:#fff;
}

.logbook-import-button {
    box-sizing:border-box;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 14px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--control);
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.logbook-import-button > span {
    width:16px;
    height:16px;
    background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 17h2V8.83l3.59 3.58L18 11l-6-6-6 6 1.41 1.41L11 8.83V17ZM5 21h14v-2H5v2Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 17h2V8.83l3.59 3.58L18 11l-6-6-6 6 1.41 1.41L11 8.83V17ZM5 21h14v-2H5v2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.logbook-import-button:hover,
.logbook-import-button:focus-visible {
    border-color:color-mix(in srgb, #38bdf8 58%, var(--border));
    background:color-mix(in srgb, #38bdf8 10%, var(--control));
    outline:none;
}

.logbook-import-button:disabled {
    opacity:0.42;
    cursor:not-allowed;
}

.logbook-add-button > span {
    font-size:20px;
    font-weight:500;
    line-height:1;
}

.logbook-add-button:disabled,
.logbook-access-actions button:disabled,
.logbook-data-actions button:disabled,
.logbook-section-heading > button:disabled {
    opacity:0.42;
    cursor:not-allowed;
    box-shadow:none;
}

.logbook-metrics {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.logbook-metric {
    min-width:0;
    padding:16px 20px;
    border-right:1px solid var(--border);
}

.logbook-metric:last-child {
    border-right:0;
}

.logbook-metric span {
    display:block;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:11px;
    font-weight:750;
    text-transform:uppercase;
}

.logbook-metric strong {
    display:inline-block;
    margin-top:4px;
    font-size:25px;
}

.logbook-metric small {
    margin-left:4px;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:11px;
}

.logbook-metric-split-values {
    display:flex;
    align-items:flex-end;
    gap:14px;
    margin-top:4px;
}

.logbook-metric-split-values span {
    display:flex;
    align-items:baseline;
    gap:4px;
    min-width:0;
}

.logbook-metric-split-values strong {
    margin-top:0;
    font-size:22px;
    color:var(--text);
}

.logbook-metric.is-muted > strong,
.logbook-metric.is-muted .logbook-metric-split-values strong {
    color:color-mix(in srgb, var(--text) 68%, transparent);
}

.logbook-metric-split-values small {
    margin-left:0;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:9px;
    line-height:1.1;
    text-transform:uppercase;
}

.logbook-time-breakdown {
    margin-top:16px;
    border:1px solid var(--border);
    border-radius:6px;
    background:color-mix(in srgb, var(--card) 88%, var(--control));
}

.logbook-time-breakdown summary {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    padding:13px 16px;
    cursor:pointer;
    list-style:none;
}

.logbook-time-breakdown summary::-webkit-details-marker {
    display:none;
}

.logbook-time-breakdown summary::after {
    width:7px;
    height:7px;
    flex:0 0 auto;
    margin-left:auto;
    border-right:2px solid var(--logbook-accent-bright);
    border-bottom:2px solid var(--logbook-accent-bright);
    transform:rotate(45deg) translateY(-2px);
    content:"";
}

.logbook-time-breakdown[open] summary::after {
    transform:rotate(225deg) translate(-1px,-1px);
}

.logbook-time-breakdown summary span {
    color:var(--text);
    font-size:12px;
    font-weight:850;
    text-transform:uppercase;
}

.logbook-time-breakdown summary small {
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:11px;
}

.logbook-time-breakdown summary small::before {
    content:"↔ ";
    color:color-mix(in srgb, var(--logbook-accent-bright) 82%, var(--text));
    font-weight:900;
}

.logbook-time-breakdown-wrap {
    overflow-x:auto;
    border-top:1px solid var(--border);
}

.logbook-time-breakdown table {
    width:100%;
    min-width:1900px;
    border-collapse:collapse;
    border:1px solid color-mix(in srgb, var(--border) 86%, var(--text));
}

.logbook-time-breakdown th,
.logbook-time-breakdown td {
    padding:9px 16px;
    border:1px solid color-mix(in srgb, var(--border) 86%, var(--text));
    text-align:right;
    font-size:12px;
}

.logbook-time-breakdown th:first-child,
.logbook-time-breakdown td:first-child {
    text-align:left;
}

.logbook-time-breakdown thead th {
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.logbook-time-breakdown thead tr:first-child th:not(:first-child) {
    background:transparent;
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:9px;
    text-align:center;
}

.logbook-time-breakdown thead tr:first-child th {
    text-align:center;
}

.logbook-time-breakdown thead tr.column-groups th {
    background:color-mix(in srgb, var(--logbook-accent) 7%, transparent);
    color:color-mix(in srgb, var(--logbook-accent-bright) 82%, var(--text));
    text-align:center;
}

.logbook-time-breakdown thead tr.column-labels th,
.logbook-time-breakdown thead tr.column-sub-labels th {
    text-align:center;
    white-space:nowrap;
}

.logbook-time-breakdown thead tr:nth-child(2) th {
    background:color-mix(in srgb, var(--card) 88%, var(--control));
    text-align:center;
    white-space:nowrap;
}

.logbook-time-breakdown th,
.logbook-time-breakdown td {
    white-space:nowrap;
}

.logbook-time-breakdown tbody th {
    color:color-mix(in srgb, var(--text) 76%, transparent);
    font-weight:650;
}

.logbook-time-breakdown tbody td {
    color:var(--text);
    font-variant-numeric:tabular-nums;
}

.logbook-time-breakdown tbody td:first-child {
    text-align:right;
}

.logbook-time-breakdown tr.is-total th,
.logbook-time-breakdown tr.is-total td {
    color:var(--text);
    font-weight:850;
}

.logbook-time-breakdown tr.is-section th {
    padding-top:12px;
    padding-bottom:7px;
    background:color-mix(in srgb, var(--logbook-accent) 5%, transparent);
    color:color-mix(in srgb, var(--logbook-accent-bright) 78%, var(--text));
    font-size:10px;
    font-weight:850;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.logbook-time-breakdown tr:last-child th,
.logbook-time-breakdown tr:last-child td {
    border-bottom:1px solid color-mix(in srgb, var(--border) 86%, var(--text));
}

.logbook-access-banner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:18px;
    padding:16px 18px;
    border:1px solid var(--border);
    border-left:4px solid var(--logbook-accent);
    border-radius:6px;
    background:color-mix(in srgb, var(--logbook-accent) 5%, var(--card));
}

.logbook-access-banner.is-trial {
    border-left-color:#f59e0b;
    background:color-mix(in srgb, #f59e0b 5%, var(--card));
}

.logbook-access-banner.is-trial > div > span {
    color:color-mix(in srgb, #fbbf24 78%, var(--text));
}

.logbook-access-banner.is-read-only {
    border-left-color:#ef4444;
    background:color-mix(in srgb, #ef4444 5%, var(--card));
}

.logbook-access-banner.is-read-only > div > span {
    color:color-mix(in srgb, #f87171 82%, var(--text));
}

.logbook-access-banner strong {
    display:block;
    font-size:16px;
}

.logbook-access-banner p {
    margin:4px 0 0;
    color:color-mix(in srgb, var(--text) 62%, transparent);
    font-size:13px;
}

.logbook-access-actions {
    display:flex;
    flex:0 0 auto;
    gap:8px;
}

.logbook-access-actions .is-primary {
    background:var(--logbook-accent-deep);
    border-color:var(--logbook-accent);
    color:#fff;
}

.logbook-trial-meter {
    flex:0 0 220px;
    height:8px;
    overflow:hidden;
    border-radius:4px;
    background:color-mix(in srgb, var(--text) 9%, transparent);
}

.logbook-trial-meter > span {
    display:block;
    width:var(--trial-progress,0%);
    height:100%;
    background:#f59e0b;
}

.logbook-tabs {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(24px, 4vw, 56px);
    margin-top:26px;
    border-bottom:1px solid var(--border);
}

.logbook-tabs button {
    position:relative;
    min-height:50px;
    padding:0 8px;
    border:0;
    background:transparent;
    color:color-mix(in srgb, var(--text) 56%, transparent);
    cursor:pointer;
    font:inherit;
    font-size:15px;
    font-weight:750;
    transition:color 160ms ease, transform 160ms ease;
}

.logbook-tabs button::after {
    content:"";
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    height:3px;
    border-radius:3px 3px 0 0;
    background:transparent;
}

.logbook-tabs button.active {
    color:var(--logbook-accent);
    font-weight:850;
}

.logbook-tabs button.active::after {
    background:var(--logbook-accent);
}

.logbook-tabs button:focus-visible {
    outline:2px solid color-mix(in srgb, var(--logbook-accent) 42%, transparent);
    outline-offset:2px;
}

.logbook-tabs button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.logbook-tab-badge {
    min-width:1.45em;
    height:1.45em;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 0.36em;
    border:1px solid color-mix(in srgb, #f59e0b 70%, var(--border));
    border-radius:999px;
    background:color-mix(in srgb, #f59e0b 20%, var(--card));
    color:#fbbf24;
    font-size:0.58em;
    font-weight:900;
    line-height:1;
}

.logbook-tab-content {
    min-height:320px;
    padding-top:20px;
}

.logbook-toolbar {
    display:grid;
    grid-template-columns:minmax(240px,1fr) 160px 130px 150px auto;
    gap:8px;
    margin-bottom:12px;
}

.logbook-toolbar .logbook-search {
    position:relative;
    display:block;
    min-width:0;
}

.logbook-search-icon {
    position:absolute;
    z-index:1;
    top:50%;
    left:11px;
    display:inline-flex;
    width:16px;
    height:16px;
    color:color-mix(in srgb, var(--text) 48%, transparent);
    pointer-events:none;
    transform:translateY(-50%);
}

.logbook-search-icon svg {
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2;
}

.logbook-toolbar .logbook-search input {
    padding-left:36px;
}

.logbook-toolbar .logbook-search:focus-within .logbook-search-icon {
    color:color-mix(in srgb, var(--logbook-accent) 72%, var(--text));
}

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

.logbook-delete-all-button {
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:34px;
    padding:7px 10px;
    border:1px solid color-mix(in srgb, #ef4444 48%, var(--border));
    border-radius:5px;
    background:transparent;
    color:color-mix(in srgb, #ef4444 76%, var(--text));
    cursor:pointer;
    font:inherit;
    font-size:11px;
    font-weight:750;
    white-space:nowrap;
}

.logbook-delete-all-icon {
    position:relative;
    display:inline-block;
    flex:0 0 22px;
    width:22px;
    height:22px;
    box-sizing:border-box;
    border:1.5px solid currentColor;
    border-radius:50%;
    font-size:0;
}

.logbook-delete-all-icon::before,
.logbook-delete-all-icon::after {
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:56%;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform:translate(-50%, -50%) rotate(45deg);
}

.logbook-delete-all-icon::after {
    transform:translate(-50%, -50%) rotate(-45deg);
}

.logbook-delete-all-button:hover:not(:disabled),
.logbook-delete-all-button:focus-visible:not(:disabled) {
    border-color:#ef4444;
    background:color-mix(in srgb, #ef4444 10%, transparent);
    color:#fecaca;
}

.logbook-delete-all-button:focus-visible {
    outline:2px solid color-mix(in srgb, #ef4444 48%, transparent);
    outline-offset:2px;
}

.logbook-delete-all-button:disabled {
    cursor:not-allowed;
    opacity:0.42;
}

.logbook-native-danger-actions {
    display:none;
}

body.is-native-app .logbook-native-danger-actions {
    display:flex;
    justify-content:flex-end;
    margin:0 0 10px;
}

body.is-native-app .logbook-native-danger-actions .logbook-delete-all-button {
    min-height:38px;
    padding-inline:13px;
}

.logbook-toolbar input,
.logbook-toolbar select,
.logbook-field input,
.logbook-field select,
.logbook-field textarea,
.logbook-profile-form input {
    box-sizing:border-box;
    width:100%;
    min-height:42px;
    padding:9px 11px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--control);
    color:var(--text);
    font:inherit;
    font-size:14px;
}

.logbook-toolbar input,
.logbook-toolbar select {
    min-height:38px;
    padding:8px 10px;
    border-color:color-mix(in srgb, var(--border) 76%, transparent);
    background:color-mix(in srgb, var(--control) 86%, transparent);
    font-size:13px;
}

.logbook-toolbar input::placeholder {
    color:color-mix(in srgb, var(--text) 46%, transparent);
}

.logbook-toolbar input:focus,
.logbook-toolbar select:focus,
.logbook-field input:focus,
.logbook-field select:focus,
.logbook-field textarea:focus,
.logbook-profile-form input:focus {
    border-color:color-mix(in srgb, var(--logbook-accent) 62%, var(--border));
    outline:none;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--logbook-accent) 16%, transparent);
}

.logbook-table-wrap {
    width:100%;
    overflow-x:hidden;
    border:1px solid var(--border);
    border-radius:7px;
}

.logbook-flight-table {
    width:100%;
    min-width:0;
    border-collapse:collapse;
    table-layout:fixed;
}

.logbook-flight-table th,
.logbook-flight-table td {
    padding:13px 12px;
    border-bottom:1px solid color-mix(in srgb, var(--border) 84%, transparent);
    color:var(--text);
    font-size:13px;
    text-align:left;
    vertical-align:middle;
}

.logbook-flight-table th {
    position:sticky;
    top:0;
    z-index:1;
    background:color-mix(in srgb, var(--card) 94%, var(--control));
    color:color-mix(in srgb, var(--text) 55%, transparent);
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.logbook-flight-table th:nth-child(1) { width:9%; }
.logbook-flight-table th:nth-child(2) { width:12%; }
.logbook-flight-table th:nth-child(3) { width:19%; }
.logbook-flight-table th:nth-child(4) { width:9%; }
.logbook-flight-table th:nth-child(5),
.logbook-flight-table th:nth-child(6),
.logbook-flight-table th:nth-child(7),
.logbook-flight-table th:nth-child(8),
.logbook-flight-table th:nth-child(9) { width:6%; text-align:right; }
.logbook-flight-table th:nth-child(10) { width:21%; }

.logbook-flight-table th,
.logbook-flight-table td {
    overflow-wrap:anywhere;
}

.logbook-flight-table th:nth-child(8),
.logbook-flight-table th:nth-child(9) {
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}

.logbook-flight-table th.logbook-actions-heading {
    padding:8px 10px;
    text-align:center;
    vertical-align:middle;
}

.logbook-actions-heading-controls {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:0;
}

.logbook-toolbar .logbook-actions-heading-controls {
    min-width:0;
}

.logbook-toolbar .logbook-delete-all-button {
    width:100%;
    min-height:38px;
}

.logbook-flight-table th.logbook-actions-heading .logbook-delete-all-button {
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:34px;
    min-width:0;
    padding:7px 6px;
    font-size:10px;
    white-space:normal;
    line-height:1.15;
}

.logbook-flight-table tbody tr:last-child td {
    border-bottom:0;
}

.logbook-flight-table tbody tr:hover {
    background:color-mix(in srgb, var(--text) 3%, transparent);
}

.logbook-flight-table td:nth-child(5),
.logbook-flight-table td:nth-child(6),
.logbook-flight-table td:nth-child(7),
.logbook-flight-table td:nth-child(8),
.logbook-flight-table td:nth-child(9) {
    font-variant-numeric:tabular-nums;
    text-align:right;
}

.logbook-flight-table td.logbook-landing-count {
    color:color-mix(in srgb, var(--logbook-accent-bright) 76%, var(--text));
    font-weight:800;
}

.logbook-flight-table td > strong,
.logbook-flight-table td > span {
    display:block;
}

.logbook-flight-table td > span {
    margin-top:3px;
    color:color-mix(in srgb, var(--text) 50%, transparent);
    font-size:11px;
}

.logbook-flight-table td > .logbook-private-note-badge {
    display:inline-block;
    width:max-content;
    margin-top:7px;
    padding:2px 6px;
    border:1px solid color-mix(in srgb, #f59e0b 40%, var(--border));
    border-radius:999px;
    background:color-mix(in srgb, #f59e0b 8%, transparent);
    color:color-mix(in srgb, #fbbf24 78%, var(--text));
    font-size:9px;
    font-weight:800;
}

.logbook-role {
    display:inline-flex !important;
    width:max-content;
    margin:0 !important;
    padding:3px 7px;
    border:1px solid color-mix(in srgb, #38bdf8 34%, var(--border));
    border-radius:4px;
    background:color-mix(in srgb, #38bdf8 8%, transparent);
    color:color-mix(in srgb, #7dd3fc 72%, var(--text)) !important;
    font-size:10px !important;
    font-weight:850;
}

.logbook-audit-mark {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    margin-top:4px;
    padding:0;
    border:1px solid color-mix(in srgb, #f59e0b 50%, transparent);
    border-radius:50%;
    background:color-mix(in srgb, #f59e0b 14%, transparent);
    color:#fbbf24;
    cursor:help;
    font:inherit;
    font-size:10px;
    font-weight:900;
}

.logbook-row-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    min-width:0;
}

.logbook-row-actions button,
.logbook-endorsement-actions button {
    box-sizing:border-box;
    min-height:30px;
    min-width:0;
    padding:5px 7px;
    border:1px solid var(--border);
    border-radius:5px;
    background:transparent;
    color:color-mix(in srgb, var(--text) 70%, transparent);
    cursor:pointer;
    font:inherit;
    font-size:11px;
    font-weight:750;
}

.logbook-row-actions button:hover,
.logbook-row-actions button:focus-visible,
.logbook-endorsement-actions button:hover,
.logbook-endorsement-actions button:focus-visible {
    background:var(--soft);
    color:var(--text);
    outline:none;
}

.logbook-row-actions button.is-danger:hover,
.logbook-endorsement-actions button.is-danger:hover {
    border-color:color-mix(in srgb, #ef4444 48%, var(--border));
    color:#f87171;
}

.logbook-row-actions button.is-insert {
    margin-left:4px;
    border-color:color-mix(in srgb, #38bdf8 42%, var(--border));
    background:color-mix(in srgb, #38bdf8 7%, transparent);
    color:color-mix(in srgb, #7dd3fc 78%, var(--text));
    white-space:nowrap;
}

.logbook-row-actions button.is-insert span {
    margin-right:4px;
    font-size:15px;
    line-height:0;
}

.logbook-row-actions button.is-insert:hover,
.logbook-row-actions button.is-insert:focus-visible {
    border-color:#38bdf8;
    background:color-mix(in srgb, #38bdf8 13%, transparent);
    color:#bae6fd;
}

.logbook-row-actions button:disabled,
.logbook-endorsement-actions button:disabled {
    opacity:0.35;
    cursor:not-allowed;
}

.logbook-empty,
.logbook-loading {
    display:flex;
    min-height:300px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:34px;
    border:1px dashed color-mix(in srgb, var(--border) 82%, transparent);
    border-radius:7px;
    text-align:center;
}

.logbook-empty strong {
    font-size:20px;
}

.logbook-empty p {
    max-width:460px;
    margin:7px 0 18px;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:13px;
}

.logbook-empty-actions {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.logbook-empty-actions .is-primary {
    border-color:var(--logbook-accent);
    background:var(--logbook-accent-deep);
    color:#fff;
}

.logbook-loading {
    gap:12px;
    border:0;
    color:color-mix(in srgb, var(--text) 62%, transparent);
}

.logbook-loading > span {
    width:24px;
    height:24px;
    border:2px solid color-mix(in srgb, var(--text) 16%, transparent);
    border-top-color:var(--logbook-accent);
    border-radius:50%;
    animation:logbook-spin 700ms linear infinite;
}

@keyframes logbook-spin {
    to { transform:rotate(360deg); }
}

.logbook-insight-grid {
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:18px;
}

.logbook-insight-section,
.logbook-currency-section,
.logbook-progress-section,
.logbook-audit-section,
.logbook-profile-section,
.logbook-data-section {
    padding:20px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--card);
}

.logbook-currency-section,
.logbook-progress-section {
    margin-bottom:18px;
}

.logbook-section-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.logbook-section-heading-with-control {
    align-items:flex-start;
}

.logbook-section-heading h2 {
    margin:0;
    font-size:18px;
}

.logbook-section-heading small {
    color:color-mix(in srgb, var(--text) 52%, transparent);
}

.logbook-section-heading > strong {
    padding:5px 8px;
    border-radius:4px;
    font-size:11px;
    text-transform:uppercase;
}

.logbook-section-heading > strong.is-warning {
    background:color-mix(in srgb, #f59e0b 13%, transparent);
    color:#fbbf24;
}

.logbook-section-heading > strong.is-clear {
    background:color-mix(in srgb, #22c55e 13%, transparent);
    color:#4ade80;
}

.logbook-currency-section > .logbook-section-heading > strong,
.logbook-progress-section > .logbook-section-heading > strong {
    background:color-mix(in srgb, #38bdf8 12%, transparent);
    color:color-mix(in srgb, #38bdf8 82%, var(--text));
}

.logbook-section-note {
    max-width:760px;
    margin:-6px 0 16px;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:13px;
    line-height:1.45;
}

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

.logbook-currency-card {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:10px;
    min-height:132px;
    padding:14px;
    border:1px solid color-mix(in srgb, var(--border) 86%, transparent);
    border-radius:7px;
    background:color-mix(in srgb, var(--control) 52%, transparent);
}

.logbook-currency-card header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.logbook-currency-card header span {
    color:color-mix(in srgb, var(--text) 66%, transparent);
    font-size:11px;
    font-weight:850;
    line-height:1.25;
    text-transform:uppercase;
}

.logbook-currency-card em {
    flex:0 0 auto;
    padding:4px 6px;
    border-radius:4px;
    font-size:10px;
    font-style:normal;
    font-weight:850;
    text-transform:uppercase;
}

.logbook-currency-card > strong {
    color:var(--text);
    font-size:24px;
    font-variant-numeric:tabular-nums;
    line-height:1;
}

.logbook-currency-card p {
    margin:0;
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:12px;
    line-height:1.35;
}

.logbook-currency-card.is-current {
    border-color:color-mix(in srgb, #22c55e 38%, var(--border));
    background:color-mix(in srgb, #22c55e 6%, var(--control));
}

.logbook-currency-card.is-current em {
    background:color-mix(in srgb, #22c55e 15%, transparent);
    color:#4ade80;
}

.logbook-currency-card.is-watch {
    border-color:color-mix(in srgb, #f59e0b 38%, var(--border));
    background:color-mix(in srgb, #f59e0b 5%, var(--control));
}

.logbook-currency-card.is-watch em {
    background:color-mix(in srgb, #f59e0b 15%, transparent);
    color:#fbbf24;
}

.logbook-currency-card.is-missing {
    border-color:color-mix(in srgb, #f87171 30%, var(--border));
}

.logbook-currency-card.is-missing em {
    background:color-mix(in srgb, #f87171 13%, transparent);
    color:#fca5a5;
}

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

.logbook-progress-group {
    min-width:0;
    padding:16px;
    border:1px solid color-mix(in srgb, var(--border) 86%, transparent);
    border-radius:7px;
    background:color-mix(in srgb, var(--control) 44%, transparent);
}

.logbook-progress-group > header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.logbook-progress-group h3 {
    margin:0;
    font-size:15px;
}

.logbook-progress-group p {
    margin:5px 0 0;
    color:color-mix(in srgb, var(--text) 56%, transparent);
    font-size:12px;
    line-height:1.4;
}

.logbook-progress-group > header > strong {
    flex:0 0 auto;
    padding:5px 7px;
    border-radius:4px;
    background:color-mix(in srgb, var(--logbook-accent) 13%, transparent);
    color:color-mix(in srgb, var(--logbook-accent-bright) 80%, var(--text));
    font-size:11px;
    font-variant-numeric:tabular-nums;
}

.logbook-progress-list {
    display:flex;
    flex-direction:column;
    gap:12px;
}

.logbook-progress-row-head {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin-bottom:6px;
    font-size:12px;
}

.logbook-progress-row-head span {
    color:color-mix(in srgb, var(--text) 68%, transparent);
    font-weight:750;
}

.logbook-progress-row-head strong {
    color:var(--text);
    font-size:12px;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

.logbook-progress-track {
    height:8px;
    overflow:hidden;
    border-radius:4px;
    background:color-mix(in srgb, var(--text) 8%, transparent);
}

.logbook-progress-track i {
    display:block;
    height:100%;
    border-radius:4px;
    background:linear-gradient(90deg, #38bdf8, var(--logbook-accent));
}

.logbook-progress-row small {
    display:block;
    margin-top:5px;
    color:color-mix(in srgb, var(--text) 48%, transparent);
    font-size:11px;
}

.logbook-insight-range {
    display:grid;
    gap:6px;
    flex:0 0 154px;
    min-width:154px;
}

.logbook-insight-range > span {
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:10px;
    font-weight:850;
    letter-spacing:0;
    text-transform:uppercase;
}

.logbook-insight-range select {
    box-sizing:border-box;
    width:100%;
    min-height:38px;
    padding:8px 34px 8px 11px;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 28%, var(--border));
    border-radius:6px;
    background:
        linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--text) 58%, transparent) 50%) calc(100% - 18px) 16px / 5px 5px no-repeat,
        linear-gradient(135deg, color-mix(in srgb, var(--text) 58%, transparent) 50%, transparent 50%) calc(100% - 13px) 16px / 5px 5px no-repeat,
        var(--control);
    color:var(--text);
    appearance:none;
    font:inherit;
    font-size:13px;
    font-weight:750;
}

.logbook-insight-range select:focus {
    border-color:color-mix(in srgb, var(--logbook-accent) 66%, var(--border));
    outline:none;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--logbook-accent) 16%, transparent);
}

.logbook-activity-summary {
    display:flex;
    align-items:baseline;
    gap:10px;
    margin:-4px 0 12px;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:12px;
}

.logbook-activity-summary strong {
    color:var(--text);
    font-size:15px;
    font-variant-numeric:tabular-nums;
}

.logbook-bar-list {
    display:flex;
    flex-direction:column;
    gap:13px;
}

.logbook-bar-row {
    display:grid;
    grid-template-columns:78px minmax(0,1fr) 48px;
    align-items:center;
    gap:10px;
    color:color-mix(in srgb, var(--text) 65%, transparent);
    font-size:12px;
}

.logbook-bar-row > div {
    height:8px;
    overflow:hidden;
    border-radius:4px;
    background:color-mix(in srgb, var(--text) 8%, transparent);
}

.logbook-bar-row i {
    display:block;
    height:100%;
    border-radius:4px;
    background:var(--logbook-accent);
}

.logbook-bar-row strong {
    color:var(--text);
    font-variant-numeric:tabular-nums;
    text-align:right;
}

.logbook-month-chart {
    display:grid;
    grid-template-columns:repeat(var(--logbook-chart-columns, 12),minmax(0,1fr));
    align-items:end;
    gap:5px;
    height:175px;
    padding-top:8px;
}

.logbook-month-chart > div {
    display:grid;
    grid-template-rows:1fr 20px;
    align-items:end;
    height:100%;
    min-width:0;
}

.logbook-month-chart i {
    display:block;
    width:min(18px,72%);
    min-height:2px;
    margin:0 auto;
    border-radius:3px 3px 0 0;
    background:color-mix(in srgb, #38bdf8 60%, var(--logbook-accent));
}

.logbook-month-chart span {
    overflow:hidden;
    color:color-mix(in srgb, var(--text) 46%, transparent);
    font-size:10px;
    text-align:center;
}

.logbook-audit-section {
    margin-top:18px;
}

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

.logbook-audit-list button {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    padding:10px 12px;
    border:1px solid color-mix(in srgb, #f59e0b 22%, var(--border));
    border-radius:6px;
    background:color-mix(in srgb, #f59e0b 4%, transparent);
    color:var(--text);
    cursor:pointer;
    font:inherit;
    text-align:left;
}

.logbook-audit-list button span {
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:11px;
}

.logbook-audit-list button strong {
    font-size:12px;
    text-align:right;
}

.logbook-muted-copy {
    margin:0;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:13px;
}

.logbook-profile-form {
    display:grid;
    grid-template-columns:1fr 1fr 160px auto;
    align-items:end;
    gap:10px;
}

.logbook-profile-form label,
.logbook-field {
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:6px;
}

.logbook-profile-form label > span,
.logbook-field > span {
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:11px;
    font-weight:750;
}

.logbook-report-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:12px;
}

.logbook-report-action {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:78px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--card);
}

.logbook-report-action strong {
    font-size:14px;
}

.logbook-report-action p {
    max-width:260px;
    margin:4px 0 0;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:11px;
    line-height:1.35;
}

.logbook-report-action button {
    flex:0 0 auto;
    min-height:36px;
    padding:8px 11px;
    font-size:12px;
}

.logbook-data-section {
    margin-top:16px;
}

.logbook-data-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.logbook-data-section > p,
.logbook-compliance-note {
    margin:12px 0 0;
    color:color-mix(in srgb, var(--text) 55%, transparent);
    font-size:12px;
}

.logbook-compliance-note {
    padding:12px 14px;
    border-left:3px solid #f59e0b;
    background:color-mix(in srgb, #f59e0b 5%, transparent);
}

.logbook-endorsement-list {
    display:flex;
    flex-direction:column;
    border-top:1px solid var(--border);
}

.logbook-endorsement-list article {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 2px;
    border-bottom:1px solid var(--border);
}

.logbook-endorsement-list article span,
.logbook-endorsement-list article small {
    display:block;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:11px;
}

.logbook-endorsement-list article strong {
    display:block;
    margin:4px 0;
    font-size:15px;
}

.logbook-endorsement-list article p {
    margin:0;
    color:color-mix(in srgb, var(--text) 66%, transparent);
    font-size:12px;
}

.logbook-endorsement-actions {
    display:flex;
    gap:7px;
}

.logbook-entry-overlay {
    position:fixed;
    inset:0;
    z-index:130;
    display:grid;
    place-items:center;
    padding:18px;
    background:rgba(2,6,23,0.72);
    backdrop-filter:blur(8px);
}

.logbook-entry-overlay[hidden] {
    display:none;
}

body.logbook-modal-open {
    overflow:hidden;
}

.logbook-entry-modal {
    width:min(920px,100%);
    max-height:min(900px,calc(100vh - 36px));
    overflow:auto;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 24%, var(--border));
    border-radius:8px;
    background:var(--card);
    box-shadow:0 24px 80px rgba(0,0,0,0.42);
}

.logbook-entry-modal.is-compact {
    width:min(720px,100%);
}

.logbook-import-modal {
    width:min(1120px,100%);
    max-height:min(940px,calc(100vh - 36px));
    overflow:auto;
    border:1px solid color-mix(in srgb, #38bdf8 30%, var(--border));
    border-radius:8px;
    background:var(--card);
    box-shadow:0 24px 80px rgba(0,0,0,0.44);
}

.logbook-pdf-modal {
    width:min(900px,100%);
    max-height:min(900px,calc(100vh - 36px));
    overflow:auto;
    border:1px solid color-mix(in srgb, #38bdf8 30%, var(--border));
    border-radius:8px;
    background:var(--card);
    box-shadow:0 24px 80px rgba(0,0,0,0.44);
}

.logbook-import-modal > header,
.logbook-pdf-modal > header {
    position:sticky;
    top:0;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 16px;
    border-bottom:1px solid var(--border);
    background:color-mix(in srgb, var(--card) 94%, transparent);
    backdrop-filter:blur(12px);
}

.logbook-import-modal > header > div > span,
.logbook-pdf-modal > header > div > span {
    display:block;
    margin-bottom:5px;
    color:#7dd3fc;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
}

.logbook-import-modal > header h2,
.logbook-pdf-modal > header h2 {
    margin:0;
    font-size:22px;
}

.logbook-import-modal > header > button,
.logbook-pdf-modal > header > button {
    width:36px;
    height:36px;
    padding:0;
    border:1px solid var(--border);
    border-radius:6px;
    background:transparent;
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:24px;
    line-height:1;
}

.logbook-pdf-body {
    padding:16px;
}

.logbook-pdf-intro {
    padding-bottom:12px;
    border-bottom:1px solid var(--border);
}

.logbook-pdf-intro strong {
    display:block;
    font-size:15px;
}

.logbook-pdf-intro p {
    margin:5px 0 0;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:12px;
    line-height:1.5;
}

.logbook-pdf-preset-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    overflow:hidden;
    margin-top:16px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--border);
}

.logbook-pdf-preset-list label {
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-height:62px;
    padding:10px;
    background:var(--control);
    cursor:pointer;
}

.logbook-pdf-preset-list label.is-selected {
    background:color-mix(in srgb, var(--control) 82%, #38bdf8);
    box-shadow:inset 3px 0 #38bdf8;
}

.logbook-pdf-preset-list input,
.logbook-pdf-options input {
    flex:0 0 auto;
    width:16px;
    height:16px;
    margin:2px 0 0;
    accent-color:#38bdf8;
}

.logbook-pdf-preset-list span,
.logbook-pdf-options span {
    min-width:0;
}

.logbook-pdf-preset-list strong,
.logbook-pdf-preset-list small,
.logbook-pdf-options strong,
.logbook-pdf-options small {
    display:block;
}

.logbook-pdf-preset-list strong,
.logbook-pdf-options strong {
    font-size:13px;
}

.logbook-pdf-preset-list small,
.logbook-pdf-options small {
    margin-top:4px;
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:10px;
    line-height:1.4;
}

.logbook-pdf-range {
    display:grid;
    grid-template-columns:150px 150px 1fr;
    align-items:end;
    gap:10px;
    padding:16px 0;
    border-bottom:1px solid var(--border);
}

.logbook-pdf-range[hidden] {
    display:none;
}

.logbook-pdf-range label {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.logbook-pdf-range label span {
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.logbook-pdf-range input {
    box-sizing:border-box;
    width:100%;
    height:40px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--control);
    color:var(--text);
    font:inherit;
}

.logbook-pdf-range > small {
    padding-bottom:11px;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:10px;
}

.logbook-pdf-options {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px 10px;
    padding:10px 0;
}

.logbook-pdf-options label {
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:11px 0;
    cursor:pointer;
}

.logbook-pdf-private-notes-option {
    grid-column:1 / -1;
    border-top:1px solid color-mix(in srgb, #f59e0b 24%, var(--border));
}

.logbook-pdf-result {
    padding:14px;
    border-left:3px solid #38bdf8;
    background:color-mix(in srgb, #38bdf8 7%, transparent);
}

.logbook-pdf-result span,
.logbook-pdf-result strong,
.logbook-pdf-result small {
    display:block;
}

.logbook-pdf-result span {
    color:#7dd3fc;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.logbook-pdf-result strong {
    margin-top:5px;
    font-size:13px;
}

.logbook-pdf-result small {
    margin-top:4px;
    color:color-mix(in srgb, var(--text) 55%, transparent);
    font-size:10px;
}

.logbook-pdf-status {
    min-height:16px;
    margin:10px 0 0;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:11px;
}

.logbook-pdf-status.error {
    color:#fca5a5;
}

.logbook-import-body {
    padding:0 20px;
}

.logbook-import-file-summary {
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-bottom:1px solid var(--border);
}

.logbook-import-file-summary strong,
.logbook-import-file-summary span {
    display:block;
}

.logbook-import-file-summary strong {
    font-size:15px;
}

.logbook-import-file-summary span {
    margin-top:4px;
    color:color-mix(in srgb, var(--text) 55%, transparent);
    font-size:11px;
}

.logbook-import-file-summary button,
.logbook-import-modal > footer button {
    min-height:40px;
    padding:9px 14px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--control);
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:800;
}

.logbook-import-setup {
    display:grid;
    grid-template-columns:1fr 1fr 1.15fr;
    gap:12px;
    padding:18px 0;
    border-bottom:1px solid var(--border);
}

.logbook-import-setup label,
.logbook-import-map-field {
    min-width:0;
}

.logbook-import-setup label > span,
.logbook-import-map-field > span {
    display:block;
    margin-bottom:6px;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.logbook-import-setup select,
.logbook-import-setup input,
.logbook-import-map-field select {
    width:100%;
    min-width:0;
    height:42px;
    padding:0 11px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--control);
    color:var(--text);
    font:inherit;
    font-size:12px;
}

.logbook-import-mapping,
.logbook-import-review {
    padding:20px 0;
    border-bottom:1px solid var(--border);
}

.logbook-import-mapping .logbook-section-heading {
    margin-bottom:14px;
}

.logbook-import-mapping .logbook-section-heading h3 {
    margin:0;
    font-size:18px;
}

.logbook-import-mapping .logbook-section-heading > strong {
    padding:5px 8px;
    border:1px solid var(--border);
    border-radius:5px;
    font-size:10px;
    text-transform:uppercase;
}

.logbook-import-mapping .logbook-section-heading > strong.is-clear {
    border-color:rgba(34,197,94,0.35);
    color:#86efac;
}

.logbook-import-mapping .logbook-section-heading > strong.is-warning {
    border-color:rgba(245,158,11,0.42);
    color:#fbbf24;
}

.logbook-import-map-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.logbook-import-mapping details {
    margin-top:16px;
    border-top:1px solid color-mix(in srgb, var(--border) 68%, transparent);
}

.logbook-import-mapping summary {
    padding:15px 0;
    color:color-mix(in srgb, var(--text) 72%, transparent);
    cursor:pointer;
    font-size:12px;
    font-weight:800;
}

.logbook-import-map-sample {
    display:block;
    margin-top:6px;
    overflow:hidden;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:10px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.logbook-import-confirmation {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(250px,0.9fr);
    gap:18px;
    align-items:center;
    margin:18px 0 0;
    padding:16px;
    border:1px solid rgba(245,158,11,0.32);
    border-radius:8px;
    background:color-mix(in srgb, var(--control) 76%, rgba(245,158,11,0.1));
}

.logbook-import-confirmation.is-ready {
    border-color:rgba(34,197,94,0.32);
    background:color-mix(in srgb, var(--control) 78%, rgba(34,197,94,0.09));
}

.logbook-import-confirmation.is-blocked {
    border-color:rgba(248,113,113,0.42);
    background:color-mix(in srgb, var(--control) 78%, rgba(248,113,113,0.09));
}

.logbook-import-confirmation-copy > span {
    display:block;
    margin-bottom:5px;
    color:color-mix(in srgb, var(--text) 55%, transparent);
    font-size:10px;
    font-weight:900;
    letter-spacing:0.08em;
    text-transform:uppercase;
}

.logbook-import-confirmation-copy strong {
    display:block;
    font-size:14px;
}

.logbook-import-confirmation-copy p {
    max-width:650px;
    margin:6px 0 0;
    color:color-mix(in srgb, var(--text) 62%, transparent);
    font-size:11px;
    line-height:1.5;
}

.logbook-import-mapping-issues {
    display:grid;
    gap:5px;
    margin:0;
    padding:0;
    color:#fbbf24;
    font-size:11px;
    line-height:1.4;
    list-style:none;
}

.logbook-import-mapping-issues li {
    padding-left:14px;
    position:relative;
}

.logbook-import-mapping-issues li::before {
    content:"";
    position:absolute;
    top:0.55em;
    left:0;
    width:5px;
    height:5px;
    border-radius:50%;
    background:currentColor;
}

.logbook-import-mapping-issues li.is-blocking {
    color:#fca5a5;
}

.logbook-import-confirmation-check {
    display:flex;
    grid-column:1 / -1;
    align-items:flex-start;
    gap:9px;
    color:color-mix(in srgb, var(--text) 78%, transparent);
    cursor:pointer;
    font-size:11px;
    line-height:1.4;
}

.logbook-import-confirmation-check input {
    flex:0 0 auto;
    width:16px;
    height:16px;
    margin:0;
    accent-color:#60a5fa;
}

.logbook-import-counts {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--border);
}

.logbook-import-counts span {
    min-width:0;
    padding:12px;
    background:var(--control);
    color:color-mix(in srgb, var(--text) 62%, transparent);
    font-size:11px;
}

.logbook-import-counts strong {
    display:block;
    margin-bottom:2px;
    color:var(--text);
    font-size:19px;
}

.logbook-import-counts .is-ready strong {
    color:#86efac;
}

.logbook-import-counts .is-review strong {
    color:#fbbf24;
}

.logbook-import-counts .is-invalid strong {
    color:#fca5a5;
}

.logbook-import-trial-note {
    margin:14px 0 0;
    padding:11px 13px;
    border-left:3px solid #f59e0b;
    background:color-mix(in srgb, #f59e0b 6%, transparent);
    color:color-mix(in srgb, var(--text) 72%, transparent);
    font-size:12px;
    line-height:1.45;
}

.logbook-import-preview-wrap {
    margin-top:14px;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:6px;
}

.logbook-import-preview {
    width:100%;
    min-width:820px;
    border-collapse:collapse;
    table-layout:fixed;
}

.logbook-import-preview th,
.logbook-import-preview td {
    padding:9px 10px;
    border-bottom:1px solid var(--border);
    overflow-wrap:anywhere;
    text-align:left;
    vertical-align:top;
}

.logbook-import-preview th {
    background:color-mix(in srgb, var(--control) 92%, #38bdf8);
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:9px;
    text-transform:uppercase;
}

.logbook-import-preview td {
    font-size:11px;
}

.logbook-import-preview tr:last-child td {
    border-bottom:0;
}

.logbook-import-preview tr.is-invalid td:last-child {
    color:#fca5a5;
}

.logbook-import-preview tr.is-repeat td:last-child,
.logbook-import-preview tr.is-duplicate td:last-child {
    color:#fbbf24;
}

.logbook-import-privacy {
    margin:14px 0;
    color:color-mix(in srgb, var(--text) 52%, transparent);
    font-size:11px;
}

.logbook-import-modal > footer,
.logbook-pdf-modal > footer {
    position:sticky;
    bottom:0;
    z-index:4;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding:14px 20px;
    border-top:1px solid var(--border);
    background:color-mix(in srgb, var(--card) 96%, transparent);
    backdrop-filter:blur(12px);
}

.logbook-pdf-modal > footer button {
    min-height:40px;
    padding:9px 14px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--control);
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:800;
}

.logbook-import-modal > footer button.is-primary,
.logbook-pdf-modal > footer button.is-primary {
    min-width:150px;
    border-color:var(--logbook-accent);
    background:var(--logbook-accent-deep);
    color:#fff;
}

.logbook-import-modal > footer .logbook-delete-all-button {
    margin-right:auto;
}

.logbook-import-modal > footer button:disabled,
.logbook-pdf-modal > footer button:disabled {
    opacity:0.42;
    cursor:not-allowed;
}

.logbook-entry-modal > header {
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
    border-bottom:1px solid var(--border);
    background:color-mix(in srgb, var(--card) 94%, transparent);
    backdrop-filter:blur(12px);
}

.logbook-entry-modal > header h2 {
    margin:0;
    font-size:21px;
}

.logbook-entry-modal > header > button {
    width:36px;
    height:36px;
    padding:0;
    border:1px solid var(--border);
    border-radius:6px;
    background:transparent;
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:24px;
    line-height:1;
}

.logbook-entry-modal form {
    padding:0 20px 20px;
}

.logbook-entry-modal fieldset {
    margin:0;
    padding:20px 0;
    border:0;
    border-bottom:1px solid var(--border);
}

.logbook-entry-modal legend {
    margin-bottom:14px;
    padding:0;
    font-size:13px;
    font-weight:850;
}

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

.logbook-condition-fields {
    display:none;
    grid-column:span 2;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.logbook-condition-fields.is-visible {
    display:grid;
}

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

.logbook-field-wide {
    margin-top:14px;
}

.logbook-advanced-fields {
    border-bottom:1px solid var(--border);
}

.logbook-advanced-fields summary {
    padding:17px 0;
    color:color-mix(in srgb, var(--text) 75%, transparent);
    cursor:pointer;
    font-size:13px;
    font-weight:800;
}

.logbook-advanced-fields fieldset {
    padding-top:2px;
    border-bottom:0;
}

.logbook-private-notes-fieldset {
    border-bottom:1px solid var(--border);
    background:color-mix(in srgb, #f59e0b 3%, transparent);
}

.logbook-private-notes-fieldset legend {
    color:color-mix(in srgb, #fbbf24 78%, var(--text));
}

.logbook-private-notes-hint {
    margin:-5px 0 14px;
    color:color-mix(in srgb, var(--text) 56%, transparent);
    font-size:12px;
    line-height:1.45;
}

.logbook-private-notes-fieldset textarea {
    border-color:color-mix(in srgb, #f59e0b 28%, var(--border));
}

.logbook-entry-errors {
    min-height:18px;
    margin:12px 0 0;
    color:#f87171;
    font-size:12px;
}

.logbook-entry-audit {
    margin:12px 0 0;
}

.logbook-entry-audit:empty,
.logbook-entry-audit[hidden] {
    display:none;
}

.logbook-entry-audit-card {
    padding:12px 13px;
    border:1px solid color-mix(in srgb, #f59e0b 28%, var(--border));
    border-radius:6px;
    background:color-mix(in srgb, #f59e0b 5%, transparent);
}

.logbook-entry-audit-card strong {
    display:block;
    margin-bottom:6px;
    color:#fbbf24;
    font-size:12px;
}

.logbook-entry-audit-card ul {
    display:grid;
    gap:4px;
    margin:0;
    padding-left:18px;
    color:color-mix(in srgb, var(--text) 72%, transparent);
    font-size:12px;
    line-height:1.35;
}

.logbook-entry-modal form > footer {
    position:sticky;
    bottom:-20px;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:8px;
    padding:14px 0 0;
    background:var(--card);
}

.logbook-entry-modal form > footer button {
    min-height:42px;
    padding:9px 16px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--control);
    color:var(--text);
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:800;
}

.logbook-entry-modal form > footer button.is-primary {
    border-color:var(--logbook-accent);
    background:var(--logbook-accent-deep);
    color:#fff;
}

.logbook-toast {
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:180;
    max-width:min(420px,calc(100vw - 40px));
    padding:12px 16px;
    border:1px solid var(--border);
    border-left:4px solid #38bdf8;
    border-radius:6px;
    background:var(--card);
    color:var(--text);
    box-shadow:0 18px 50px rgba(0,0,0,0.34);
    opacity:0;
    transform:translateY(8px);
    transition:opacity 160ms ease,transform 160ms ease;
    font-size:13px;
}

.logbook-toast.is-visible {
    opacity:1;
    transform:translateY(0);
}

.logbook-toast.success { border-left-color:#22c55e; }
.logbook-toast.error { border-left-color:#ef4444; }

@media (min-width:901px) and (max-width:1100px) {
    .landing-logbook-showcase {
        grid-template-columns:minmax(360px,42%) minmax(0,1fr);
        column-gap:32px;
    }

    .landing-logbook-copy {
        padding-left:clamp(18px,3vw,32px);
    }

    .landing-logbook-trial {
        grid-template-columns:58px minmax(0,1fr);
    }

    .landing-logbook-trial .landing-logbook-primary {
        grid-column:1 / -1;
        width:100%;
    }
}

@media (max-width:900px) {
    .dashboard-logbook-panel {
        grid-template-columns:minmax(0,1fr) auto;
    }

    .dashboard-logbook-panel-stats {
        grid-column:1 / -1;
        grid-row:2;
    }

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

    .dashboard-logbook-purchase-heading {
        grid-column:1 / -1;
        padding:0 0 14px;
    }

    .logbook-header {
        align-items:flex-start;
    }

    .logbook-header-actions {
        flex-direction:column;
        align-items:flex-end;
    }

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

    .logbook-metric:nth-child(3) {
        border-right:0;
    }

    .logbook-metric:nth-child(n+4) {
        border-top:1px solid var(--border);
    }

    .logbook-insight-grid,
    .logbook-profile-form {
        grid-template-columns:1fr 1fr;
    }

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

    .logbook-progress-groups {
        grid-template-columns:1fr;
    }

    .logbook-profile-form button {
        width:max-content;
    }

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

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

@media (max-width:680px) {
    body.is-mobile-app-shell:not(.public-screen) .top-nav nav {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    body.is-mobile-app-shell:not(.public-screen) #nav-logbook::before {
        mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h13a2 2 0 0 1 2 2v15a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Zm1 3v2h10V6H6Zm0 5v2h10v-2H6Zm0 5v2h7v-2H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
        -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h13a2 2 0 0 1 2 2v15a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Zm1 3v2h10V6H6Zm0 5v2h10v-2H6Zm0 5v2h7v-2H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .dashboard-logbook-summary {
        margin:0 auto 14px;
    }

    .dashboard-logbook-panel {
        grid-template-columns:1fr;
        gap:16px;
        padding:18px;
    }

    .dashboard-logbook-panel-stats {
        grid-column:auto;
        grid-row:auto;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .dashboard-logbook-panel-stats span:last-child {
        grid-column:1 / -1;
    }

    .dashboard-logbook-panel-actions {
        width:100%;
    }

    .dashboard-logbook-deferred-access {
        grid-template-columns:1fr;
        gap:8px;
        padding:13px 14px;
    }

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

    .dashboard-logbook-purchase-option {
        padding:14px 0;
        border-top:1px solid var(--border);
        border-left:0;
    }

    .dashboard-logbook-purchase-heading + .dashboard-logbook-purchase-option {
        border-top:0;
    }

    .logbook-app {
        padding:0 2px 28px;
    }

    .logbook-header {
        flex-direction:column;
        gap:16px;
        padding:18px 0;
    }

    .logbook-header h1 {
        font-size:32px;
    }

    .logbook-title-row {
        gap:8px 12px;
    }

    .logbook-title-access {
        padding-left:10px;
    }

    body.is-native-app .logbook-header > div:first-child,
    body.is-native-app .logbook-title-row {
        width:100%;
        min-width:0;
        max-width:100%;
    }

    body.is-native-app .logbook-title-access {
        flex:1 1 170px;
        min-width:0;
        max-width:100%;
        white-space:normal;
    }

    body.is-native-app .logbook-title-access strong {
        min-width:0;
        line-height:1.3;
        overflow-wrap:anywhere;
    }

    .logbook-header-actions {
        width:100%;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        flex-wrap:wrap;
    }

    .logbook-report-button {
        order:3;
        margin-left:auto;
    }

    .logbook-header-buttons {
        flex:1;
        justify-content:flex-end;
    }

    .logbook-access-chip {
        max-width:170px;
        text-align:left;
    }

    .logbook-add-button {
        min-width:118px;
    }

    .logbook-import-button {
        min-width:96px;
    }

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

    .logbook-metric {
        padding:13px 14px;
    }

    .logbook-metric:nth-child(2n) {
        border-right:0;
    }

    .logbook-metric:nth-child(3) {
        border-right:1px solid var(--border);
    }

    .logbook-metric:nth-child(n+3) {
        border-top:1px solid var(--border);
    }

    .logbook-metric:last-child {
        grid-column:auto;
        border-right:0;
    }

    .logbook-access-banner {
        align-items:stretch;
        flex-direction:column;
        gap:13px;
    }

    .logbook-access-actions {
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .logbook-trial-meter {
        flex-basis:auto;
        width:100%;
    }

    .logbook-tabs {
        gap:0;
        overflow-x:auto;
        justify-content:stretch;
    }

    .logbook-tabs button {
        flex:1 0 auto;
        padding:0 13px;
    }

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

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

    .logbook-table-wrap {
        overflow:visible;
        border:0;
    }

    .logbook-flight-table,
    .logbook-flight-table tbody,
    .logbook-flight-table tr,
    .logbook-flight-table td {
        display:block;
        min-width:0;
        width:100%;
    }

    .logbook-flight-table thead {
        display:none;
    }

    .logbook-flight-table tbody {
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    .logbook-flight-table tr {
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:0;
        overflow:hidden;
        border:1px solid var(--border);
        border-radius:7px;
        background:var(--card);
    }

    .logbook-flight-table td {
        padding:11px 12px;
        border:0;
        border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);
        font-size:13px;
        text-align:left !important;
    }

    .logbook-flight-table td::before {
        content:attr(data-label);
        display:block;
        margin-bottom:4px;
        color:color-mix(in srgb, var(--text) 45%, transparent);
        font-size:9px;
        font-weight:850;
        text-transform:uppercase;
    }

    .logbook-flight-table td:nth-child(1),
    .logbook-flight-table td:nth-child(2) {
        grid-column:span 1;
    }

    .logbook-flight-table td:nth-child(3) {
        grid-column:1 / -1;
    }

    .logbook-flight-table td:nth-child(4),
    .logbook-flight-table td:nth-child(5),
    .logbook-flight-table td:nth-child(6),
    .logbook-flight-table td:nth-child(7),
    .logbook-flight-table td:nth-child(8),
    .logbook-flight-table td:nth-child(9) {
        min-width:0;
    }

    .logbook-flight-table td:nth-child(4) {
        grid-column:1 / -1;
    }

    .logbook-flight-table td:nth-child(10) {
        grid-column:1 / -1;
        border-bottom:0;
    }

    .logbook-row-actions {
        display:flex;
        min-width:0;
        gap:6px;
    }

    .logbook-row-actions button {
        flex:1 1 0;
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .logbook-row-actions button.is-insert {
        flex:1.25 1 0;
        margin-left:0;
    }

    .logbook-insight-grid,
    .logbook-currency-grid,
    .logbook-progress-groups,
    .logbook-profile-form,
    .logbook-report-grid,
    .logbook-audit-list {
        grid-template-columns:1fr;
    }

    .logbook-insight-section,
    .logbook-currency-section,
    .logbook-progress-section,
    .logbook-audit-section,
    .logbook-profile-section,
    .logbook-data-section {
        padding:16px;
    }

    .logbook-section-heading-with-control {
        align-items:stretch;
        flex-direction:column;
        gap:12px;
    }

    .logbook-insight-range {
        flex-basis:auto;
        min-width:0;
    }

    .logbook-month-chart {
        height:150px;
    }

    .logbook-report-action {
        align-items:flex-start;
        flex-direction:column;
        min-height:0;
    }

    .logbook-report-action button {
        width:100%;
    }

    .logbook-data-actions {
        display:grid;
        grid-template-columns:1fr;
    }

    .logbook-endorsement-list article {
        align-items:flex-start;
        flex-direction:column;
    }

    .logbook-entry-overlay {
        align-items:end;
        padding:0;
    }

    .logbook-entry-modal,
    .logbook-entry-modal.is-compact,
    .logbook-import-modal,
    .logbook-pdf-modal {
        width:100%;
        max-height:calc(100svh - 12px);
        border-right:0;
        border-bottom:0;
        border-left:0;
        border-radius:8px 8px 0 0;
    }

    .logbook-entry-modal > header {
        padding:15px 16px;
    }

    .logbook-entry-modal form {
        padding:0 16px calc(18px + env(safe-area-inset-bottom));
    }

    .logbook-form-grid {
        grid-template-columns:1fr 1fr;
        gap:13px 10px;
    }

    .logbook-condition-fields {
        grid-column:1 / -1;
    }

    .logbook-field:nth-child(4n+1):last-child {
        grid-column:auto;
    }

    .logbook-entry-modal form > footer {
        bottom:calc(-18px - env(safe-area-inset-bottom));
        padding:12px 0 calc(10px + env(safe-area-inset-bottom));
    }

    .logbook-entry-modal form > footer button {
        flex:1;
    }

    .logbook-import-body {
        padding:0 16px;
    }

    .logbook-pdf-body {
        padding:16px;
    }

    .logbook-pdf-preset-list,
    .logbook-pdf-options {
        grid-template-columns:1fr;
    }

    .logbook-pdf-preset-list label {
        min-height:68px;
    }

    .logbook-pdf-range {
        grid-template-columns:1fr 1fr;
    }

    .logbook-pdf-range > small {
        grid-column:1 / -1;
        padding-bottom:0;
    }

    .logbook-import-setup {
        grid-template-columns:1fr;
    }

    .logbook-import-counts {
        grid-template-columns:1fr 1fr;
    }

    .logbook-import-modal > footer,
    .logbook-pdf-modal > footer {
        padding-right:16px;
        padding-bottom:calc(14px + env(safe-area-inset-bottom));
        padding-left:16px;
    }

    .logbook-import-modal > footer button,
    .logbook-pdf-modal > footer button {
        flex:1;
    }

    .logbook-import-modal > footer .logbook-delete-all-button {
        margin-right:0;
    }

    .logbook-toast {
        right:12px;
        bottom:calc(88px + env(safe-area-inset-bottom));
        max-width:calc(100vw - 24px);
    }
}

@media (max-width:420px) {
    .logbook-form-grid {
        grid-template-columns:1fr;
    }

    .logbook-condition-fields {
        grid-template-columns:1fr;
    }

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

    .logbook-toolbar > * {
        grid-column:1;
    }

    .logbook-header-actions {
        align-items:stretch;
        flex-direction:column;
    }

    .logbook-header-buttons {
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .logbook-header-buttons > button {
        min-width:0;
    }

    .logbook-access-chip {
        max-width:none;
    }

    .logbook-add-button {
        width:100%;
    }

    .logbook-import-button {
        width:100%;
    }

    .logbook-empty-actions {
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .logbook-import-file-summary {
        align-items:flex-start;
        flex-direction:column;
        padding:14px 0;
    }

    .logbook-import-file-summary button {
        width:100%;
    }

    .logbook-import-map-grid {
        grid-template-columns:1fr;
    }

    .logbook-import-confirmation {
        grid-template-columns:1fr;
    }

    .logbook-import-counts {
        grid-template-columns:1fr 1fr;
    }
}

/* Keep desktop flight rows aligned; mobile switches the table into stacked cards. */
@media (min-width:681px) {
    .logbook-flight-table td.logbook-row-actions {
        display:table-cell;
        text-align:right;
        vertical-align:middle;
        white-space:nowrap;
    }

    .logbook-flight-table td.logbook-row-actions button {
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }

    .logbook-flight-table td.logbook-row-actions button + button {
        margin-left:6px;
    }
}

/* Tablet widths use the same stacked flight cards as mobile so row actions never overflow. */
@media (min-width:681px) and (max-width:1100px) {
    .logbook-table-wrap {
        overflow:visible;
        border:0;
    }

    .logbook-flight-table,
    .logbook-flight-table tbody,
    .logbook-flight-table tr,
    .logbook-flight-table td {
        display:block;
        min-width:0;
        width:100%;
    }

    .logbook-flight-table thead {
        display:none;
    }

    .logbook-flight-table tbody {
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    .logbook-flight-table tr {
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:0;
        overflow:hidden;
        border:1px solid var(--border);
        border-radius:7px;
        background:var(--card);
    }

    .logbook-flight-table td {
        padding:11px 12px;
        border:0;
        border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);
        font-size:13px;
        text-align:left !important;
    }

    .logbook-flight-table td::before {
        content:attr(data-label);
        display:block;
        margin-bottom:4px;
        color:color-mix(in srgb, var(--text) 45%, transparent);
        font-size:9px;
        font-weight:850;
        text-transform:uppercase;
    }

    .logbook-flight-table td:nth-child(1),
    .logbook-flight-table td:nth-child(2) {
        grid-column:span 1;
    }

    .logbook-flight-table td:nth-child(3),
    .logbook-flight-table td:nth-child(4),
    .logbook-flight-table td:nth-child(10) {
        grid-column:1 / -1;
    }

    .logbook-flight-table td:nth-child(10) {
        border-bottom:0;
    }

    .logbook-flight-table td.logbook-row-actions {
        display:block;
    }

    .logbook-row-actions {
        display:flex;
        min-width:0;
        gap:6px;
    }

    .logbook-row-actions button {
        flex:1 1 0;
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .logbook-row-actions button + button {
        margin-left:0;
    }

    .logbook-row-actions button.is-insert {
        flex:1.25 1 0;
        margin-left:0;
    }
}

/* Give the long insert action its own row at phone and tablet widths. */
@media (max-width:1100px) {
    .logbook-row-actions {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        gap:8px;
    }

    .logbook-row-actions button,
    .logbook-row-actions button.is-insert {
        box-sizing:border-box;
        width:100%;
        min-width:0;
        min-height:36px;
        flex:none;
        overflow:visible;
        text-overflow:clip;
        white-space:normal;
        line-height:1.2;
    }

    .logbook-row-actions button.is-insert {
        grid-column:1 / -1;
        margin-left:0;
    }
}

/* Native dashboard rhythm: use one shared gap between the course tabs,
   Logbook, and My subjects. The subject section used to add a second margin
   on top of the Logbook summary margin, making the lower gap visibly larger. */
@media (max-width:720px) {
    body.is-native-app:not(.public-screen) #screen-dashboard {
        --native-dashboard-section-gap:18px;
    }

    body.is-native-app:not(.public-screen) #screen-dashboard .subscription-summary {
        margin-bottom:var(--native-dashboard-section-gap) !important;
    }

    body.is-native-app:not(.public-screen) #screen-dashboard #dashboard-logbook-summary {
        margin-bottom:var(--native-dashboard-section-gap) !important;
    }

    body.is-native-app:not(.public-screen) #screen-dashboard .native-my-subjects-section {
        margin-top:0 !important;
    }
}

/* Quiet dashboard logbook summary */
.dashboard-logbook-panel {
    border:1px solid color-mix(in srgb, var(--border) 88%, var(--logbook-accent) 12%);
    border-left:2px solid color-mix(in srgb, var(--border) 76%, var(--logbook-accent) 24%);
    border-radius:8px;
    background:var(--card);
    box-shadow:none;
}

body.light .dashboard-logbook-panel,
body.light.is-native-app .dashboard-logbook-panel {
    border-color:color-mix(in srgb, var(--border) 88%, var(--logbook-accent) 12%);
    border-left:2px solid color-mix(in srgb, var(--border) 76%, var(--logbook-accent) 24%);
    background:var(--card);
    box-shadow:none;
}

.dashboard-logbook-compact {
    min-height:78px;
    padding:9px 14px;
}

.dashboard-logbook-toggle {
    min-height:60px;
    padding:4px 7px;
}

.dashboard-logbook-toggle:hover,
.dashboard-logbook-toggle:focus-visible {
    background:transparent;
}

.dashboard-logbook-toggle:focus-visible {
    box-shadow:0 0 0 2px color-mix(in srgb, var(--text) 18%, transparent);
}

.dashboard-logbook-toggle-copy {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:4px 14px;
}

.dashboard-logbook-kicker {
    margin:0;
    flex:0 0 auto;
}

.dashboard-logbook-quick-stats {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:0 8px;
    border:0;
}

.dashboard-logbook-quick-stats > strong {
    overflow:visible;
    font-size:20px;
    line-height:1.2;
    white-space:nowrap;
}

.dashboard-logbook-quick-stats > i {
    color:color-mix(in srgb, var(--text) 34%, transparent);
    font-size:17px;
    font-style:normal;
    line-height:1;
}

.dashboard-logbook-quick-stats em {
    font-size:12px;
}

.dashboard-logbook-quick-actions button {
    min-width:94px;
}

.dashboard-logbook-panel-content {
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px 20px;
    padding:16px 18px 18px;
    border-top-color:color-mix(in srgb, var(--border) 88%, var(--logbook-accent) 12%);
}

.dashboard-logbook-detail-metrics,
.dashboard-logbook-recency-grid {
    grid-column:1 / -1;
    display:grid;
    gap:8px;
}

.dashboard-logbook-detail-metrics {
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding-top:2px;
}

.dashboard-logbook-detail-metrics > span {
    display:grid;
    gap:3px;
    min-width:0;
    padding:8px 10px;
    border-left:1px solid color-mix(in srgb, var(--border) 82%, var(--logbook-accent) 18%);
}

.dashboard-logbook-detail-metrics small,
.dashboard-logbook-recency-item span {
    overflow:hidden;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:10px;
    font-weight:800;
    line-height:1.25;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.dashboard-logbook-detail-metrics strong {
    color:var(--text);
    font-size:16px;
    line-height:1.2;
}

.dashboard-logbook-detail-metrics em {
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:11px;
    font-style:normal;
    font-weight:700;
}

.dashboard-logbook-recency-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding-top:8px;
    border-top:1px solid color-mix(in srgb, var(--border) 88%, var(--logbook-accent) 12%);
}

.dashboard-logbook-recency-item {
    display:grid;
    gap:3px;
    min-width:0;
    padding:8px 10px;
    border-radius:6px;
    background:color-mix(in srgb, var(--control) 72%, transparent);
}

.dashboard-logbook-recency-item strong {
    color:var(--text);
    font-size:17px;
    line-height:1.2;
}

.dashboard-logbook-recency-item small {
    color:color-mix(in srgb, var(--text) 60%, transparent);
    font-size:11px;
    font-weight:750;
}

body.is-native-app .dashboard-logbook-panel,
body.is-native-app .dashboard-logbook-panel-content,
body.is-native-app .dashboard-logbook-quick-stats,
body.is-native-app .dashboard-logbook-quick-stats > span {
    box-shadow:none;
}

body.is-native-app .dashboard-logbook-quick-stats {
    border:0;
}

@media (max-width:720px) {
    .logbook-back-to-top {
        right:12px;
        bottom:calc(82px + env(safe-area-inset-bottom));
    }

    .dashboard-logbook-compact {
        min-height:120px;
        padding:8px 11px;
    }

    .dashboard-logbook-toggle,
    body.is-native-app .dashboard-logbook-toggle {
        min-height:62px;
        padding:4px 6px;
    }

    .dashboard-logbook-toggle-copy {
        gap:4px 10px;
    }

    .dashboard-logbook-quick-stats {
        gap:0 6px;
    }

    .dashboard-logbook-quick-stats > strong,
    body.is-native-app .dashboard-logbook-quick-stats > strong {
        font-size:17px;
    }

    .dashboard-logbook-quick-stats em {
        font-size:11px;
    }

    .dashboard-logbook-detail-metrics,
    .dashboard-logbook-recency-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.is-native-app .dashboard-logbook-panel {
        border:1px solid color-mix(in srgb, var(--border) 88%, var(--logbook-accent) 12%);
        border-left:2px solid color-mix(in srgb, var(--border) 76%, var(--logbook-accent) 24%);
        background:var(--card);
        box-shadow:none;
    }
}

@media (max-width:420px) {
    .dashboard-logbook-quick-stats > strong,
    body.is-native-app .dashboard-logbook-quick-stats > strong {
        font-size:16px;
    }

    .dashboard-logbook-quick-stats em {
        font-size:10px;
    }

    .dashboard-logbook-detail-metrics > span,
    .dashboard-logbook-recency-item {
        padding-inline:8px;
    }
}

@media (max-width:900px) {
    .landing-logbook-showcase {
        grid-template-columns:1fr;
        gap:32px;
        padding-top:72px;
        padding-bottom:48px;
    }

    .landing-logbook-copy {
        max-width:720px;
        padding-left:clamp(14px,4vw,28px);
    }

    .landing-logbook-device {
        width:min(100%,870px);
        margin-top:0;
    }

    .landing-logbook-phone {
        right:8px;
        bottom:-18px;
        width:clamp(116px,20vw,154px);
    }

    .landing-logbook-plans {
        width:min(100%,720px);
        grid-template-columns:1fr 1fr;
    }

    .landing-logbook-included {
        width:min(80%,640px);
    }

    .landing-logbook-copy > .landing-logbook-included {
        width:100%;
        max-width:640px;
    }
}

@media (max-width:600px) {
    .landing-logbook-showcase {
        margin-top:0;
        padding:54px 14px 38px;
    }

    .landing-logbook-copy h2 {
        font-size:clamp(29px,9vw,40px);
    }

    .landing-logbook-copy > p {
        font-size:15px;
    }

    .landing-logbook-tablet {
        padding:9px;
        border-radius:16px;
    }

    .landing-logbook-phone {
        right:5px;
        bottom:-14px;
        width:clamp(92px,27vw,112px);
        padding:4px;
        border-radius:20px;
    }

    .landing-logbook-phone-camera {
        top:7px;
        height:8px;
    }

    .landing-logbook-phone-screen {
        border-radius:15px;
    }

    .landing-logbook-mobile-preview {
        font-size:clamp(4.8px, 4.7cqw, 7px);
    }

    .landing-logbook-mobile-body {
        gap:0.72em;
        padding:19% 7% 8%;
    }

    .landing-logbook-camera {
        top:3px;
        width:4px;
        height:4px;
    }

    .landing-logbook-screen {
        border-radius:9px;
    }

    .landing-logbook-trial {
        align-items:stretch;
        grid-template-columns:52px minmax(0,1fr);
        gap:10px 12px;
        padding:14px 0;
    }

    .landing-logbook-trial-number {
        width:52px;
        height:40px;
    }

    .landing-logbook-trial strong {
        font-size:15px;
    }

    .landing-logbook-trial .landing-logbook-primary {
        grid-column:1 / -1;
        width:100%;
        min-width:0;
    }

    .landing-logbook-product > header {
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

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

    .landing-logbook-metrics > span:nth-child(2) {
        border-right:0;
    }

    .landing-logbook-metrics > span:nth-child(n+3) {
        border-top:1px solid var(--border);
    }

    .landing-logbook-empty {
        min-height:190px;
        padding:24px 16px;
    }

    .landing-logbook-product > footer {
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:7px 0;
    }

    .landing-logbook-product > footer span {
        min-height:32px;
        display:grid;
        place-items:center;
    }

    .landing-logbook-plans {
        width:min(100%, 380px);
        grid-template-columns:1fr;
        gap:10px;
    }

    .landing-logbook-plan {
        min-height:0;
        padding:14px 16px;
        gap:4px 12px;
    }

    .landing-logbook-plan > strong {
        font-size:30px;
    }

    .landing-logbook-plan > span,
    .landing-logbook-plan > small {
        font-size:12px;
    }

    .landing-logbook-plans button {
        min-height:38px;
        margin-top:7px;
        font-size:13px;
    }

    .landing-logbook-included {
        width:100%;
        grid-template-columns:24px minmax(0,1fr);
        gap:10px;
        padding:12px;
    }

    .landing-logbook-copy > .landing-logbook-included {
        margin:-6px 0 20px;
    }

    .landing-logbook-included-icon {
        width:24px;
        height:24px;
    }

    .landing-logbook-included > div > strong {
        font-size:15px;
    }

    .landing-logbook-standalone-heading {
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
        padding-top:6px;
    }

    .landing-logbook-standalone-heading strong {
        font-size:17px;
    }

    .landing-logbook-standalone-heading span {
        font-size:12px;
    }
}

/* Dashboard logbook disclosure */
.dashboard-logbook-panel {
    display:block;
    padding:0;
    overflow:hidden;
}

.dashboard-logbook-compact {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:14px;
    min-height:104px;
    padding:10px 14px;
}

.dashboard-logbook-toggle {
    min-width:0;
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:6px 8px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:var(--text);
    cursor:pointer;
    font:inherit;
    text-align:left;
}

.dashboard-logbook-toggle:hover,
.dashboard-logbook-toggle:focus-visible {
    background:color-mix(in srgb, var(--text) 4%, transparent);
    outline:none;
}

.dashboard-logbook-toggle:focus-visible {
    box-shadow:0 0 0 2px color-mix(in srgb, var(--text) 18%, transparent);
}

.dashboard-logbook-toggle-copy {
    width:100%;
    min-width:0;
    display:grid;
    gap:7px;
}

.dashboard-logbook-kicker {
    color:color-mix(in srgb, var(--logbook-accent-bright) 76%, var(--text));
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.dashboard-logbook-quick-stats {
    min-width:0;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    border-block:1px solid color-mix(in srgb, var(--logbook-accent) 18%, var(--border));
}

.dashboard-logbook-quick-stats > span {
    min-width:0;
    display:grid;
    gap:3px;
    padding:8px 13px;
    border-left:1px solid color-mix(in srgb, var(--logbook-accent) 16%, var(--border));
}

.dashboard-logbook-quick-stats > span:first-child {
    border-left:0;
}

.dashboard-logbook-quick-stats small,
body.is-native-app .dashboard-logbook-quick-stats small {
    overflow:hidden;
    color:color-mix(in srgb, var(--text) 58%, transparent);
    font-size:9px;
    font-weight:850;
    line-height:1.2;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.dashboard-logbook-quick-stats strong,
body.is-native-app .dashboard-logbook-quick-stats strong {
    overflow:hidden;
    color:var(--text);
    font-size:21px;
    font-weight:850;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.dashboard-logbook-quick-stats em {
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:10px;
    font-style:normal;
    font-weight:700;
}

.dashboard-logbook-toggle-chevron {
    width:10px;
    height:10px;
    flex:0 0 auto;
    margin:0 4px 4px 0;
    border-right:2px solid color-mix(in srgb, var(--text) 64%, transparent);
    border-bottom:2px solid color-mix(in srgb, var(--text) 64%, transparent);
    transform:rotate(45deg);
    transition:transform 160ms ease;
}

.dashboard-logbook-toggle[aria-expanded="true"] .dashboard-logbook-toggle-chevron {
    margin-top:5px;
    margin-bottom:0;
    transform:rotate(225deg);
}

.dashboard-logbook-quick-actions {
    display:flex;
    align-items:center;
    gap:8px;
}

.dashboard-logbook-quick-actions button {
    width:auto;
    min-width:108px;
}

.dashboard-logbook-short-label {
    display:none;
}

.dashboard-logbook-panel-content {
    display:grid;
    grid-template-columns:minmax(0,1.4fr) auto;
    align-items:center;
    gap:22px;
    padding:18px 22px 20px;
    border-top:1px solid color-mix(in srgb, var(--logbook-accent) 20%, var(--border));
}

.dashboard-logbook-panel-content[hidden] {
    display:none !important;
}

@media (max-width:900px) {
    .dashboard-logbook-panel-content {
        grid-template-columns:minmax(0,1fr) auto;
    }

    .dashboard-logbook-panel-content .dashboard-logbook-panel-stats {
        grid-column:1 / -1;
        grid-row:2;
    }
}

@media (max-width:720px) {
    body.is-native-app:not(.public-screen) .top-nav.app-nav > nav {
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }

    .dashboard-logbook-compact {
        grid-template-columns:minmax(0, 1fr);
        align-items:stretch;
        gap:8px;
        min-height:136px;
        padding:8px 10px;
    }

    .dashboard-logbook-toggle {
        min-height:76px;
        gap:8px;
        padding:5px 7px;
    }

    body.is-native-app .dashboard-logbook-toggle {
        min-height:76px;
        gap:8px;
        padding:5px 7px;
    }

    .dashboard-logbook-kicker {
        font-size:11px;
    }

    .dashboard-logbook-quick-stats > span {
        padding:7px 8px;
    }

    .dashboard-logbook-quick-stats strong,
    body.is-native-app .dashboard-logbook-quick-stats strong {
        font-size:18px;
    }

    .dashboard-logbook-quick-actions {
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:6px;
    }

    .dashboard-logbook-quick-actions button {
        width:100%;
        min-width:0;
        min-height:38px;
        padding:8px 10px;
    }

    .dashboard-logbook-full-label {
        display:none;
    }

    .dashboard-logbook-short-label {
        display:inline;
    }

    .dashboard-logbook-panel-content {
        grid-template-columns:1fr;
        gap:14px;
        padding:14px 15px 16px;
    }

    body.is-native-app .dashboard-logbook-panel-content {
        grid-template-columns:1fr;
        gap:7px;
        padding:8px 12px 12px;
        border-top-color:color-mix(in srgb, var(--logbook-accent) 5%, var(--border));
    }

    body.is-native-app .dashboard-logbook-panel {
        border:1px solid color-mix(in srgb, var(--logbook-accent) 6%, var(--border));
        background:var(--card);
        box-shadow:0 8px 22px rgba(0,0,0,0.08);
    }

    body.light.is-native-app .dashboard-logbook-panel {
        border-left:1px solid color-mix(in srgb, var(--logbook-accent) 8%, var(--border));
    }

    body.is-native-app .dashboard-logbook-quick-stats {
        border-block-color:color-mix(in srgb, var(--logbook-accent) 5%, var(--border));
    }

    body.is-native-app .dashboard-logbook-quick-stats > span {
        border-left-color:color-mix(in srgb, var(--logbook-accent) 4%, var(--border));
    }

    body.is-native-app .dashboard-logbook-panel-copy {
        padding-top:2px;
    }

    body.is-native-app .dashboard-logbook-panel-copy > span,
    body.is-native-app .dashboard-logbook-panel-copy > h2,
    body.is-native-app .dashboard-logbook-panel-stats > span:not(.dashboard-logbook-access-status) {
        display:none;
    }

    body.is-native-app .dashboard-logbook-panel-copy p {
        margin:0;
        font-size:11px;
        line-height:1.35;
    }

    body.is-native-app .dashboard-logbook-panel-stats {
        display:block;
    }

    body.is-native-app .dashboard-logbook-access-status {
        min-width:0;
        display:flex;
        align-items:baseline;
        gap:6px;
    }

    body.is-native-app .dashboard-logbook-access-status strong {
        display:inline;
        margin:0;
        font-size:12px;
    }

    body.is-native-app .dashboard-logbook-access-status small {
        display:inline;
        font-size:10px;
        line-height:1.25;
    }

    body.is-native-app .dashboard-logbook-deferred-access {
        grid-template-columns:1fr;
        gap:3px;
        padding:8px 10px;
        border-color:color-mix(in srgb, var(--logbook-accent) 12%, var(--border));
        background:color-mix(in srgb, var(--logbook-accent) 4%, var(--control));
    }

    body.is-native-app .dashboard-logbook-deferred-access small {
        margin-bottom:1px;
        font-size:8px;
    }

    body.is-native-app .dashboard-logbook-deferred-access strong {
        font-size:12px;
        line-height:1.25;
    }

    body.is-native-app .dashboard-logbook-deferred-access p {
        font-size:10px;
        line-height:1.3;
    }

    body.is-native-app .dashboard-logbook-purchase {
        gap:0;
        padding-top:8px;
        border-top-color:color-mix(in srgb, var(--logbook-accent) 6%, var(--border));
    }

    body.is-native-app .dashboard-logbook-purchase-heading {
        padding:0 0 3px;
    }

    body.is-native-app .dashboard-logbook-purchase-heading span {
        display:none;
    }

    body.is-native-app .dashboard-logbook-purchase-heading strong {
        font-size:12px;
    }

    body.is-native-app .dashboard-logbook-purchase-option {
        padding:8px 0;
    }

    body.is-native-app .dashboard-logbook-purchase-option > span strong {
        font-size:12px;
    }

    body.is-native-app .dashboard-logbook-purchase-option > b {
        font-size:16px;
    }

    body.is-native-app .dashboard-logbook-purchase-option > button {
        min-height:32px;
        margin-top:3px;
    }
}

/* Keep the website dashboard actions in one compact row. */
body:not(.is-native-app) .dashboard-logbook-quick-actions {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:8px;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions button {
    flex:1 1 0;
    width:auto;
    min-width:0;
}

body:not(.is-native-app) .dashboard-logbook-toggle:hover {
    background:transparent;
}

@media (max-width:420px) {
    .dashboard-logbook-compact {
        gap:6px;
        padding-inline:7px;
    }

    .dashboard-logbook-toggle {
        padding-inline:4px;
    }

    .dashboard-logbook-quick-stats > span {
        padding-inline:6px;
    }

    .dashboard-logbook-quick-stats small,
    body.is-native-app .dashboard-logbook-quick-stats small {
        font-size:8px;
    }

    .dashboard-logbook-quick-stats strong,
    body.is-native-app .dashboard-logbook-quick-stats strong {
        font-size:17px;
    }
}

/* Keep flight controls in one calm row after the full-width search field. */
@media (max-width:680px) {
    .logbook-toolbar {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        align-items:stretch;
    }

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

    .logbook-toolbar .logbook-actions-heading-controls {
        grid-column:1 / -1;
        justify-self:end;
        min-width:0;
    }

    .logbook-toolbar .logbook-delete-all-button {
        min-width:0;
        padding-inline:8px;
    }
}

@media (max-width:360px) {
    .logbook-toolbar {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    }

    .logbook-toolbar .logbook-actions-heading-controls {
        grid-column:1 / -1;
        justify-self:end;
        width:auto;
    }

    .logbook-toolbar .logbook-delete-all-button {
        width:auto;
    }
}

/* Compact website cards at tablet widths: keep the flight identity, route, role, and times visible without empty bands. */
@media (min-width:681px) and (max-width:1100px) {
    .logbook-flight-table tr {
        grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.85fr);
    }

    .logbook-flight-table td {
        padding:8px 12px;
        line-height:1.25;
    }

    .logbook-flight-table td::before {
        margin-bottom:2px;
    }

    .logbook-flight-table td > strong,
    .logbook-flight-table td > span {
        line-height:1.25;
    }

    .logbook-flight-table td:nth-child(3) {
        grid-column:1 / span 2;
    }

    .logbook-flight-table td:nth-child(4) {
        grid-column:3;
    }

    .logbook-flight-table td:nth-child(5),
    .logbook-flight-table td:nth-child(6),
    .logbook-flight-table td:nth-child(7),
    .logbook-flight-table td:nth-child(8),
    .logbook-flight-table td:nth-child(9) {
        padding-top:7px;
        padding-bottom:7px;
    }

    .logbook-flight-table td.logbook-row-actions {
        padding-top:8px;
        padding-bottom:8px;
    }
}

/* Quiet logbook surface: establish one clear primary action and reduce
   competing visual weight in the summary and controls. */
.logbook-header {
    align-items:center;
    gap:24px;
    padding:24px clamp(16px, 2vw, 28px) 18px;
    border-bottom:1px solid color-mix(in srgb, var(--border) 82%, transparent);
}

.logbook-header h1 {
    font-size:clamp(28px, 3.5vw, 38px);
}

.logbook-header p {
    display:none;
}

.logbook-header-actions {
    gap:8px;
}

.logbook-header-buttons > button {
    min-width:132px;
    min-height:40px;
}

.logbook-report-button {
    min-height:34px;
    padding:7px 8px;
    border:0;
    font-size:11px;
}

.logbook-metrics {
    grid-template-columns:repeat(6,minmax(0,1fr));
    margin-top:16px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:9px;
    background:color-mix(in srgb, var(--card) 72%, transparent);
}

.logbook-metric {
    padding:13px 15px;
}

.logbook-metric strong {
    font-size:22px;
}

.logbook-metric.is-primary-metric {
    background:color-mix(in srgb, var(--logbook-accent) 8%, transparent);
}

.logbook-metric.is-primary-metric strong {
    color:var(--logbook-accent-bright);
    font-size:27px;
}

.logbook-time-breakdown {
    margin-top:12px;
}

.logbook-time-breakdown summary {
    padding:11px 14px;
}

.logbook-tab-content {
    padding-top:16px;
}

.logbook-toolbar {
    margin-bottom:14px;
    padding:8px;
    border:1px solid color-mix(in srgb, var(--border) 86%, transparent);
    border-radius:9px;
    background:color-mix(in srgb, var(--card) 52%, transparent);
}

.logbook-delete-all-button {
    padding:7px 8px;
    border:0;
    color:color-mix(in srgb, var(--text) 52%, transparent);
}

.logbook-delete-all-button:hover:not(:disabled),
.logbook-delete-all-button:focus-visible:not(:disabled) {
    border-color:transparent;
}

body.light .logbook-delete-all-button:hover:not(:disabled),
body.light .logbook-delete-all-button:focus-visible:not(:disabled) {
    border-color:#fca5a5;
    background:#fee2e2;
    color:#991b1b;
}

@media (max-width:900px) {
    .logbook-metrics {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:720px) {
    .logbook-time-breakdown summary {
        align-items:flex-start;
        flex-wrap:wrap;
        gap:4px 10px;
    }

    .logbook-time-breakdown summary small {
        flex:1 1 100%;
        font-size:10px;
        line-height:1.25;
    }

    .logbook-header {
        align-items:flex-start;
        gap:16px;
        padding:18px 16px;
    }

    .logbook-header-actions {
        gap:8px;
    }

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

    .logbook-metric.is-primary-metric {
        grid-column:1 / -1;
    }
}

/* Quiet, compact dashboard logbook card. */
body:not(.is-native-app) .dashboard-logbook-panel {
    border:1px solid color-mix(in srgb, var(--border) 92%, var(--logbook-accent) 8%);
    border-left:1px solid color-mix(in srgb, var(--border) 86%, var(--logbook-accent) 14%);
    background:var(--card);
    box-shadow:none;
}

body:not(.is-native-app) .dashboard-logbook-compact {
    min-height:72px;
    padding:6px 10px;
    gap:10px;
}

body:not(.is-native-app) .dashboard-logbook-toggle {
    min-height:56px;
    padding:3px 5px;
    gap:10px;
}

body:not(.is-native-app) .dashboard-logbook-kicker {
    color:color-mix(in srgb, var(--text) 54%, transparent);
    font-size:10px;
}

body:not(.is-native-app) .dashboard-logbook-quick-stats {
    gap:0 6px;
    border:0;
}

body:not(.is-native-app) .dashboard-logbook-quick-stats > span {
    padding:4px 7px;
}

body:not(.is-native-app) .dashboard-logbook-quick-stats strong {
    font-size:18px;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions button {
    min-height:36px;
    padding:7px 11px;
    border-color:color-mix(in srgb, var(--border) 82%, var(--logbook-accent) 18%);
    background:var(--control);
    font-size:12px;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy {
    border-color:color-mix(in srgb, var(--logbook-accent) 42%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 10%, var(--control));
    color:var(--text);
}

/* Bring back a clearer dashboard call to action without reopening the full card. */
body:not(.is-native-app) .dashboard-logbook-panel {
    border-color:rgba(58, 213, 163, 0.26);
    border-left:2px solid rgba(34, 197, 94, 0.58);
    background:
        linear-gradient(110deg, rgba(20, 184, 166, 0.08), rgba(17, 24, 39, 0.48) 46%, rgba(15, 23, 42, 0.42));
    box-shadow:0 14px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body:not(.is-native-app) .dashboard-logbook-panel-content {
    border-top:0;
}

body:not(.is-native-app) .dashboard-logbook-kicker {
    color:#6ee7a8;
    font-size:12px;
    letter-spacing:.06em;
    text-shadow:0 0 18px rgba(34, 197, 94, 0.22);
}

body:not(.is-native-app) .dashboard-logbook-quick-stats > span {
    padding:5px 16px;
    border-left:1px solid rgba(90, 219, 180, 0.28);
}

body:not(.is-native-app) .dashboard-logbook-quick-stats > span:first-child {
    border-left:0;
}

body:not(.is-native-app) .dashboard-logbook-quick-stats strong {
    color:#f8fafc;
    font-size:21px;
    font-weight:850;
}

body:not(.is-native-app) .dashboard-logbook-quick-stats em {
    color:rgba(226, 232, 240, 0.78);
    font-size:11px;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions {
    gap:10px;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions button {
    min-width:108px;
    min-height:40px;
    padding:8px 18px;
    border:1px solid #38a8d4;
    border-radius:9px;
    background:linear-gradient(135deg, #075985, #2563eb);
    color:#ffffff;
    box-shadow:0 8px 18px rgba(14, 116, 144, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    font-size:14px;
    font-weight:850;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions button:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions button:focus-visible {
    border-color:#7dd3fc;
    background:linear-gradient(135deg, #0e7490, #3b82f6);
    box-shadow:0 10px 22px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    outline:none;
    transform:translateY(-1px);
}

body:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy {
    border-color:#34d399;
    background:linear-gradient(135deg, #15803d, #0f766e);
    color:#ffffff;
    box-shadow:0 8px 18px rgba(16, 185, 129, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

body:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy:focus-visible {
    border-color:#86efac;
    background:linear-gradient(135deg, #16a34a, #0d9488);
    box-shadow:0 10px 22px rgba(34, 197, 94, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

@media (max-width:720px) {
    body:not(.is-native-app) .dashboard-logbook-quick-stats > span {
        padding-inline:9px;
    }

    body:not(.is-native-app) .dashboard-logbook-quick-actions button {
        min-width:0;
    }
}

/* Balanced six-cell totals strip: one clear value group per column. */
.logbook-metrics {
    grid-template-columns:repeat(6,minmax(0,1fr));
    min-height:112px;
    align-items:stretch;
}

.logbook-metric {
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    padding:18px 20px;
}

.logbook-metric span {
    min-height:15px;
    letter-spacing:.03em;
    line-height:1.2;
}

.logbook-metric strong {
    margin-top:8px;
    font-size:30px;
    line-height:1;
}

.logbook-metric small {
    white-space:nowrap;
}

.logbook-metric-split-values {
    gap:12px;
    margin-top:8px;
}

.logbook-metric-split-values span {
    white-space:nowrap;
}

.logbook-metric-split-values strong {
    font-size:24px;
}

@media (max-width:900px) {
    .logbook-metrics {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:720px) {
    .logbook-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr));
        min-height:0;
    }

    .logbook-metric {
        min-height:94px;
        padding:15px 14px;
    }

    .logbook-metric strong {
        font-size:25px;
    }

    .logbook-metric-split-values strong {
        font-size:21px;
    }
}

/* Light website theme: keep the logbook card bright, legible, and compact. */
body.light:not(.is-native-app) .dashboard-logbook-panel {
    border-color:#9bcbb7;
    border-left:3px solid #16a34a;
    background:#ffffff;
    background-image:none;
    color:#0f172a;
    box-shadow:0 8px 20px rgba(15, 23, 42, 0.08);
}

body.light:not(.is-native-app) .dashboard-logbook-panel-content[hidden] {
    display:none !important;
}

body.light:not(.is-native-app) .dashboard-logbook-panel-content {
    border-top:0;
    background:transparent;
}

body.light:not(.is-native-app) .dashboard-logbook-kicker {
    color:#047857;
    text-shadow:none;
}

body.light:not(.is-native-app) .dashboard-logbook-quick-stats > span {
    border-left-color:#9bcdb8;
}

body.light:not(.is-native-app) .dashboard-logbook-quick-stats strong {
    color:#0f172a;
    text-shadow:none;
}

body.light:not(.is-native-app) .dashboard-logbook-quick-stats em {
    color:#475569;
}

body.light:not(.is-native-app) .dashboard-logbook-quick-actions button {
    border-color:#2563eb;
    background:#2563eb;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(37, 99, 235, 0.18);
}

body.light:not(.is-native-app) .dashboard-logbook-quick-actions button:hover,
body.light:not(.is-native-app) .dashboard-logbook-quick-actions button:focus-visible {
    border-color:#1d4ed8;
    background:#1d4ed8;
    color:#ffffff;
    box-shadow:0 10px 22px rgba(37, 99, 235, 0.24);
}

body.light:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy {
    border-color:#059669;
    background:#059669;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(5, 150, 105, 0.18);
}

body.light:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy:hover,
body.light:not(.is-native-app) .dashboard-logbook-quick-actions .is-buy:focus-visible {
    border-color:#047857;
    background:#047857;
    color:#ffffff;
}

/* Native dashboard: a small explicit expiry disclosure beside Open/Extend. */
@media (max-width:720px) {
    body.is-native-app .dashboard-logbook-quick-actions {
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    body.is-native-app .dashboard-logbook-expiry-toggle {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        color:color-mix(in srgb, var(--logbook-accent-bright) 86%, var(--text));
    }

    body.is-native-app .dashboard-logbook-expiry-toggle i {
        width:7px;
        height:7px;
        margin-top:-3px;
        border-right:1.5px solid currentColor;
        border-bottom:1.5px solid currentColor;
        transform:rotate(45deg);
        transition:transform 150ms ease, margin 150ms ease;
    }

    body.is-native-app .dashboard-logbook-expiry-toggle[aria-expanded="true"] i {
        margin-top:3px;
        transform:rotate(225deg);
    }

    body.is-native-app .dashboard-logbook-expiry-details {
        box-sizing:border-box;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        padding:9px 10px;
        border:1px solid color-mix(in srgb, var(--logbook-accent) 22%, var(--border));
        border-radius:7px;
        background:color-mix(in srgb, var(--logbook-accent) 7%, var(--card));
    }

    body.is-native-app .dashboard-logbook-expiry-details > span {
        min-width:0;
        display:grid;
        gap:2px;
    }

    body.is-native-app .dashboard-logbook-expiry-details small {
        color:color-mix(in srgb, var(--text) 58%, transparent);
        font-size:9px;
        font-weight:800;
        line-height:1.2;
        text-transform:uppercase;
    }

    body.is-native-app .dashboard-logbook-expiry-details strong {
        color:var(--text);
        font-size:14px;
        font-weight:850;
        line-height:1.2;
    }

    body.is-native-app .dashboard-logbook-expiry-details p {
        max-width:58%;
        margin:0;
        color:color-mix(in srgb, var(--text) 68%, transparent);
        font-size:10px;
        line-height:1.3;
        text-align:right;
    }
}

/* Keep the two Instrument totals readable inside their six-cell desktop grid. */
.logbook-metric-split-instrument .logbook-metric-split-values {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:10px;
}

.logbook-metric-split-instrument .logbook-metric-split-values > span {
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    white-space:normal;
}

.logbook-metric-split-instrument .logbook-metric-split-values small {
    white-space:normal;
    line-height:1.15;
}

/* Keep the dashboard summary informational areas on the normal cursor. Only
   actual controls should signal that they can be clicked. */
.dashboard-logbook-panel,
.dashboard-logbook-panel-content,
.dashboard-logbook-toggle-copy,
.dashboard-logbook-kicker,
.dashboard-logbook-quick-stats,
.dashboard-logbook-quick-stats * {
    cursor:default;
}

.dashboard-logbook-panel button {
    cursor:pointer;
}

/* Native Dashboard rhythm: keep Logbook, Trial, and Unlock Subjects on the
   same 12px vertical spacing grid. */
@media (max-width:720px) {
    body.is-native-app:not(.public-screen) #dashboard-logbook-summary {
        box-sizing:border-box;
        width:100%;
        max-width:none;
        margin:0 0 12px;
    }

    body.is-native-app:not(.public-screen) #dashboard-logbook-summary > .dashboard-logbook-panel {
        margin:0;
    }

    body.is-native-app:not(.public-screen) #dashboard-subject-grid {
        gap:12px;
    }

    body.is-native-app:not(.public-screen) .native-subject-dashboard {
        margin:0;
        padding-top:0;
    }

    body.is-native-app:not(.public-screen) .native-subject-dashboard .dashboard-course-trial {
        margin:0 0 12px;
    }

    body.is-native-app:not(.public-screen) .native-subject-dashboard .native-my-subjects-section {
        margin-top:12px;
    }

    body.is-native-app:not(.public-screen) .native-subject-dashboard .native-dashboard-explore {
        margin-top:12px;
    }
}

/* The full metrics card can be tucked away on the native app while the
   website keeps its existing always-visible layout. */
body.is-native-app .logbook-metrics-disclosure {
    margin-top:16px;
    overflow:hidden;
    border:1px solid color-mix(in srgb, var(--logbook-accent) 16%, var(--border));
    border-radius:12px;
    background:color-mix(in srgb, var(--card) 92%, transparent);
}

body.is-native-app .logbook-metrics-disclosure > summary {
    display:flex;
    min-height:56px;
    box-sizing:border-box;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    color:var(--text);
    cursor:pointer;
    font-size:14px;
    font-weight:850;
    list-style:none;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.is-native-app .logbook-metrics-disclosure > summary::-webkit-details-marker {
    display:none;
}

body.is-native-app .logbook-metrics-disclosure > summary:hover,
body.is-native-app .logbook-metrics-disclosure > summary:focus-visible {
    background:color-mix(in srgb, var(--logbook-accent) 7%, transparent);
    outline:none;
}

body.is-native-app .logbook-metrics-disclosure-chevron {
    width:10px;
    height:10px;
    flex:0 0 auto;
    border-right:2px solid color-mix(in srgb, var(--logbook-accent-bright) 84%, var(--text));
    border-bottom:2px solid color-mix(in srgb, var(--logbook-accent-bright) 84%, var(--text));
    transform:translateY(-2px) rotate(45deg);
    transition:transform 160ms ease;
}

body.is-native-app .logbook-metrics-disclosure[open] .logbook-metrics-disclosure-chevron {
    transform:translateY(3px) rotate(225deg);
}

body.is-native-app .logbook-metrics-disclosure .logbook-metrics {
    margin-top:0;
    border-right:0;
    border-bottom:0;
    border-left:0;
    border-radius:0;
    border-top:1px solid color-mix(in srgb, var(--border) 86%, transparent);
}

body:not(.is-native-app) .logbook-metrics-disclosure > summary {
    display:none;
}

/* Native app flight controls: avoid the cramped two-column tablet layout on
   phone screens and give every control a clear, full-width touch target. */
@media (max-width:720px) {
    body.is-native-app .logbook-toolbar {
        grid-template-columns:minmax(0,1fr);
        gap:10px;
        padding:12px;
    }

    body.is-native-app .logbook-toolbar > *,
    body.is-native-app .logbook-toolbar .logbook-search,
    body.is-native-app .logbook-toolbar .logbook-actions-heading-controls {
        grid-column:1;
        width:100%;
    }

    body.is-native-app .logbook-toolbar .logbook-actions-heading-controls {
        justify-self:stretch;
        box-sizing:border-box;
        margin-top:2px;
        padding-top:10px;
        border-top:1px solid color-mix(in srgb, var(--border) 82%, transparent);
    }

    body.is-native-app .logbook-toolbar .logbook-delete-all-button {
        width:100%;
        min-height:42px;
        justify-content:flex-start;
        padding-inline:12px;
    }

    /* Compact native flight cards: preserve the complete record without the
       tall website-style spacing used by the responsive table. */
    body.is-native-app .logbook-flight-table tbody {
        gap:8px;
    }

    body.is-native-app .logbook-flight-table tr {
        grid-template-columns:repeat(3,minmax(0,1fr));
        border-color:color-mix(in srgb, var(--border) 88%, transparent);
        border-radius:8px;
        background:color-mix(in srgb, var(--card) 94%, transparent);
        box-shadow:none;
    }

    body.is-native-app .logbook-flight-table td {
        padding:8px 10px;
        border-bottom-color:color-mix(in srgb, var(--border) 56%, transparent);
        font-size:12px;
        line-height:1.2;
    }

    body.is-native-app .logbook-flight-table td::before {
        margin-bottom:2px;
        font-size:8px;
        letter-spacing:.03em;
    }

    body.is-native-app .logbook-flight-table td:nth-child(3) {
        grid-column:1 / span 2;
    }

    body.is-native-app .logbook-flight-table td:nth-child(4) {
        grid-column:3;
    }

    body.is-native-app .logbook-flight-table td:nth-child(5),
    body.is-native-app .logbook-flight-table td:nth-child(6),
    body.is-native-app .logbook-flight-table td:nth-child(7),
    body.is-native-app .logbook-flight-table td:nth-child(8),
    body.is-native-app .logbook-flight-table td:nth-child(9) {
        padding-top:7px;
        padding-bottom:7px;
    }

    body.is-native-app .logbook-flight-table td > strong,
    body.is-native-app .logbook-flight-table td > span {
        line-height:1.2;
    }

    body.is-native-app .logbook-flight-table td:nth-child(3) > span {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    body.is-native-app .logbook-flight-table td.logbook-row-actions {
        padding:8px 10px;
    }

    body.is-native-app .logbook-row-actions {
        gap:6px;
    }

    body.is-native-app .logbook-row-actions button,
    body.is-native-app .logbook-row-actions button.is-insert {
        min-height:32px;
        padding:6px 8px;
        font-size:11px;
    }

    body.is-native-app .logbook-flight-table tr {
        border-color:color-mix(in srgb, var(--logbook-accent) 34%, #334155);
        box-shadow:0 0 0 1px color-mix(in srgb, var(--logbook-accent) 10%, transparent);
    }

    body.is-native-app .logbook-flight-table td.logbook-row-actions {
        border-top:1px solid color-mix(in srgb, var(--logbook-accent) 18%, var(--border));
    }

    body.is-native-app .logbook-row-actions {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:5px;
    }

    body.is-native-app .logbook-row-actions button,
    body.is-native-app .logbook-row-actions button.is-insert {
        grid-column:auto;
        min-height:29px;
        padding:4px 5px;
        border-radius:6px;
        font-size:10px;
        line-height:1.1;
    }

    body.is-native-app .logbook-row-actions button.is-insert {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    body.is-native-app .logbook-metrics-disclosure {
        margin-top:12px;
        border-color:color-mix(in srgb, var(--logbook-accent) 20%, var(--border));
        border-radius:8px;
        box-shadow:none;
    }

    body.is-native-app .logbook-metrics-disclosure > summary {
        min-height:44px;
        padding:10px 12px;
        font-size:12px;
        letter-spacing:.03em;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric {
        min-height:72px;
        padding:10px 11px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric strong {
        margin-top:5px;
        font-size:22px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values {
        gap:8px;
        margin-top:5px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values strong {
        font-size:18px;
    }

    /* Give paired totals enough width on a phone. Split metrics use the full
       row, while FSTD and Landings still share the final two-column row. */
    body.is-native-app .logbook-metrics-disclosure .logbook-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric {
        min-height:78px;
        padding:12px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric.is-primary-metric,
    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split {
        grid-column:1 / -1;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric span {
        font-size:10px;
        line-height:1.15;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric strong {
        font-size:24px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
        gap:10px 16px;
        width:100%;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values > span {
        display:flex;
        min-width:0;
        flex-direction:column;
        align-items:flex-start;
        gap:3px;
        white-space:normal;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values strong {
        font-size:22px;
        line-height:1;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values small {
        margin-left:0;
        font-size:9px;
        line-height:1.15;
        white-space:normal;
    }

    /* Keep every flight-row action in one compact touch row. */
    body.is-native-app .logbook-flight-table td.logbook-row-actions,
    body.is-native-app .logbook-row-actions {
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        width:100%;
        min-width:0;
        gap:5px;
    }

    body.is-native-app .logbook-row-actions button,
    body.is-native-app .logbook-row-actions button.is-insert {
        box-sizing:border-box;
        grid-column:auto !important;
        grid-row:1 !important;
        width:100%;
        min-width:0;
        min-height:32px;
        margin:0 !important;
        padding:4px 3px;
        overflow:hidden;
        border-radius:6px;
        font-size:10px;
        line-height:1.1;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    /* The general phone rule gives the longer insert action a full row. Keep
       all three native flight actions explicitly in row one instead. */
    body.is-native-app .logbook-row-actions {
        grid-auto-flow:column !important;
    }

    body.is-native-app .logbook-row-actions > button,
    body.is-native-app .logbook-row-actions > button.is-insert {
        grid-column:span 1 !important;
        grid-row:1 !important;
    }
}

/* Website Logbook totals: switch before the cells become too narrow for the
   paired values and labels to remain readable. */
@media (max-width:1200px) {
    body:not(.is-native-app) .logbook-metrics {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    body:not(.is-native-app) .logbook-metric-split-values {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
        gap:5px 8px;
    }

    body:not(.is-native-app) .logbook-metric-split-values > span {
        min-width:0;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:2px;
        white-space:normal;
    }

    body:not(.is-native-app) .logbook-metric-split-values strong {
        font-size:21px;
        line-height:1;
    }

    body:not(.is-native-app) .logbook-metric-split-values small {
        margin-left:0;
        font-size:9px;
        line-height:1.15;
        white-space:normal;
    }
}

/* Keep dashboard logbook actions compact and easy to scan. */
body.is-native-app .dashboard-logbook-quick-actions > button,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button {
    min-height:36px;
    padding:7px 12px;
    border:1px solid color-mix(in srgb, var(--logbook-accent-bright) 44%, var(--border));
    border-radius:9px;
    background:color-mix(in srgb, var(--logbook-accent) 18%, var(--control));
    color:var(--text);
    box-shadow:none;
    font-size:12px;
    font-weight:800;
}

body.is-native-app .dashboard-logbook-quick-actions > button:hover,
body.is-native-app .dashboard-logbook-quick-actions > button:focus-visible,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button:focus-visible {
    border-color:color-mix(in srgb, var(--logbook-accent-bright) 68%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 28%, var(--control));
    box-shadow:0 4px 12px color-mix(in srgb, var(--logbook-accent) 12%, transparent);
    outline:none;
}

body.is-native-app .dashboard-logbook-quick-actions > button.is-buy,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.is-buy {
    border-color:color-mix(in srgb, #34d399 42%, var(--border));
    background:color-mix(in srgb, #059669 18%, var(--control));
}

body.is-native-app .dashboard-logbook-quick-actions > button.is-buy:hover,
body.is-native-app .dashboard-logbook-quick-actions > button.is-buy:focus-visible,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.is-buy:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.is-buy:focus-visible {
    border-color:color-mix(in srgb, #34d399 68%, var(--border));
    background:color-mix(in srgb, #059669 28%, var(--control));
}

@media (max-width:720px) {
    body.is-native-app .dashboard-logbook-quick-actions {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:6px;
    }

    body.is-native-app .dashboard-logbook-quick-actions > button {
        min-width:0;
    }

    body.is-native-app .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"] {
        grid-column:1 / -1;
        min-height:38px;
    }

    body.is-native-app .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"]:hover,
    body.is-native-app .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"]:focus-visible {
        background:color-mix(in srgb, var(--logbook-accent) 38%, var(--control));
    }

    body.is-native-app .dashboard-logbook-quick-actions .dashboard-logbook-expiry-toggle {
        min-height:34px;
        padding:6px 4px;
        border-color:color-mix(in srgb, var(--border) 88%, transparent);
        background:transparent;
        color:color-mix(in srgb, var(--text) 62%, transparent);
        font-size:10px;
        font-weight:700;
        box-shadow:none;
    }

    body.is-native-app .dashboard-logbook-quick-actions > button.is-buy {
        min-height:34px;
        border-color:color-mix(in srgb, var(--logbook-accent) 34%, var(--border));
        background:transparent;
        color:color-mix(in srgb, var(--text) 78%, transparent);
        font-size:10px;
        font-weight:750;
        box-shadow:none;
    }

    body.is-native-app .dashboard-logbook-quick-actions > button.is-buy:hover,
    body.is-native-app .dashboard-logbook-quick-actions > button.is-buy:focus-visible {
        border-color:color-mix(in srgb, var(--logbook-accent) 52%, var(--border));
        background:color-mix(in srgb, var(--logbook-accent) 6%, transparent);
        box-shadow:none;
    }

    body.is-native-app .dashboard-logbook-quick-actions .dashboard-logbook-expiry-toggle:hover,
    body.is-native-app .dashboard-logbook-quick-actions .dashboard-logbook-expiry-toggle:focus-visible {
        border-color:color-mix(in srgb, var(--logbook-accent) 35%, var(--border));
        background:color-mix(in srgb, var(--logbook-accent) 5%, transparent);
        box-shadow:none;
    }

    body.is-native-app .dashboard-logbook-quick-actions .dashboard-logbook-expiry-toggle i {
        width:6px;
        height:6px;
    }
}

/* Use one consistent value treatment across every totals card: paired values
   stack their labels underneath, and standalone values match their size. */
.logbook-metric-split-values {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:10px 16px;
}

.logbook-metric-split-values > span {
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    white-space:normal;
}

.logbook-metric > strong,
.logbook-metric-split-values strong,
body:not(.is-native-app) .logbook-metric > strong,
body:not(.is-native-app) .logbook-metric-split-values strong,
body.is-native-app .logbook-metrics-disclosure .logbook-metric > strong,
body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values strong {
    font-size:30px;
    line-height:1;
}

.logbook-metric-split-values small {
    margin-left:0;
    line-height:1.15;
    white-space:normal;
}

/* Give the longer add-row action its own line before the action cell gets
   narrow enough to clip its label. */
@media (max-width:1200px) {
    .logbook-flight-table td.logbook-row-actions,
    .logbook-row-actions {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        width:100%;
        min-width:0;
        gap:6px;
        overflow:visible;
    }

    .logbook-row-actions button,
    .logbook-row-actions button.is-insert {
        box-sizing:border-box;
        grid-column:auto !important;
        grid-row:auto !important;
        width:100%;
        min-width:0;
        margin:0 !important;
        overflow:visible;
        text-overflow:clip;
        white-space:normal;
        line-height:1.2;
    }

    .logbook-row-actions button.is-insert {
        grid-column:1 / -1 !important;
    }
}

/* Keep the long insert action on its own full-width line on the desktop
   table too, where the actions column can become narrow. */
@media (min-width:1201px) {
    .logbook-flight-table td.logbook-row-actions {
        white-space:normal;
    }

    .logbook-flight-table td.logbook-row-actions button.is-insert {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        margin:6px 0 0;
        white-space:normal;
        line-height:1.2;
    }
}

/* Restore the clearer dashboard action hierarchy: blue Open, green Extend,
   and a quiet Access disclosure. */
body.is-native-app .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle),
body:not(.is-native-app) .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle) {
    min-height:38px;
    border-color:#38a8d4;
    background:linear-gradient(135deg, #075985, #2563eb);
    color:#ffffff;
    box-shadow:0 6px 14px rgba(14,116,144,0.2), inset 0 1px 0 rgba(255,255,255,0.16);
    font-size:13px;
    font-weight:850;
}

body.is-native-app .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle):hover,
body.is-native-app .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle):focus-visible,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle):hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle):focus-visible {
    border-color:#7dd3fc;
    background:linear-gradient(135deg, #0e7490, #3b82f6);
    box-shadow:0 8px 18px rgba(14,165,233,0.24), inset 0 1px 0 rgba(255,255,255,0.2);
}

body.is-native-app .dashboard-logbook-quick-actions > button.is-buy,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.is-buy {
    min-height:38px;
    border-color:#34d399;
    background:linear-gradient(135deg, #15803d, #0f766e);
    color:#ffffff;
    box-shadow:0 6px 14px rgba(16,185,129,0.18), inset 0 1px 0 rgba(255,255,255,0.16);
    font-size:13px;
    font-weight:850;
}

body.is-native-app .dashboard-logbook-quick-actions > button.is-buy:hover,
body.is-native-app .dashboard-logbook-quick-actions > button.is-buy:focus-visible,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.is-buy:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.is-buy:focus-visible {
    border-color:#86efac;
    background:linear-gradient(135deg, #16a34a, #0d9488);
    box-shadow:0 8px 18px rgba(34,197,94,0.24), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* Website dashboard: give Access the same blue action treatment as Open,
   while keeping Extend green so the actions feel like one button family. */
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    min-height:38px;
    border-color:#38a8d4;
    background:linear-gradient(135deg, #075985, #2563eb);
    color:#ffffff;
    box-shadow:0 6px 14px rgba(14,116,144,0.2), inset 0 1px 0 rgba(255,255,255,0.16);
    font-size:13px;
    font-weight:850;
}

body:not(.is-native-app) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible {
    border-color:#7dd3fc;
    background:linear-gradient(135deg, #0e7490, #3b82f6);
    color:#ffffff;
    box-shadow:0 8px 18px rgba(14,165,233,0.24), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* Access is a disclosure, not a purchase action: keep it transparent while
   retaining the same compact size and focusable outline as its neighbours. */
body.is-native-app .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    min-height:38px;
    border-color:color-mix(in srgb, var(--logbook-accent-bright) 52%, var(--border));
    background:transparent;
    background-image:none;
    color:color-mix(in srgb, var(--text) 78%, transparent);
    box-shadow:none;
    font-size:13px;
    font-weight:850;
}

body.is-native-app .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
body.is-native-app .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
body:not(.is-native-app) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible {
    border-color:color-mix(in srgb, var(--logbook-accent-bright) 76%, var(--border));
    background:transparent;
    background-image:none;
    color:var(--text);
    box-shadow:none;
}

/* Keep every totals cell on the same title/value rhythm. Split metrics and
   single metrics now reserve the same rows, so different label lengths or
   suffixes cannot shift their numbers vertically. */
.logbook-metric {
    display:grid;
    grid-template-rows:15px auto auto;
    row-gap:8px;
    align-content:center;
}

.logbook-metric > span:first-child {
    grid-row:1;
    min-height:15px;
    display:block;
}

.logbook-metric > strong,
.logbook-metric > .logbook-metric-split-values {
    grid-row:2;
    align-self:start;
    margin-top:0;
}

.logbook-metric > small {
    grid-row:3;
    align-self:start;
    margin:0;
}

.logbook-metric-split-values {
    margin-top:0;
}

/* Native dashboard logbook card: keep the identity and three quiet, equal
   actions; the full totals remain available inside the logbook itself. */
body.is-native-app:not(.public-screen) .dashboard-logbook-panel {
    border:1px solid color-mix(in srgb, var(--border) 76%, transparent) !important;
    border-left:1px solid color-mix(in srgb, var(--border) 76%, transparent) !important;
    background:var(--card) !important;
    background-image:none !important;
    box-shadow:none !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-compact {
    min-height:56px;
    padding:8px 10px;
    gap:10px;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-toggle {
    min-width:0;
    flex:1 1 auto;
    min-height:40px;
    padding:0 4px;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-stats {
    display:none !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions {
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    width:min(100%, 276px);
    flex:0 0 276px;
    gap:6px !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:36px !important;
    padding:6px 5px !important;
    border:1px solid color-mix(in srgb, var(--border) 82%, transparent) !important;
    border-radius:7px !important;
    background:transparent !important;
    background-image:none !important;
    color:color-mix(in srgb, var(--text) 76%, transparent) !important;
    box-shadow:none !important;
    font-size:11px !important;
    font-weight:750 !important;
    white-space:nowrap;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:hover,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:focus-visible {
    border-color:color-mix(in srgb, var(--accent) 50%, var(--border)) !important;
    background:color-mix(in srgb, var(--accent) 6%, transparent) !important;
    color:var(--text) !important;
    box-shadow:none !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-deferred-access p {
    max-width:52%;
    font-size:10px;
    line-height:1.25;
}

body.is-native-app .logbook-flight-table tr {
    border:1px solid color-mix(in srgb, var(--border) 68%, transparent) !important;
    background:var(--card) !important;
    background-image:none !important;
    box-shadow:none !important;
}

body.is-native-app .logbook-flight-table td {
    border-bottom-color:color-mix(in srgb, var(--border) 42%, transparent) !important;
}

body.is-native-app .logbook-flight-table td.logbook-row-actions {
    border-top-color:color-mix(in srgb, var(--border) 48%, transparent) !important;
}

@media (max-width:520px) {
    body.is-native-app:not(.public-screen) .dashboard-logbook-compact {
        align-items:stretch;
        flex-direction:column;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-toggle {
        min-height:34px;
        justify-content:flex-start;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions {
        width:100%;
        flex-basis:auto;
    }
}

/* Light mode logbook: soft mint actions and quiet, nearly borderless records. */
body.light .dashboard-logbook-panel,
body.light .logbook-app,
body.light .logbook-section,
body.light .logbook-table-wrap,
body.light .logbook-flight-table tr,
body.light .logbook-insight-section,
body.light .logbook-audit-section,
body.light .logbook-currency-card,
body.light .logbook-entry-modal,
body.light .logbook-import-modal,
body.light .logbook-pdf-modal {
    border-color:#e5eee9 !important;
    background:#ffffff !important;
    background-image:none !important;
    box-shadow:none !important;
}

body.light .dashboard-logbook-quick-actions > button,
body.light .dashboard-logbook-quick-actions > button.is-buy,
body.light .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle,
body.light .logbook-header-actions button,
body.light .logbook-row-actions button,
body.light .logbook-empty-actions button,
body.light .logbook-toolbar button,
body.light .logbook-entry-modal form > footer button {
    border:1px solid #d5eadb !important;
    border-radius:8px !important;
    background:#effaf2 !important;
    background-image:none !important;
    color:#52715d !important;
    -webkit-text-fill-color:#52715d !important;
    box-shadow:none !important;
    text-shadow:none !important;
}

body.light .dashboard-logbook-quick-actions > button:hover,
body.light .dashboard-logbook-quick-actions > button:focus-visible,
body.light .logbook-header-actions button:hover,
body.light .logbook-header-actions button:focus-visible,
body.light .logbook-row-actions button:hover,
body.light .logbook-row-actions button:focus-visible,
body.light .logbook-empty-actions button:hover,
body.light .logbook-empty-actions button:focus-visible,
body.light .logbook-toolbar button:hover,
body.light .logbook-toolbar button:focus-visible,
body.light .logbook-entry-modal form > footer button:hover,
body.light .logbook-entry-modal form > footer button:focus-visible {
    border-color:#c4e0ca !important;
    background:#e3f4e7 !important;
    color:#42664e !important;
    -webkit-text-fill-color:#42664e !important;
    box-shadow:none !important;
}

body.light .logbook-flight-table th,
body.light .logbook-flight-table td,
body.light .logbook-toolbar input,
body.light .logbook-toolbar select,
body.light .logbook-field input,
body.light .logbook-field select,
body.light .logbook-field textarea,
body.light .logbook-profile-form input {
    border-color:#e8eef2 !important;
    box-shadow:none !important;
}

body.light .logbook-flight-table th {
    background:#f8fbf9 !important;
    color:#6d7f75;
}

body.light .logbook-flight-table tbody tr:hover {
    background:#fbfefc !important;
}

/* Keep website logbook buttons quiet on hover, press, and focus too. */
body:not(.is-native-app) button:hover,
body:not(.is-native-app) button:focus-visible,
body:not(.is-native-app) button:active {
    box-shadow:none !important;
    filter:none !important;
}

/* Quiet website dashboard logbook styling: retain the blue/green hierarchy
   without the strong gradient, glow, or inset highlight. */
body:not(.is-native-app):not(.light) .dashboard-logbook-panel {
    background:color-mix(in srgb, var(--card) 95%, var(--logbook-accent) 5%) !important;
    background-image:none !important;
    box-shadow:none !important;
}

body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle),
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    border-color:#277b9a !important;
    background:#174d68 !important;
    background-image:none !important;
    box-shadow:none !important;
}

body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.is-buy {
    border-color:#299877 !important;
    background:#176b58 !important;
    background-image:none !important;
    box-shadow:none !important;
}

body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle):hover,
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button:not(.is-buy):not(.dashboard-logbook-expiry-toggle):focus-visible,
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible {
    border-color:#3d91ad !important;
    background:#1b5b79 !important;
    background-image:none !important;
}

body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.is-buy:hover,
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.is-buy:focus-visible {
    border-color:#3bb18d !important;
    background:#1b7a65 !important;
    background-image:none !important;
}

/* Match the quiet outlined pricing-control style for Logbook Access. */
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    border-color:#16888f !important;
    background:#102834 !important;
    background-image:none !important;
    color:#edf7f7 !important;
    box-shadow:none !important;
}

body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
body:not(.is-native-app):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible {
    border-color:#24a7a5 !important;
    background:#143441 !important;
    background-image:none !important;
    color:#ffffff !important;
    box-shadow:none !important;
}

.dashboard-logbook-expiry-toggle i {
    display:inline-block;
    width:8px;
    height:8px;
    margin:0 0 3px 7px;
    border-top:2px solid currentColor;
    border-left:2px solid currentColor;
    transform:rotate(225deg);
    transition:transform 150ms ease, margin 150ms ease;
}

.dashboard-logbook-expiry-toggle[aria-expanded="true"] i {
    margin-bottom:-2px;
    transform:rotate(45deg);
}

/* Landing counts are data, not a success state; keep them neutral like the
   other flight-row values. */
.logbook-flight-table td.logbook-landing-count {
    color:color-mix(in srgb, var(--text) 88%, transparent);
    font-weight:650;
}

body.light .logbook-flight-table td.logbook-landing-count {
    color:#334155;
}

/* Flight-row actions: keep the two short actions together and make the
   longer insert action a quiet, matching button underneath. */
.logbook-row-actions button.is-insert {
    margin-left:0;
    border-color:var(--border);
    background:transparent;
    color:color-mix(in srgb, var(--text) 70%, transparent);
}

.logbook-row-actions button.is-insert:hover,
.logbook-row-actions button.is-insert:focus-visible {
    border-color:var(--border);
    background:var(--soft);
    color:var(--text);
}

@media (max-width:1200px) {
    .logbook-flight-table td.logbook-row-actions {
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows:minmax(36px, auto);
        align-items:stretch;
        gap:8px !important;
        padding:8px !important;
    }

    .logbook-flight-table td.logbook-row-actions > button:nth-child(1) {
        grid-column:1 !important;
        grid-row:1 !important;
    }

    .logbook-flight-table td.logbook-row-actions > button:nth-child(2) {
        grid-column:2 !important;
        grid-row:1 !important;
    }

    .logbook-flight-table td.logbook-row-actions > button:nth-child(3) {
        grid-column:1 / -1 !important;
        grid-row:2 !important;
    }
}

/* Report controls should remain flat in every interaction state. */
.logbook-report-button,
.logbook-report-button:hover,
.logbook-report-button:focus-visible,
.logbook-report-button:active,
.logbook-report-action button,
.logbook-report-action button:hover,
.logbook-report-action button:focus-visible,
.logbook-report-action button:active {
    box-shadow:none !important;
}

/* Website flight-row utility: keep Add row below on its own line, but size it
   to the label instead of stretching it across the whole action cell. */
body:not(.is-native-app) .logbook-row-actions button.is-insert {
    box-sizing:border-box;
    width:max-content;
    max-width:100%;
    margin-left:0;
}

@media (min-width:1201px) {
    body:not(.is-native-app) .logbook-flight-table td.logbook-row-actions button.is-insert {
        width:max-content;
        max-width:100%;
        margin:6px 0 0 auto;
    }
}

@media (max-width:1200px) {
    body:not(.is-native-app) .logbook-row-actions button.is-insert {
        grid-column:1 / -1 !important;
        justify-self:center;
        width:max-content;
        max-width:100%;
    }
}

/* Make the primary logbook action easier to find without adding another glow. */
.logbook-add-button,
.logbook-add-button:hover,
.logbook-add-button:active {
    min-width:158px;
    min-height:46px;
    padding-inline:18px;
    border-color:color-mix(in srgb, var(--logbook-accent) 76%, var(--border));
    background:color-mix(in srgb, var(--logbook-accent) 78%, var(--control));
    color:#ffffff;
    box-shadow:none;
}

.logbook-add-button:hover,
.logbook-add-button:focus-visible {
    border-color:var(--logbook-accent-bright);
    background:color-mix(in srgb, var(--logbook-accent) 88%, var(--control));
    outline:none;
    box-shadow:none;
}

body.light .logbook-add-button,
body.light .logbook-add-button:hover,
body.light .logbook-add-button:active {
    border-color:#8fc9a0;
    background:#d9f1df;
    color:#176534;
}

body.light .logbook-add-button:hover,
body.light .logbook-add-button:focus-visible {
    border-color:#5eae78;
    background:#c9e9d1;
}

/* Restore the earlier native dashboard logbook strip: a compact identity on
   the left with Access, Open, and Extend kept together on the right. */
@media (max-width:720px) {
    body.is-native-app:not(.public-screen) .dashboard-logbook-compact {
        display:grid !important;
        grid-template-columns:minmax(66px, max-content) minmax(0, 1fr);
        align-items:center;
        min-height:56px;
        padding:8px 10px;
        gap:10px;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-toggle {
        justify-content:flex-start;
        min-height:40px;
        padding:0 4px;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-toggle-copy {
        width:auto;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions {
        display:grid !important;
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
        width:100%;
        max-width:276px;
        justify-self:end;
        gap:6px !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button,
    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy,
    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
        min-width:0;
        min-height:36px !important;
        padding:6px 5px !important;
        border-radius:7px !important;
        box-shadow:none !important;
        font-size:11px !important;
        font-weight:800 !important;
        white-space:nowrap;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
        border-color:#16888f !important;
        background:transparent !important;
        background-image:none !important;
        color:color-mix(in srgb, var(--text) 78%, transparent) !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"] {
        border-color:#277b9a !important;
        background:#174d68 !important;
        background-image:none !important;
        color:#edf7ff !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy {
        border-color:#299877 !important;
        background:#176b58 !important;
        background-image:none !important;
        color:#effff8 !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:hover,
    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:focus-visible {
        box-shadow:none !important;
        filter:none !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible {
        border-color:#24a7a5 !important;
        background:transparent !important;
        color:var(--text) !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"]:hover,
    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"]:focus-visible {
        border-color:#3d91ad !important;
        background:#1b5b79 !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy:hover,
    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy:focus-visible {
        border-color:#3bb18d !important;
        background:#1b7a65 !important;
    }

    body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
        border-color:#c9e0e2 !important;
        background:transparent !important;
        color:#52715d !important;
    }

    body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"] {
        border-color:#c9e0f0 !important;
        background:#eaf5ff !important;
        color:#2f6a8c !important;
    }

    body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy {
        border-color:#cce6d3 !important;
        background:#effaf2 !important;
        color:#52715d !important;
    }
}

/* Native dashboard logbook: keep the card compact and action-focused. The
   detailed totals remain available inside the Logbook screen itself. */
@media (max-width:720px) {
    body.is-native-app:not(.public-screen) .dashboard-logbook-compact {
        grid-template-columns:minmax(66px,max-content) minmax(0,1fr);
        align-items:center;
        min-height:56px;
        gap:10px;
        padding:8px 10px;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-toggle {
        justify-content:flex-start;
        min-height:40px;
        padding:0 4px;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-toggle-copy {
        width:auto;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-stats {
        display:none !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions {
        width:100%;
        max-width:276px;
        justify-self:end;
        flex-basis:auto;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:6px !important;
    }

    body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button {
        width:100%;
        min-width:0;
        min-height:36px !important;
        padding:6px 5px !important;
        font-size:11px !important;
    }

    /* Keep Edit, Delete, and Add row below in one equal native-app row. */
    body.is-native-app .logbook-flight-table td.logbook-row-actions,
    body.is-native-app .logbook-row-actions {
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        grid-auto-flow:column !important;
        grid-auto-rows:minmax(32px,auto) !important;
        width:100%;
        min-width:0;
        gap:6px !important;
        overflow:visible;
    }

    body.is-native-app .logbook-row-actions > button,
    body.is-native-app .logbook-row-actions > button.is-insert {
        box-sizing:border-box;
        grid-column:span 1 !important;
        grid-row:1 !important;
        width:100%;
        min-width:0;
        min-height:32px;
        margin:0 !important;
        padding:5px 4px;
        overflow:hidden;
        font-size:10px;
        line-height:1.1;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
}

/* Native logbook totals: use the earlier compact two-column card instead of
   stretching the primary and paired totals across full-width rows. */
@media (max-width:720px) {
    body.is-native-app .logbook-metrics-disclosure {
        margin-top:8px;
        border-radius:8px;
    }

    body.is-native-app .logbook-metrics-disclosure > summary {
        min-height:40px;
        padding:8px 10px;
        font-size:11px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric,
    body.is-native-app .logbook-metrics-disclosure .logbook-metric.is-primary-metric,
    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split {
        grid-column:auto;
        min-height:68px;
        padding:9px 10px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric span {
        font-size:9px;
        line-height:1.15;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric > strong,
    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values strong {
        font-size:24px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values {
        gap:7px 9px;
    }

    body.is-native-app .logbook-metrics-disclosure .logbook-metric-split-values small {
        font-size:8px;
    }
}

/* Keep the native dashboard logbook actions inline at every app width. */
body.is-native-app:not(.public-screen) .dashboard-logbook-compact {
    display:grid !important;
    grid-template-columns:minmax(66px,max-content) minmax(0,1fr) !important;
    align-items:center;
    gap:10px;
    min-height:56px;
    padding:8px 10px;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-toggle {
    min-width:0;
    min-height:40px;
    justify-content:flex-start;
    padding:0 4px;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-toggle-copy {
    width:auto;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-stats {
    display:none !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100%;
    max-width:276px;
    min-width:0;
    justify-self:end;
    gap:6px !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button {
    width:100%;
    min-width:0;
    min-height:36px !important;
    padding:6px 5px !important;
    font-size:11px !important;
    white-space:nowrap;
}

/* Final native dashboard fix: all three Logbook actions stay in one equal
   row. The older mobile rule made Open span the full grid and stacked it. */
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-flow:column !important;
    width:100% !important;
    max-width:276px !important;
    min-width:0 !important;
    flex:0 0 276px !important;
    gap:6px !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button[aria-label="Open Logbook"] {
    grid-column:auto !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
}

/* Native dashboard Logbook actions: use one quiet navy treatment for Access,
   Open, and Extend so the three-button row reads as one control group. */
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    border-color:#277b9a !important;
    background:#174d68 !important;
    background-image:none !important;
    color:#edf7ff !important;
    -webkit-text-fill-color:#edf7ff !important;
    box-shadow:none !important;
}

body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:hover,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:focus-visible,
body.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:active {
    border-color:#3d91ad !important;
    background:#1b5b79 !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    box-shadow:none !important;
}

/* Explicit light-mode contrast for the native navy action group. */
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle {
    border-color:#277b9a !important;
    background:#174d68 !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    box-shadow:none !important;
}

body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button > span {
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

/* Final native Logbook contrast: Access is an outlined disclosure in dark
   mode, while Open and Extend retain the shared navy action surface. */
body.is-native-app:not(.public-screen):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle,
body.is-native-app:not(.public-screen):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:hover,
body.is-native-app:not(.public-screen):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:focus-visible,
body.is-native-app:not(.public-screen):not(.light) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle:active {
    border-color:#16888f !important;
    background:transparent !important;
    background-image:none !important;
    color:#edf7f7 !important;
    -webkit-text-fill-color:#edf7f7 !important;
    box-shadow:none !important;
}

/* Light mode: use text-only Logbook actions so no blue or green fill competes
   with the clean light dashboard. */
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.is-buy,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button.dashboard-logbook-expiry-toggle,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:hover,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:focus-visible,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:active {
    border-color:#c5d2dd !important;
    background:transparent !important;
    background-image:none !important;
    color:#3e6073 !important;
    -webkit-text-fill-color:#3e6073 !important;
    box-shadow:none !important;
}

body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button > span,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:hover > span,
body.light.is-native-app:not(.public-screen) .dashboard-logbook-quick-actions > button:focus-visible > span {
    color:#3e6073 !important;
    -webkit-text-fill-color:#3e6073 !important;
}

/* Keep large logbook totals inside their cells. A pilot with 10,000 hours
   should get a readable value, not a value that pushes into the next metric. */
.logbook-metric,
.logbook-metric-split-values,
.logbook-metric-split-values > span,
.logbook-metric > strong,
.logbook-metric-split-values strong {
    min-width:0;
    max-width:100%;
}

.logbook-metric > strong,
.logbook-metric-split-values strong {
    display:block;
    overflow:hidden;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.025em;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media (min-width:721px) {
    .logbook-metric > strong {
        font-size:clamp(18px, calc(18px + .6vw), 30px);
    }

    .logbook-metric-split-values strong {
        font-size:clamp(14px, calc(14px + .5vw), 24px);
    }
}

@media (max-width:720px) {
    .logbook-metric > strong {
        font-size:clamp(17px, 6vw, 25px);
    }

    .logbook-metric-split-values strong {
        font-size:clamp(15px, 5vw, 22px);
    }
}

/* Native detailed breakdown: keep the chevron vertically centred beside the
   compact heading, regardless of the subtitle wrapping underneath it. */
body.is-native-app .logbook-time-breakdown summary {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:center;
    gap:4px;
    min-height:44px;
    box-sizing:border-box;
    padding:10px 38px 10px 12px;
}

body.is-native-app .logbook-time-breakdown summary::after {
    position:absolute;
    top:50%;
    right:16px;
    margin:0;
    transform:translateY(-50%) rotate(45deg);
}

body.is-native-app .logbook-time-breakdown[open] summary::after {
    transform:translateY(-50%) rotate(225deg);
}

body.is-native-app .logbook-time-breakdown summary small {
    min-width:0;
    line-height:1.25;
}

/* Native totals: centre each metric and keep paired values directly under
   their heading so Day/Night, PIC/Dual, and Actual/FSTD read as balanced
   groups on the phone. */
body.is-native-app .logbook-metrics .logbook-metric {
    text-align:center;
}

body.is-native-app .logbook-metrics .logbook-metric-split-values {
    justify-items:center;
}

body.is-native-app .logbook-metrics .logbook-metric-split-values > span {
    align-items:center;
    text-align:center;
}

/* Native dashboard renewals: keep monthly and yearly visible together so the
   annual option cannot be mistaken for a missing plan below the fold. */
@media (max-width:720px) {
    body.is-native-app .dashboard-logbook-purchase {
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:8px !important;
    }

    body.is-native-app .dashboard-logbook-purchase-heading {
        grid-column:1 / -1;
    }

    body.is-native-app .dashboard-logbook-purchase-option,
    body.is-native-app .dashboard-logbook-purchase-heading + .dashboard-logbook-purchase-option {
        min-width:0;
        padding:9px !important;
        border:1px solid color-mix(in srgb, var(--logbook-accent) 18%, var(--border)) !important;
        border-radius:8px;
        background:color-mix(in srgb, var(--logbook-accent) 4%, var(--card));
    }

    body.is-native-app .dashboard-logbook-purchase-option small {
        overflow:visible;
        line-height:1.25;
        text-overflow:clip;
        white-space:normal;
    }
}

/* Native flight cards: keep Edit, Delete, and Add row below in one row and
   include the action-cell padding in its width so the last button cannot be
   clipped at the right edge. */
@media (max-width:1100px) {
    body.is-native-app .logbook-flight-table td.logbook-row-actions,
    body.is-native-app .logbook-row-actions {
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        grid-auto-flow:column !important;
        grid-auto-rows:minmax(32px,auto) !important;
        box-sizing:border-box;
        width:100%;
        max-width:100%;
        min-width:0;
        gap:6px !important;
        overflow:visible;
    }

    body.is-native-app .logbook-row-actions > button,
    body.is-native-app .logbook-row-actions > button.is-insert {
        box-sizing:border-box;
        grid-column:span 1 !important;
        grid-row:1 !important;
        width:100%;
        min-width:0;
        min-height:32px;
        margin:0 !important;
        padding:5px 4px;
        overflow:hidden;
        font-size:10px;
        line-height:1.1;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
}
