@font-face { font-family: "Poppins"; src: url("/assets/fonts/poppins-400.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/poppins-500.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/poppins-600.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/poppins-700.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/poppins-800.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }

:root {
    --forest: #173f35;
    --forest-deep: #0d2b24;
    --fern: #2f6a57;
    --mint: #dfece5;
    --mist: #eef4f0;
    --sand: #f3eee4;
    --paper: #fffefb;
    --ink: #1d2824;
    --muted: #66736d;
    --line: #d8e0db;
    --gold: #bc8b3d;
    --danger: #943d32;
    --shadow: 0 18px 50px rgba(13, 43, 36, .08);
    --shadow-soft: 0 1px 2px rgba(13, 43, 36, .04), 0 10px 30px rgba(13, 43, 36, .045);
    --radius: 22px;
    --sans: "Poppins", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Gmail connection ------------------------------------------------------- */
.gmail-connection-panel {
    display: grid;
    gap: 22px;
    overflow: hidden;
}

.gmail-connection-heading,
.gmail-connection-action,
.gmail-connection-account {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
}

.gmail-connection-heading > div {
    max-width: 660px;
}

.gmail-connection-heading h2 {
    margin: 5px 0 7px;
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 560;
    letter-spacing: -.035em;
}

.gmail-connection-heading p,
.gmail-connection-action span,
.gmail-connection-account small {
    color: var(--muted, #68726c);
    line-height: 1.55;
}

.gmail-connection-state {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #e1e5e2;
    border-radius: 999px;
    background: #fff;
    color: #6b726e;
    font-size: .78rem;
    font-weight: 520;
    white-space: nowrap;
}

.gmail-connection-state i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #aeb5b1;
}

.gmail-connection-state.is-connected {
    border-color: rgba(20, 73, 51, .18);
    color: #144933;
}

.gmail-connection-state.is-connected i {
    background: #2f7a54;
    box-shadow: 0 0 0 4px rgba(47, 122, 84, .1);
}

.gmail-connection-action,
.gmail-connection-account {
    padding: 20px;
    border: 1px solid #e7e9e7;
    border-radius: 16px;
    background: #fbfcfb;
}

.gmail-connection-action > div,
.gmail-connection-account > div:first-child {
    display: grid;
    gap: 5px;
}

.gmail-connection-action strong,
.gmail-connection-account strong {
    font-size: .98rem;
    font-weight: 560;
    letter-spacing: -.018em;
}

.gmail-connection-account > div:first-child > span {
    color: #7b827e;
    font-size: .72rem;
    font-weight: 560;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gmail-connection-buttons {
    display: flex;
    align-items: center;
    gap: 14px;
}

.gmail-connection-buttons form {
    margin: 0;
}

.gmail-privacy-note {
    margin-top: -4px;
}

.gmail-privacy-note ul {
    margin: 16px 0 0;
    padding-left: 20px;
    color: #626a65;
}

.gmail-privacy-note li + li {
    margin-top: 8px;
}

.gmail-authorise-panel {
    max-width: 680px;
    margin: 9vh auto 0;
    padding: clamp(28px, 5vw, 54px);
}

.gmail-authorise-panel h1 {
    max-width: 560px;
    margin: 8px 0 12px;
    font-size: clamp(2rem, 4.2vw, 3.6rem);
    font-weight: 540;
    line-height: 1.03;
    letter-spacing: -.052em;
}

.gmail-authorise-panel p {
    max-width: 560px;
    margin: 0 0 28px;
    color: var(--muted);
}

.gmail-authorise-panel .text-button {
    margin-left: 18px;
}

@media (max-width: 720px) {
    .gmail-connection-heading,
    .gmail-connection-action,
    .gmail-connection-account {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .gmail-connection-state {
        align-self: flex-start;
    }

    .gmail-connection-action form,
    .gmail-connection-action .button,
    .gmail-connection-buttons,
    .gmail-connection-buttons form,
    .gmail-connection-buttons .button {
        width: 100%;
    }

    .gmail-connection-buttons {
        align-items: stretch;
        flex-direction: column;
    }
}

* { box-sizing: border-box; }
html { color-scheme: light; background: var(--mist); }
body { margin: 0; color: var(--ink); background: var(--mist); font-family: var(--sans); line-height: 1.55; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { color: inherit; }

.topbar {
    position: sticky;
    z-index: 30;
    top: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 76px;
    padding: 0 34px;
    border-bottom: 1px solid rgba(216, 224, 219, .9);
    background: rgba(255, 254, 251, .92);
    backdrop-filter: blur(18px);
}

.brand { display: inline-flex; align-items: center; gap: 13px; width: max-content; color: var(--forest); text-decoration: none; }
.brand-logo { display: block; width: 46px; height: 32px; object-fit: contain; }
.brand strong { display: block; line-height: 1; font-size: 15px; font-weight: 760; letter-spacing: -.015em; }

.nav { display: flex; align-items: center; gap: 8px; }
.nav a { padding: 10px 13px; border-radius: 999px; color: #45534e; font-size: 14px; font-weight: 650; text-decoration: none; }
.nav a:hover, .nav a:focus-visible { background: var(--mist); color: var(--forest); }
.nav .nav-primary { margin-left: 4px; padding-inline: 18px; color: white; background: var(--forest); }
.nav .nav-primary:hover, .nav .nav-primary:focus-visible { color: white; background: var(--forest-deep); }

.account-menu { position: relative; justify-self: end; }
.account-menu summary { cursor: pointer; list-style: none; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 13px; font-weight: 650; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu[open] > div { position: absolute; top: 48px; right: 0; width: 190px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
.account-menu a, .account-menu button { display: block; width: 100%; min-height: 42px; padding: 11px 14px; border: 0; background: transparent; text-align: left; text-decoration: none; cursor: pointer; }
.account-menu a:hover, .account-menu button:hover { background: var(--mist); }
.account-menu form { margin: 0; border-top: 1px solid var(--line); }

.page { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 54px 0 90px; }
.narrow-page { width: min(890px, calc(100% - 48px)); }
.hero { display: flex; justify-content: space-between; align-items: end; gap: 44px; padding: 48px 52px; overflow: hidden; border-radius: 26px; color: white; background: var(--forest); box-shadow: var(--shadow); }
.hero h1, .page-title h1 { margin: 8px 0 12px; font-size: clamp(38px, 5vw, 64px); line-height: .98; letter-spacing: -.055em; }
.hero p { max-width: 590px; margin: 0; color: rgba(255, 255, 255, .76); font-size: 18px; }
.hero .kicker { color: #c6dacf; }
.hero-actions { display: flex; flex: 0 0 auto; flex-direction: column; gap: 10px; min-width: 210px; }
.hero .button-primary { color: var(--forest); background: white; }
.hero .button-primary:hover { background: var(--sand); }
.hero .button-secondary { border-color: rgba(255, 255, 255, .35); color: white; background: transparent; }

.kicker { color: var(--fern); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid transparent; border-radius: 999px; font-weight: 750; text-decoration: none; cursor: pointer; transition: transform .16s ease, background .16s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: white; background: var(--forest); }
.button-primary:hover { background: var(--forest-deep); }
.button-secondary { border-color: var(--line); color: var(--forest); background: white; }
.button-secondary:hover { background: var(--mist); }
.text-link, .section-heading > a { color: var(--forest); font-weight: 750; text-underline-offset: 4px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 22px 0 64px; }
.metric-grid article { min-height: 142px; padding: 25px 26px; border: 1px solid rgba(216, 224, 219, .8); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-soft); }
.metric-grid strong, .metric-grid span, .metric-grid small { display: block; }
.metric-grid strong { color: var(--forest); font-size: 38px; line-height: 1; letter-spacing: -.04em; }
.metric-grid span { margin-top: 16px; font-weight: 720; }
.metric-grid small { margin-top: 4px; color: var(--muted); }
.metric-grid .metric-attention { border-color: #ddcda8; background: #fbf6e9; }
.metric-grid .metric-attention strong { color: #7c5820; }
.metric-grid .metric-personal { border-color: #e2d1aa; background: #fbf6e9; }
.metric-grid .metric-personal strong { color: #7c5820; }

.section-heading, .page-title { display: flex; justify-content: space-between; align-items: end; gap: 28px; }
.section-heading { margin: 0 0 22px; }
.section-heading h2 { margin: 5px 0 0; font-size: 33px; line-height: 1.1; letter-spacing: -.035em; }
.page-title { margin-bottom: 34px; }
.page-title h1 { margin-bottom: 10px; color: var(--forest); font-size: clamp(38px, 5vw, 58px); }
.page-title p { max-width: 650px; margin: 0; color: var(--muted); font-size: 17px; }

.work-list { display: grid; gap: 18px; }
.work-card { padding: 30px 32px; border: 1px solid rgba(216, 224, 219, .78); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow-soft); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.work-card:hover { transform: translateY(-2px); border-color: #c5d1cb; box-shadow: 0 2px 4px rgba(13, 43, 36, .04), 0 18px 44px rgba(13, 43, 36, .075); }
.work-card-hidden { border-style: dashed; background: #f7f8f6; opacity: .76; }
.work-card-hidden:hover { opacity: 1; }
.work-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.work-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.work-tag { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border-radius: 999px; color: var(--forest); background: var(--mist); font-size: 11px; font-weight: 750; line-height: 1; }
.work-meta { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; font-weight: 650; }
.work-meta span { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border-radius: 999px; color: var(--forest); background: var(--sand); font-weight: 750; }
.work-meta .personal-time { color: #76551e; background: #f7edda; }
.work-meta .agent-time { color: var(--forest); background: var(--mist); }
.hidden-tag { color: #72521b; background: #f7ecca; }
.visibility-form { display: inline-flex; margin: 0; }
.visibility-button { min-height: 28px; padding: 4px 10px; border: 1px solid transparent; border-radius: 999px; background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.visibility-hide { border-color: #dfc5bf; color: #853d34; }
.visibility-hide:hover { background: #fbeceb; }
.visibility-show { border-color: #b7d2c5; color: #1c6049; background: #e8f3ed; }
.work-card h3 { max-width: 920px; margin: 22px 0 10px; color: var(--forest); font-size: 25px; line-height: 1.17; letter-spacing: -.03em; }
.work-card h3 a { text-decoration: none; }
.work-summary { max-width: 900px; margin: 0; color: #53605b; font-size: 15px; line-height: 1.62; }
.impact-line { display: grid; grid-template-columns: 112px 1fr; gap: 20px; margin-top: 24px; padding: 18px 20px; border-radius: 15px; color: #31423c; background: #f4f7f5; }
.impact-line > span { padding-top: 2px; color: var(--fern); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.impact-line p { margin: 0; }
.status { display: inline-flex; align-items: center; width: max-content; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.status-approved { color: #1c6049; background: #dff1e9; }
.status-draft { color: #72521b; background: #f7ecca; }
.status-archived { color: #68716e; background: #e8ecea; }
.evidence { margin: 17px 2px 0; color: var(--muted); font-size: 13px; }
.evidence summary { cursor: pointer; color: var(--forest); font-weight: 700; }
.evidence p { max-width: 850px; margin: 10px 0 0; padding: 13px 15px; border-radius: 10px; background: var(--mist); white-space: normal; }

.empty-state { padding: 60px 30px; border: 1px dashed #b9c7c0; border-radius: var(--radius); background: rgba(255,255,255,.5); text-align: center; }
.empty-state h3 { margin: 0 0 8px; color: var(--forest); font-size: 23px; }
.empty-state p { margin: 0 auto 15px; max-width: 600px; color: var(--muted); }
.empty-state a { color: var(--forest); font-weight: 750; }

.filters { display: flex; align-items: end; gap: 12px; margin-bottom: 20px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.filters label { flex: 1; min-width: 145px; color: #52605b; font-size: 12px; font-weight: 750; }
.filters select, .filters input { width: 100%; min-height: 44px; margin-top: 6px; padding: 8px 11px; border: 1px solid #c9d4ce; border-radius: 10px; color: var(--ink); background: white; }
.filter-actions { display: flex; align-items: center; gap: 12px; }
.filter-clear { color: var(--muted); font-size: 13px; font-weight: 700; text-underline-offset: 3px; }
.log-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; margin: 0 0 40px; border: 1px solid var(--line); border-radius: 18px; background: var(--line); }
.log-summary > div { padding: 20px 22px; background: var(--paper); }
.log-summary .summary-personal { background: #fbf6e9; }
.log-summary span, .log-summary strong { display: block; }
.log-summary span { color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.log-summary strong { margin-top: 6px; color: var(--forest); font-size: 24px; letter-spacing: -.03em; }
.day-groups { display: grid; gap: 46px; }
.day-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 0 3px 17px; }
.day-heading h2 { margin: 5px 0 0; color: var(--forest); font-size: 27px; line-height: 1.1; letter-spacing: -.035em; }
.day-total { display: grid; justify-items: end; }
.day-total strong { color: var(--forest); font-size: 20px; letter-spacing: -.025em; }
.day-total span { color: var(--muted); font-size: 12px; }

.entry-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.entry-toolbar form { margin: 0; }
.editor-form { display: grid; gap: 14px; }
.form-section { position: relative; display: grid; grid-template-columns: 1fr; gap: 18px; padding: 30px 32px 34px 78px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.form-section.form-grid { grid-template-columns: 1fr 1fr; }
.section-number { position: absolute; top: 33px; left: 30px; color: var(--gold); font-size: 12px; font-weight: 850; letter-spacing: .1em; }
.form-section h2 { margin: 0 0 4px; color: var(--forest); font-size: 24px; letter-spacing: -.025em; }
.form-section p { margin: 0; color: var(--muted); }
.editor-form label, .stack-form label { display: grid; gap: 7px; color: #485650; font-size: 13px; font-weight: 750; }
.editor-form input, .editor-form textarea, .editor-form select, .stack-form input, .stack-form select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #c7d2cc; border-radius: 10px; outline: none; color: var(--ink); background: white; font-weight: 500; }
.editor-form textarea { resize: vertical; min-height: 110px; }
.editor-form input:focus, .editor-form textarea:focus, .editor-form select:focus, .stack-form input:focus, .stack-form select:focus { border-color: var(--fern); box-shadow: 0 0 0 3px rgba(47, 106, 87, .12); }
.editor-form label small, .stack-form label small { color: var(--muted); font-weight: 500; }
.full { grid-column: 1 / -1; }
.form-actions { display: flex; align-items: center; gap: 17px; padding: 8px 5px; }
.form-actions a { color: var(--muted); font-weight: 700; }

.auth-shell { min-height: 100vh; color: white; background: var(--forest-deep); }
.auth-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); min-height: calc(100vh - 70px); }
.auth-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 8vw, 120px); background: radial-gradient(circle at 20% 20%, rgba(75, 132, 110, .42), transparent 42%), var(--forest-deep); }
.auth-intro .kicker { color: #a9c9ba; }
.auth-intro h1 { max-width: 660px; margin: 17px 0 23px; font-size: clamp(54px, 7.5vw, 104px); line-height: .86; letter-spacing: -.075em; }
.auth-intro p { max-width: 650px; margin: 0; color: rgba(255,255,255,.72); font-size: clamp(17px, 2vw, 21px); }
.auth-intro ul { display: grid; gap: 10px; margin: 32px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.74); }
.auth-intro li { padding-left: 27px; position: relative; }
.auth-intro li::before { position: absolute; left: 0; color: #9dc8b4; content: "✓"; font-weight: 900; }
.auth-card { align-self: center; width: min(520px, calc(100% - 54px)); margin: 40px auto; padding: 38px; border-radius: 22px; color: var(--ink); background: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.25); }
.auth-card .step-label { color: var(--gold); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.auth-card h2 { margin: 8px 0 8px; color: var(--forest); font-size: 29px; letter-spacing: -.035em; }
.auth-card > p { margin: 0 0 24px; color: var(--muted); }
.stack-form { display: grid; gap: 16px; }
.stack-form .button { margin-top: 6px; }
.auth-shell .footer { color: rgba(255,255,255,.5); background: var(--forest-deep); border-color: rgba(255,255,255,.08); }

.flash { position: fixed; z-index: 100; top: 87px; left: 50%; width: min(600px, calc(100% - 30px)); transform: translateX(-50%); padding: 13px 17px; border: 1px solid transparent; border-radius: 12px; box-shadow: var(--shadow); font-size: 14px; font-weight: 700; }
.flash-success { border-color: #afd5c3; color: #174e3b; background: #e5f5ed; }
.flash-error { border-color: #e5b9b2; color: #7c2e26; background: #fbeceb; }
.flash-info { border-color: #c8d7df; color: #315268; background: #edf5f8; }

.two-column { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; align-items: start; }
.panel { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.panel h2 { margin: 0 0 6px; color: var(--forest); font-size: 25px; letter-spacing: -.025em; }
.panel > p { margin: 0 0 24px; color: var(--muted); }
.team-list article { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.team-list article:last-child { border: 0; }
.team-list strong, .team-list span, .team-list small { display: block; }
.team-list span { color: var(--muted); font-size: 13px; }
.team-list small { margin-top: 4px; color: var(--fern); font-weight: 650; }
.team-list article > div:last-child { display: grid; justify-items: end; gap: 8px; }
.team-list form { margin: 0; }
.text-button { padding: 0; border: 0; color: var(--danger); background: none; cursor: pointer; font-size: 12px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.account-panel { max-width: 610px; }
.notice { padding: 13px 15px; border-radius: 10px; color: #6f4e17; background: #fbf1d3; }

.report-controls .check-label { display: flex; align-items: center; gap: 8px; padding-bottom: 11px; white-space: nowrap; }
.report-controls .check-label input { width: 18px; min-height: 18px; margin: 0; }
.report-sheet { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); box-shadow: var(--shadow); }
.report-header { display: flex; justify-content: space-between; gap: 30px; padding: 30px 38px; color: white; background: var(--forest); }
.report-header > div { display: grid; gap: 3px; }
.report-header > div:last-child { text-align: right; }
.report-header span { color: rgba(255,255,255,.68); font-size: 12px; }
.report-header .report-identity { display: flex; align-items: center; gap: 13px; }
.report-identity img { display: block; width: 46px; height: 32px; object-fit: contain; filter: invert(1); }
.report-brand { color: white !important; font-size: 15px !important; font-weight: 760; letter-spacing: -.015em; }
.report-summary { padding: 58px 58px 30px; }
.report-summary h2 { max-width: 760px; margin: 9px 0 13px; color: var(--forest); font-size: clamp(32px, 4vw, 49px); line-height: 1.03; letter-spacing: -.05em; }
.report-summary p { max-width: 770px; margin: 0; color: var(--muted); font-size: 17px; }
.report-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 58px 55px; border-block: 1px solid var(--line); }
.report-metrics div { padding: 22px 5px; }
.report-metrics .metric-personal { margin-left: -14px; padding-left: 14px; border-radius: 12px; background: #fbf6e9; }
.report-metrics .metric-personal strong { color: #7c5820; }
.report-metrics strong, .report-metrics span { display: block; }
.report-metrics strong { color: var(--forest); font-size: 34px; letter-spacing: -.04em; }
.report-metrics span { color: var(--muted); font-size: 13px; }
.report-analytics { padding: 0 58px 58px; }
.analytics-heading { max-width: 720px; margin-bottom: 24px; }
.analytics-heading h2 { margin: 6px 0 7px; color: var(--forest); font-size: 34px; line-height: 1.08; letter-spacing: -.04em; }
.analytics-heading p { margin: 0; color: var(--muted); }
.chart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.chart-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fbfcfa; }
.chart-card > header { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 23px; }
.chart-card > header span { color: var(--fern); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.chart-card > header h3 { margin: 4px 0 0; color: var(--forest); font-size: 21px; line-height: 1.15; letter-spacing: -.025em; }
.chart-card > header > strong { color: var(--muted); font-size: 12px; white-space: nowrap; }
.bar-chart { display: grid; gap: 14px; }
.bar-row { display: grid; grid-template-columns: minmax(110px, 170px) minmax(100px, 1fr); align-items: center; gap: 16px; }
.bar-label strong, .bar-label span { display: block; }
.bar-label strong { color: #35443e; font-size: 12px; line-height: 1.2; }
.bar-label span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.bar-comparison { display: grid; gap: 8px; }
.bar-series { display: grid; grid-template-columns: 52px minmax(70px, 1fr) 78px; align-items: center; gap: 9px; }
.bar-series > span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bar-series > strong { color: var(--forest); font-size: 11px; text-align: right; white-space: nowrap; }
.bar-series progress { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 999px; appearance: none; -webkit-appearance: none; background: var(--mint); }
.bar-series progress::-webkit-progress-bar { border-radius: 999px; background: var(--mint); }
.bar-series progress::-webkit-progress-value { border-radius: 999px; background: var(--fern); }
.bar-series progress::-moz-progress-bar { border-radius: 999px; background: var(--fern); }
.personal-series progress { background: #f3ead7; }
.personal-series progress::-webkit-progress-bar { background: #f3ead7; }
.personal-series progress::-webkit-progress-value { background: var(--gold); }
.personal-series progress::-moz-progress-bar { background: var(--gold); }
.compact-bars .bar-row { grid-template-columns: minmax(105px, 145px) minmax(75px, 1fr); gap: 11px; }
.compact-bars .bar-series { grid-template-columns: 44px minmax(50px, 1fr) 65px; gap: 7px; }
.compact-bars .bar-series > strong { font-size: 10px; }
.report-outcomes { padding: 0 58px 55px; }
.report-outcomes > article { display: grid; grid-template-columns: 44px 1fr; gap: 22px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.report-outcomes > article:last-child { border-bottom: 0; }
.report-number { color: var(--gold); font-size: 12px; font-weight: 850; letter-spacing: .09em; }
.report-meta { color: var(--fern); font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.report-outcomes h3 { margin: 8px 0 8px; color: var(--forest); font-size: 25px; line-height: 1.15; letter-spacing: -.03em; }
.report-outcomes p { margin: 0; color: #48544f; }
.report-impact { display: grid; grid-template-columns: 125px 1fr; gap: 18px; margin-top: 17px; padding: 15px; border-radius: 12px; background: var(--mist); }
.report-impact strong { color: var(--forest); font-size: 12px; }
.report-note { padding: 20px 58px; border-top: 1px solid var(--line); color: var(--muted); background: #fafbf9; font-size: 11px; }

.footer { display: flex; justify-content: space-between; gap: 20px; padding: 24px 34px; border-top: 1px solid var(--line); color: var(--muted); background: var(--paper); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 900px) {
    .topbar { grid-template-columns: 1fr auto; padding: 0 20px; }
    .nav { grid-column: 1 / -1; order: 3; width: 100%; overflow-x: auto; padding: 7px 0 10px; }
    .nav a { white-space: nowrap; }
    .topbar { padding-top: 11px; }
    .account-menu { grid-column: 2; grid-row: 1; }
    .hero { align-items: start; flex-direction: column; padding: 38px; }
    .hero-actions { flex-direction: row; width: 100%; }
    .hero-actions .button { flex: 1; }
    .metric-grid { grid-template-columns: 1fr 1fr; }
    .filters { flex-wrap: wrap; }
    .filter-actions { flex: 1 0 100%; }
    .chart-grid { grid-template-columns: 1fr; }
    .two-column { grid-template-columns: 1fr; }
    .auth-layout { grid-template-columns: 1fr; }
    .auth-intro { min-height: 48vh; padding: 65px 8vw; }
    .auth-intro h1 { font-size: clamp(54px, 12vw, 90px); }
    .auth-card { margin-block: -20px 55px; }
}

@media (max-width: 620px) {
    .page, .narrow-page { width: min(100% - 28px, 1180px); padding: 30px 0 65px; }
    .topbar { padding-inline: 14px; }
    .brand strong { font-size: 14px; }
    .account-menu summary { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .hero { padding: 31px 25px; border-radius: 20px; }
    .hero h1, .page-title h1 { font-size: 41px; }
    .hero-actions { flex-direction: column; }
    .metric-grid { gap: 10px; margin-bottom: 45px; }
    .metric-grid article { min-height: 130px; padding: 19px; }
    .metric-grid strong { font-size: 32px; }
    .section-heading, .page-title { align-items: start; flex-direction: column; }
    .work-card { padding: 23px 21px; border-radius: 20px; }
    .work-card-top { align-items: start; flex-direction: column; gap: 13px; }
    .work-meta { width: 100%; flex-wrap: wrap; justify-content: flex-start; white-space: normal; }
    .work-card h3 { margin-top: 19px; font-size: 22px; }
    .impact-line, .report-impact { grid-template-columns: 1fr; gap: 5px; }
    .filters { align-items: stretch; flex-direction: column; }
    .filters label { width: 100%; }
    .filter-actions { align-items: stretch; flex-direction: column; }
    .log-summary { grid-template-columns: 1fr; }
    .log-summary > div { padding: 17px 19px; }
    .day-heading { align-items: start; flex-direction: column; gap: 11px; }
    .day-total { justify-items: start; }
    .form-section { padding: 65px 20px 25px; }
    .form-section.form-grid { grid-template-columns: 1fr; }
    .section-number { top: 25px; left: 20px; }
    .entry-toolbar { align-items: start; flex-direction: column; gap: 12px; }
    .auth-intro { min-height: 43vh; padding: 52px 25px 70px; }
    .auth-intro h1 { font-size: 57px; }
    .auth-intro ul { display: none; }
    .auth-card { width: calc(100% - 28px); margin-top: -22px; padding: 26px 22px; }
    .team-list article { align-items: start; flex-direction: column; }
    .team-list article > div:last-child { justify-items: start; }
    .report-header { padding: 23px; }
    .report-summary { padding: 38px 24px 25px; }
    .report-metrics { margin: 0 24px 40px; }
    .report-analytics { padding: 0 24px 42px; }
    .chart-card { padding: 20px 17px; }
    .chart-card > header { align-items: start; flex-direction: column; gap: 7px; }
    .bar-row, .compact-bars .bar-row { grid-template-columns: 1fr; gap: 8px; }
    .bar-series, .compact-bars .bar-series { grid-template-columns: 45px minmax(70px, 1fr) 74px; gap: 7px; }
    .report-outcomes { padding: 0 24px 35px; }
    .report-outcomes > article { grid-template-columns: 30px 1fr; gap: 10px; }
    .report-note { padding: 18px 24px; }
    .footer { align-items: start; flex-direction: column; padding-inline: 18px; }
}

/* Provenance is explicit: manual records are not presented as verified automation. */
.manual-badge { display: inline-flex; align-items: center; gap: 5px; min-height: 27px; padding: 5px 9px; border: 1px solid #efd58a; border-radius: 999px; color: #805b08; background: #fff8dd; font-size: 9px; font-weight: 650; letter-spacing: .025em; white-space: nowrap; }
.manual-badge > span { display: inline-grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; color: #6f4e05; background: #f6d66d; font-size: 9px; font-weight: 800; }
.manual-badge b { font: inherit; }
.log-ledger-source .manual-badge { box-sizing: border-box; min-height: 20px !important; padding: 2px 7px 2px 4px; border-color: #ecd88f; border-radius: 999px; color: #74540c; background: #fff8df; }
.log-ledger-source .manual-badge > span { width: 13px; height: 13px; font-size: 8px; }
@media (max-width: 620px) {
    .log-ledger-source .manual-badge { min-height: 18px !important; padding-right: 6px; font-size: 8px; }
    .log-ledger-source .manual-badge > span { width: 12px; height: 12px; font-size: 7px; }
}

@media print {
    @page { size: A4; margin: 12mm; }
    body { background: white; }
    .topbar, .no-print, .footer, .flash { display: none !important; }
    .page { width: 100%; padding: 0; }
    .report-sheet { border: 0; border-radius: 0; box-shadow: none; }
    .report-header { padding: 20px 24px; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .report-summary { padding: 35px 26px 20px; }
    .report-summary h2 { font-size: 34px; }
    .report-metrics { margin: 0 26px 25px; }
    .report-outcomes { padding: 0 26px; }
    .report-outcomes > article { break-inside: avoid; padding: 21px 0; }
    .chart-card { break-inside: avoid; }
    .report-impact, .evidence p { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .report-note { padding: 16px 26px; }
}

/* Executive editorial system */
:root {
    --forest: #153d32;
    --forest-deep: #082820;
    --fern: #3b725f;
    --mint: #dfe9e2;
    --mist: #edf1ed;
    --sand: #eee8db;
    --paper: #fffefa;
    --ink: #18241f;
    --muted: #68736d;
    --line: #d6ddd7;
    --gold: #b98a3e;
    --gold-soft: #eadbc0;
    --shadow: 0 24px 70px rgba(8, 40, 32, .09);
    --shadow-soft: 0 1px 2px rgba(8, 40, 32, .03), 0 14px 38px rgba(8, 40, 32, .055);
    --sans: "Poppins", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --display: "Poppins", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { background: #eef0ec; }
body { background: linear-gradient(180deg, #f7f7f3 0, #eef0ec 680px); font-feature-settings: "kern" 1, "liga" 1, "tnum" 1; }

.topbar {
    min-height: 84px;
    padding-inline: max(30px, calc((100vw - 1320px) / 2));
    border-bottom-color: rgba(21, 61, 50, .1);
    background: rgba(255, 254, 250, .9);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .8);
}
.topbar::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(185, 138, 62, .42), transparent); content: ""; }
.brand { gap: 15px; }
.brand-logo { width: 50px; height: 35px; }
.brand strong { font-size: 14px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.nav { gap: 3px; padding: 5px; border: 1px solid rgba(21, 61, 50, .08); border-radius: 12px; background: #f5f6f2; }
.nav a { position: relative; padding: 9px 15px; border-radius: 8px; color: #5e6a64; font-size: 12px; letter-spacing: .015em; }
.nav a:hover, .nav a:focus-visible { background: rgba(255,255,255,.75); }
.nav a.nav-active { color: var(--forest); background: var(--paper); box-shadow: 0 1px 5px rgba(8, 40, 32, .08); }
.nav a.nav-active::after { position: absolute; right: 15px; bottom: 4px; left: 15px; height: 1px; background: var(--gold); content: ""; }
.nav .nav-primary { margin-left: 7px; border-radius: 8px; color: white; background: var(--forest); box-shadow: none; }
.account-menu summary { padding: 9px 14px; border-color: rgba(21, 61, 50, .14); border-radius: 9px; background: transparent; }

.page { width: min(1240px, calc(100% - 56px)); padding: 62px 0 110px; }
.narrow-page { width: min(960px, calc(100% - 56px)); }
.overview-page { width: min(1320px, calc(100% - 56px)); padding-top: 44px; }
.kicker { color: var(--gold); font-size: 10px; letter-spacing: .18em; }

.overview-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 42px; margin-bottom: 22px; padding: 0 4px 25px; border-bottom: 1px solid rgba(21,61,50,.14); }
.overview-toolbar h1 { margin: 6px 0 0; color: var(--forest); font-size: clamp(38px, 4vw, 52px); font-weight: 600; line-height: 1; letter-spacing: -.045em; }
.overview-toolbar-right { display: flex; align-items: center; gap: 28px; }
.overview-toolbar-right p { margin: 0; color: #34443d; font-size: 12px; font-weight: 600; text-align: right; }
.overview-toolbar-right p span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 500; }
.overview-actions { display: flex; gap: 9px; }

.hero-executive {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .68fr);
    align-items: stretch;
    min-height: 520px;
    padding: 70px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 28px;
    background:
        radial-gradient(circle at 78% 22%, rgba(104, 154, 130, .18), transparent 28%),
        radial-gradient(circle at 28% 110%, rgba(185, 138, 62, .13), transparent 35%),
        var(--forest-deep);
    box-shadow: 0 38px 100px rgba(8, 40, 32, .18);
}
.hero-executive::before {
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image:
        repeating-radial-gradient(ellipse at 100% 30%, transparent 0, transparent 36px, rgba(255,255,255,.34) 37px, transparent 38px),
        linear-gradient(120deg, transparent 60%, rgba(255,255,255,.06));
    content: "";
    pointer-events: none;
}
.hero-executive > * { position: relative; z-index: 1; }
.hero-copy { align-self: center; }
.hero-eyebrow { display: flex; align-items: center; gap: 22px; }
.hero-executive .kicker { color: #d9bb7b; }
.live-mark { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.55); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.live-mark i { width: 6px; height: 6px; border-radius: 50%; background: #83bf9f; box-shadow: 0 0 0 4px rgba(131,191,159,.12); }
.hero-executive h1 { max-width: 780px; margin: 25px 0 22px; font-family: var(--display); font-size: clamp(60px, 6.6vw, 96px); font-weight: 500; line-height: .91; letter-spacing: -.064em; }
.hero-executive h1 em { color: #d6b16a; font-style: italic; font-weight: 400; }
.hero-executive p { max-width: 650px; color: rgba(255,255,255,.7); font-size: 18px; line-height: 1.65; }
.hero-executive .hero-actions { flex-direction: row; gap: 11px; margin-top: 38px; }
.button { min-height: 46px; padding: 11px 19px; border-radius: 9px; font-size: 13px; letter-spacing: .005em; }
.hero-executive .button-primary { color: var(--forest-deep); background: #fffefa; }
.hero-executive .button-secondary { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.04); }
.hero-ledger { align-self: end; padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.055); box-shadow: inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(8px); }
.hero-ledger > span, .hero-ledger > strong, .hero-ledger > small { display: block; }
.hero-ledger > span { color: #d4b676; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-ledger > strong { max-width: 280px; margin-top: 12px; color: white; font-family: var(--display); font-size: 26px; font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.hero-ledger > small { margin-top: 8px; color: rgba(255,255,255,.52); }
.hero-ledger > div { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-top: 27px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); }
.hero-ledger > div span { max-width: 140px; color: rgba(255,255,255,.57); font-size: 11px; line-height: 1.35; }
.hero-ledger b { color: #d9bb7b; font-family: var(--display); font-size: 34px; font-weight: 500; letter-spacing: -.04em; }

.metric-grid { gap: 0; overflow: hidden; margin: 0 0 72px; border: 1px solid rgba(21,61,50,.12); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow-soft); }
.metric-grid article { position: relative; min-height: 190px; padding: 32px 31px 28px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.metric-grid article:first-child { border-left: 0; }
.metric-grid .metric-personal { border-color: var(--line); background: linear-gradient(150deg, #fbf7ed, #fffefa 72%); }
.metric-index { position: absolute; top: 25px; right: 25px; color: #a9b2ad; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.metric-grid strong { margin-top: 37px; font-family: var(--display); font-size: clamp(38px, 4vw, 52px); font-weight: 600; letter-spacing: -.055em; }
.metric-grid span:not(.metric-index) { margin-top: 18px; color: #34443d; font-size: 13px; font-weight: 800; }
.metric-grid small { max-width: 200px; margin-top: 5px; font-size: 11px; line-height: 1.45; }

.section-heading { margin-bottom: 26px; padding-inline: 4px; }
.section-title-lockup { display: flex; align-items: flex-start; gap: 22px; }
.section-index { padding-top: 8px; color: var(--gold); font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.section-heading h2 { margin-top: 6px; color: var(--forest); font-family: var(--display); font-size: 43px; font-weight: 600; letter-spacing: -.045em; }
.section-heading p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.section-heading > a { padding-bottom: 3px; border-bottom: 1px solid #c7aa70; font-size: 12px; text-decoration: none; }

.work-list { gap: 14px; }
.work-card { display: grid; grid-template-columns: 105px minmax(0, 1fr); padding: 0; overflow: visible; border-color: rgba(21,61,50,.11); border-radius: 18px; background: var(--paper); box-shadow: 0 1px 1px rgba(8,40,32,.02), 0 12px 34px rgba(8,40,32,.035); }
.work-card:hover { transform: translateY(-2px); border-color: rgba(21,61,50,.22); box-shadow: 0 18px 48px rgba(8,40,32,.08); }
.work-card-rail { display: flex; flex-direction: column; align-items: center; padding: 27px 18px; border-right: 1px solid var(--line); border-radius: 18px 0 0 18px; background: #f5f6f2; }
.entry-id { color: #97a19c; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.work-card-rail time { display: grid; justify-items: center; margin-top: 30px; color: var(--forest); line-height: 1; }
.work-card-rail time strong { font-family: var(--display); font-size: 37px; font-weight: 600; letter-spacing: -.05em; }
.work-card-rail time span { margin-top: 6px; color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.work-card-rail time small { margin-top: 7px; color: #8b9690; font-size: 9px; }
.work-card-content { min-width: 0; padding: 28px 32px 25px; }
.work-card-top { align-items: center; }
.work-tags { gap: 6px; }
.work-tag { min-height: 25px; padding: 5px 9px; border: 1px solid #dfe5e1; border-radius: 6px; color: #50625a; background: transparent; font-size: 9px; letter-spacing: .055em; text-transform: uppercase; }
.work-card-controls, .record-provenance { display: flex; align-items: center; gap: 7px; }
.work-card-controls { flex: 0 0 auto; }
.session-badge, .verified-badge { display: inline-flex; align-items: center; min-height: 27px; padding: 5px 9px; border-radius: 7px; font-size: 9px; font-weight: 750; letter-spacing: .035em; white-space: nowrap; }
.session-badge { border: 1px solid #dce3de; color: #4e5f57; background: #f4f6f3; }
.verified-badge { gap: 5px; border: 1px solid #bdd6c8; color: #276049; background: #eaf4ee; }
.verified-badge > span { display: inline-grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; color: white; background: #37765d; font-size: 9px; font-weight: 800; }
.work-card h3 { max-width: 920px; margin: 23px 0 9px; font-family: var(--display); font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.13; letter-spacing: -.035em; }
.work-card h3 a:hover { color: #2d6955; text-decoration: underline; text-decoration-color: rgba(45,105,85,.3); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.work-summary { max-width: 950px; color: #58645f; font-size: 14px; line-height: 1.72; }
.impact-line { grid-template-columns: 105px 1fr; gap: 22px; margin-top: 22px; padding: 17px 19px; border: 1px solid #e4e9e5; border-radius: 10px; background: #f6f8f5; }
.impact-line > span { color: var(--gold); font-size: 9px; letter-spacing: .12em; }
.impact-line p { color: #35463f; font-size: 13px; line-height: 1.58; }
.work-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 20px; padding-top: 19px; border-top: 1px solid #e5eae6; }
.effort-ledger { display: flex; align-items: center; }
.effort-ledger > span { display: grid; gap: 2px; min-width: 112px; padding: 0 18px; border-left: 1px solid var(--line); }
.effort-ledger > span:first-child { padding-left: 0; border-left: 0; }
.effort-ledger small { color: #8a958f; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.effort-ledger strong { color: var(--forest); font-size: 12px; }
.work-card-footer .evidence { margin: 0; }
.work-card-footer .evidence summary { color: #53645c; font-size: 10px; letter-spacing: .04em; }
.work-card-footer .evidence p { position: relative; max-width: 720px; margin-top: 13px; }

.entry-menu { position: relative; z-index: 8; }
.entry-menu > summary { display: inline-flex; align-items: center; gap: 3px; min-width: 32px; min-height: 32px; padding: 0 8px; border: 1px solid transparent; border-radius: 8px; cursor: pointer; list-style: none; }
.entry-menu > summary::-webkit-details-marker { display: none; }
.entry-menu > summary:hover { border-color: var(--line); background: #f4f6f3; }
.entry-menu > summary span { width: 3px; height: 3px; border-radius: 50%; background: #7a8781; }
.entry-menu[open] > div { position: absolute; top: 39px; right: 0; width: 172px; overflow: hidden; padding: 6px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); box-shadow: 0 18px 45px rgba(8,40,32,.14); }
.entry-menu a, .entry-menu button { display: block; width: 100%; min-height: 36px; padding: 9px 10px; border: 0; border-radius: 7px; color: #405048; background: transparent; text-align: left; text-decoration: none; font-size: 11px; font-weight: 700; }
.entry-menu a:hover, .entry-menu button:hover { background: #f0f3ef; }
.entry-menu .visibility-hide { color: #853d34; }
.entry-menu .visibility-show { color: #1c6049; }
.visibility-form { width: 100%; }

.page-title { margin-bottom: 35px; padding-bottom: 26px; border-bottom: 1px solid rgba(21,61,50,.13); }
.page-title h1 { margin-top: 12px; font-family: var(--display); font-size: clamp(48px, 5.5vw, 68px); font-weight: 600; letter-spacing: -.055em; }
.page-title p { font-size: 15px; }
.filters { position: sticky; z-index: 18; top: 96px; gap: 10px; margin-bottom: 26px; padding: 14px; border-color: rgba(21,61,50,.12); border-radius: 14px; box-shadow: 0 12px 35px rgba(8,40,32,.07); }
.filters label { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.filters select, .filters input { min-height: 42px; border-color: #d4dbd6; border-radius: 8px; font-size: 12px; text-transform: none; }
.log-summary { margin-bottom: 54px; border-radius: 14px; }
.log-summary > div { padding: 23px 24px; }
.log-summary span { font-size: 9px; letter-spacing: .11em; }
.log-summary strong { font-family: var(--display); font-size: 27px; font-weight: 600; }
.day-groups { gap: 66px; }
.day-heading { margin-bottom: 21px; padding: 0 4px 16px; border-bottom: 1px solid rgba(21,61,50,.14); }
.day-heading h2 { font-family: var(--display); font-size: 35px; font-weight: 600; }
.day-total strong { font-family: var(--display); font-size: 23px; font-weight: 600; }

.report-page { padding-top: 34px; }
.report-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; gap: 22px; margin-bottom: 15px; padding: 0 4px 18px; border-bottom: 1px solid rgba(21,61,50,.14); }
.report-toolbar-title h1 { margin: 4px 0 0; color: var(--forest); font-size: 40px; font-weight: 600; line-height: 1; letter-spacing: -.045em; }
.report-controls-compact { display: flex; justify-self: end; align-items: end; gap: 8px; }
.report-controls-compact label { display: grid; gap: 4px; color: #65716b; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.report-controls-compact select, .report-controls-compact input { min-height: 40px; padding: 7px 10px; border: 1px solid #d1d9d3; border-radius: 8px; color: var(--ink); background: var(--paper); font-size: 11px; font-weight: 600; }
.report-controls-compact select { min-width: 112px; }
.report-controls-compact input { width: 142px; }
.report-controls-compact .button, .report-toolbar > .button { min-height: 40px; padding-block: 8px; }
.report-sheet { border-color: rgba(21,61,50,.12); border-radius: 18px; box-shadow: 0 25px 75px rgba(8,40,32,.09); }
.report-header { padding: 22px 30px; background: var(--forest-deep); }
.report-summary { padding: 72px 68px 36px; }
.report-summary h2 { max-width: 900px; font-family: var(--display); font-size: clamp(42px, 4.8vw, 62px); font-weight: 600; line-height: 1.04; }
.report-summary p { max-width: 900px; font-size: 16px; line-height: 1.7; }
.report-metrics { gap: 0; margin: 28px 42px 42px; border: 1px solid var(--line); border-radius: 14px; }
.report-metrics div { padding: 25px 21px; border-left: 1px solid var(--line); }
.report-metrics div:first-child { border-left: 0; }
.report-metrics .metric-personal { margin: 0; padding-left: 21px; border-radius: 0; }
.report-metrics strong { font-family: var(--display); font-size: 37px; font-weight: 600; }
.report-analytics { padding: 0 42px 52px; }
.analytics-heading h2 { font-family: var(--display); font-size: 42px; font-weight: 600; }
.chart-card { border-color: #dce3de; border-radius: 14px; background: #f8f9f6; }
.chart-card > header h3 { font-family: var(--display); font-size: 24px; font-weight: 600; }
.report-outcomes { padding: 0 42px 55px; }
.report-outcomes > article { grid-template-columns: 52px 1fr; padding: 38px 0; }
.report-outcomes h3 { font-family: var(--display); font-size: 31px; font-weight: 600; }
.report-impact { border: 1px solid #e0e6e1; border-radius: 10px; background: #f5f7f4; }
.report-note { padding: 22px 42px; line-height: 1.6; }

.outcome-detail-page { width: min(1040px, calc(100% - 56px)); padding-top: 34px; }
.detail-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 14px; padding: 0 4px 17px; border-bottom: 1px solid rgba(21,61,50,.14); }
.detail-back { color: #4b5d55; font-size: 12px; font-weight: 700; text-decoration: none; }
.detail-back:hover { color: var(--forest); }
.detail-back span { margin-right: 6px; color: var(--gold); }
.detail-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.detail-toolbar-actions .button { min-height: 38px; margin-left: 4px; padding: 7px 13px; font-size: 11px; }
.outcome-detail { overflow: hidden; border: 1px solid rgba(21,61,50,.12); border-radius: 18px; background: var(--paper); box-shadow: 0 25px 75px rgba(8,40,32,.085); }
.outcome-detail-header { padding: 47px 52px 42px; color: white; background: radial-gradient(circle at 88% 10%, rgba(102,153,128,.24), transparent 30%), var(--forest-deep); }
.detail-record-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.detail-record-meta span, .detail-record-meta time { padding-right: 9px; border-right: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.62); font-size: 9px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.detail-record-meta > :last-child { padding-right: 0; border-right: 0; }
.outcome-detail-header h1 { max-width: 880px; margin: 20px 0 16px; font-size: clamp(37px, 5vw, 58px); font-weight: 600; line-height: 1.04; letter-spacing: -.052em; }
.outcome-detail-header > p { max-width: 820px; margin: 0; color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.7; }
.detail-effort { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); background: #f7f8f4; }
.detail-effort > div { padding: 23px 30px; border-left: 1px solid var(--line); }
.detail-effort > div:first-child { border-left: 0; background: #fbf6e9; }
.detail-effort span, .detail-effort strong { display: block; }
.detail-effort span { color: #7a8680; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.detail-effort strong { margin-top: 6px; color: var(--forest); font-size: 25px; font-weight: 600; letter-spacing: -.035em; }
.detail-sections { display: grid; }
.detail-section { display: grid; grid-template-columns: 145px minmax(0, 1fr); column-gap: 38px; padding: 38px 52px; border-bottom: 1px solid var(--line); }
.detail-section:last-child { border-bottom: 0; }
.detail-section-label { grid-row: 1 / span 2; padding-top: 7px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.detail-section h2 { margin: 0 0 11px; color: var(--forest); font-size: 26px; font-weight: 600; letter-spacing: -.035em; }
.detail-section p { max-width: 760px; margin: 0; color: #4a5952; font-size: 14px; line-height: 1.75; }
.detail-impact-section { background: #faf8f1; }
.detail-evidence-section { background: #f7f9f6; }

.form-section, .panel { border-color: rgba(21,61,50,.12); border-radius: 16px; box-shadow: 0 10px 35px rgba(8,40,32,.035); }
.form-section h2, .panel h2 { font-family: var(--display); font-size: 29px; font-weight: 600; }
.editor-form input, .editor-form textarea, .editor-form select, .stack-form input, .stack-form select { border-radius: 8px; background: #fffefa; }
.footer { padding-block: 27px; border-color: rgba(21,61,50,.1); background: #e9ece7; font-size: 9px; letter-spacing: .13em; }

@media (max-width: 980px) {
    .hero-executive { grid-template-columns: 1fr; min-height: auto; padding: 58px; }
    .hero-ledger { width: min(100%, 520px); margin-top: 35px; }
    .metric-grid { grid-template-columns: 1fr 1fr; }
    .metric-grid article:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
    .metric-grid article:nth-child(4) { border-top: 1px solid var(--line); }
    .work-card { grid-template-columns: 88px minmax(0, 1fr); }
    .work-card-content { padding-inline: 26px; }
    .report-metrics { grid-template-columns: 1fr 1fr; }
    .report-metrics div:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
    .report-metrics div:nth-child(4) { border-top: 1px solid var(--line); }
    .report-toolbar { grid-template-columns: auto 1fr; }
    .report-controls-compact { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
    .report-toolbar > .button { grid-column: 2; grid-row: 1; justify-self: end; }
}

@media (max-width: 620px) {
    .page, .narrow-page, .overview-page, .outcome-detail-page { width: min(100% - 24px, 1240px); padding-top: 24px; }
    .topbar { min-height: 72px; padding-inline: 13px; }
    .brand-logo { width: 42px; }
    .brand strong { max-width: 130px; font-size: 11px; line-height: 1.2; }
    .nav { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
    .nav a { padding: 8px 12px; }
    .overview-toolbar { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 14px; padding-bottom: 19px; }
    .overview-toolbar h1 { font-size: 39px; }
    .overview-toolbar-right { align-items: stretch; flex-direction: column; width: 100%; gap: 13px; }
    .overview-toolbar-right p { text-align: left; }
    .overview-actions { width: 100%; }
    .overview-actions .button { flex: 1; padding-inline: 11px; }
    .hero-executive { padding: 42px 26px 27px; border-radius: 20px; }
    .hero-eyebrow { align-items: flex-start; flex-direction: column; gap: 9px; }
    .hero-executive h1 { margin-top: 25px; font-size: 53px; }
    .hero-executive p { font-size: 15px; }
    .hero-executive .hero-actions { flex-direction: column; margin-top: 29px; }
    .hero-ledger { padding: 23px; border-radius: 14px; }
    .hero-ledger > strong { font-size: 23px; }
    .metric-grid { grid-template-columns: 1fr 1fr; margin-bottom: 56px; }
    .metric-grid article { min-height: 160px; padding: 22px 18px; }
    .metric-grid article:nth-child(odd) { border-left: 0; }
    .metric-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
    .metric-index { top: 17px; right: 17px; }
    .metric-grid strong { margin-top: 34px; font-size: 34px; }
    .metric-grid span:not(.metric-index) { margin-top: 14px; font-size: 11px; }
    .metric-grid small { font-size: 9px; }
    .section-title-lockup { gap: 12px; }
    .section-heading h2 { font-size: 36px; }
    .section-heading p { font-size: 12px; }
    .work-card { display: block; overflow: visible; border-radius: 14px; }
    .work-card-rail { align-items: center; flex-direction: row; justify-content: space-between; padding: 13px 18px; border-right: 0; border-bottom: 1px solid var(--line); border-radius: 14px 14px 0 0; }
    .work-card-rail time { display: flex; align-items: baseline; gap: 5px; margin: 0; }
    .work-card-rail time strong { font-family: var(--sans); font-size: 11px; font-weight: 800; letter-spacing: 0; }
    .work-card-rail time span, .work-card-rail time small { margin: 0; font-size: 9px; }
    .work-card-content { padding: 21px 19px 18px; }
    .work-card-top { align-items: flex-start; }
    .work-card-controls { justify-content: space-between; width: 100%; }
    .record-provenance { flex-wrap: wrap; }
    .work-card h3 { margin-top: 20px; font-size: 27px; }
    .impact-line { grid-template-columns: 1fr; gap: 5px; padding: 15px; }
    .work-card-footer { align-items: flex-start; flex-direction: column; }
    .effort-ledger { width: 100%; }
    .effort-ledger > span { flex: 1; min-width: 0; padding-inline: 10px; }
    .effort-ledger strong { font-size: 10px; }
    .filters { position: static; }
    .log-summary { grid-template-columns: 1fr 1fr; }
    .day-heading h2 { font-size: 31px; }
    .report-page { padding-top: 20px; }
    .report-toolbar { grid-template-columns: 1fr auto; gap: 14px 10px; padding-bottom: 14px; }
    .report-toolbar-title h1 { font-size: 34px; }
    .report-toolbar > .button { padding-inline: 12px; }
    .report-controls-compact { display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 7px; }
    .report-controls-compact select, .report-controls-compact input { width: 100%; min-width: 0; }
    .report-controls-compact .button { padding-inline: 12px; }
    .report-header { padding: 17px 18px; }
    .report-brand { font-size: 11px !important; }
    .report-metrics { grid-template-columns: 1fr 1fr; margin: 16px 14px 32px; }
    .report-metrics div { padding: 18px 14px; }
    .report-metrics strong { font-size: 27px; }
    .report-metrics span { font-size: 10px; }
    .report-analytics { padding-inline: 14px; }
    .analytics-heading h2 { font-size: 34px; }
    .report-outcomes { padding-inline: 14px; }
    .report-note { padding-inline: 14px; }
    .detail-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
    .detail-toolbar-actions { width: 100%; flex-wrap: wrap; }
    .detail-toolbar-actions .button { margin-left: auto; }
    .outcome-detail { border-radius: 14px; }
    .outcome-detail-header { padding: 31px 22px 29px; }
    .outcome-detail-header h1 { margin-top: 18px; font-size: 37px; }
    .outcome-detail-header > p { font-size: 13px; }
    .detail-effort > div { padding: 17px 12px; }
    .detail-effort span { font-size: 7px; }
    .detail-effort strong { font-size: 18px; }
    .detail-section { grid-template-columns: 1fr; gap: 6px; padding: 27px 22px; }
    .detail-section-label { grid-row: auto; padding: 0; }
    .detail-section h2 { font-size: 23px; }
}

@media print {
    .hero-executive, .metric-grid, .overview-page .section-heading, .overview-page .work-list { box-shadow: none; }
    .report-metrics { margin-inline: 26px; }
    .report-summary, .report-analytics, .report-outcomes { padding-inline: 26px; }
}

/* Visual system aligned with the Andeor Website Performance publication. */
:root {
    --forest: #173f2c;
    --forest-deep: #173f2c;
    --fern: #2f6848;
    --mint: #d9efcf;
    --mist: #f3f7f4;
    --sand: #edf4ef;
    --paper: #ffffff;
    --ink: #0b0d0c;
    --muted: rgba(11, 13, 12, .52);
    --line: rgba(11, 13, 12, .11);
    --gold: #aa6c1d;
    --shadow: 0 32px 72px -50px rgba(11,13,12,.38), 0 3px 12px rgba(11,13,12,.035);
    --shadow-soft: 0 18px 42px -30px rgba(11,13,12,.30), 0 2px 8px rgba(11,13,12,.035);
}

html, body { background: #fff; }
body { color: var(--ink); font-weight: 400; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.topbar { min-height: 78px; border-bottom-color: var(--line); background: rgba(255,255,255,.96); box-shadow: none; backdrop-filter: blur(14px); }
.topbar::after { display: none; }
.brand { color: var(--forest); }
.brand strong { font-size: 13px; font-weight: 800; letter-spacing: -.015em; }
.nav { border-color: var(--line); background: #f7f9f7; }
.nav a { color: rgba(11,13,12,.62); font-size: 12px; font-weight: 700; }
.nav a.nav-active { color: var(--ink); background: #fff; box-shadow: 0 10px 28px -22px rgba(11,13,12,.28), 0 1px 4px rgba(11,13,12,.035); }
.nav a.nav-active::after { background: var(--forest); }
.account-menu summary { border-color: var(--line); color: var(--ink); background: #fff; }

.page, .narrow-page, .overview-page, .outcome-detail-page { width: min(1120px, calc(100% - 64px)); }
.page { padding-top: 48px; }
.overview-page { padding-top: 36px; }
.kicker { color: var(--forest); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.button { min-height: 42px; padding: 9px 17px; border-radius: 999px; font-size: 12px; font-weight: 750; }
.button-primary { background: var(--forest); }
.button-primary:hover { background: #0d321f; }
.button-secondary { border-color: var(--line); color: var(--ink); background: #fff; }
.button-secondary:hover { background: var(--mist); }

.overview-toolbar { margin-bottom: 18px; padding-bottom: 21px; border-bottom-color: var(--line); }
.overview-toolbar h1 { margin-top: 7px; color: var(--ink); font-size: clamp(36px, 4vw, 46px); font-weight: 700; line-height: 1.06; letter-spacing: -.04em; }
.overview-toolbar-right p { color: rgba(11,13,12,.72); font-weight: 600; }
.overview-toolbar-right p span { color: var(--muted); }
.metric-grid { margin-bottom: 54px; border-color: var(--line); border-radius: 20px; background: var(--line); box-shadow: var(--shadow-soft); }
.metric-grid article { min-height: 150px; padding: 25px 26px 23px; border-color: var(--line); background: #fff; }
.metric-grid .metric-personal { background: #fff; }
.metric-index { color: rgba(11,13,12,.34); }
.metric-grid strong { margin-top: 31px; color: var(--ink); font-size: clamp(29px, 3vw, 36px); font-weight: 750; letter-spacing: -.035em; }
.metric-grid .metric-personal strong { color: var(--forest); }
.metric-grid span:not(.metric-index) { margin-top: 14px; color: rgba(11,13,12,.78); font-size: 12px; font-weight: 700; }
.metric-grid small { color: var(--muted); font-size: 10px; font-weight: 500; }

.section-heading { margin-bottom: 22px; }
.section-index { color: var(--forest); }
.section-heading h2 { color: var(--ink); font-size: clamp(30px, 3.5vw, 38px); font-weight: 600; line-height: 1.08; letter-spacing: -.032em; }
.section-heading p { color: var(--muted); font-weight: 500; }
.section-heading > a { border-bottom-color: var(--forest); color: var(--ink); }
.work-list { gap: 13px; }
.work-card { border-color: var(--line); border-radius: 18px; box-shadow: var(--shadow-soft); }
.work-card:hover { border-color: rgba(23,63,44,.24); box-shadow: var(--shadow); }
.work-card-rail { border-color: var(--line); border-radius: 18px 0 0 18px; background: #f3f7f4; }
.entry-id { color: rgba(11,13,12,.34); }
.work-card-rail time { color: var(--ink); }
.work-card-rail time span { color: var(--forest); }
.work-card-rail time small { color: var(--muted); }
.work-card-content { padding: 26px 30px 23px; }
.work-tag { border: 0; border-radius: 999px; color: var(--forest); background: #edf4ef; font-weight: 800; }
.session-badge { border-color: var(--line); border-radius: 999px; color: rgba(11,13,12,.62); background: #f3f7f4; }
.verified-badge { border-color: rgba(23,63,44,.18); border-radius: 999px; color: var(--forest); background: #e8f2ea; }
.verified-badge > span { background: var(--forest); }
.work-card h3 { margin-top: 20px; color: var(--ink); font-size: clamp(21px, 2.3vw, 26px); font-weight: 600; line-height: 1.14; letter-spacing: -.028em; }
.work-card h3 a:hover { color: var(--forest); }
.work-summary { color: var(--muted); font-size: 14px; font-weight: 500; line-height: 1.62; }
.impact-line { margin-top: 19px; border-color: transparent; border-radius: 16px; background: #edf4ef; }
.impact-line > span { color: var(--forest); }
.impact-line p { color: rgba(11,13,12,.72); }
.work-card-footer { margin-top: 17px; padding-top: 16px; border-color: var(--line); }
.effort-ledger > span { border-color: var(--line); }
.effort-ledger small { color: var(--muted); }
.effort-ledger strong { color: var(--ink); }

.page-title { margin-bottom: 27px; padding-bottom: 22px; border-color: var(--line); }
.page-title h1 { color: var(--ink); font-size: clamp(36px, 4vw, 46px); font-weight: 700; line-height: 1.06; letter-spacing: -.04em; }
.page-title p { color: var(--muted); font-size: 15px; font-weight: 500; }
.filters { border-color: var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.filters label { color: rgba(11,13,12,.62); }
.filters select, .filters input { border-color: var(--line); color: var(--ink); background: #fff; }
.log-summary { margin-bottom: 45px; border-color: var(--line); border-radius: 18px; background: var(--line); }
.log-summary > div, .log-summary .summary-personal { background: #fff; }
.log-summary span { color: var(--muted); }
.log-summary strong { color: var(--ink); font-size: 25px; font-weight: 700; }
.day-groups { gap: 58px; }
.day-heading { border-color: var(--line); }
.day-heading h2 { color: var(--ink); font-size: 30px; font-weight: 600; }
.day-total strong { color: var(--ink); }

.report-page { padding-top: 30px; }
.report-toolbar { border-color: var(--line); }
.report-toolbar-title h1 { color: var(--ink); font-size: 38px; font-weight: 700; line-height: 1.06; letter-spacing: -.04em; }
.report-controls-compact label { color: var(--muted); }
.report-controls-compact select, .report-controls-compact input { border-color: var(--line); color: var(--ink); background: #fff; }
.report-sheet { border-color: var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.report-header { background: var(--forest); }
.report-metrics { border-color: var(--line); }
.report-metrics div { border-color: var(--line); }
.report-metrics .metric-personal { background: #fff; }
.report-metrics strong { color: var(--ink); font-size: 30px; font-weight: 750; letter-spacing: -.035em; }
.report-metrics .metric-personal strong { color: var(--forest); }
.report-metrics span { color: var(--muted); font-size: 11px; font-weight: 500; }
.analytics-heading h2 { color: var(--ink); font-size: clamp(30px, 3.6vw, 38px); font-weight: 600; line-height: 1.08; letter-spacing: -.032em; }
.analytics-heading p { color: var(--muted); font-weight: 500; }
.chart-card { border-color: transparent; border-radius: 18px; background: #f3f7f4; }
.chart-card > header span { color: var(--forest); }
.chart-card > header h3 { color: var(--ink); font-size: 21px; font-weight: 600; }
.bar-label strong { color: rgba(11,13,12,.72); }
.bar-label span, .bar-series > span { color: var(--muted); }
.bar-series > strong { color: var(--ink); }
.bar-series progress, .bar-series progress::-webkit-progress-bar { background: rgba(23,63,44,.10); }
.bar-series progress::-webkit-progress-value, .bar-series progress::-moz-progress-bar { background: var(--fern); }
.personal-series progress, .personal-series progress::-webkit-progress-bar { background: rgba(170,108,29,.12); }
.personal-series progress::-webkit-progress-value, .personal-series progress::-moz-progress-bar { background: var(--gold); }
.report-number, .report-meta { color: var(--forest); }
.report-outcomes h3 { color: var(--ink); font-size: 24px; font-weight: 600; line-height: 1.18; letter-spacing: -.025em; }
.report-outcomes p { color: rgba(11,13,12,.68); }
.report-impact { border-color: transparent; border-radius: 16px; background: #edf4ef; }
.report-impact strong { color: var(--forest); }
.report-note { color: var(--muted); background: #f7f9f7; }

.detail-toolbar { border-color: var(--line); }
.detail-back { color: rgba(11,13,12,.62); }
.detail-back span { color: var(--forest); }
.outcome-detail { border-color: var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.outcome-detail-header { background: linear-gradient(180deg, rgba(23,63,44,.96), #173f2c); }
.detail-record-meta span, .detail-record-meta time { border-color: rgba(255,255,255,.17); }
.outcome-detail-header h1 { font-size: clamp(35px, 5vw, 54px); font-weight: 700; line-height: 1.06; letter-spacing: -.04em; }
.outcome-detail-header > p { font-weight: 500; }
.detail-effort { border-color: var(--line); background: #fff; }
.detail-effort > div, .detail-effort > div:first-child { border-color: var(--line); background: #fff; }
.detail-effort span { color: var(--muted); }
.detail-effort strong { color: var(--ink); font-size: 24px; font-weight: 700; }
.detail-section { border-color: var(--line); }
.detail-section-label { color: var(--forest); }
.detail-section h2 { color: var(--ink); font-size: 25px; font-weight: 600; line-height: 1.14; letter-spacing: -.028em; }
.detail-section p { color: rgba(11,13,12,.64); font-weight: 500; line-height: 1.72; }
.detail-impact-section { background: #f3f7f4; }
.detail-evidence-section { background: #fff; }

.form-section, .panel { border-color: var(--line); border-radius: 18px; box-shadow: var(--shadow-soft); }
.form-section h2, .panel h2 { color: var(--ink); font-size: 25px; font-weight: 600; }
.form-section p, .panel > p { color: var(--muted); }
.editor-form input, .editor-form textarea, .editor-form select, .stack-form input, .stack-form select { border-color: var(--line); background: #fff; }
.auth-shell { background: var(--forest); }
.auth-intro { background: var(--forest); }
.auth-intro h1 { max-width: 700px; font-size: clamp(44px, 6vw, 68px); font-weight: 700; line-height: 1.04; letter-spacing: -.04em; }
.auth-card { border-radius: 20px; box-shadow: var(--shadow); }
.auth-shell .footer { background: var(--forest); }
.footer { border-color: var(--line); color: var(--muted); background: #fff; }

.brand { gap: 10px; }
.brand-logo { width: 30px; height: 22px; filter: brightness(0) saturate(100%) invert(21%) sepia(18%) saturate(1250%) hue-rotate(94deg) brightness(88%) contrast(91%); }
.brand strong { max-width: none; color: var(--forest); font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: -.04em; text-transform: none; }
.brand strong span { color: var(--forest); }
.report-identity { gap: 10px; }
.report-identity img { width: 32px; height: 23px; }
.report-brand { font-size: 14px !important; font-weight: 700; letter-spacing: -.035em; text-transform: none; }

@media (max-width: 620px) {
    .page, .narrow-page, .overview-page, .outcome-detail-page { width: min(100% - 24px, 1120px); }
    .overview-toolbar h1 { font-size: 36px; }
    .metric-grid { margin-bottom: 46px; }
    .metric-grid article { min-height: 132px; padding: 19px 16px; }
    .metric-grid strong { font-size: 29px; }
    .section-heading h2 { font-size: 30px; }
    .work-card { border-radius: 18px; }
    .work-card-rail { border-radius: 18px 18px 0 0; }
    .work-card h3 { font-size: 23px; }
    .page-title h1 { font-size: 36px; }
    .day-heading h2 { font-size: 27px; }
    .report-toolbar-title h1 { font-size: 32px; }
    .analytics-heading h2 { font-size: 29px; }
    .outcome-detail-header h1 { font-size: 34px; }
    .detail-section h2 { font-size: 22px; }
    .brand-logo { width: 27px; height: 20px; }
    .brand strong { max-width: none; font-size: 13px; }
}

/* Open, divider-light layout. */
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
.topbar { border-bottom: 0; }
.nav { border: 0; }
.nav a.nav-active::after { display: none; }
.account-menu summary { border: 0; background: #f3f7f4; }

.overview-page { padding-top: 0; }
.overview-stage { display: flex; flex-direction: column; min-height: calc(100svh - 78px); padding: clamp(42px, 7vh, 72px) 4px 24px; }
.overview-toolbar { margin: 0; padding: 0; border: 0; }
.overview-stage .metric-grid { gap: clamp(24px, 4vw, 58px); margin: clamp(58px, 10vh, 96px) 0 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.overview-stage .metric-grid article,
.overview-stage .metric-grid article:first-child,
.overview-stage .metric-grid article:nth-child(n) { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.overview-stage .metric-index { position: static; color: rgba(23,63,44,.58); }
.overview-stage .metric-grid strong { margin-top: 21px; font-size: clamp(30px, 2.7vw, 36px); white-space: nowrap; }
.overview-stage .metric-grid span:not(.metric-index) { margin-top: 17px; }
.overview-scroll-cue { display: grid; justify-items: center; gap: 8px; width: max-content; margin: auto auto 0; color: rgba(11,13,12,.48); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.overview-scroll-cue:hover { color: var(--forest); }
.scroll-arrow { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--forest); background: #edf4ef; font-size: 16px; font-weight: 500; transition: transform .18s ease, background .18s ease; }
.overview-scroll-cue:hover .scroll-arrow { transform: translateY(3px); background: #dfece2; }
#recent-work { margin-top: 0; padding-top: clamp(66px, 9vh, 96px); scroll-margin-top: 72px; }

.work-card { border: 0; }
.work-card:hover { border-color: transparent; }
.work-card-rail { border: 0; }
.session-badge, .verified-badge { border: 0; }
.work-card-footer { padding-top: 7px; border: 0; }
.effort-ledger > span, .effort-ledger > span:first-child { border: 0; }
.page-title { padding-bottom: 0; border: 0; }
.filters { border: 0; background: #f3f7f4; box-shadow: none; }
.log-summary { gap: 12px; overflow: visible; border: 0; background: transparent; }
.log-summary > div, .log-summary .summary-personal { border-radius: 16px; background: #f3f7f4; }
.day-heading { padding-bottom: 0; border: 0; }

.report-toolbar { border: 0; }
.report-sheet { border: 0; }
.report-metrics { gap: 12px; border: 0; }
.report-metrics div, .report-metrics div:first-child, .report-metrics .metric-personal { border: 0; border-radius: 14px; background: #f3f7f4; }
.report-outcomes > article { border: 0; }
.report-note { border: 0; }

.detail-toolbar { border: 0; }
.outcome-detail { border: 0; }
.detail-record-meta span, .detail-record-meta time { padding-right: 0; border: 0; }
.detail-effort { gap: 8px; padding: 8px; border: 0; background: #fff; }
.detail-effort > div, .detail-effort > div:first-child { border: 0; border-radius: 12px; background: #f3f7f4; }
.detail-section { border: 0; }
.form-section, .panel { border: 0; }
.team-list { display: grid; gap: 10px; }
.team-list article, .team-list article:last-child { padding: 17px; border: 0; border-radius: 14px; background: #f3f7f4; }
.footer { border: 0; }

@media (max-width: 980px) {
    .overview-stage .metric-grid article:nth-child(n) { border: 0; }
}

@media (max-width: 620px) {
    html { scroll-padding-top: 108px; }
    .overview-stage { min-height: calc(100svh - 98px); padding: 32px 4px 20px; }
    .overview-stage .overview-toolbar { gap: 16px; }
    .overview-stage .metric-grid { gap: 35px 20px; margin-top: 42px; margin-bottom: 0; }
    .overview-stage .metric-grid article:nth-child(n) { min-height: 0; padding: 0; border: 0; }
    .overview-stage .metric-grid strong { margin-top: 12px; font-size: clamp(26px, 8vw, 33px); }
    .overview-stage .metric-grid span:not(.metric-index) { margin-top: 10px; }
    .overview-stage .metric-grid small { max-width: 160px; }
    .overview-scroll-cue { margin-top: 38px; }
    #recent-work { padding-top: 58px; scroll-margin-top: 94px; }
    .work-card-rail { border: 0; }
    .log-summary { gap: 9px; }
    .report-metrics { gap: 8px; }
    .detail-effort { gap: 5px; padding: 5px; }
}

/* Compact, explorable reports. */
.report-page { padding-top: 24px; }
.report-print-context { display: none; }
.report-metrics { margin-top: 0; }
.report-analytics { padding-top: 2px; }
.analytics-heading { margin-bottom: 18px; }
.analytics-heading h2 { margin-top: 4px; }
.allocation-card { margin-top: 16px; padding: 24px; border-radius: 18px; background: #f3f7f4; }
.allocation-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.allocation-card > header span { color: var(--forest); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.allocation-card > header h3 { margin: 4px 0 0; color: var(--ink); font-size: 21px; font-weight: 600; line-height: 1.15; letter-spacing: -.025em; }
.allocation-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.allocation-tabs { display: inline-flex; gap: 3px; padding: 3px; border-radius: 999px; background: rgba(23,63,44,.08); }
.allocation-tabs button, .allocation-tabs a { min-height: 31px; padding: 5px 11px; border: 0; border-radius: 999px; color: rgba(11,13,12,.58); background: transparent; font-family: inherit; font-size: 11px; font-weight: 700; line-height: 1; cursor: pointer; text-decoration: none; transition: background .18s ease, color .18s ease, box-shadow .18s ease; }
.allocation-tabs button:hover, .allocation-tabs a:hover { color: var(--ink); }
.allocation-tabs button[aria-selected="true"], .allocation-tabs a[aria-selected="true"] { color: var(--ink); background: #fff; box-shadow: 0 2px 7px rgba(11,13,12,.08); }
.allocation-lenses { background: rgba(170,108,29,.11); }
.allocation-panel { display: grid; grid-template-columns: minmax(180px, 230px) minmax(0, 1fr); align-items: center; gap: clamp(26px, 5vw, 72px); }
.allocation-donut { position: relative; display: grid; place-items: center; width: min(100%, 210px); aspect-ratio: 1; margin: 0 auto; }
.allocation-donut-chart { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.allocation-donut-track, .allocation-donut-segment { fill: none; stroke-width: 14; }
.allocation-donut-track { stroke: #edf1ee; }
.allocation-donut-segment { cursor: pointer; pointer-events: stroke; stroke-linecap: butt; transition: opacity .16s ease, stroke-width .16s ease; }
.allocation-donut-chart:hover .allocation-donut-segment { opacity: .72; }
.allocation-donut-chart .allocation-donut-segment:hover, .allocation-donut-chart .allocation-donut-segment:focus { opacity: 1; outline: 0; stroke-width: 16; }
.allocation-donut-center { position: relative; z-index: 1; display: grid; place-items: center; align-content: center; width: 62%; aspect-ratio: 1; padding: 12px; border-radius: 50%; text-align: center; background: #f3f7f4; }
.allocation-donut-tooltip { position: absolute; z-index: 3; left: 50%; bottom: -15px; display: grid; gap: 2px; min-width: 144px; padding: 8px 10px; border-radius: 9px; color: #fff; background: var(--ink); box-shadow: 0 8px 22px rgba(11,13,12,.16); text-align: center; transform: translateX(-50%); pointer-events: none; }
.allocation-donut-tooltip[hidden] { display: none; }
.allocation-donut-tooltip strong { font-size: 10px; font-weight: 650; line-height: 1.2; }
.allocation-donut-tooltip span, .allocation-donut-tooltip small { color: rgba(255,255,255,.72); font-size: 9px; font-weight: 500; line-height: 1.2; }
.allocation-donut-center span, .allocation-donut-center small { color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.25; }
.allocation-donut-center strong { margin: 5px 0 3px; color: var(--ink); font-size: clamp(22px, 2.2vw, 28px); font-weight: 750; letter-spacing: -.045em; line-height: 1; }
.allocation-donut-center small { color: var(--forest); font-size: 9px; }
.allocation-legend { display: grid; gap: 6px; }
.allocation-legend-row { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; align-items: center; column-gap: 10px; width: 100%; min-height: 37px; padding: 7px 8px; border: 0; border-radius: 10px; color: var(--ink); background: transparent; font-family: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.allocation-legend-row:hover, .allocation-legend-row.is-selected { background: #fff; }
.allocation-legend-row:hover { transform: translateX(2px); }
.allocation-legend-row > span:nth-child(2) { overflow: hidden; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.allocation-legend-row strong { font-size: 12px; font-weight: 750; white-space: nowrap; }
.allocation-legend-row small { min-width: 34px; color: var(--muted); font-size: 10px; font-weight: 700; text-align: right; }
.allocation-swatch { width: 9px; height: 9px; border-radius: 50%; background: var(--swatch); }

@media (max-width: 760px) {
    .allocation-card { padding: 19px 16px; }
    .allocation-card > header { align-items: flex-start; flex-direction: column; gap: 14px; }
    .allocation-controls { justify-content: flex-start; }
    .allocation-panel { grid-template-columns: 1fr; gap: 22px; }
    .allocation-donut { width: 178px; }
}

@media (max-width: 440px) {
    .allocation-controls { width: 100%; }
    .allocation-tabs { width: 100%; }
    .allocation-tabs button, .allocation-tabs a { flex: 1; padding-inline: 7px; }
    .allocation-legend-row { grid-template-columns: 9px minmax(0, 1fr) auto; column-gap: 8px; }
    .allocation-legend-row small { display: none; }
}

@media print {
    .report-print-context { display: grid; gap: 3px; padding: 20px 26px 0; color: var(--ink); }
    .report-print-context strong { font-size: 18px; }
    .report-print-context span { color: var(--muted); font-size: 11px; }
    .allocation-controls { display: none; }
    .allocation-card { break-inside: avoid; }
}

/* Centred delivery record with distinct, calm metrics. */
.overview-stage { padding-top: clamp(78px, 12vh, 132px); }
.overview-stage .overview-toolbar { align-items: center; flex-direction: column; gap: 15px; text-align: center; }
.overview-stage .overview-toolbar-right { display: block; }
.overview-stage .overview-toolbar-right p { text-align: center; }
.overview-stage .metric-grid { gap: 14px; margin-top: clamp(44px, 7vh, 72px); }
.overview-stage .metric-grid article,
.overview-stage .metric-grid article:first-child,
.overview-stage .metric-grid article:nth-child(n) { min-height: 174px; padding: 24px 23px 22px; border: 0; border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.overview-stage .metric-grid .metric-personal { background: #fff; }
.overview-stage .metric-grid strong { margin-top: 23px; }
.overview-stage .metric-grid span:not(.metric-index) { margin-top: 15px; }

@media (max-width: 620px) {
    .overview-stage { padding-top: 56px; }
    .overview-stage .overview-toolbar { gap: 12px; }
    .overview-stage .metric-grid { gap: 10px; margin-top: 38px; }
    .overview-stage .metric-grid article:nth-child(n) { min-height: 142px; padding: 18px 15px 16px; border-radius: 15px; box-shadow: var(--shadow-soft); }
    .overview-stage .metric-grid strong { margin-top: 14px; }
    .overview-stage .metric-grid span:not(.metric-index) { margin-top: 10px; }
}

/* Stronger record rails for the work log. */
.work-card-rail { color: #fff; background: var(--forest); }
.entry-id { color: rgba(255,255,255,.66); }
.work-card-rail time, .work-card-rail time strong { color: #fff; }
.work-card-rail time span { color: #d8ebdc; }
.work-card-rail time small { color: rgba(255,255,255,.68); }

/* Executive metric cards. */
.overview-stage .metric-grid article,
.overview-stage .metric-grid article:first-child,
.overview-stage .metric-grid article:nth-child(n),
.overview-stage .metric-grid .metric-personal { color: #fff; background: var(--forest); box-shadow: 0 16px 32px rgba(12,47,37,.16); }
.overview-stage .metric-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.overview-stage .metric-index { color: rgba(255,255,255,.63); }
.overview-stage .metric-icon { width: 22px; height: 22px; fill: none; stroke: #d9efdc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.overview-stage .metric-grid strong, .overview-stage .metric-grid .metric-personal strong { color: #fff; }
.overview-stage .metric-grid span:not(.metric-index) { color: rgba(255,255,255,.92); }
.overview-stage .metric-grid small { color: rgba(255,255,255,.62); }

/* Mangrove hero, using the supplied Andeor image. */
.overview-stage { padding-top: clamp(26px, 5vh, 58px); }
.overview-hero { position: relative; display: grid; min-height: clamp(258px, 32vh, 348px); overflow: hidden; border-radius: 24px; isolation: isolate; }
.overview-hero > img { position: absolute; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 57%; }
.overview-hero-overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(105deg, rgba(3,28,20,.82), rgba(4,43,30,.59) 56%, rgba(2,22,16,.72)); }
.overview-hero .overview-toolbar { width: 100%; padding: 38px 24px; }
.overview-hero .kicker { color: #cbe8d0; }
.overview-hero .overview-toolbar h1 { color: #fff; }
.overview-hero .overview-toolbar-right p { color: rgba(255,255,255,.94); }
.overview-hero .overview-toolbar-right p span { color: rgba(255,255,255,.68); }
.overview-stage .metric-grid { position: relative; z-index: 2; margin: -42px 22px 0; }
.overview-stage .metric-grid article,
.overview-stage .metric-grid article:first-child,
.overview-stage .metric-grid article:nth-child(n) { box-shadow: 0 18px 38px rgba(8,36,27,.24); }

@media (max-width: 620px) {
    .overview-stage { padding-top: 16px; }
    .overview-hero { min-height: 292px; border-radius: 19px; }
    .overview-hero > img { object-position: 50% 55%; }
    .overview-hero .overview-toolbar { padding: 30px 18px; }
    .overview-stage .metric-grid { margin: -24px 0 0; }
}

/* Editorial command-deck landing composition. */
.overview-stage { min-height: 0; padding: clamp(22px, 4vh, 44px) 0 58px; }
.overview-hero { min-height: clamp(430px, 43vw, 560px); border-radius: 30px; }
.overview-hero > img { object-position: 50% 60%; transform: scale(1.015); }
.overview-hero-overlay { background: linear-gradient(180deg, rgba(1,22,15,.62) 0%, rgba(3,39,27,.38) 42%, rgba(2,29,20,.88) 100%), radial-gradient(circle at 50% 12%, rgba(32,100,71,.22), transparent 42%); }
.overview-hero .overview-toolbar { align-self: start; gap: 17px; padding: clamp(64px, 8vw, 96px) 30px 0; }
.overview-hero .overview-toolbar h1 { font-size: clamp(48px, 5.2vw, 72px); font-weight: 700; letter-spacing: -.055em; }
.overview-hero .overview-toolbar-right p { display: inline-grid; gap: 4px; padding: 9px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(4,34,24,.26); box-shadow: inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.overview-stage .metric-grid { gap: 12px; margin: -166px 30px 0; }
.overview-stage .metric-grid article,
.overview-stage .metric-grid article:first-child,
.overview-stage .metric-grid article:nth-child(n),
.overview-stage .metric-grid .metric-personal { min-height: 178px; padding: 23px 24px 21px; border: 1px solid rgba(213,241,218,.09); border-radius: 19px; background: linear-gradient(145deg, rgba(22,79,58,.98), rgba(8,51,38,.98)); box-shadow: 0 24px 52px rgba(4,32,23,.24), inset 0 1px rgba(255,255,255,.05); }
.overview-stage .metric-icon { width: 20px; height: 20px; stroke: rgba(221,242,224,.82); }
.overview-stage .metric-grid strong { margin-top: 28px; font-size: clamp(29px, 2.7vw, 38px); }
.overview-stage .metric-grid span:not(.metric-index) { margin-top: 14px; }
.overview-scroll-cue { margin: 30px auto 0; }
#recent-work { padding-top: 42px; }

@media (max-width: 760px) {
    .overview-hero { min-height: 410px; border-radius: 23px; }
    .overview-hero .overview-toolbar { padding-top: 60px; }
    .overview-stage .metric-grid { margin: -116px 14px 0; }
}

@media (max-width: 620px) {
    .overview-stage { padding: 16px 0 46px; }
    .overview-hero { min-height: 358px; border-radius: 20px; }
    .overview-hero > img { object-position: 50% 58%; }
    .overview-hero .overview-toolbar { gap: 13px; padding: 50px 18px 0; }
    .overview-hero .overview-toolbar h1 { font-size: clamp(38px, 12vw, 50px); }
    .overview-hero .overview-toolbar-right p { padding: 8px 12px; font-size: 10px; }
    .overview-stage .metric-grid { gap: 9px; margin: -80px 0 0; }
    .overview-stage .metric-grid article:nth-child(n) { min-height: 144px; padding: 17px 15px 15px; border-radius: 15px; }
    .overview-stage .metric-grid strong { margin-top: 16px; font-size: clamp(25px, 7vw, 31px); }
    .overview-scroll-cue { margin-top: 26px; }
    #recent-work { padding-top: 38px; }
}

/* Split hero and contribution ledger. */
.overview-stage { padding-top: clamp(22px, 4vh, 44px); }
.overview-command-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); gap: 18px; align-items: stretch; }
.overview-hero { min-height: clamp(480px, 42vw, 570px); border-radius: 28px; }
.overview-hero > img { object-position: 50% 57%; transform: none; }
.overview-hero-overlay { background: linear-gradient(90deg, rgba(2,28,19,.78), rgba(3,38,26,.28) 65%, rgba(2,25,17,.18)), linear-gradient(0deg, rgba(2,26,18,.72), transparent 58%); }
.overview-hero .overview-toolbar { align-self: end; align-items: flex-start; padding: 42px 46px; text-align: left; }
.overview-hero .overview-toolbar h1 { max-width: 400px; font-size: clamp(48px, 4.5vw, 66px); line-height: .98; }
.overview-metrics-panel { display: flex; flex-direction: column; padding: 28px; border-radius: 28px; background: #f1f5f1; }
.overview-period { display: grid; gap: 4px; margin-bottom: 20px; color: var(--ink); }
.overview-period strong { font-size: 15px; font-weight: 750; letter-spacing: -.025em; }
.overview-period span { color: var(--muted); font-size: 11px; font-weight: 600; }
.overview-command-layout .metric-grid { display: grid; flex: 1; grid-template-columns: 1fr; grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 0; }
.overview-command-layout .metric-grid article,
.overview-command-layout .metric-grid article:first-child,
.overview-command-layout .metric-grid article:nth-child(n),
.overview-command-layout .metric-grid .metric-personal { display: grid; grid-template-columns: 26px minmax(0, 1fr) 22px; grid-template-rows: auto auto auto; align-items: center; min-height: 0; padding: 16px 17px; border: 0; border-radius: 15px; background: linear-gradient(135deg, #174b37, #0d392b); box-shadow: 0 10px 22px rgba(4,38,27,.10); }
.overview-command-layout .metric-card-top { display: contents; }
.overview-command-layout .metric-index { grid-column: 1; grid-row: 1 / span 3; align-self: start; padding-top: 4px; color: rgba(255,255,255,.5); font-size: 9px; }
.overview-command-layout .metric-icon { grid-column: 3; grid-row: 1 / span 3; align-self: center; width: 18px; height: 18px; }
.overview-command-layout .metric-grid strong { grid-column: 2; grid-row: 1; align-self: end; margin: 0; color: #fff; font-size: clamp(24px, 2.15vw, 32px); line-height: 1; }
.overview-command-layout .metric-grid span:not(.metric-index) { grid-column: 2; grid-row: 2; margin: 7px 0 0; color: rgba(255,255,255,.94); font-size: 11px; }
.overview-command-layout .metric-grid small { grid-column: 2; grid-row: 3; margin: 3px 0 0; color: rgba(255,255,255,.56); font-size: 9px; line-height: 1.3; }
.overview-scroll-cue { margin-top: 27px; }

@media (max-width: 980px) {
    .overview-command-layout { grid-template-columns: 1fr; }
    .overview-hero { min-height: 410px; }
    .overview-metrics-panel { padding: 20px; }
    .overview-command-layout .metric-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(2, minmax(140px, 1fr)); }
    .overview-command-layout .metric-grid article:nth-child(n) { min-height: 140px; }
}

@media (max-width: 620px) {
    .overview-stage { padding-top: 16px; }
    .overview-command-layout { gap: 12px; }
    .overview-hero { min-height: 330px; border-radius: 20px; }
    .overview-hero > img { object-position: 50% 55%; }
    .overview-hero .overview-toolbar { padding: 28px 24px; }
    .overview-hero .overview-toolbar h1 { font-size: clamp(39px, 12vw, 52px); }
    .overview-metrics-panel { padding: 17px; border-radius: 20px; }
    .overview-period { margin-bottom: 14px; }
    .overview-command-layout .metric-grid { gap: 8px; grid-template-rows: repeat(2, minmax(132px, 1fr)); }
    .overview-command-layout .metric-grid article:nth-child(n) { min-height: 132px; padding: 14px 13px; border-radius: 13px; }
    .overview-command-layout .metric-grid strong { font-size: clamp(22px, 7vw, 28px); }
    .overview-command-layout .metric-grid span:not(.metric-index) { margin-top: 6px; font-size: 10px; }
    .overview-command-layout .metric-grid small { font-size: 8px; }
}

/* Report summary with a separate outcomes ledger. */
.report-view-switcher { display: inline-flex; gap: 5px; margin-top: 12px; padding: 3px; border-radius: 999px; background: #f1f5f1; }
.report-view-switcher a, .report-view-switcher span { padding: 5px 9px; border-radius: 999px; color: var(--muted); font-size: 10px; font-weight: 700; line-height: 1; text-decoration: none; }
.report-view-switcher .is-active { color: var(--ink); background: #fff; box-shadow: 0 2px 7px rgba(11,13,12,.08); }
.report-insight-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .72fr); gap: 16px; align-items: start; }
.report-chart-stack { display: grid; gap: 16px; }
.report-insight-layout .allocation-card { margin-top: 0; }
.report-outcomes-preview { padding: 23px; border-radius: 18px; background: #f1f5f1; }
.report-outcomes-preview > h3 { margin: 5px 0 7px; color: var(--ink); font-size: 24px; font-weight: 650; line-height: 1.12; letter-spacing: -.03em; }
.report-outcomes-preview > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.outcome-preview-list { display: grid; gap: 8px; margin: 19px 0; }
.outcome-preview-list article { padding: 12px; border-radius: 12px; background: #fff; }
.outcome-preview-list span { color: var(--forest); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.outcome-preview-list h4 { margin: 5px 0 4px; color: var(--ink); font-size: 13px; font-weight: 700; line-height: 1.26; }
.outcome-preview-list p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.report-outcomes-page .report-sheet { padding-bottom: 12px; }
.outcomes-page-intro { padding: 34px 42px 10px; }
.outcomes-page-intro h2 { margin: 6px 0 7px; color: var(--ink); font-size: clamp(30px, 3.8vw, 44px); font-weight: 650; line-height: 1.05; letter-spacing: -.04em; }
.outcomes-page-intro p { max-width: 640px; margin: 0; color: var(--muted); font-size: 14px; }
.report-outcomes-sheet .report-outcomes { padding-top: 16px; }

@media (max-width: 980px) {
    .report-insight-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .report-view-switcher { margin-top: 9px; }
    .outcomes-page-intro { padding: 28px 18px 8px; }
    .report-outcomes-preview { padding: 18px; }
}

/* Wide workspace shell. */
@media (min-width: 901px) {
    body.app-shell { min-height: 100vh; padding-left: 228px; background: #f7f8f6; }
    .app-rail { position: fixed; z-index: 40; inset: 0 auto 0 0; display: flex; flex-direction: column; width: 228px; padding: 27px 15px 20px; border-right: 1px solid var(--line); background: #fff; }
    .app-rail .brand { padding: 0 8px; }
    .app-rail .rail-label { display: block; margin: 34px 8px 11px; color: var(--muted); font-size: 9px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
    .app-rail .nav { display: grid; gap: 3px; padding: 0; border: 0; border-radius: 0; background: transparent; }
    .app-rail .nav a { padding: 10px 11px; border-radius: 9px; color: rgba(11,13,12,.58); font-size: 12px; font-weight: 500; }
    .app-rail .nav a:hover { color: var(--ink); background: #f3f6f3; }
    .app-rail .nav a.nav-active { color: var(--ink); background: #edf4ef; box-shadow: none; font-weight: 600; }
    .app-rail .rail-team-link { margin: auto 8px 0; color: var(--muted); font-size: 11px; font-weight: 500; text-decoration: none; }
    .app-rail .rail-team-link:hover { color: var(--forest); }
    .topbar { position: sticky; z-index: 30; top: 0; display: flex; justify-content: space-between; min-height: 72px; padding: 0 42px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.9); box-shadow: none; backdrop-filter: blur(18px); }
    .topbar::after { display: none; }
    .topbar-context { display: grid; gap: 1px; }
    .topbar-context span { color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
    .topbar-context strong { color: var(--ink); font-size: 15px; font-weight: 600; letter-spacing: -.02em; }
    .topbar-actions { display: flex; align-items: center; gap: 12px; }
    .header-add-work { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 12px; border-radius: 8px; color: #fff; background: var(--forest); font-size: 11px; font-weight: 600; text-decoration: none; }
    .header-add-work:hover { background: var(--forest-deep); }
    .account-menu { justify-self: auto; }
    .account-menu summary { padding: 8px 10px; color: var(--ink); background: #f3f6f3; font-size: 11px; font-weight: 600; }
    body.app-shell .page, body.app-shell .narrow-page, body.app-shell .overview-page, body.app-shell .outcome-detail-page { width: min(1560px, calc(100% - 80px)); padding-top: 34px; }
    body.app-shell .narrow-page { width: min(1120px, calc(100% - 80px)); }
    body.app-shell .report-page { width: min(1560px, calc(100% - 80px)); padding-top: 22px; }
    body.app-shell .overview-page { width: min(1560px, calc(100% - 80px)); }
    body.app-shell .footer { padding: 22px 42px; border-top-color: var(--line); }
}

body.app-shell .page-title h1, body.app-shell .report-toolbar-title h1, body.app-shell .analytics-heading h2, body.app-shell .outcomes-page-intro h2 { font-weight: 600; }
body.app-shell .page-title p, body.app-shell .analytics-heading p, body.app-shell .report-outcomes p { font-weight: 400; }
body.app-shell .button, body.app-shell .text-link, body.app-shell .section-heading > a { font-weight: 600; }
body.app-shell .kicker { font-weight: 600; letter-spacing: .14em; }
body.app-shell .work-card h3, body.app-shell .report-outcomes h3, body.app-shell .report-outcomes-preview > h3 { font-weight: 600; }
body.app-shell .work-card, body.app-shell .report-sheet { box-shadow: none; }
body.app-shell .report-toolbar { position: sticky; z-index: 20; top: 72px; margin: 0 -12px 20px; padding: 14px 12px; border: 0; background: rgba(247,248,246,.92); backdrop-filter: blur(14px); }
body.app-shell .report-outcomes-page .report-outcomes-toolbar { position: static; z-index: auto; justify-content: flex-end; margin: 0 0 14px; padding: 0; background: transparent; backdrop-filter: none; }
body.app-shell .report-outcomes-page .report-outcomes-sheet { position: relative; z-index: 1; }
body.app-shell .report-toolbar-title h1 { font-size: 30px; }
body.app-shell .report-controls-compact label { font-weight: 600; }
body.app-shell .filters { top: 86px; box-shadow: none; }

@media (max-width: 900px) {
    .app-rail { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 14px 16px 9px; border-bottom: 1px solid var(--line); background: #fff; }
    .app-rail .rail-label, .app-rail .rail-team-link { display: none; }
    .app-rail .nav { grid-column: 1 / -1; display: flex; width: 100%; overflow-x: auto; gap: 3px; padding: 4px 0 0; border: 0; border-radius: 0; background: transparent; }
    .app-rail .nav a { flex: 0 0 auto; padding: 7px 10px; color: var(--muted); font-size: 11px; font-weight: 500; }
    .app-rail .nav a.nav-active { color: var(--ink); background: #edf4ef; box-shadow: none; }
    .topbar { min-height: 54px; padding: 0 16px; border-bottom: 1px solid var(--line); background: #fff; }
    .topbar-context { display: none; }
    .topbar-actions { display: flex; justify-content: flex-end; align-items: center; width: 100%; gap: 9px; }
    .header-add-work { min-height: 31px; padding: 6px 10px; border-radius: 7px; font-size: 10px; }
}

@media print {
    .app-rail { display: none !important; }
}

/* Tighter desktop density. */
@media (min-width: 901px) {
    .topbar { min-height: 64px; }
    body.app-shell .page, body.app-shell .narrow-page, body.app-shell .overview-page, body.app-shell .outcome-detail-page { padding-top: 26px; padding-bottom: 66px; }
    body.app-shell .report-page { padding-top: 15px; }
    .overview-stage { padding-bottom: 38px; }
    .overview-command-layout { gap: 14px; }
    .overview-hero { min-height: clamp(420px, 36vw, 495px); border-radius: 23px; }
    .overview-hero .overview-toolbar { padding: 33px 36px; }
    .overview-hero .overview-toolbar h1 { max-width: 330px; font-size: clamp(42px, 3.8vw, 55px); }
    .overview-metrics-panel { padding: 22px; border-radius: 23px; }
    .overview-period { margin-bottom: 14px; }
    .overview-command-layout .metric-grid { gap: 7px; }
    .overview-command-layout .metric-grid article,
    .overview-command-layout .metric-grid article:first-child,
    .overview-command-layout .metric-grid article:nth-child(n),
    .overview-command-layout .metric-grid .metric-personal { padding: 12px 14px; border-radius: 12px; }
    .overview-command-layout .metric-grid strong { font-size: clamp(21px, 1.8vw, 27px); }
    .overview-command-layout .metric-grid span:not(.metric-index) { margin-top: 5px; font-size: 10px; }
    .overview-command-layout .metric-grid small { font-size: 8px; }
    .overview-scroll-cue { margin-top: 20px; }
    #recent-work { padding-top: 30px; }
    .page-title h1, .report-toolbar-title h1 { font-size: 28px; }
    .analytics-heading h2, .outcomes-page-intro h2 { font-size: clamp(26px, 2.5vw, 34px); }
    .section-heading h2 { font-size: 27px; }
    .report-toolbar { top: 64px; margin-bottom: 13px; padding-block: 10px; }
    .report-toolbar-title h1 { font-size: 27px; }
    .report-metrics { gap: 8px; margin-bottom: 26px; }
    .report-metrics div { padding: 16px 15px; }
    .report-metrics strong { font-size: 25px; }
    .report-analytics { padding-bottom: 34px; }
    .chart-card, .allocation-card { padding: 18px; border-radius: 15px; }
    .chart-card > header { margin-bottom: 15px; }
    .chart-card > header h3, .allocation-card > header h3 { font-size: 18px; }
    .allocation-card > header { margin-bottom: 17px; }
    .allocation-donut { width: 175px; }
    .report-outcomes-preview { padding: 18px; border-radius: 15px; }
    .report-outcomes-preview > h3 { font-size: 20px; }
    .outcome-preview-list { margin-block: 14px; }
    .outcome-preview-list article { padding: 10px; }
    .work-list { gap: 10px; }
    .work-card-content { padding: 20px 23px 18px; }
    .work-card-rail { padding: 21px 14px; }
    .work-card-rail time { margin-top: 22px; }
    .work-card-rail time strong { font-size: 30px; }
    .work-card h3 { margin-top: 12px; font-size: 20px; }
    .work-summary { margin-top: 8px; font-size: 13px; }
    .impact-line { margin-top: 13px; }
    .work-card-footer { margin-top: 12px; }
    .filters { margin-bottom: 14px; padding: 12px; }
    .log-summary { margin-bottom: 30px; }
    .day-groups { gap: 36px; }
}

/* Neutral report workspace and compact outcome records. */
html, body, body.app-shell { background: #f7f7f6; }
.app-rail, .topbar { background: #fff; }
.app-rail .nav a:hover, .account-menu summary { background: #f5f5f4; }
.app-rail .nav a.nav-active { background: #eef2ef; }

.overview-metrics-panel { background: #f3f4f3; }
.overview-command-layout .metric-grid article,
.overview-command-layout .metric-grid article:first-child,
.overview-command-layout .metric-grid article:nth-child(n),
.overview-command-layout .metric-grid .metric-personal { border: 1px solid #e5e8e5; background: #fff; box-shadow: 0 5px 14px rgba(14, 20, 16, .045); }
.overview-command-layout .metric-grid strong { color: #111; }
.overview-command-layout .metric-grid span:not(.metric-index) { color: #262a27; }
.overview-command-layout .metric-grid small { color: #737976; }
.overview-stage .metric-index { color: #7b827e; }
.overview-stage .metric-icon { stroke: var(--forest); }

.report-toolbar { background: rgba(247,247,246,.92); }
.report-sheet { background: #fff; }
.report-metrics div,
.report-metrics div:first-child,
.report-metrics .metric-personal { background: #f7f7f6; }
.report-metrics .metric-personal strong { color: var(--ink); }
.chart-card { border: 1px solid #e5e8e5; background: #fff; }
.allocation-card { border: 1px solid #e5e8e5; background: #f7f7f6; }
.report-insight-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 14px; align-items: stretch; }
.report-insight-layout .chart-card, .report-insight-layout .allocation-card { height: 100%; margin-top: 0; }
.report-insight-layout .allocation-card { display: flex; flex-direction: column; }
.allocation-panel { flex: 1; align-content: center; }

.report-outcomes { display: grid; gap: 8px; padding: 16px 42px 42px; }
.report-outcomes > article { display: none; }
.outcome-accordion { overflow: hidden; border: 1px solid #e5e8e5; border-radius: 13px; background: #fff; }
.outcome-accordion > summary { display: grid; grid-template-columns: minmax(176px, .9fr) minmax(0, 2.25fr) auto 20px; align-items: center; gap: 14px; padding: 12px 16px; cursor: pointer; list-style: none; }
.outcome-accordion > summary::-webkit-details-marker { display: none; }
.outcome-accordion > summary:hover { background: #fafbfa; }
.outcome-area-pill { display: inline-flex; justify-self: start; align-items: center; gap: 5px; min-height: 28px; max-width: 100%; padding: 5px 9px; overflow: hidden; border: 1px solid #dfe6e1; border-radius: 999px; color: #4c5c54; background: #f6f8f6; font-size: 9px; font-weight: 650; letter-spacing: .045em; line-height: 1.1; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.outcome-area-pill i { color: var(--forest); font-style: normal; }
.outcome-title { overflow: hidden; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.28; text-overflow: ellipsis; white-space: nowrap; }
.outcome-effort-pills { display: flex; align-items: center; gap: 5px; }
.outcome-effort-pills > span { display: grid; gap: 1px; min-width: 63px; padding: 5px 8px; border-radius: 8px; background: #f3f6f4; }
.outcome-effort-pills small { color: #7b8580; font-size: 8px; font-weight: 650; letter-spacing: .07em; line-height: 1.1; text-transform: uppercase; }
.outcome-effort-pills strong { color: var(--ink); font-size: 10px; font-weight: 650; line-height: 1.2; white-space: nowrap; }
.outcome-toggle { color: #5f6d66; font-size: 17px; font-weight: 500; line-height: 1; transition: transform .18s ease, color .18s ease; }
.outcome-accordion[open] { background: #fafbfa; }
.outcome-accordion[open] .outcome-toggle { color: var(--forest); transform: rotate(90deg); }
.outcome-expanded { display: grid; gap: 14px; padding: 2px 52px 22px; color: #48504c; font-size: 12px; line-height: 1.55; }
.outcome-expanded p { margin: 4px 0 0; }
.detail-section-label { color: #77807b; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.report-impact { padding: 11px 12px; border-radius: 9px; background: #f1f4f1; }
.report-impact strong { color: var(--ink); font-size: 11px; font-weight: 600; }
.outcome-expanded .evidence { padding: 0; border: 0; background: transparent; }
.outcome-expanded .evidence > summary { color: var(--forest); font-size: 11px; font-weight: 600; cursor: pointer; }

@media (max-width: 980px) {
    .report-insight-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .report-outcomes { padding: 14px; }
    .outcome-accordion > summary { grid-template-columns: minmax(0, 1fr) 16px; gap: 9px; padding: 13px; }
    .outcome-area-pill { grid-column: 1; }
    .outcome-title { grid-column: 1; overflow: visible; font-size: 13px; white-space: normal; }
    .outcome-effort-pills { grid-column: 1; }
    .outcome-toggle { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
    .outcome-expanded { padding: 2px 16px 18px; }
}

/* Calm, resilient report totals. */
.report-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 42px 24px; border: 0; overflow: visible; }
.report-metrics div, .report-metrics div:first-child, .report-metrics .metric-personal { min-width: 0; padding: 11px 13px; border: 1px solid #e5e8e5; border-radius: 10px; background: #fafafa; }
.report-metrics strong, body.app-shell .report-metrics strong, .report-metrics .metric-personal strong { overflow: visible; color: var(--ink); font-size: 19px; font-weight: 600; letter-spacing: -.025em; line-height: 1.15; white-space: nowrap; }
.report-metrics span { margin-top: 4px; color: #707772; font-size: 10px; font-weight: 500; line-height: 1.3; }

/* Keep overview figures readable on the white metric cards. */
body.app-shell .overview-command-layout .metric-grid strong,
body.app-shell .overview-command-layout .metric-grid .metric-personal strong { color: #111 !important; }
body.app-shell .overview-command-layout .metric-grid span:not(.metric-index) { color: #262a27 !important; }
body.app-shell .overview-command-layout .metric-grid small { color: #737976 !important; }

/* Neutral provenance chips and a warm value callout. */
.work-tag { border: 1px solid #e2e4e2; color: #59615c; background: #f6f6f5; }
.session-badge { border: 1px solid #e2e4e2; color: #59615c; background: #f6f6f5; }
.verified-badge { border: 1px solid #c8dcff; color: #1877f2; background: #f4f8ff; }
.verified-badge > span { color: #fff; background: #1877f2; }
.work-card h3 a { display: inline-flex; align-items: center; gap: 9px; }
.work-card-title-arrow { color: #69736d; font-size: .84em; font-weight: 500; transition: transform .18s ease; }
.work-card h3 a:hover .work-card-title-arrow { transform: translateX(3px); }
.impact-line { border: 1px solid rgba(224, 229, 225, .9); background: rgba(255, 255, 255, .7); }
.impact-line > span { color: #67716b; }
.impact-line p { color: #3f4943; }

/* Lighter overview ledger typography. */
.overview-period strong { font-weight: 550; }
.overview-period span { font-weight: 450; }
.overview-command-layout .metric-index { font-weight: 550; }
.overview-command-layout .metric-grid strong { font-weight: 550; }
.overview-command-layout .metric-grid span:not(.metric-index) { font-weight: 500; }
.overview-command-layout .metric-grid small { font-weight: 400; }

/* Work-log controls belong in the utility header. */
.topbar-log .topbar-actions { margin-left: auto; }
.topbar-log-filters { display: flex; align-items: end; gap: 7px; }
.topbar-log-filters label { display: grid; gap: 3px; color: #737a76; font-size: 8px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.topbar-log-filters input, .topbar-log-filters select, .topbar-log-filters button { min-height: 31px !important; height: 31px; padding: 4px 8px; border: 1px solid #e0e4e1; border-radius: 7px; color: #313732; background: #fff; font-family: inherit; font-size: 10px; font-weight: 500; }
.topbar-log-filters input { width: 116px; }
.topbar-log-filters select { width: 122px; }
.topbar-log-filters label:nth-child(4) select { width: 104px; }
.topbar-log-filters button { align-self: end; padding-inline: 10px; border-color: #d9dfdb; color: #4d5751; cursor: pointer; }
.topbar-log-filters button:hover { color: var(--ink); border-color: #bfc8c2; }
.work-card { box-shadow: 0 10px 28px rgba(18, 26, 21, .07); }
.work-card:hover { box-shadow: 0 15px 36px rgba(18, 26, 21, .11); }
.complete-log-card { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin-top: 14px; padding: 12px 17px; border: 1px solid #e4e8e5; border-radius: 10px; color: #3f4943; background: rgba(255, 255, 255, .78); box-shadow: 0 6px 18px rgba(18, 26, 21, .045); font-size: 12px; font-weight: 500; text-decoration: none; }
.complete-log-card > span:last-child { color: #6a756e; font-size: 17px; transition: transform .18s ease; }
.complete-log-card:hover { border-color: #ccd5cf; color: var(--ink); }
.complete-log-card:hover > span:last-child { transform: translateX(4px); }

/* Modal work-log filters. */
.topbar-log-filters { gap: 6px; }
.topbar-log-filters > button { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 104px; padding: 7px 10px; border: 1px solid #e1e5e2; border-radius: 8px; color: #465049; background: #fff; font-family: inherit; font-size: 10px; font-weight: 500; cursor: pointer; }
.topbar-log-filters > button:hover { border-color: #c3cdc6; color: var(--ink); }
.topbar-log-filters > button span { color: #859087; font-size: 12px; }
.filter-dialog { width: min(560px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - 32px)); padding: 0; border: 0; border-radius: 20px; box-shadow: 0 28px 90px rgba(9, 20, 14, .23); }
.filter-dialog::backdrop { background: rgba(10, 18, 13, .38); backdrop-filter: blur(4px); }
.filter-modal { position: relative; padding: 34px; background: #fff; }
.filter-modal-close { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.filter-modal-kicker { color: #748078; font-size: 9px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.filter-modal h2 { margin: 7px 0 22px; color: var(--ink); font-size: 28px; font-weight: 550; letter-spacing: -.035em; }
.date-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 24px; }
.date-presets button, .filter-options button { padding: 11px 12px; border: 1px solid #e1e5e2; border-radius: 9px; color: #455047; background: #fff; font-family: inherit; font-size: 12px; font-weight: 500; text-align: left; cursor: pointer; }
.date-presets button:hover, .filter-options button:hover { border-color: #aec2b4; background: #f6f8f6; color: var(--ink); }
.calendar { padding: 18px; border-radius: 14px; background: #f7f8f7; }
.calendar header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.calendar header strong { font-size: 17px; font-weight: 550; }
.calendar header button { width: 34px; height: 34px; border: 1px solid #e1e5e2; border-radius: 8px; background: #fff; cursor: pointer; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; text-align: center; }
.calendar-weekdays { margin-bottom: 6px; color: #8a938d; font-size: 9px; font-weight: 600; }
.calendar-days button { aspect-ratio: 1; border: 0; border-radius: 9px; color: #343b36; background: transparent; font-family: inherit; font-size: 16px; cursor: pointer; }
.calendar-days button:hover, .calendar-days button[aria-selected="true"] { color: #fff; background: var(--forest); }
.calendar-days button[data-range-middle="true"] { border-radius: 2px; color: var(--forest); background: #e2eee5; }
.calendar-days button[data-range-middle="true"]:hover { color: #fff; background: var(--forest); }
.calendar-range-status { min-height: 19px; margin: -9px 0 14px; color: #6d7871; font-size: 11px; font-weight: 450; line-height: 1.45; }
.calendar-range-apply { width: 100%; min-height: 42px !important; margin-top: 13px; padding: 9px 14px; border: 1px solid var(--forest); border-radius: 9px; color: #fff; background: var(--forest); font-family: inherit; font-size: 12px; font-weight: 550; cursor: pointer; }
.calendar-range-apply:hover:not(:disabled) { background: var(--forest-deep); }
.calendar-range-apply:disabled { border-color: #e2e6e3; color: #9aa29d; background: #f2f4f2; cursor: not-allowed; }
.filter-search { width: 100%; min-height: 44px !important; margin-bottom: 12px; padding: 10px 12px; border: 1px solid #e0e5e1; border-radius: 10px; color: var(--ink); font-family: inherit; font-size: 13px; }
.filter-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-height: 380px; overflow: auto; }
@media (max-width: 900px) { .topbar-log-filters > button { min-width: 112px; } .filter-modal { padding: 26px 20px; } }

@media (min-width: 901px) {
    .app-rail .nav { margin-top: 28px; }
}

/* Personal-first contribution hierarchy. */
.overview-command-layout .metric-grid { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.overview-command-layout .metric-grid small { display: none; }
.log-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.log-summary.log-summary-with-period { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.app-rail .brand-logo { width: 28px; height: 28px; border-radius: 8px; filter: none; object-fit: cover; }
.app-rail .rail-utilities { display: grid; gap: 3px; margin: auto 8px 0; }
.app-rail .rail-api-connection, .app-rail .rail-team-link { width: 100%; min-height: 30px !important; padding: 6px 0; border: 0; color: var(--muted); background: transparent; font-family: inherit; font-size: 11px; font-weight: 500; text-align: left; text-decoration: none; cursor: pointer; }
.app-rail .rail-api-connection:hover, .app-rail .rail-team-link:hover { color: var(--forest); }
.app-rail .rail-utilities .rail-team-link { margin: 0; }
.log-summary-with-period > .log-period-overview { display: block; min-height: 0; padding: 18px 20px; border-radius: 14px; background: #fff; box-shadow: 0 7px 18px rgba(20, 28, 23, .035); }
.log-period-overview > span { display: block; color: #78827b; font-size: 9px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.log-period-overview > strong { display: block; margin-top: 6px; color: var(--ink); font-family: var(--display); font-size: 20px; font-weight: 550; letter-spacing: -.025em; }
.report-toolbar-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 360px; }
.contribution-profile { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 12px; }
.contribution-profile > div, .delivery-context { padding: 18px; border: 1px solid #e3e7e4; border-radius: 12px; background: #fff; }
.contribution-profile span, .delivery-context span { display: block; color: #77807b; font-size: 10px; font-weight: 500; }
.contribution-profile strong { display: block; margin-top: 5px; color: var(--ink); font-size: 26px; font-weight: 550; }
.delivery-context summary { display: flex; justify-content: space-between; color: #4a554e; font-size: 12px; font-weight: 500; cursor: pointer; }
.delivery-context[open] summary { margin-bottom: 15px; }
.delivery-context strong { display: block; margin-top: 4px; color: var(--ink); font-size: 19px; font-weight: 550; }
.delivery-context p { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
@media (max-width: 760px) { .log-summary, .log-summary.log-summary-with-period { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .contribution-profile { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .app-rail .rail-utilities { display: none; } }

.metric-contribution-trigger { cursor: pointer; }
.metric-contribution-trigger:hover { border-color: #c7d0ca !important; box-shadow: 0 10px 22px rgba(16, 29, 21, .08) !important; }
.overview-command-layout .metric-grid .metric-outcomes-trigger,
.overview-command-layout .metric-grid .metric-contribution-trigger,
.overview-command-layout .metric-grid .metric-outcomes-link { transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.overview-command-layout .metric-grid .metric-outcomes-trigger:hover,
.overview-command-layout .metric-grid .metric-contribution-trigger:hover,
.overview-command-layout .metric-grid .metric-outcomes-link:hover { border-color: #bcc8c0 !important; background: #fff !important; box-shadow: 0 14px 30px rgba(16, 29, 21, .10) !important; transform: translateY(-2px); }
.overview-command-layout .metric-grid .metric-outcomes-trigger:hover strong,
.overview-command-layout .metric-grid .metric-contribution-trigger:hover strong,
.overview-command-layout .metric-grid .metric-outcomes-link:hover strong { font-weight: 600; }
.overview-command-layout .metric-grid .metric-outcomes-trigger:hover span:not(.metric-index),
.overview-command-layout .metric-grid .metric-contribution-trigger:hover span:not(.metric-index),
.overview-command-layout .metric-grid .metric-outcomes-link:hover span:not(.metric-index) { font-weight: 550; }
.overview-command-layout .metric-grid .metric-outcomes-trigger:focus-visible,
.overview-command-layout .metric-grid .metric-contribution-trigger:focus-visible,
.overview-command-layout .metric-grid .metric-outcomes-link:focus-visible { outline: 3px solid rgba(23, 63, 53, .18); outline-offset: 3px; }
.overview-command-layout .metric-grid .metric-agent-support { display: block; margin-top: 5px; color: #707973 !important; font-size: 9px; font-weight: 400; line-height: 1.25; }
.overview-period > button { display: grid; justify-items: start; min-height: 0 !important; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.overview-period > button:hover strong { color: var(--forest); }
.overview-period > button:hover i { transform: translateY(2px); }
.overview-period > button i { display: inline-block; margin-left: 4px; color: #708077; font-size: 11px; font-style: normal; transition: transform .18s ease; }
.overview-command-layout .metric-grid .metric-outcomes-link { display: grid; grid-template-columns: 26px minmax(0, 1fr) 22px; grid-template-rows: auto auto auto; align-items: center; min-height: 0; padding: 12px 14px; border: 1px solid #e5e8e5; border-radius: 12px; color: inherit; background: #fff; box-shadow: 0 5px 14px rgba(14, 20, 16, .045); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.overview-command-layout .metric-grid .metric-outcomes-link:hover { border-color: #c7d0ca; box-shadow: 0 10px 22px rgba(16, 29, 21, .08); transform: translateY(-1px); }
.overview-command-layout .metric-outcomes-link strong { grid-column: 2; grid-row: 1 / span 2; margin: 0; color: #111 !important; font-size: clamp(19px, 1.6vw, 24px); font-weight: 550; line-height: 1.02; letter-spacing: -.035em; }
.overview-command-layout .metric-outcomes-link span:not(.metric-index) { grid-column: 2; grid-row: 3; margin: 5px 0 0; color: #4d5b52 !important; font-size: 10px; font-weight: 500; }
.overview-command-layout .metric-outcomes-link span i { margin-left: 4px; color: var(--forest); font-style: normal; }
.overview-command-layout .metric-outcomes-link .metric-icon { grid-column: 3; grid-row: 1 / span 3; align-self: center; width: 18px; height: 18px; stroke: var(--forest); }
.overview-command-layout .metric-grid .metric-outcomes-link:hover { border-color: #bcc8c0; background: #fff; box-shadow: 0 14px 30px rgba(16, 29, 21, .10); transform: translateY(-2px); }
@media (max-width: 980px) { .overview-command-layout .metric-grid { grid-template-rows: repeat(2, minmax(140px, 1fr)); } }
@media (max-width: 620px) { .overview-command-layout .metric-grid { grid-template-rows: repeat(2, minmax(132px, 1fr)); } .overview-command-layout .metric-grid .metric-outcomes-link { min-height: 132px; padding: 14px 13px; border-radius: 13px; } }
.contribution-modal { width: min(500px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 20px; box-shadow: 0 28px 90px rgba(9, 20, 14, .24); }
.contribution-modal::backdrop { background: rgba(10, 18, 13, .4); backdrop-filter: blur(4px); }
.contribution-modal > div { position: relative; padding: 34px; background: #fff; }
.contribution-modal > div > button[data-contribution-modal-close], .contribution-modal > div > button[data-outcomes-modal-close] { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; cursor: pointer; }
.contribution-modal h2 { margin: 7px 0 22px; color: var(--ink); font-size: 30px; font-weight: 550; letter-spacing: -.04em; }
.contribution-modal section { display: grid; gap: 8px; }
.contribution-modal section > div, .contribution-modal section > a { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px; border: 1px solid #e5e8e5; border-radius: 10px; background: #fafafa; }
.contribution-modal section span { color: #6f7872; font-size: 11px; }
.contribution-modal section strong { color: var(--ink); font-size: 17px; font-weight: 550; }
.contribution-report-link { position: relative; padding-right: 40px !important; color: inherit; text-decoration: none; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.contribution-report-link i { position: absolute; right: 14px; color: #718078; font-size: 16px; font-style: normal; transition: transform .16s ease, color .16s ease; }
.contribution-report-link:hover { border-color: #c5d0c8; background: #fff; box-shadow: 0 7px 16px rgba(18, 26, 21, .05); transform: translateY(-1px); }
.contribution-report-link:hover i { color: var(--forest); transform: translateX(3px); }
.contribution-report-link:focus-visible { outline: 3px solid rgba(23, 63, 53, .18); outline-offset: 2px; }
.contribution-modal p { margin: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.contribution-data-link { display: inline-flex; align-items: center; gap: 8px; min-height: 0 !important; margin-top: 18px; padding: 0; border: 0; color: #345d4a; background: transparent; font-family: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.contribution-data-link:hover { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.contribution-method-modal { width: min(680px, calc(100vw - 32px)); }
.contribution-method-modal > div { padding: 40px; }
.contribution-method-modal > div > button[data-contribution-method-close] { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.contribution-method-modal h2 { max-width: 430px; margin-bottom: 12px; }
.contribution-method-intro { max-width: 540px; margin-top: 0 !important; color: #5f6963 !important; font-size: 13px !important; }
.contribution-method-grid { display: grid !important; gap: 0 !important; margin-top: 26px; border: 1px solid #e4e8e5; border-radius: 14px; overflow: hidden; }
.contribution-method-grid article { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 13px; padding: 17px 18px; border-bottom: 1px solid #edf0ee; background: #fff; }
.contribution-method-grid article:last-child { border-bottom: 0; }
.contribution-method-number { display: grid; place-items: center; width: 26px; height: 26px; min-height: 0 !important; padding: 0 !important; border-radius: 50%; color: #345d4a !important; background: #edf4ef; font-size: 10px !important; font-weight: 700; line-height: 1; }
.contribution-method-grid article > div { display: block !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.contribution-method-grid strong { display: block; font-size: 13px !important; font-weight: 600 !important; }
.contribution-method-grid p { margin: 5px 0 0 !important; color: #6b746f !important; font-size: 11px !important; line-height: 1.55 !important; }
.contribution-method-note { display: grid; gap: 5px; margin-top: 16px; padding: 14px 15px; border-radius: 12px; color: #69736d; background: #f6f7f6; font-size: 11px; line-height: 1.55; }
.contribution-method-note strong { color: #303832; font-size: 11px; font-weight: 600; }
.contribution-method-log-link { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding: 13px 0 0; border-top: 1px solid #edf0ee; color: var(--ink); font-size: 12px; font-weight: 600; text-decoration: none; }
.contribution-method-log-link:hover { color: #345d4a; }
@media (max-width: 620px) { .contribution-method-modal > div { padding: 30px 22px 24px; } .contribution-method-grid article { grid-template-columns: 26px minmax(0, 1fr); gap: 10px; padding: 14px; } }
.connection-onboarding { width: min(680px, calc(100vw - 32px)); }
.connection-onboarding > div { padding: 32px; }
.connection-onboarding-close { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.connection-onboarding-close:focus { outline: 0; border-color: #b8c6bd; box-shadow: 0 0 0 3px rgba(23, 63, 53, .1); }
.connection-onboarding h2 { max-width: 520px; margin: 20px 0 9px; font-size: 28px; font-weight: 550; line-height: 1.14; }
.connection-onboarding h2:focus { outline: 0; }
.connection-onboarding p { max-width: 540px; margin: 0 0 20px; color: #717a74; font-size: 12px; font-weight: 400; line-height: 1.6; }
.connection-modal-brand { display: flex; align-items: center; gap: 8px; width: max-content; padding-right: 46px; }
.connection-modal-brand img { width: 26px; height: 26px; border-radius: 8px; box-shadow: 0 4px 11px rgba(23, 63, 53, .1); }
.connection-modal-brand strong { color: var(--forest); font-size: 13px; font-weight: 600; letter-spacing: -.035em; }
.connection-modal-brand strong span { color: #6d8a7a; }
.connection-modal-brand small { margin-left: 3px; padding-left: 10px; border-left: 1px solid #e1e5e2; color: #8a928d; font-size: 9px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.connection-onboarding-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.connection-onboarding-actions form { margin: 0; }
.connection-onboarding-actions .button, .connection-onboarding-key .button { min-height: 40px !important; border-radius: 10px; font-size: 12px; }
.connection-onboarding-later { margin-top: 15px; }
.connection-onboarding-later button { min-height: 0 !important; padding: 0; border: 0; color: #77817b; background: transparent; font-family: inherit; font-size: 11px; cursor: pointer; }
.connection-onboarding-later button:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.connection-onboarding-help { margin-top: 17px; padding: 16px; border: 1px solid #e5e8e5; border-radius: 12px; background: #fafafa; }
.connection-onboarding-help > span { color: #4f5752; font-size: 11px; font-weight: 600; }
.connection-onboarding-help ol { display: grid; gap: 7px; margin: 11px 0 14px; padding-left: 18px; color: #626c66; font-size: 11px; line-height: 1.5; }
.connection-onboarding-help code { padding: 2px 4px; border-radius: 4px; color: #29302c; background: #f0f1f0; font-size: .92em; }
.connection-onboarding-help a { color: var(--ink); font-size: 11px; font-weight: 600; text-decoration: none; }
.connection-onboarding-key { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; margin-bottom: 14px; padding: 10px; border: 1px solid #dce4de; border-radius: 12px; background: #f7faf7; }
.connection-onboarding-key code { overflow: hidden; padding: 5px; color: #26332b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }

/* Device & privacy */
.rail-device-link { display: flex; align-items: center; min-height: 34px; padding: 8px 12px; border-radius: 9px; color: #64716a; font-size: 12px; font-weight: 500; text-decoration: none; }
.rail-device-link:hover, .rail-device-link.nav-active { color: var(--forest); background: var(--mist); font-weight: 600; }
.device-page { max-width: 1250px; }
.device-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 18px 0 30px; }
.device-hero h1 { margin: 6px 0 8px; color: var(--forest); font-size: clamp(33px, 4vw, 51px); line-height: 1; letter-spacing: -.055em; }
.device-hero p { max-width: 600px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.device-hero .button { flex: 0 0 auto; min-height: 40px; border-radius: 10px; font-size: 12px; }
.device-status-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.device-status-card { position: relative; min-height: 160px; padding: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(24, 56, 44, .04); }
.device-status-card--quiet { background: #fbfcfa; }
.device-status-label { display: block; margin-bottom: 15px; color: var(--fern); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.device-status-card strong { display: block; max-width: 220px; color: var(--forest); font-size: 20px; font-weight: 600; line-height: 1.12; letter-spacing: -.035em; }
.device-status-card p { max-width: 310px; margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.device-status-dot { position: absolute; top: 23px; right: 22px; width: 8px; height: 8px; border-radius: 50%; background: #c6cfca; }
.device-status-dot.is-active { background: #3b83bd; box-shadow: 0 0 0 4px rgba(59, 131, 189, .13); }
.device-main-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 12px; }
.device-connect-panel, .device-privacy-panel, .device-list-section { padding: 27px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(24, 56, 44, .04); }
.device-connect-panel h2, .device-privacy-panel h2, .device-list-section h2 { margin: 8px 0 8px; color: var(--forest); font-size: 24px; font-weight: 600; letter-spacing: -.045em; }
.device-connect-panel > p, .device-privacy-panel li, .device-admin-note { color: var(--muted); font-size: 12px; line-height: 1.7; }
.device-connect-panel form { margin-top: 20px; }
.device-connect-panel small { display: block; margin-top: 11px; color: #88938c; font-size: 10px; }
.device-connect-panel .button { min-height: 41px; border-radius: 10px; font-size: 12px; }
.device-privacy-panel { background: var(--forest); }
.device-privacy-panel .kicker { color: #b2cabb; }
.device-privacy-panel h2 { color: #fff; }
.device-privacy-panel ul { display: grid; gap: 10px; margin: 17px 0 0; padding: 0; list-style: none; }
.device-privacy-panel li { color: #dce8e0; }
.device-privacy-panel li strong { color: #fff; }
.device-list-section { margin-top: 12px; }
.device-list-section header { display: flex; justify-content: space-between; align-items: center; }
.device-list-section h2 { margin-bottom: 0; font-size: 21px; }
.device-empty { margin: 20px 0 0; color: var(--muted); font-size: 12px; }
.device-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 0; border-top: 1px solid var(--line); }
.device-list-section header + .device-row { margin-top: 18px; }
.device-row strong, .device-row span, .device-row small, .device-row em { display: block; }
.device-row strong { color: var(--forest); font-size: 13px; }
.device-row span, .device-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.device-row > div:last-child { text-align: right; }
.device-state { display: inline-flex; margin-top: 7px; padding: 4px 7px; border-radius: 999px; color: #7a827d; background: #f0f2f0; font-size: 9px; font-style: normal; font-weight: 700; }
.device-state.is-active { color: #266f58; background: #e5f0e9; }
.device-walkthrough { width: min(920px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 22px; color: var(--ink); background: #fffefa; box-shadow: 0 30px 90px rgba(6, 34, 25, .28); }
.device-walkthrough::backdrop { background: rgba(7, 35, 26, .54); backdrop-filter: blur(5px); }
.device-walkthrough-shell { position: relative; padding: 38px; }
.device-walkthrough-close { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: #fff; font-size: 19px; cursor: pointer; }
.device-walkthrough h2 { max-width: 570px; margin: 9px 0; color: var(--forest); font-size: clamp(28px, 4vw, 42px); line-height: 1.03; letter-spacing: -.055em; }
.device-walkthrough > div > p { max-width: 580px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.device-walkthrough-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0 25px; }
.device-walkthrough-steps > section { display: grid; grid-template-columns: 23px 1fr; gap: 10px; align-content: start; min-height: 310px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.device-walkthrough-steps > section > span { color: var(--fern); font-size: 10px; font-weight: 700; }
.device-walkthrough h3 { margin: 0; color: var(--forest); font-size: 14px; letter-spacing: -.025em; }
.device-walkthrough-steps p { grid-column: 2; margin: 5px 0 14px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.walkthrough-shot { grid-column: 1 / -1; align-self: end; min-height: 120px; border: 1px solid #e6ebe7; border-radius: 10px; background: #fafcfa; }
.walkthrough-shot-app { display: grid; place-items: center; gap: 6px; padding: 16px; text-align: center; }
.walkthrough-shot-app div { display: flex; align-items: center; gap: 7px; color: var(--forest); font-size: 12px; font-weight: 600; }
.walkthrough-shot-app img { width: 26px; height: 26px; object-fit: contain; }.walkthrough-shot-app > span { color: var(--muted); font-size: 9px; }
.walkthrough-shot-login { display: grid; gap: 7px; padding: 16px; }.walkthrough-shot-login span { color: var(--fern); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.walkthrough-shot-login strong { color: var(--forest); font-size: 13px; letter-spacing: -.03em; }.walkthrough-shot-login i { height: 8px; border-radius: 3px; background: #edf1ed; }.walkthrough-shot-login b { display: grid; place-items: center; height: 24px; border-radius: 6px; color: white; background: var(--forest); font-size: 9px; }
.walkthrough-shot-connected { display: grid; align-content: center; justify-items: start; gap: 7px; padding: 17px; background: #f7fbf8; }.walkthrough-shot-connected strong { color: var(--forest); font-size: 13px; letter-spacing: -.03em; }.walkthrough-shot-connected small { color: var(--muted); font-size: 9px; }.shot-dot { width: 8px; height: 8px; border-radius: 50%; background: #3b83bd; box-shadow: 0 0 0 4px rgba(59, 131, 189, .12); }
.device-walkthrough-shell > .button { min-height: 42px; border-radius: 10px; font-size: 12px; }
@media (max-width: 850px) { .device-status-grid, .device-main-grid { grid-template-columns: 1fr; }.device-walkthrough-steps { grid-template-columns: 1fr; }.device-walkthrough-steps > section { min-height: 0; }.walkthrough-shot { min-height: 105px; } }
@media (max-width: 620px) { .device-hero { align-items: start; flex-direction: column; }.device-hero .button { width: 100%; }.device-walkthrough-shell { padding: 30px 20px 22px; }.device-row { align-items: start; flex-direction: column; }.device-row > div:last-child { text-align: left; } }

/* Device & privacy follows the same compact, editorial workspace language as Work log. */
.device-page { width: min(1120px, calc(100% - 64px)); max-width: none; padding-top: 30px; }
.device-connection, .device-list-section, .device-privacy-disclosure { border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.device-connection { overflow: hidden; }
.device-connection > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px 28px 22px; }
.device-connection h1 { margin: 6px 0 6px; color: var(--ink); font-size: 27px; font-weight: 600; line-height: 1.1; letter-spacing: -.035em; }
.device-connection header p { max-width: 590px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.device-connection-state { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 7px 9px; border: 1px solid #e2e7e3; border-radius: 999px; color: #7a837d; background: #fafbfa; font-size: 10px; font-weight: 600; }
.device-connection-state i { width: 7px; height: 7px; border-radius: 50%; background: #b8c1bb; }
.device-connection-state.is-active { color: #276a59; border-color: #dbe8df; background: #f4faf6; }
.device-connection-state.is-active i { background: #3b83bd; box-shadow: 0 0 0 3px rgba(59, 131, 189, .12); }
.device-connection-action { display: flex; align-items: center; gap: 13px; padding: 16px 28px; border-top: 1px solid var(--line); background: #fcfcfb; }
.device-connection-action > div { display: grid; gap: 3px; margin-right: auto; }
.device-connection-action strong { color: var(--ink); font-size: 12px; font-weight: 600; }
.device-connection-action span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.device-connection-action form { margin: 0; }
.device-connection-action .button { min-height: 38px; border-radius: 9px; font-size: 11px; }
.device-guide-button { min-height: 0 !important; padding: 4px 0; color: #64716b; font-size: 11px; text-decoration: none; }
.device-guide-button:hover { color: var(--forest); }
.device-list-section { margin-top: 12px; padding: 24px 28px 7px; }
.device-list-section header { display: flex; align-items: center; justify-content: space-between; }
.device-list-section h2 { margin: 6px 0 0; color: var(--ink); font-size: 18px; font-weight: 600; letter-spacing: -.025em; }
.device-empty { margin: 16px 0 22px; color: var(--muted); font-size: 11px; }
.device-row { padding: 15px 0; }
.device-row strong { color: var(--ink); font-size: 12px; font-weight: 600; }
.device-row span, .device-row small { font-size: 10px; }
.device-state { padding: 4px 7px; color: #6f7872; background: #f1f3f1; font-size: 9px; font-weight: 600; }
.device-state.is-active { color: #266f58; background: #eef6f1; }
.device-privacy-disclosure { margin-top: 12px; overflow: hidden; }
.device-privacy-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 28px; cursor: pointer; list-style: none; }
.device-privacy-disclosure summary::-webkit-details-marker { display: none; }
.device-privacy-disclosure summary > div { display: grid; gap: 5px; }
.device-privacy-disclosure summary strong { color: var(--ink); font-size: 13px; font-weight: 600; letter-spacing: -.018em; }
.device-privacy-disclosure summary > i { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-size: 16px; font-style: normal; transition: transform .18s ease, background .18s ease; }
.device-privacy-disclosure[open] summary { border-bottom: 1px solid var(--line); }
.device-privacy-disclosure[open] summary > i { color: var(--forest); background: #f5f8f6; transform: rotate(45deg); }
.device-privacy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.device-privacy-grid article { padding: 19px 28px 22px; }
.device-privacy-grid article + article { border-left: 1px solid var(--line); }
.device-privacy-grid span { color: #68736d; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.device-privacy-grid p { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.device-walkthrough { border-radius: 16px; background: #fff; box-shadow: 0 24px 72px rgba(17, 26, 21, .2); }
.device-walkthrough::backdrop { background: rgba(15, 23, 19, .42); backdrop-filter: blur(4px); }
.device-walkthrough-shell { padding: 32px; }
.device-walkthrough h2 { color: var(--ink); font-size: clamp(25px, 3vw, 34px); font-weight: 600; letter-spacing: -.045em; }
.device-walkthrough-steps { gap: 10px; margin: 24px 0 22px; }
.device-walkthrough-steps > section { min-height: 280px; border-radius: 11px; }
@media (max-width: 760px) { .device-page { width: min(100% - 24px, 1120px); padding-top: 24px; }.device-connection > header, .device-connection-action, .device-list-section, .device-privacy-disclosure summary { padding-right: 18px; padding-left: 18px; }.device-connection-action { align-items: flex-start; flex-wrap: wrap; }.device-connection-action > div { flex-basis: 100%; }.device-privacy-grid { grid-template-columns: 1fr; }.device-privacy-grid article { padding: 16px 18px; }.device-privacy-grid article + article { border-top: 1px solid var(--line); border-left: 0; } }
@media (max-width: 520px) { .device-connection > header { flex-direction: column; gap: 14px; }.device-connection h1 { font-size: 25px; }.device-connection-action form { flex: 1; }.device-connection-action .button { width: 100%; }.device-guide-button { width: 100%; text-align: left; }.device-list-section { padding-bottom: 5px; }.device-row { flex-direction: row; align-items: center; }.device-row > div:last-child { text-align: right; }.device-walkthrough-shell { padding: 29px 20px 21px; } }
.connection-preview { display: grid; gap: 5px; margin: 4px 0 16px; padding: 15px 16px; border: 1px solid #e5e8e5; border-radius: 12px; background: #fafafa; }
.connection-preview span { color: #7d8780; font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.connection-preview strong { color: var(--ink); font-size: 14px; font-weight: 550; }
.connection-preview code { color: #68736c; font-size: 11px; }
.connection-preview-note { margin-bottom: 17px !important; color: #6d7770; font-size: 11px !important; }
.connection-sync-panel { display: grid; gap: 10px; margin: 18px 0; padding: 17px; border: 1px solid #e3e6e3; border-radius: 14px; background: #fff; box-shadow: 0 9px 24px rgba(20, 28, 23, .04); }
.connection-sync-panel > span { color: #7a837d; font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.connection-sync-panel > strong { color: var(--ink); font-size: 15px; font-weight: 550; letter-spacing: -.018em; }
.connection-sync-panel > p { max-width: 510px; margin: 0; color: #69726d; font-size: 11px; line-height: 1.55; }
.connection-sync-panel > small { color: #7a837d; font-size: 10px; line-height: 1.45; }
.connection-sync-panel .button { text-decoration: none; }
.connection-product-label { display: inline-flex; align-items: center; min-height: 24px; margin: 3px 0 8px; padding: 0 9px; border: 1px solid #dfe5e1; border-radius: 999px; color: #526159; background: #f8faf8; font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.connection-quick-setup { display: grid; gap: 10px; margin: 16px 0 13px; }
.connection-quick-setup > section { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 4px 12px; padding: 16px; border: 0; border-radius: 14px; background: #f7f8f7; box-shadow: none; }
.connection-step-number { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #fff; background: var(--forest); font-size: 10px; font-weight: 650; }
.connection-onboarding .connection-quick-setup section > div:nth-child(2) { display: grid; gap: 3px; align-content: center; min-height: 30px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.connection-quick-setup section > div:nth-child(2) strong { color: #222a25; font-size: 13px; font-weight: 550; letter-spacing: -.015em; }
.connection-quick-setup section > div:nth-child(2) small { color: #778079; font-size: 10px; line-height: 1.45; }
.connection-quick-setup .connection-onboarding-key, .connection-quick-setup .connection-os-tabs, .connection-quick-setup .connection-command { grid-column: 2; }
.connection-quick-setup .connection-onboarding-key { margin: 10px 0 0; border-color: #e1e5e2; background: #fff; }
.connection-os-tabs { display: inline-flex; justify-self: start; gap: 3px; margin-top: 11px; padding: 3px; border: 1px solid #e2e6e3; border-radius: 9px; background: #f5f7f5; }
.connection-os-tabs button { min-height: 30px !important; padding: 0 13px; border: 0; border-radius: 6px; color: #68736c; background: transparent; font-family: inherit; font-size: 10px; font-weight: 550; cursor: pointer; }
.connection-os-tabs button.is-active { color: #fff; background: var(--forest); box-shadow: 0 3px 9px rgba(21, 63, 47, .15); }
.connection-command { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-top: 8px; padding: 9px; border: 1px solid #e1e5e2; border-radius: 11px; background: #fff; }
.connection-command[hidden] { display: none; }
.connection-command code { overflow: hidden; padding: 4px; color: #3d4741; font-size: 9px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.connection-command .button { min-height: 36px !important; white-space: nowrap; }
.connection-security-note { margin: 0 0 16px !important; color: #7b847e !important; font-size: 10px !important; line-height: 1.5; }
.account-sync-panel { margin: 20px 0 14px; }
@media (max-width: 620px) { .connection-onboarding > div { padding: 24px 18px 22px; } .connection-onboarding h2 { margin-top: 18px; font-size: 25px; } .connection-onboarding p { font-size: 11px; } .connection-modal-brand small { display: none; } .connection-onboarding-key, .connection-command { grid-template-columns: minmax(0, 1fr) auto; } .connection-quick-setup > section { grid-template-columns: 28px minmax(0, 1fr); padding: 14px; } .connection-quick-setup .connection-onboarding-key, .connection-quick-setup .connection-os-tabs, .connection-quick-setup .connection-command { grid-column: 1 / -1; } .connection-command code { white-space: nowrap; } .connection-command .button { padding-inline: 13px; } }

/* Outcomes stay compact in the record and open their full story in a modal. */
.outcome-card { display: grid; grid-template-columns: minmax(176px, .9fr) minmax(0, 2.25fr) auto 20px; align-items: center; gap: 14px; width: 100%; padding: 12px 16px; border: 1px solid #e5e8e5; border-radius: 13px; color: var(--ink); background: #fff; box-shadow: none; font-family: inherit; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease; }
.outcome-card:hover { border-color: #cbd5ce; background: #fcfdfc; box-shadow: 0 10px 22px rgba(18, 26, 21, .045); transform: translateY(-1px); }
.outcome-card:focus-visible { outline: 3px solid rgba(23, 63, 53, .18); outline-offset: 2px; }
.outcome-card .outcome-title { min-width: 0; }
.outcome-card .outcome-toggle { justify-self: end; }
.outcome-detail-modal { width: min(660px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - 32px)); overflow: auto; }
.outcome-detail-modal > div { padding: 34px; }
.outcome-detail-modal > div > button[data-outcome-modal-close] { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.outcome-detail-modal h2 { max-width: 540px; margin: 16px 0 19px; color: var(--ink); font-size: clamp(24px, 3vw, 32px); font-weight: 550; line-height: 1.1; letter-spacing: -.04em; }
.outcome-modal-effort { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 21px; }
.outcome-modal-effort > span { display: grid; gap: 3px; padding: 12px 13px; border: 1px solid #e4e8e5; border-radius: 11px; background: #fafbfa; }
.outcome-modal-effort small { color: #77817a; font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.outcome-modal-effort strong { color: var(--ink); font-size: 15px; font-weight: 550; }
.outcome-modal-sections { display: grid; gap: 16px; }
.outcome-modal-sections > div { color: #505a53; font-size: 13px; line-height: 1.6; }
.outcome-modal-sections p { margin: 5px 0 0; }
.outcome-modal-value { padding: 15px 16px; border: 1px solid #e4e8e5; border-radius: 12px; background: #fafbfa; }
.outcome-modal-evidence { padding-top: 2px; }
.outcome-modal-record-link { display: flex; align-items: center; justify-content: space-between; min-height: 46px; margin-top: 22px; padding: 10px 13px; border: 1px solid #dfe5e1; border-radius: 10px; color: #3a4b41; background: #fff; font-size: 12px; font-weight: 550; text-decoration: none; }
.outcome-modal-record-link:hover { border-color: #c5d0c8; color: var(--ink); background: #fafbfa; }
.outcome-modal-record-link span { font-size: 16px; transition: transform .18s ease; }
.outcome-modal-record-link:hover span { transform: translateX(3px); }
@media (max-width: 620px) { .outcome-card { grid-template-columns: minmax(0, 1fr) 16px; gap: 9px; padding: 13px; } .outcome-card .outcome-area-pill, .outcome-card .outcome-title, .outcome-card .outcome-effort-pills { grid-column: 1; } .outcome-card .outcome-title { overflow: visible; font-size: 13px; white-space: normal; } .outcome-card .outcome-toggle { grid-column: 2; grid-row: 1 / span 3; align-self: center; } .outcome-detail-modal > div { padding: 29px 21px; } .outcome-modal-effort { grid-template-columns: 1fr; } }

/* Detail pages read like a concise editorial release, not a dashboard. */
body.app-shell:has(.outcome-detail-page) { background: #fff; }
body.app-shell:has(.outcome-detail-page) .topbar, body.app-shell:has(.outcome-detail-page) .footer { background: #fff; }
body.app-shell .outcome-detail-page { width: min(760px, calc(100% - 48px)); padding-top: 42px; padding-bottom: 72px; }
.outcome-detail-page .detail-toolbar { align-items: flex-start; margin-bottom: 29px; padding: 0; border: 0; }
.outcome-detail-page .detail-back { color: #68716b; font-size: 12px; font-weight: 500; }
.outcome-detail-page .detail-back:hover { color: #161a17; }
.outcome-detail-page .detail-back span { color: currentColor; }
.outcome-detail-page .detail-toolbar-actions { gap: 7px; }
.outcome-detail-page .session-badge { color: #626c65; background: #f4f5f4; font-weight: 500; }
.outcome-detail-page .verified-badge { font-weight: 500; }
.outcome-detail-page .detail-toolbar-actions .button { min-height: 32px; padding: 6px 10px; border-color: #e0e3e0; color: #3e4741; background: #fff; font-weight: 500; }
.outcome-detail-page .outcome-detail { overflow: visible; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.outcome-detail-page .outcome-detail-header { padding: 0 0 26px; color: #171b18; background: #fff; }
.outcome-detail-page .detail-record-meta { gap: 7px; }
.outcome-detail-page .detail-record-meta span, .outcome-detail-page .detail-record-meta time { padding: 0; border: 0; color: #7a827d; font-size: 10px; font-weight: 500; letter-spacing: .025em; text-transform: none; }
.outcome-detail-page .detail-record-meta > :not(:last-child)::after { margin-left: 7px; color: #b1b6b2; content: "·"; }
.outcome-detail-page .outcome-detail-header h1 { max-width: 700px; margin: 18px 0 13px; color: #171b18; font-size: clamp(29px, 3.4vw, 39px); font-weight: 500; line-height: 1.15; letter-spacing: -.035em; }
.outcome-detail-page .outcome-detail-header > p { max-width: 690px; color: #59615c; font-size: 15px; font-weight: 400; line-height: 1.65; }
.outcome-detail-page .detail-effort { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 17px 0; border-top: 1px solid #eceeec; border-bottom: 1px solid #eceeec; background: #fff; }
.outcome-detail-page .detail-effort > div, .outcome-detail-page .detail-effort > div:first-child { padding: 0 16px; border: 0; border-left: 1px solid #eceeec; border-radius: 0; background: transparent; }
.outcome-detail-page .detail-effort > div:first-child { padding-left: 0; border-left: 0; }
.outcome-detail-page .detail-effort span { color: #7c847e; font-size: 9px; font-weight: 500; letter-spacing: .055em; }
.outcome-detail-page .detail-effort strong { margin-top: 4px; color: #1e2420; font-size: 16px; font-weight: 500; letter-spacing: -.02em; }
.outcome-detail-page .detail-sections { display: grid; gap: 31px; padding-top: 32px; }
.outcome-detail-page .detail-section, .outcome-detail-page .detail-impact-section, .outcome-detail-page .detail-evidence-section { display: block; padding: 0; border: 0; background: #fff; }
.outcome-detail-page .detail-section-label { display: block; padding: 0; color: #848c87; font-size: 9px; font-weight: 600; letter-spacing: .09em; }
.outcome-detail-page .detail-section h2 { margin: 8px 0 10px; color: #1d231f; font-size: 18px; font-weight: 500; line-height: 1.25; letter-spacing: -.015em; }
.outcome-detail-page .detail-section p { max-width: 690px; color: #3f4842; font-size: 15px; font-weight: 400; line-height: 1.78; }
.outcome-detail-page .detail-record-navigation { margin-top: 45px; padding-top: 20px; border-top: 1px solid #eceeec; }
.outcome-detail-page .detail-record-link { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.outcome-detail-page .detail-record-link:hover { border: 0; box-shadow: none; transform: none; }
.outcome-detail-page .detail-record-link > span { color: #6e7771; font-size: 10px; font-weight: 500; }
.outcome-detail-page .detail-record-link strong { color: #252c27; font-size: 12px; font-weight: 500; }
.outcome-detail-page .detail-record-link small { color: #8a928d; font-size: 10px; }
@media (max-width: 620px) { body.app-shell .outcome-detail-page { width: min(100% - 36px, 760px); padding-top: 28px; padding-bottom: 50px; } .outcome-detail-page .detail-toolbar { flex-direction: column; gap: 15px; margin-bottom: 23px; } .outcome-detail-page .detail-toolbar-actions { flex-wrap: wrap; } .outcome-detail-page .detail-effort { grid-template-columns: 1fr; gap: 12px; } .outcome-detail-page .detail-effort > div, .outcome-detail-page .detail-effort > div:first-child { padding: 0; border: 0; } .outcome-detail-page .detail-sections { gap: 26px; padding-top: 27px; } .outcome-detail-page .outcome-detail-header h1 { font-size: 29px; } .outcome-detail-page .detail-section p { font-size: 14px; } }

/* Overview explorer for business areas and projects. */
.overview-explorer { display: grid; gap: 25px; margin: 0 0 46px; }
.overview-explorer-section { display: grid; gap: 11px; }
.overview-explorer-section h2 { margin: 0; color: #343a36; font-size: 14px; font-weight: 550; letter-spacing: -.015em; }
.overview-explorer-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; }
.overview-explorer-card { display: flex; align-items: center; gap: 9px; min-height: 62px !important; padding: 11px 12px; border: 1px solid #e4e8e5; border-radius: 11px; color: #303633; background: #fff; box-shadow: 0 5px 16px rgba(18, 26, 21, .035); font-family: inherit; font-size: 11px; font-weight: 500; line-height: 1.25; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.overview-explorer-card:hover { border-color: #c9d3cc; box-shadow: 0 9px 22px rgba(18, 26, 21, .07); transform: translateY(-1px); }
.overview-explorer-card:focus-visible { outline: 3px solid rgba(23, 63, 53, .18); outline-offset: 2px; }
.overview-explorer-icon { display: grid; flex: 0 0 auto; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: var(--forest); background: #f1f5f2; transition: background .16s ease, color .16s ease, transform .16s ease; }
.overview-explorer-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.overview-explorer-card:hover .overview-explorer-icon { color: #fff; background: #1d543d; transform: scale(1.04); }
.overview-explorer-modal { width: min(620px, calc(100vw - 32px)); max-height: min(740px, calc(100vh - 32px)); padding: 0; border: 0; border-radius: 20px; box-shadow: 0 28px 90px rgba(9, 20, 14, .24); }
.overview-explorer-modal::backdrop { background: rgba(10, 18, 13, .4); backdrop-filter: blur(4px); }
.overview-explorer-modal > div { position: relative; padding: 34px; background: #fff; }
.overview-explorer-modal h2 { margin: 7px 40px 22px 0; color: var(--ink); font-size: 30px; font-weight: 550; letter-spacing: -.04em; }
.overview-explorer-close { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.overview-explorer-recent { display: grid; gap: 7px; max-height: min(430px, 52vh); overflow: auto; }
.overview-explorer-recent a { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 13px; border: 1px solid #e5e8e5; border-radius: 10px; color: var(--ink); background: #fff; text-decoration: none; }
.overview-explorer-recent a:hover { border-color: #c9d3cc; background: #fafbfa; }
.overview-explorer-recent time { color: #79827c; font-size: 10px; font-weight: 500; }
.overview-explorer-recent strong { overflow: hidden; font-size: 12px; font-weight: 550; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.overview-explorer-recent a > span { color: #7b867f; font-size: 15px; }
.overview-explorer-recent p { margin: 8px 0; color: var(--muted); font-size: 12px; }
.overview-explorer-more { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin-top: 13px; padding: 12px 15px; border: 1px solid #dfe5e1; border-radius: 11px; color: #334039; background: #f9faf9; font-size: 12px; font-weight: 500; text-decoration: none; }
.overview-explorer-more:hover { border-color: #c6d1ca; color: var(--ink); background: #fff; }
@media (max-width: 1180px) { .overview-explorer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) { .overview-explorer { gap: 20px; margin-bottom: 34px; } .overview-explorer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .overview-explorer-card { min-height: 57px !important; padding: 10px; font-size: 10px; } .overview-explorer-icon { width: 25px; height: 25px; } .overview-explorer-modal > div { padding: 26px 20px; } .overview-explorer-modal h2 { font-size: 26px; } .overview-explorer-recent a { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 8px; padding: 11px; } .overview-explorer-recent time { font-size: 9px; } }

/* Quiet, Midday-inspired reporting grid. */
.report-page { padding-bottom: 48px; }
.report-sheet { overflow: visible; border: 0; background: transparent; }
.report-analytics { padding: 0; }
.report-insight-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.report-insight-layout .allocation-card { order: -1; }
.chart-card, .allocation-card { min-height: 480px; padding: 26px; border: 1px solid #dde2de; border-radius: 0; background: #fff; box-shadow: none; }
.chart-card::before, .allocation-card::before { position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(70, 83, 75, .13) 1px, transparent 1px); background-size: 11px 11px; content: ""; opacity: .24; }
.chart-card, .allocation-card { position: relative; }
.chart-card > *, .allocation-card > * { position: relative; z-index: 1; }
.chart-card > header, .allocation-card > header { align-items: flex-start; margin-bottom: 24px; }
.chart-card > header span, .allocation-card > header span { color: #6e7771; font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.chart-card > header h3, .allocation-card > header h3 { margin-top: 8px; color: #202522; font-size: 22px; font-weight: 550; letter-spacing: -.03em; }
.chart-card > header > strong { color: #69726c; font-size: 11px; font-weight: 500; }
.allocation-card > header { display: block; }
.allocation-controls { justify-content: flex-start; margin-top: 18px; }
.allocation-tabs { border: 1px solid #e1e5e2; border-radius: 7px; background: #fafbfa; }
.allocation-tabs button, .allocation-tabs a { border-radius: 5px; font-weight: 500; }
.allocation-tabs button[aria-selected="true"], .allocation-tabs a[aria-selected="true"] { color: #fff; background: var(--forest); box-shadow: none; }
.allocation-lenses { background: #fff; }
.allocation-panel { grid-template-columns: minmax(170px, 220px) minmax(0, 1fr); gap: 24px; }
.allocation-donut { width: min(100%, 195px); }
.allocation-donut-center { background: #fff; }
.allocation-legend-row { border-bottom: 1px solid #edf0ed; border-radius: 0; }
.allocation-legend-row:hover, .allocation-legend-row.is-selected { background: #f5f7f5; transform: none; }
.bar-chart { display: grid; gap: 12px; }
.bar-row { padding: 10px 0; border-top: 1px solid #edf0ed; }
.bar-row:first-child { border-top: 0; }
.bar-label strong { color: #353c37; font-size: 11px; font-weight: 550; }
.bar-label span, .bar-series span { color: #79827c; font-size: 9px; font-weight: 450; }
.bar-series strong { color: #343a36; font-size: 10px; font-weight: 550; }
.bar-series progress { accent-color: var(--forest); }
.agent-series progress { accent-color: #9ca59f; }
.report-toolbar { margin-bottom: 18px; }
.report-toolbar-metrics { border-left: 1px solid #e3e7e4; padding-left: 18px; }
@media (max-width: 980px) { .report-insight-layout { grid-template-columns: 1fr; } .chart-card, .allocation-card { min-height: auto; } }
@media (max-width: 620px) { .chart-card, .allocation-card { padding: 18px; } .allocation-panel { grid-template-columns: 1fr; } .allocation-donut { width: 170px; } }

/* Compact report totals live with the reporting controls. */
.report-toolbar { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
.report-toolbar-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.report-toolbar-metrics div { min-width: 0; }
.report-toolbar-metrics span, .report-toolbar-metrics strong { display: block; }
.report-toolbar-metrics span { overflow: hidden; color: #78807b; font-size: 8px; font-weight: 500; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.report-toolbar-metrics strong { overflow: hidden; margin-top: 3px; color: #202522; font-size: 13px; font-weight: 550; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.report-toolbar-actions { display: flex; justify-self: end; align-items: end; gap: 8px; }
.report-toolbar-actions .report-controls-compact { justify-self: auto; }
.report-toolbar-actions > .button { min-height: 40px; padding-block: 8px; }

@media (max-width: 1320px) and (min-width: 901px) {
    .report-toolbar { grid-template-columns: auto 1fr; align-items: end; }
    .report-toolbar-metrics { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: 4px; }
    .report-toolbar-actions { grid-column: 2; grid-row: 1; }
}

@media (max-width: 900px) {
    .report-toolbar { grid-template-columns: 1fr; }
    .report-toolbar-metrics { grid-template-columns: 1fr 1fr; order: 2; gap: 7px 14px; }
    .report-toolbar-actions { justify-self: stretch; order: 3; }
}

@media (max-width: 620px) {
    .report-toolbar-actions { align-items: stretch; flex-direction: column; }
    .report-toolbar-actions .report-controls-compact { width: 100%; }
    .report-toolbar-actions > .button { width: 100%; }
}

@media (max-width: 1180px) and (min-width: 901px) {
    .topbar-log { align-items: center; min-height: 86px; }
    .topbar-log .topbar-actions { flex-wrap: wrap; justify-content: flex-end; }
    .topbar-log-filters { order: 2; }
}

@media (max-width: 900px) {
    .topbar-log { min-height: auto; padding-block: 8px; }
    .topbar-log .topbar-actions { flex-wrap: wrap; justify-content: flex-end; }
    .topbar-log-filters { order: 2; width: 100%; overflow-x: auto; padding-top: 2px; }
    .topbar-log-filters label { flex: 0 0 auto; }
}

@media (min-width: 621px) and (max-width: 1180px) {
    .report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .report-metrics { margin: 0 14px 18px; gap: 6px; }
    .report-metrics div, .report-metrics div:first-child, .report-metrics .metric-personal { padding: 10px; }
    .report-metrics strong, body.app-shell .report-metrics strong, .report-metrics .metric-personal strong { font-size: 17px; }
}

/* Worklog sign-in, with the application icon as its visual anchor. */
.auth-shell { min-height: 100svh; color: var(--ink); background: #f7f8f7; }
.auth-layout-login { grid-template-columns: minmax(0, 1.02fr) minmax(440px, .98fr); min-height: 100svh; }
.auth-login-visual { position: relative; display: flex; flex-direction: column; min-height: 100svh; overflow: hidden; isolation: isolate; padding: clamp(34px, 5vw, 72px); color: #fff; background: #0a3525; }
.auth-login-scene { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; transform: scale(1.24) translateX(8%); }
.auth-login-visual::after, .auth-login-visual::before { display: none; }
.auth-login-brand { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 10px; width: max-content; color: #fff; text-decoration: none; text-shadow: 0 2px 18px rgba(0, 22, 17, .7); }
.auth-login-brand img, .auth-login-mobile-brand img { width: 34px; height: 34px; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,.22); }
.auth-login-brand strong, .auth-login-mobile-brand strong { font-size: 16px; font-weight: 650; letter-spacing: -.045em; }
.auth-login-brand strong span, .auth-login-mobile-brand strong span { color: #afd2bb; }
.auth-login-copy { position: relative; z-index: 3; max-width: 530px; margin: auto 0; padding: 80px 0; text-shadow: 0 2px 20px rgba(0, 22, 17, .72); }
.auth-login-copy .kicker { color: #bbd6c3; font-size: 10px; font-weight: 600; letter-spacing: .16em; }
.auth-login-copy h1 { margin: 17px 0; color: #fff; font-size: clamp(48px, 5.2vw, 74px); font-weight: 600; line-height: .98; letter-spacing: -.058em; }
.auth-login-copy p { max-width: 420px; margin: 0; color: rgba(238, 246, 240, .73); font-size: 15px; font-weight: 400; line-height: 1.6; }
.auth-login-footer { position: relative; z-index: 3; margin: 0; color: rgba(235, 246, 238, .72); font-size: 10px; font-weight: 500; letter-spacing: .08em; text-shadow: 0 2px 14px rgba(0, 22, 17, .72); text-transform: uppercase; }
.auth-login-form-column { display: grid; place-items: center; min-height: 100svh; padding: 34px; background: #fbfcfb; }
.auth-login-card { width: min(400px, 100%); margin: 0; padding: 0; border: 0; border-radius: 0; color: var(--ink); background: transparent; box-shadow: none; }
.auth-login-mobile-brand { display: none; align-items: center; gap: 10px; margin-bottom: 54px; color: var(--forest); }
.auth-login-mobile-brand strong span { color: var(--forest); }
.auth-login-kicker { display: block; margin-bottom: 10px; color: #77827b; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.auth-login-card h2 { margin: 0 0 9px; color: #1a201c; font-size: 31px; font-weight: 600; letter-spacing: -.045em; }
.auth-login-card > p:not(.auth-login-help) { margin: 0 0 29px; color: #727b75; font-size: 13px; font-weight: 400; line-height: 1.55; }
.auth-login-card .stack-form { gap: 15px; }
.auth-login-card .stack-form label { color: #4d5851; font-size: 11px; font-weight: 550; }
.auth-login-card .stack-form input { min-height: 46px; margin-top: 7px; border-color: #dce3de; border-radius: 9px; color: #1f2822; box-shadow: none; font-size: 13px; }
.auth-login-card .stack-form input:focus { border-color: #9db5a4; box-shadow: 0 0 0 3px rgba(23,63,44,.08); }
.auth-login-card .stack-form .button { width: 100%; min-height: 46px; margin-top: 8px; border-radius: 9px; font-size: 13px; font-weight: 600; }
.auth-login-help { margin: 23px 0 0 !important; color: #8b938e !important; font-size: 11px !important; text-align: center; }
.auth-shell .footer { display: none; }
@media (max-width: 900px) { .auth-layout-login { grid-template-columns: 1fr; } .auth-login-visual { display: none; } .auth-login-form-column { padding: 32px 24px; } .auth-login-card { max-width: 420px; } .auth-login-mobile-brand { display: inline-flex; } }
@media (max-width: 620px) { .auth-login-form-column { min-height: 100svh; padding: 28px 22px; } .auth-login-mobile-brand { margin-bottom: 42px; } .auth-login-card h2 { font-size: 28px; } }

/* Reports 2.0: a compact, interactive workspace aligned with Marketing reporting. */
.report-dashboard-page { padding-top: 18px; padding-bottom: 42px; }
.report-dashboard-page .report-analytics { display: grid; gap: 14px; }
.report-dashboard-page .report-sheet { background: transparent; }
.report-stat-strip { display: grid; grid-template-columns: minmax(190px, 1.25fr) repeat(3, minmax(150px, 1fr)); overflow: hidden; border: 1px solid #dfe4e0; border-radius: 17px; background: #fff; box-shadow: 0 12px 32px rgba(17, 35, 24, .045); }
.report-stat-strip > div { position: relative; display: grid; align-content: center; min-width: 0; min-height: 92px; padding: 17px 20px; border-left: 1px solid #e7ebe8; }
.report-stat-strip > div:first-child { border-left: 0; }
.report-stat-strip > div::before { position: absolute; top: 0; right: 20px; left: 20px; height: 2px; border-radius: 0 0 2px 2px; background: #d7ded9; content: ""; }
.report-stat-strip .report-primary-stat::before { background: #1a523c; }
.report-stat-strip span, .report-stat-strip strong, .report-stat-strip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-stat-strip span { color: #747e77; font-size: 9px; font-weight: 550; letter-spacing: .035em; }
.report-stat-strip strong { margin-top: 5px; color: #1e2521; font-size: clamp(17px, 1.5vw, 23px); font-weight: 560; letter-spacing: -.038em; line-height: 1.08; }
.report-stat-strip small { margin-top: 5px; color: #909792; font-size: 9px; font-weight: 450; }
.report-period-summary strong { font-size: clamp(15px, 1.25vw, 20px); }

.report-dashboard-page .report-insight-layout { grid-template-columns: minmax(430px, .92fr) minmax(560px, 1.18fr); gap: 14px; align-items: stretch; }
.report-dashboard-page .chart-card,
.report-dashboard-page .allocation-card { position: relative; min-height: 440px; height: auto; margin: 0; padding: 23px 24px; overflow: hidden; border: 1px solid #dfe4e0; border-radius: 17px; background: #fff; box-shadow: 0 12px 32px rgba(17, 35, 24, .045); }
.report-dashboard-page .chart-card::before,
.report-dashboard-page .allocation-card::before { display: none; }
.report-dashboard-page .report-insight-layout .allocation-card { order: -1; }
.report-dashboard-page .chart-card > header,
.report-dashboard-page .allocation-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.report-dashboard-page .chart-card > header span,
.report-dashboard-page .allocation-card > header span { color: #7a837d; font-size: 9px; font-weight: 520; letter-spacing: .06em; text-transform: uppercase; }
.report-dashboard-page .chart-card > header h3,
.report-dashboard-page .allocation-card > header h3 { margin: 5px 0 0; color: #1b211d; font-size: 19px; font-weight: 560; letter-spacing: -.035em; line-height: 1.15; }
.trend-legend { display: inline-flex; align-items: center; gap: 7px; padding-top: 4px; white-space: nowrap; }
.trend-legend i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #1b523d; }
.trend-legend span { color: #6d7770 !important; font-size: 9px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }

.report-dashboard-page .allocation-card > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.report-dashboard-page .allocation-controls { display: grid; justify-items: end; gap: 6px; margin: 0; }
.report-dashboard-page .allocation-tabs { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid #e1e5e2; border-radius: 9px; background: #f6f7f6; }
.report-dashboard-page .allocation-tabs a { min-height: 27px; padding: 6px 9px; border-radius: 6px; color: #6d756f; font-size: 9px; font-weight: 520; line-height: 1; }
.report-dashboard-page .allocation-tabs a[aria-selected="true"] { color: #fff; background: #173f35; box-shadow: 0 3px 9px rgba(20, 57, 45, .14); }
.report-dashboard-page .allocation-lenses { background: #fff; }
.report-dashboard-page .allocation-panel { grid-template-columns: minmax(150px, 185px) minmax(0, 1fr); gap: 22px; align-items: center; }
.report-dashboard-page .allocation-donut { width: min(100%, 174px); }
.report-dashboard-page .allocation-donut-track,
.report-dashboard-page .allocation-donut-segment { stroke-width: 12; }
.report-dashboard-page .allocation-donut-chart .allocation-donut-segment:hover,
.report-dashboard-page .allocation-donut-chart .allocation-donut-segment:focus { stroke-width: 15; }
.report-dashboard-page .allocation-donut-center { width: 66%; background: #fff; }
.report-dashboard-page .allocation-donut-center strong { font-size: clamp(20px, 2vw, 25px); font-weight: 590; }
.report-dashboard-page .allocation-donut-center span,
.report-dashboard-page .allocation-donut-center small { font-size: 8px; font-weight: 500; }
.report-dashboard-page .allocation-legend { gap: 3px; }
.report-dashboard-page .allocation-legend-row { grid-template-columns: 8px minmax(0, 1fr) auto auto; min-height: 38px; padding: 7px 8px; border: 0; border-radius: 8px; background: transparent; }
.report-dashboard-page .allocation-legend-row:hover,
.report-dashboard-page .allocation-legend-row.is-selected { background: #f3f6f4; transform: none; }
.report-dashboard-page .allocation-swatch { width: 7px; height: 7px; }
.report-dashboard-page .allocation-legend-row > span:nth-child(2) { font-size: 10px; font-weight: 520; }
.report-dashboard-page .allocation-legend-row strong { font-size: 10px; font-weight: 590; }
.report-dashboard-page .allocation-legend-row small { min-width: 27px; font-size: 9px; font-weight: 500; }

.trend-chart { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(38px, 1fr); align-items: stretch; gap: clamp(5px, .8vw, 11px); min-height: 342px; padding: 18px 5px 0; }
.trend-grid { position: absolute; z-index: 0; inset: 18px 5px 58px; display: grid; grid-template-rows: repeat(4, 1fr); pointer-events: none; }
.trend-grid i { display: block; border-top: 1px solid #edf0ee; }
.trend-grid i:last-child { border-bottom: 1px solid #edf0ee; }
.trend-day { position: relative; z-index: 1; display: grid; grid-template-rows: 230px auto auto; min-width: 0; color: inherit; text-align: center; text-decoration: none; }
.trend-column { display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 230px; min-height: 0; padding-inline: 8%; }
.trend-column > i { display: block; width: min(32px, 64%); min-height: 5px; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, #245d46 0%, #153f32 100%); box-shadow: 0 5px 14px rgba(21, 63, 50, .12); transform-origin: bottom; transition: filter .18s ease, transform .18s ease, background .18s ease; }
.trend-height-5 { height: 5%; } .trend-height-10 { height: 10%; } .trend-height-15 { height: 15%; } .trend-height-20 { height: 20%; }
.trend-height-25 { height: 25%; } .trend-height-30 { height: 30%; } .trend-height-35 { height: 35%; } .trend-height-40 { height: 40%; }
.trend-height-45 { height: 45%; } .trend-height-50 { height: 50%; } .trend-height-55 { height: 55%; } .trend-height-60 { height: 60%; }
.trend-height-65 { height: 65%; } .trend-height-70 { height: 70%; } .trend-height-75 { height: 75%; } .trend-height-80 { height: 80%; }
.trend-height-85 { height: 85%; } .trend-height-90 { height: 90%; } .trend-height-95 { height: 95%; } .trend-height-100 { height: 100%; }
.trend-day:hover .trend-column > i,
.trend-day:focus .trend-column > i { background: linear-gradient(180deg, #c78a31 0%, #a96c18 100%); filter: saturate(1.04); transform: scaleX(1.08); }
.trend-day time { overflow: hidden; margin-top: 10px; color: #39423c; font-size: 9px; font-weight: 570; text-overflow: ellipsis; white-space: nowrap; }
.trend-day > span { overflow: hidden; margin-top: 3px; color: #929a94; font-size: 8px; font-weight: 450; text-overflow: ellipsis; white-space: nowrap; }
.trend-tooltip { position: absolute; z-index: 8; top: 4px; left: 50%; display: grid; gap: 8px; width: 205px; padding: 13px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; color: #fff; background: #17221c; box-shadow: 0 16px 42px rgba(8, 20, 13, .24); text-align: left; opacity: 0; transform: translate(-50%, 8px); visibility: hidden; pointer-events: none; transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
.trend-day:hover .trend-tooltip,
.trend-day:focus .trend-tooltip { opacity: 1; transform: translate(-50%, 0); visibility: visible; }
.trend-grid + .trend-day .trend-tooltip { left: 0; transform: translate(0, 8px); }
.trend-grid + .trend-day:hover .trend-tooltip,
.trend-grid + .trend-day:focus .trend-tooltip { transform: translate(0, 0); }
.trend-day:last-child .trend-tooltip { right: 0; left: auto; transform: translate(0, 8px); }
.trend-day:last-child:hover .trend-tooltip,
.trend-day:last-child:focus .trend-tooltip { transform: translate(0, 0); }
.trend-tooltip > strong { padding-bottom: 3px; font-size: 11px; font-weight: 600; }
.trend-tooltip > span { display: grid; grid-template-columns: 7px minmax(0, 1fr) auto; align-items: center; gap: 7px; color: rgba(255,255,255,.72); font-size: 9px; }
.trend-tooltip > span i { display: block; width: 7px; height: 7px; border-radius: 50%; }
.trend-tooltip .is-personal { background: #c58a35; }
.trend-tooltip .is-agent { background: #75a185; }
.trend-tooltip > span b { color: #fff; font-weight: 570; }
.trend-tooltip small { padding-top: 4px; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.58); font-size: 8px; line-height: 1.45; }
.report-dashboard-page .report-note { max-width: 1180px; margin: 3px auto 0; padding: 12px 4px 0; border: 0; color: #8a928d; background: transparent; font-size: 9px; line-height: 1.55; }

@media (max-width: 1240px) {
    .report-dashboard-page .report-insight-layout { grid-template-columns: 1fr; }
    .report-dashboard-page .chart-card,
    .report-dashboard-page .allocation-card { min-height: 0; }
    .report-dashboard-page .allocation-panel { grid-template-columns: minmax(170px, 220px) minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .report-stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-stat-strip > div:nth-child(3) { border-left: 0; border-top: 1px solid #e7ebe8; }
    .report-stat-strip > div:nth-child(4) { border-top: 1px solid #e7ebe8; }
}
@media (max-width: 620px) {
    .report-dashboard-page { padding-top: 12px; }
    .report-stat-strip { border-radius: 14px; }
    .report-stat-strip > div { min-height: 78px; padding: 13px; }
    .report-stat-strip strong { overflow: visible; font-size: 16px; white-space: normal; }
    .report-stat-strip small { display: none; }
    .report-dashboard-page .chart-card,
    .report-dashboard-page .allocation-card { padding: 17px 14px; border-radius: 14px; }
    .report-dashboard-page .allocation-card > header { grid-template-columns: 1fr; }
    .report-dashboard-page .allocation-controls { justify-items: start; width: 100%; overflow-x: auto; }
    .report-dashboard-page .allocation-panel { grid-template-columns: 1fr; gap: 13px; }
    .report-dashboard-page .allocation-donut { width: 155px; }
    .trend-chart { grid-auto-columns: minmax(36px, 1fr); gap: 4px; min-height: 292px; overflow-x: auto; padding-top: 10px; }
    .trend-grid { top: 10px; }
    .trend-day { grid-template-rows: 170px auto auto; min-width: 36px; }
    .trend-column { height: 170px; min-height: 0; }
    .trend-day time { font-size: 8px; }
    .trend-day > span { font-size: 7px; }
}

/* A calm path through adjacent work records. */
.detail-record-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.detail-record-navigation > span { display: block; }
.detail-record-link { display: grid; gap: 5px; min-height: 92px; padding: 15px 17px; border: 1px solid #e1e6e2; border-radius: 12px; color: var(--ink); background: #fff; box-shadow: 0 6px 17px rgba(18, 26, 21, .035); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.detail-record-link:hover { border-color: #c5d0c8; box-shadow: 0 11px 23px rgba(18, 26, 21, .07); transform: translateY(-1px); }
.detail-record-link > span { color: #758078; font-size: 10px; font-weight: 550; }
.detail-record-link strong { overflow: hidden; color: #263029; font-size: 12px; font-weight: 550; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.detail-record-link small { color: #929a94; font-size: 10px; }
.detail-record-next { text-align: right; }
@media (max-width: 620px) { .detail-record-navigation { grid-template-columns: 1fr; } .detail-record-navigation > span { display: none; } .detail-record-link { min-height: 78px; } .detail-record-next { text-align: left; } }

/* Reports behave like a focused workspace rather than a stacked report document. */
.topbar-report .topbar-actions { margin-left: auto; }
.topbar-report-filters { align-items: center; }
.topbar-report-filters > button { min-width: 96px; }
.topbar-report-filters > button[data-report-filter-open="member"] { min-width: 142px; }
.topbar-report-filters .header-report-view, .topbar-report-filters .header-report-export { min-height: 34px !important; border-radius: 8px; font-family: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.topbar-report-filters .header-report-view { padding: 7px 12px; border: 1px solid #dfe5e1; color: #39443d; background: #fff; }
.topbar-report-filters .header-report-export { padding: 7px 12px; border: 1px solid var(--forest); color: #fff; background: var(--forest); }
.topbar-report-filters .header-report-export:hover { background: var(--forest-deep); }
.report-period-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report-dashboard-page { padding-top: 22px; }
.report-dashboard-page .report-sheet { background: transparent; }
.report-dashboard-page .chart-card, .report-dashboard-page .allocation-card { min-height: 430px; border-color: #e0e5e1; }
.report-dashboard-page .allocation-card { background: #fff; }
.allocation-panel[hidden] { display: none !important; }
.report-dashboard-page .allocation-tabs { border-radius: 8px; }
.report-dashboard-page .allocation-tabs a { min-height: 30px; font-size: 10px; }
.report-dashboard-page .bar-row { padding-bottom: 11px; border-bottom: 1px solid #edf0ed; }
.report-dashboard-page .bar-row:last-child { padding-bottom: 0; border-bottom: 0; }
.report-dashboard-page .bar-label strong { font-weight: 550; }
.allocation-bars { display: grid; gap: 10px; width: 100%; }
.allocation-bar-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; width: 100%; padding: 0; border: 0; color: var(--ink); background: transparent; font-family: inherit; text-align: left; cursor: pointer; }
.allocation-bar-row:hover .allocation-bar-track, .allocation-bar-row.is-selected .allocation-bar-track { background: #e9eeea; }
.allocation-bar-name { display: flex; align-items: center; gap: 7px; min-width: 0; color: #465048; font-size: 11px; font-weight: 500; }
.allocation-bar-name i { display: block; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--swatch); }
.allocation-bar-row > strong { color: #313a34; font-size: 11px; font-weight: 600; }
.allocation-bar-track { position: relative; grid-column: 1 / -1; display: block; height: 9px; overflow: hidden; border-radius: 999px; background: #f0f3f0; transition: background .18s ease; }
.allocation-bar-track i { display: block; width: var(--share); height: 100%; border-radius: inherit; background: var(--swatch); transition: width .28s ease; }
.allocation-bar-row > small { grid-column: 2; grid-row: 1; align-self: end; color: #7d867f; font-size: 10px; font-weight: 500; }
@media (max-width: 620px) { .topbar-report-filters > button[data-report-filter-open="member"] { min-width: 132px; } .allocation-bars { gap: 12px; } .allocation-bar-track { height: 8px; } }
@media (max-width: 900px) { .topbar-report .topbar-actions { width: 100%; } .topbar-report-filters { width: 100%; overflow-x: auto; } .topbar-report-filters > button { flex: 0 0 auto; } .report-dashboard-page { padding-top: 16px; } }
@media (max-width: 620px) { .topbar-report-filters { gap: 5px; } .topbar-report-filters > button { min-width: 88px; } .topbar-report-filters .header-report-export { min-width: 90px; } }

/* Outcomes & value is a concise impact brief, not a second work ledger. */
.report-outcomes-page { padding-top: 30px; padding-bottom: 56px; }
.report-outcomes-page .report-sheet { max-width: 1060px; margin: 0 auto; }
.outcomes-impact-brief { padding: 0 0 34px; }
.outcomes-impact-brief > header { max-width: 760px; }
.outcomes-impact-brief .kicker { color: #78827b; }
.outcomes-impact-brief h2 { margin: 8px 0 11px; color: #222924; font-size: clamp(27px, 3.1vw, 40px); font-weight: 550; letter-spacing: -.045em; line-height: 1.06; }
.outcomes-impact-period-trigger { display: inline; min-height: 0 !important; margin: 0; padding: 0 0 2px; border: 0; border-bottom: 1px dashed #b8c1ba; border-radius: 0; color: inherit; background: transparent; font: inherit; letter-spacing: inherit; line-height: inherit; text-align: inherit; cursor: pointer; transition: border-color .16s ease, color .16s ease; }
.outcomes-impact-period-trigger span { display: inline-block; margin-left: 4px; color: #7c887f; font-size: .6em; font-weight: 500; vertical-align: .12em; transition: transform .16s ease; }
.outcomes-impact-period-trigger:hover { border-color: var(--forest); color: var(--forest); }
.outcomes-impact-period-trigger:hover span { transform: translateY(2px); }
.outcomes-impact-period-trigger:focus-visible { outline: 2px solid rgba(23, 63, 44, .3); outline-offset: 4px; }
.outcomes-impact-brief > header > p { max-width: 740px; margin: 0; color: #657068; font-size: 14px; font-weight: 400; line-height: 1.65; }
.outcomes-theme-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-top: 24px; }
.outcomes-theme-grid article { min-height: 112px; padding: 16px; border: 1px solid #e1e6e2; border-radius: 13px; background: #fff; box-shadow: 0 7px 18px rgba(20, 28, 23, .035); }
.outcomes-theme-grid strong { display: block; color: #29332d; font-size: 12px; font-weight: 550; letter-spacing: -.012em; }
.outcomes-theme-grid p { margin: 8px 0 0; color: #737d76; font-size: 11px; font-weight: 400; line-height: 1.55; }
.outcomes-impact-brief > small { display: block; margin-top: 12px; color: #9aa29d; font-size: 9px; font-weight: 500; }
.report-outcomes-page .report-outcomes { display: grid; gap: 28px; padding: 0; }
.outcome-area-group { display: grid; gap: 9px; }
.outcome-area-group > header { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.outcome-area-group h3 { margin: 0; color: #343c36; font-size: 13px; font-weight: 550; letter-spacing: -.014em; }
.outcome-area-group > header span { color: #929b95; font-size: 9px; font-weight: 500; white-space: nowrap; }
.outcome-card-list { display: grid; gap: 7px; }
.report-outcomes-page .outcome-card { grid-template-columns: minmax(160px, .55fr) minmax(0, 1.75fr) 18px; gap: 14px; min-height: 72px; padding: 12px 15px; border-color: #e2e6e3; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(20, 28, 23, .028); }
.report-outcomes-page .outcome-card:hover { border-color: #c8d1cb; background: #fff; box-shadow: 0 10px 22px rgba(20, 28, 23, .06); }
.report-outcomes-page .outcome-area-pill { justify-self: start; min-height: 0; padding: 0; border: 0; border-radius: 0; color: #69766e; background: transparent; font-size: 9px; font-weight: 550; letter-spacing: .04em; }
.report-outcomes-page .outcome-area-pill i { color: #a1aaa4; }
.outcome-card-copy { display: grid; min-width: 0; gap: 4px; }
.report-outcomes-page .outcome-title { overflow: hidden; color: #252d27; font-size: 13px; font-weight: 550; letter-spacing: -.014em; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.outcome-value { overflow: hidden; display: block; color: #7a847d; font-size: 10px; font-weight: 400; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.report-outcomes-page .outcome-toggle { color: #7d887f; font-size: 15px; font-weight: 400; transition: transform .16s ease; }
.report-outcomes-page .outcome-card:hover .outcome-toggle { transform: translateX(3px); }
.outcomes-complete-log-link { display: flex; align-items: center; justify-content: space-between; min-height: 54px; margin-top: 34px; padding: 13px 16px; border: 1px solid #e0e5e1; border-radius: 12px; color: #39453d; background: #fff; box-shadow: 0 5px 15px rgba(20, 28, 23, .03); font-size: 12px; font-weight: 550; text-decoration: none; }
.outcomes-complete-log-link:hover { border-color: #c6d0c9; box-shadow: 0 9px 20px rgba(20, 28, 23, .055); }
.outcomes-complete-log-link > span:last-child { color: #728078; font-size: 16px; transition: transform .16s ease; }
.outcomes-complete-log-link:hover > span:last-child { transform: translateX(3px); }
@media (max-width: 620px) { .report-outcomes-page { padding-top: 20px; } .outcomes-impact-brief { padding-bottom: 27px; } .outcomes-impact-brief h2 { font-size: 28px; } .outcomes-impact-brief > header > p { font-size: 13px; } .outcomes-theme-grid { grid-template-columns: 1fr; gap: 7px; margin-top: 19px; } .outcomes-theme-grid article { min-height: 0; padding: 14px; } .report-outcomes-page .report-outcomes { gap: 24px; } .report-outcomes-page .outcome-card { grid-template-columns: minmax(0, 1fr) 17px; gap: 7px 10px; min-height: 0; padding: 13px; } .report-outcomes-page .outcome-area-pill { grid-column: 1; } .report-outcomes-page .outcome-card-copy { grid-column: 1; } .report-outcomes-page .outcome-toggle { grid-column: 2; grid-row: 1 / span 2; align-self: center; } .report-outcomes-page .outcome-title, .outcome-value { overflow: visible; white-space: normal; } .outcomes-complete-log-link { margin-top: 28px; } }

/* Work log is a compact, scan-first delivery register. */
.work-log-ledger { overflow: hidden; border: 1px solid #e1e6e2; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(20, 28, 23, .04); }
.log-ledger-head, .log-ledger-row { display: grid; grid-template-columns: 108px minmax(250px, 1fr) minmax(150px, .52fr) 74px 74px minmax(108px, .43fr) 30px; align-items: center; gap: 14px; }
.log-ledger-head { min-height: 40px; padding: 0 16px; color: #8b938d; background: #fafbfa; font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.log-ledger-row { min-height: 68px; padding: 10px 16px; border-top: 1px solid #edf0ee; color: var(--ink); background: #fff; cursor: pointer; outline: none; transition: background .16s ease; }
.log-ledger-row:hover { background: #fbfcfb; }
.log-ledger-row:focus-visible { box-shadow: inset 0 0 0 2px rgba(23, 63, 44, .28); }
.log-ledger-row-hidden { background: #fcfaf8; }
.log-ledger-date { display: grid; gap: 2px; min-width: 0; }
.log-ledger-date strong { color: #303832; font-size: 11px; font-weight: 600; letter-spacing: -.014em; }
.log-ledger-date span { color: #929a95; font-size: 9px; font-weight: 500; letter-spacing: .02em; }
.log-ledger-outcome { min-width: 0; }
.log-ledger-outcome a { display: block; min-width: 0; color: inherit; text-decoration: none; }
.log-ledger-outcome strong { display: block; overflow: hidden; color: #272f29; font-size: 13px; font-weight: 550; letter-spacing: -.014em; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.log-ledger-arrow { display: inline-block; margin-left: 7px; color: #7b867e; font-size: 14px; font-weight: 400; transition: transform .16s ease; }
.log-ledger-row:hover .log-ledger-arrow { transform: translateX(3px); }
.log-ledger-context { overflow: hidden; display: block; min-width: 0; color: #737e76; font-size: 10px; font-weight: 500; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.log-ledger-context i { color: #a0a8a2; font-style: normal; }
.log-ledger-context em { margin-left: 5px; color: #a1652d; font-size: 9px; font-style: normal; font-weight: 600; }
.log-ledger-time { display: grid; gap: 2px; min-width: 0; }
.log-ledger-time span { color: #959d97; font-size: 9px; font-weight: 500; }
.log-ledger-time strong { overflow: hidden; color: #38413b; font-size: 11px; font-weight: 600; letter-spacing: -.014em; text-overflow: ellipsis; white-space: nowrap; }
.log-ledger-source { display: flex; align-items: center; min-width: 0; gap: 7px; }
.log-ledger-source .session-badge { overflow: hidden; min-width: 0; padding: 0; border: 0; border-radius: 0; color: #68736c; background: transparent; font-size: 10px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.log-ledger-source .verified-badge { display: inline-grid; box-sizing: border-box; flex: 0 0 16px; place-items: center; width: 16px; min-width: 16px; max-width: 16px; height: 16px; min-height: 16px !important; max-height: 16px; margin: 0; padding: 0; border: 0; border-radius: 50%; aspect-ratio: 1 / 1; color: #fff; background: #1877f2; font-size: 9px; line-height: 1; vertical-align: middle; }
.log-ledger-source .verified-badge > span { display: grid; place-items: center; width: 100%; min-width: 0; height: 100%; min-height: 0 !important; margin: 0; padding: 0; color: inherit; background: transparent; font-size: 9px; font-weight: 800; line-height: 1; }
.log-ledger-actions { display: flex; justify-content: flex-end; min-width: 0; cursor: default; }
.log-ledger-actions .entry-menu { margin: 0; }
.log-ledger-actions .entry-menu summary { width: 28px; height: 28px; min-height: 0 !important; }
@media (max-width: 1180px) { .log-ledger-head, .log-ledger-row { grid-template-columns: 98px minmax(210px, 1fr) minmax(135px, .5fr) 70px 70px 30px; gap: 11px; } .log-ledger-head > :nth-child(6), .log-ledger-source { display: none; } }
@media (max-width: 760px) { .log-ledger-head, .log-ledger-row { grid-template-columns: 88px minmax(180px, 1fr) 64px 64px 30px; } .log-ledger-head > :nth-child(3), .log-ledger-context { display: none; } }
@media (max-width: 620px) { .work-log-ledger { border-radius: 12px; } .log-ledger-head { display: none; } .log-ledger-row { grid-template-columns: 70px minmax(0, 1fr) 29px; grid-template-areas: "date outcome action" "date context action" "date times action" "date source action"; gap: 4px 10px; min-height: 91px; padding: 12px; } .log-ledger-date { grid-area: date; align-self: start; padding-top: 2px; } .log-ledger-date strong { font-size: 10px; } .log-ledger-date span { font-size: 8px; } .log-ledger-outcome { grid-area: outcome; } .log-ledger-outcome strong { overflow: visible; font-size: 12px; text-overflow: clip; white-space: normal; } .log-ledger-context { grid-area: context; display: block; font-size: 9px; } .log-ledger-time { display: flex; align-items: baseline; gap: 5px; } .log-ledger-personal { grid-area: times; } .log-ledger-agent { grid-area: times; justify-self: start; margin-left: 76px; } .log-ledger-time span { font-size: 9px; } .log-ledger-time strong { font-size: 10px; } .log-ledger-source { grid-area: source; display: flex; gap: 6px; } .log-ledger-source .session-badge { font-size: 9px; } .log-ledger-source .verified-badge { flex-basis: 14px; width: 14px; min-width: 14px; max-width: 14px; height: 14px; min-height: 14px !important; max-height: 14px; font-size: 8px; } .log-ledger-source .verified-badge > span { font-size: 8px; } .log-ledger-actions { grid-area: action; align-self: start; } }

/* Work log summary stays factual, calm and free from chart clutter. */
.log-chart-return { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; color: #415047; font-size: 11px; font-weight: 550; text-decoration: none; }
.log-chart-return > span { color: var(--forest); font-size: 15px; transition: transform .16s ease; }
.log-chart-return > small { margin-left: 4px; color: #8b948e; font-size: 10px; font-weight: 500; }
.log-chart-return:hover > span { transform: translateX(-3px); }
.log-chart-return:hover strong { color: var(--forest); }
.log-summary { gap: 10px; margin-bottom: 28px; }
.log-summary > div, .log-summary .summary-personal, .log-summary-with-period > .log-period-overview { border: 1px solid #e3e7e4; border-radius: 13px; background: #fff; box-shadow: 0 7px 18px rgba(20, 28, 23, .035); }
.log-summary > div { padding: 18px 20px; }
.log-summary span { color: #78827b; font-size: 9px; font-weight: 600; letter-spacing: .09em; }
.log-summary strong { margin-top: 6px; color: var(--ink); font-size: 21px; font-weight: 550; letter-spacing: -.025em; }

/* Outcomes can be explored deeply without turning the page into a second work log. */
.outcomes-theme-grid .outcomes-theme-card { display: flex; align-items: center; gap: 11px; min-height: 68px !important; padding: 14px; border: 1px solid #e1e6e2; border-radius: 13px; color: var(--ink); background: #fff; box-shadow: 0 7px 18px rgba(20, 28, 23, .035); font-family: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.outcomes-theme-grid .outcomes-theme-card:hover { border-color: #c7d1ca; box-shadow: 0 11px 24px rgba(20, 28, 23, .065); transform: translateY(-1px); }
.outcomes-theme-card:focus-visible { outline: 3px solid rgba(23, 63, 53, .18); outline-offset: 2px; }
.outcomes-theme-card-icon { display: grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #29543e; background: #f1f6f2; transition: background .16s ease, color .16s ease, transform .16s ease; }
.outcomes-theme-card-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.outcomes-theme-card:hover .outcomes-theme-card-icon { color: #fff; background: #1d543d; transform: scale(1.04); }
.outcomes-theme-card strong { display: block; color: #29332d; font-size: 12px; font-weight: 550; letter-spacing: -.012em; }
.outcome-area-more { margin-top: 1px; }
.outcome-area-more > summary { display: flex; align-items: center; justify-content: space-between; min-height: 38px; padding: 8px 2px; color: #657168; font-size: 10px; font-weight: 550; cursor: pointer; list-style: none; }
.outcome-area-more > summary::-webkit-details-marker { display: none; }
.outcome-area-more > summary > span { display: inline-block; color: #7b877f; font-size: 16px; font-weight: 400; transition: transform .16s ease; }
.outcome-area-more[open] > summary > span { transform: rotate(45deg); }
.outcome-area-more > .outcome-card-list { margin-top: 2px; }
.outcome-theme-modal { width: min(710px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: auto; border: 0; border-radius: 18px; box-shadow: 0 28px 90px rgba(9, 20, 14, .22); }
.outcome-theme-modal::backdrop { background: rgba(10, 18, 13, .4); backdrop-filter: blur(4px); }
.outcome-theme-modal > div { position: relative; padding: 34px; background: #fff; }
.outcome-theme-modal > div > button { position: absolute; top: 15px; right: 16px; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 1px solid #e5e8e5; border-radius: 50%; color: #67716b; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.outcome-theme-modal h2 { max-width: 560px; margin: 7px 40px 9px 0; color: #222924; font-size: clamp(25px, 3vw, 33px); font-weight: 550; letter-spacing: -.04em; line-height: 1.1; }
.outcome-theme-modal-summary { max-width: 560px; margin: 0 0 11px; padding: 15px 16px; border: 1px solid #e4e9e5; border-radius: 12px; background: #f8faf8; }
.outcome-theme-modal-summary > span { display: block; color: #748078; font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.outcome-theme-modal-summary p { margin: 6px 0 0; color: #465149; font-size: 12px; line-height: 1.58; }
.outcome-theme-modal-context { max-width: 560px; margin: 0 0 21px; color: #717b74; font-size: 11px; line-height: 1.55; }
.outcome-theme-modal-list { display: grid; gap: 7px; }
.outcome-theme-modal-list a { display: grid; grid-template-columns: minmax(0, 1fr) 18px; gap: 3px 12px; padding: 13px 14px; border: 1px solid #e2e7e3; border-radius: 11px; color: var(--ink); background: #fff; text-decoration: none; }
.outcome-theme-modal-list a:hover { border-color: #c7d1ca; background: #fbfcfb; }
.outcome-theme-modal-list a > span { grid-column: 1; color: #748078; font-size: 9px; font-weight: 550; letter-spacing: .045em; text-transform: uppercase; }
.outcome-theme-modal-list a > strong { grid-column: 1; overflow: hidden; color: #29332d; font-size: 12px; font-weight: 550; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.outcome-theme-modal-list a > small { grid-column: 1; overflow: hidden; color: #7d867f; font-size: 10px; font-weight: 400; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.outcome-theme-modal-list a > i { grid-column: 2; grid-row: 1 / span 3; align-self: center; color: #748078; font-size: 15px; font-style: normal; }
.outcome-theme-modal-more { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin-top: 13px; padding: 12px 15px; border: 1px solid #dfe5e1; border-radius: 11px; color: #35443b; background: #fff; font-size: 12px; font-weight: 550; text-decoration: none; }
.outcome-theme-modal-more:hover { border-color: #c5d0c8; background: #fafbfa; }
.outcome-theme-modal-more > span:last-child { color: #738078; font-size: 16px; transition: transform .16s ease; }
.outcome-theme-modal-more:hover > span:last-child { transform: translateX(3px); }
@media (max-width: 620px) { .outcomes-theme-grid .outcomes-theme-card { min-height: 0 !important; padding: 14px; } .outcome-theme-modal > div { padding: 29px 20px; } .outcome-theme-modal h2 { font-size: 26px; } .outcome-theme-modal-list a { padding: 12px; } .outcome-theme-modal-list a > strong, .outcome-theme-modal-list a > small { overflow: visible; white-space: normal; } }

/* Major outcomes are a concise editorial read of this month's verified record. */
.metric-outcomes-trigger { cursor: pointer; }
.metric-outcomes-trigger:hover { border-color: #c7d0ca !important; box-shadow: 0 10px 22px rgba(16, 29, 21, .08) !important; }
.outcomes-modal { width: min(680px, calc(100vw - 32px)); }
.outcomes-modal > div { padding: 34px; }
.outcomes-modal > div > p { max-width: 560px; margin-top: -10px; }
.outcomes-modal-list { display: grid; gap: 7px; max-height: min(445px, 52vh); overflow: auto; }
.outcomes-modal-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 13px 14px; border: 1px solid #e2e7e3; border-radius: 11px; color: var(--ink); background: #fff; text-decoration: none; }
.outcomes-modal-list a:hover { border-color: #c5d0c8; background: #fafbfa; }
.outcomes-modal-list span { grid-column: 1 / -1; color: #78827b; font-size: 9px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.outcomes-modal-list strong { overflow: hidden; color: #29332d; font-size: 13px; font-weight: 550; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.outcomes-modal-list small { grid-column: 1; overflow: hidden; color: #78817b; font-size: 10px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.outcomes-modal-list em { align-self: end; color: #53635a; font-size: 10px; font-style: normal; font-weight: 550; white-space: nowrap; }
.outcomes-modal-more { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin-top: 13px; padding: 12px 15px; border: 1px solid #dfe5e1; border-radius: 11px; color: #334039; background: #f9faf9; font-size: 12px; font-weight: 500; text-decoration: none; }
.outcomes-modal-more:hover { border-color: #c6d1ca; color: var(--ink); background: #fff; }
@media (max-width: 620px) { .outcomes-modal > div { padding: 27px 20px; } .outcomes-modal-list a { gap: 4px 8px; padding: 11px; } .outcomes-modal-list strong { font-size: 12px; } .outcomes-modal-list small { white-space: normal; } }

/* Phone shell: native-feeling navigation and deliberately compact content. */
.mobile-topbar-brand,
.mobile-tabbar { display: none; }

.work-card h3 a { display: inline; max-width: 100%; }
.work-card-title-arrow { display: inline-block; margin-left: 5px; }
.work-card h3,
.work-summary,
.impact-line p,
.evidence p,
.outcome-detail-page p,
.connection-key code { overflow-wrap: anywhere; }
.connection-key code { word-break: break-word; }

@media (max-width: 760px), (max-width: 900px) and (max-height: 560px) {
    html { -webkit-text-size-adjust: 100%; }
    body.app-shell {
        min-height: 100dvh;
        padding-bottom: calc(90px + env(safe-area-inset-bottom));
        background: #f7f7f6;
        overscroll-behavior-y: none;
        scroll-padding-bottom: calc(102px + env(safe-area-inset-bottom));
    }

    .app-rail { display: none !important; }
    .topbar {
        position: sticky;
        z-index: 42;
        top: 0;
        display: flex;
        align-items: center;
        min-height: 58px;
        padding: 8px 14px;
        gap: 10px;
        border-bottom: 1px solid #e7eae7;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 2px 12px rgba(18, 27, 21, .025);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }
    .topbar::after { display: none; }
    .topbar-context { display: none !important; }
    .mobile-topbar-brand {
        display: inline-flex;
        flex: 0 1 auto;
        align-items: center;
        gap: 8px;
        min-width: 0;
        color: var(--forest);
        text-decoration: none;
    }
    .mobile-topbar-brand img {
        width: 27px;
        height: 27px;
        border-radius: 8px;
        object-fit: cover;
    }
    .mobile-topbar-brand strong {
        color: #254236;
        font-size: 14px;
        font-weight: 600;
        letter-spacing: -.045em;
    }
    .mobile-topbar-brand strong span { color: #4f7e62; }
    .topbar-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: auto;
        min-width: 0;
        margin-left: auto;
        gap: 7px;
    }
    .topbar-actions .header-add-work {
        min-width: 0;
        min-height: 36px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 10px;
        white-space: nowrap;
    }
    .topbar-actions .account-menu { min-width: 0; }
    .topbar-actions .account-menu summary {
        overflow: hidden;
        max-width: 108px;
        min-height: 36px !important;
        padding: 8px 10px;
        border-radius: 10px;
        color: #303a33;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .topbar-log {
        min-height: 0;
        padding: 8px 12px 7px;
        gap: 0;
    }
    .topbar-log .topbar-actions {
        justify-content: flex-start;
        width: 100%;
        margin-left: 0;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 1px 2px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .topbar-log .topbar-actions::-webkit-scrollbar { display: none; }
    .topbar-log .topbar-log-filters {
        flex: 0 0 auto;
        order: initial;
        width: max-content;
        flex-wrap: nowrap;
        overflow: visible;
        padding: 0;
    }
    .topbar-log .topbar-log-filters > button {
        min-width: 0;
        min-height: 36px !important;
        height: 36px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 10px;
        white-space: nowrap;
    }
    .topbar-log .topbar-log-filters > button span { font-size: 11px; }
    .topbar-log .header-add-work,
    .topbar-log .account-menu { flex: 0 0 auto; }
    .topbar-log .header-add-work { display: none; }
    .topbar-log .account-menu summary { min-height: 36px !important; }

    .flash {
        z-index: 70;
        top: calc(66px + env(safe-area-inset-top));
        width: calc(100% - 28px);
        padding: 11px 13px;
        border-radius: 11px;
        font-size: 12px;
    }

    body.app-shell .page,
    body.app-shell .narrow-page,
    body.app-shell .overview-page,
    body.app-shell .outcome-detail-page,
    body.app-shell .report-page {
        width: calc(100% - 28px);
        padding-top: 18px;
        padding-bottom: calc(96px + env(safe-area-inset-bottom));
    }
    body.app-shell .report-page { padding-top: 14px; }
    body.app-shell .footer { display: none; }

    .overview-stage { padding-bottom: 8px; }
    .overview-command-layout { grid-template-columns: 1fr; gap: 12px; }
    .overview-hero { min-height: 270px; border-radius: 19px; }
    .overview-hero .overview-toolbar { padding: 24px 22px; }
    .overview-hero .overview-toolbar h1 { max-width: 240px; font-size: clamp(34px, 10vw, 43px); line-height: .98; }
    .overview-period { margin-bottom: 10px; }
    .overview-period strong { font-size: 12px; }
    .overview-period span { font-size: 9px; }
    .overview-metrics-panel { padding: 10px; border-radius: 17px; }
    .overview-command-layout .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        gap: 8px;
    }
    .overview-command-layout .metric-grid article:nth-child(n),
    .overview-command-layout .metric-grid .metric-outcomes-link {
        grid-template-columns: 18px minmax(0, 1fr) 16px;
        grid-template-rows: auto auto;
        min-height: 108px;
        padding: 13px 12px;
        border-radius: 13px;
    }
    .overview-command-layout .metric-index { padding-top: 1px; font-size: 8px; }
    .overview-command-layout .metric-icon { width: 15px; height: 15px; }
    .overview-command-layout .metric-grid strong,
    .overview-command-layout .metric-outcomes-link strong {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        font-size: clamp(20px, 6.2vw, 25px);
        white-space: normal;
    }
    .overview-command-layout .metric-grid span:not(.metric-index),
    .overview-command-layout .metric-outcomes-link span:not(.metric-index) {
        grid-column: 2;
        grid-row: 2;
        margin-top: 5px;
        font-size: 9px;
        line-height: 1.25;
    }
    .overview-command-layout .metric-grid .metric-agent-support { font-size: 8px; }
    .overview-command-layout .metric-outcomes-link { grid-column: 1 / -1; }

    .log-summary { gap: 8px; margin-bottom: 18px; }
    .log-summary > div,
    .log-summary .summary-personal,
    .log-summary-with-period > .log-period-overview { padding: 14px 15px; border-radius: 12px; }
    .log-summary strong { font-size: 18px; }
    .log-period-overview > strong { font-size: 17px; }

    .work-log-ledger { border-radius: 12px; }
    .log-ledger-row { touch-action: manipulation; }
    .work-card-top { align-items: flex-start; flex-direction: column; gap: 10px; }
    .work-card-controls { justify-content: space-between; width: 100%; min-width: 0; }
    .record-provenance { min-width: 0; flex-wrap: wrap; }
    .session-badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .report-dashboard-page .report-sheet,
    .report-outcomes-page .report-sheet { overflow: visible; }
    .report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 15px; }
    .report-metrics div,
    .report-metrics div:first-child,
    .report-metrics .metric-personal { padding: 11px; border-radius: 11px; }
    .report-metrics strong,
    body.app-shell .report-metrics strong,
    .report-metrics .metric-personal strong { font-size: 17px; white-space: normal; }
    .report-metrics span { font-size: 9px; }
    .report-insight-layout { grid-template-columns: 1fr; gap: 11px; }
    .report-dashboard-page .chart-card,
    .report-dashboard-page .allocation-card { min-height: 0; padding: 16px 14px; border-radius: 15px; }
    .report-dashboard-page .chart-card > header,
    .report-dashboard-page .allocation-card > header { align-items: flex-start; flex-direction: column; gap: 5px; margin-bottom: 13px; }
    .report-dashboard-page .chart-card > header h3,
    .report-dashboard-page .allocation-card > header h3 { font-size: 17px; }
    .report-dashboard-page .allocation-tabs { width: 100%; overflow-x: auto; padding: 3px; }
    .report-dashboard-page .allocation-tabs a { flex: 0 0 auto; min-height: 32px; padding: 7px 9px; }
    .report-dashboard-page .bar-row { grid-template-columns: 1fr; gap: 8px; padding-bottom: 10px; }
    .report-dashboard-page .bar-series { grid-template-columns: 42px minmax(0, 1fr) 58px; gap: 7px; }
    .allocation-bar-row { gap: 5px 8px; }
    .allocation-bar-name { font-size: 10px; }
    .allocation-bar-row > strong { font-size: 10px; }
    .allocation-bar-row > small { font-size: 9px; }

    .report-outcomes-page { padding-top: 19px; }
    .outcomes-impact-brief { padding-bottom: 22px; }
    .outcomes-impact-brief h2 { font-size: 28px; }
    .outcomes-impact-brief > header > p { font-size: 12px; }
    .outcomes-theme-grid { grid-template-columns: 1fr; gap: 7px; margin-top: 17px; }
    .outcomes-theme-grid .outcomes-theme-card { min-height: 0 !important; padding: 14px; }
    .report-outcomes-page .report-outcomes { gap: 21px; }
    .outcome-area-group > header { align-items: flex-start; flex-direction: column; gap: 2px; }
    .report-outcomes-page .outcome-card { min-height: 0; }

    .outcome-detail-page { max-width: 680px; }
    .outcome-detail-page .detail-toolbar { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
    .detail-record-navigation { gap: 8px; }
    .detail-record-link { min-height: 72px; padding: 13px; }

    .filter-dialog,
    .contribution-modal,
    .outcome-theme-modal {
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 24px);
        border-radius: 18px;
    }
    .filter-modal,
    .contribution-modal > div,
    .outcome-theme-modal > div { padding: 26px 19px; }
    .filter-modal h2,
    .contribution-modal h2 { font-size: 26px; }
    .date-presets { grid-template-columns: 1fr; gap: 6px; margin-bottom: 18px; }
    .calendar { padding: 13px 10px; }
    .calendar header strong { font-size: 15px; }
    .calendar-days button { font-size: 14px; }
    .filter-options { grid-template-columns: 1fr; max-height: min(360px, 48dvh); }

    .mobile-tabbar {
        position: fixed;
        z-index: 60;
        right: 10px;
        bottom: max(9px, env(safe-area-inset-bottom));
        left: 10px;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: stretch;
        min-height: 63px;
        padding: 5px;
        border: 1px solid rgba(224, 230, 225, .94);
        border-radius: 19px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 12px 32px rgba(16, 30, 22, .14), 0 2px 8px rgba(16, 30, 22, .05);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }
    .mobile-tabbar.mobile-tabbar--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .mobile-tabbar-item {
        display: grid;
        place-items: center;
        align-content: center;
        gap: 3px;
        min-width: 0;
        min-height: 52px;
        padding: 4px 2px;
        border-radius: 14px;
        color: #78827c;
        font-size: 8.5px;
        font-weight: 550;
        letter-spacing: -.01em;
        line-height: 1;
        text-align: center;
        text-decoration: none;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }
    .mobile-tabbar-item svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
    }
    .mobile-tabbar-item.is-active { color: #184c38; background: #eaf2ed; }
    .mobile-tabbar-add { color: #fff; background: #174b37; box-shadow: 0 5px 12px rgba(14, 56, 40, .17); }
    .mobile-tabbar-add svg { stroke-width: 1.75; }
    .mobile-tabbar-add.is-active { color: #fff; background: #0d392b; }

    button,
    a,
    summary { touch-action: manipulation; }
}

@media (max-width: 390px) {
    .mobile-tabbar { right: 7px; left: 7px; border-radius: 17px; }
    .mobile-tabbar-item { font-size: 8px; }
    .mobile-tabbar-item svg { width: 17px; height: 17px; }
    .topbar-actions .account-menu summary { max-width: 86px; }
}

@media print {
    .mobile-tabbar { display: none !important; }
}

/* Source-grounded Worklog search. */
.worklog-ai-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px !important;
    padding: 7px 10px;
    border: 1px solid #dfe5e1;
    border-radius: 9px;
    color: #34443a;
    background: #fff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 550;
    letter-spacing: -.012em;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.worklog-ai-trigger:hover { border-color: #bfcfc4; color: #173f35; background: #fafcfb; box-shadow: 0 5px 13px rgba(14, 28, 19, .05); }
.worklog-ai-trigger:focus-visible { outline: 3px solid rgba(23, 63, 53, .16); outline-offset: 2px; }
.worklog-ai-trigger svg,
.rail-ai-search svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.worklog-ai-trigger kbd { padding: 2px 4px; border: 1px solid #e4e8e5; border-radius: 4px; color: #879088; background: #f7f9f7; font-family: inherit; font-size: 8px; font-weight: 600; line-height: 1; }
.app-rail .rail-ai-search { display: inline-flex; align-items: center; gap: 7px; width: 100%; min-height: 30px !important; padding: 6px 0; border: 0; color: var(--muted); background: transparent; font-family: inherit; font-size: 11px; font-weight: 500; text-align: left; cursor: pointer; }
.app-rail .rail-ai-search:hover { color: var(--forest); }

.worklog-ai-dialog { width: min(720px, calc(100vw - 32px)); max-height: min(780px, calc(100dvh - 32px)); overflow: hidden; padding: 0; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 32px 110px rgba(9, 20, 14, .28); }
.worklog-ai-dialog::backdrop { background: rgba(10, 18, 13, .38); backdrop-filter: blur(8px); }
.worklog-ai-shell { position: relative; display: grid; grid-template-rows: auto auto auto; padding: 20px; background: radial-gradient(circle at 92% 0, rgba(211, 230, 217, .3), transparent 31%), #fbfcfb; }
.worklog-ai-close { position: absolute; top: 20px; right: 20px; z-index: 2; width: 32px; height: 32px; min-height: 0 !important; padding: 0; border: 0; border-radius: 50%; color: #77817b; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; transition: color .18s ease, background .18s ease; }
.worklog-ai-close:hover { color: var(--ink); background: rgba(28, 50, 38, .07); }
.worklog-ai-close:focus-visible { outline: 3px solid rgba(23, 63, 53, .18); outline-offset: 2px; }
.worklog-ai-dialog h2 { margin: 3px 12px 15px; color: #1e2a23; font-size: 20px; font-weight: 550; letter-spacing: -.035em; line-height: 1.15; }
.worklog-ai-thread { display: none; flex-direction: column; align-items: stretch; justify-content: flex-end; gap: 10px; max-height: 450px; overflow: auto; padding: 6px 3px 16px; background: transparent; scroll-behavior: smooth; }
.worklog-ai-thread.has-messages { display: flex; }
.worklog-ai-message { display: grid; gap: 10px; max-width: min(91%, 570px); opacity: 0; transform: translateY(10px) scale(.985); }
.worklog-ai-message.is-visible,
.worklog-ai-typing.is-visible,
.worklog-ai-error.is-visible { animation: worklog-ai-message-in .42s cubic-bezier(.2, .8, .2, 1) forwards; }
.worklog-ai-message-user { align-self: flex-end; margin-left: auto; padding: 12px 15px; border-radius: 18px 18px 5px 18px; color: #fff; background: linear-gradient(135deg, #1a4d38, #245f45); box-shadow: 0 10px 22px rgba(20, 73, 49, .18); }
.worklog-ai-message-user p { margin: 0; font-size: 13px; line-height: 1.52; }
.worklog-ai-message-assistant { align-self: flex-start; padding: 16px; border: 1px solid rgba(220, 228, 222, .94); border-radius: 18px 18px 18px 5px; color: #28342d; background: rgba(255, 255, 255, .96); box-shadow: 0 12px 28px rgba(18, 30, 22, .07); }
.worklog-ai-answer > p:first-child { margin: 0; font-size: 13px; line-height: 1.68; white-space: pre-line; }
.worklog-ai-answer > p:first-child strong { color: #193f30; font-weight: 620; }
.worklog-ai-caveat { margin: 0; padding-top: 9px; border-top: 1px solid #edf0ee; color: #6d7771; font-size: 11px; line-height: 1.55; }
.worklog-ai-typing { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 13px 15px; border: 1px solid rgba(220, 228, 222, .94); border-radius: 18px 18px 18px 5px; opacity: 0; transform: translateY(8px) scale(.985); background: #fff; box-shadow: 0 8px 20px rgba(18, 30, 22, .05); }
.worklog-ai-typing span { width: 6px; height: 6px; border-radius: 50%; background: #7f9285; animation: worklog-ai-dot 1s infinite ease-in-out; }
.worklog-ai-typing span:nth-child(2) { animation-delay: .14s; }
.worklog-ai-typing span:nth-child(3) { animation-delay: .28s; }
.worklog-ai-error { align-self: flex-start; max-width: 88%; margin: 0; padding: 12px 14px; border: 1px solid #edd8d4; border-radius: 17px 17px 17px 5px; color: #8b3b32; opacity: 0; transform: translateY(8px); background: #fff8f7; font-size: 12px; line-height: 1.5; }
.worklog-ai-sources { display: grid; gap: 6px; padding-top: 2px; }
.worklog-ai-sources > div { display: grid; gap: 4px; }
.worklog-ai-source { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 9px; padding: 5px 2px; border: 0; border-radius: 0; color: var(--ink); background: transparent; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.worklog-ai-source:hover { color: #1d5a40; transform: translateX(2px); }
.worklog-ai-source strong { overflow: hidden; color: inherit; font-size: 10px; font-weight: 550; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.worklog-ai-source small { grid-column: 1; overflow: hidden; color: #7b847e; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.worklog-ai-source em { grid-row: 1 / span 2; grid-column: 2; color: #53735e; font-size: 13px; font-style: normal; }
.worklog-ai-source-reason { display: none; }
.worklog-ai-form { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: end; gap: 8px; margin-top: 12px; padding: 5px; border: 1px solid #dce4de; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(15, 32, 21, .06); transition: border-color .18s ease, box-shadow .18s ease; }
.worklog-ai-form:focus-within { border-color: #9cb5a4; box-shadow: 0 0 0 3px rgba(31, 85, 61, .08), 0 10px 24px rgba(15, 32, 21, .06); }
.worklog-ai-form textarea { width: 100%; min-height: 40px !important; max-height: 128px; resize: none; padding: 10px 11px; border: 0; color: var(--ink); background: transparent; font: inherit; font-size: 13px; line-height: 1.5; outline: none; }
.worklog-ai-form textarea::placeholder { color: #9ba39d; }
.worklog-ai-form button { display: grid; place-items: center; width: 40px; height: 40px; min-height: 40px !important; padding: 0; border: 0; border-radius: 12px; color: #fff; background: #184c38; cursor: pointer; transition: background .18s ease, transform .18s ease, opacity .18s ease; }
.worklog-ai-form button:hover:not(:disabled) { background: #103d2c; transform: translateY(-1px); }
.worklog-ai-form button:disabled { cursor: wait; opacity: .72; }
.worklog-ai-form button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.worklog-ai-form button.is-loading svg { animation: worklog-ai-send-pulse .82s ease-in-out infinite; }
@keyframes worklog-ai-message-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes worklog-ai-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@keyframes worklog-ai-send-pulse { 50% { transform: scale(.72); opacity: .45; } }

@media (prefers-reduced-motion: reduce) {
    .worklog-ai-thread { scroll-behavior: auto; }
    .worklog-ai-message.is-visible,
    .worklog-ai-typing.is-visible,
    .worklog-ai-error.is-visible,
    .worklog-ai-typing span,
    .worklog-ai-form button.is-loading svg { animation: none; }
}

@media (max-width: 760px), (max-width: 900px) and (max-height: 560px) {
    .worklog-ai-trigger { justify-content: center; width: 36px; min-width: 36px; height: 36px; min-height: 36px !important; padding: 0; border-radius: 10px; }
    .worklog-ai-trigger span,
    .worklog-ai-trigger kbd { display: none; }
    .topbar-log .worklog-ai-trigger { flex: 0 0 36px; }
    .worklog-ai-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 21px; }
    .worklog-ai-shell { padding: 12px; }
    .worklog-ai-close { top: 15px; right: 14px; }
    .worklog-ai-dialog h2 { margin: 8px 10px 13px; font-size: 18px; }
    .worklog-ai-thread { max-height: calc(100dvh - 176px); padding: 4px 2px 12px; }
    .worklog-ai-message { max-width: 94%; }
    .worklog-ai-message-user { padding: 11px 13px; }
    .worklog-ai-message-assistant { padding: 14px; }
    .worklog-ai-source strong,
    .worklog-ai-source small { white-space: normal; }
    .worklog-ai-form { margin-top: 9px; border-radius: 14px; }
}

/* Shared delivery record. Keep the overview useful to the whole team first. */
.overview-controls { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.overview-controls .overview-period { margin: 0; }
.overview-member-select { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 7px; min-width: 132px; min-height: 0 !important; padding: 8px 9px; border: 1px solid #e1e5e2; border-radius: 9px; color: #3c4740; background: #fff; font-family: inherit; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease; }
.overview-member-select:hover { border-color: #bdc9c0; box-shadow: 0 5px 13px rgba(18, 29, 22, .05); }
.overview-member-select span { color: #7a847e; font-size: 8px; font-weight: 600; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.overview-member-select strong { overflow: hidden; min-width: 0; color: var(--ink); font-size: 11px; font-weight: 550; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.overview-member-select i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #78837c; font-size: 12px; font-style: normal; }
.overview-member-dialog .filter-options { grid-template-columns: 1fr; }
.overview-member-dialog .filter-options a { display: flex; align-items: center; min-height: 42px; padding: 11px 12px; border: 1px solid #e1e5e2; border-radius: 9px; color: #39443d; background: #fff; font-size: 12px; font-weight: 500; text-decoration: none; transition: border-color .18s ease, background .18s ease; }
.overview-member-dialog .filter-options a:hover { border-color: #aec2b4; color: var(--ink); background: #f6f8f6; }

.team-pulse { margin: 10px 0 34px; padding: 19px 20px; border: 1px solid #e4e8e5; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(16, 25, 19, .04); }
.team-pulse > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.team-pulse h2 { margin: 4px 0 0; color: var(--ink); font-size: 18px; font-weight: 550; letter-spacing: -.03em; line-height: 1.2; }
.team-pulse > header p { max-width: 280px; margin: 0; color: #7a847e; font-size: 10px; line-height: 1.45; text-align: right; }
.team-pulse-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
.team-pulse-grid a { display: grid; grid-template-columns: minmax(0, 1fr) auto 14px; align-items: center; gap: 9px; min-height: 68px; padding: 11px 12px; border: 1px solid #e9ece9; border-radius: 11px; color: inherit; background: #fbfcfb; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.team-pulse-grid a:hover { border-color: #c8d2ca; box-shadow: 0 8px 18px rgba(17, 30, 22, .06); transform: translateY(-1px); }
.team-pulse-grid strong, .team-pulse-grid b { display: block; color: var(--ink); font-size: 12px; font-weight: 550; line-height: 1.3; }
.team-pulse-grid span, .team-pulse-grid small { display: block; margin-top: 3px; color: #7a847e; font-size: 9px; font-weight: 450; line-height: 1.35; }
.team-pulse-grid .team-presence { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; color: #8a938d; font-size: 9px; font-style: normal; font-weight: 500; line-height: 1.2; }
.team-pulse-grid .team-presence i { width: 6px; height: 6px; color: transparent; border-radius: 50%; background: #b6bdb8; }
.team-pulse-grid .team-presence.is-active { color: #236747; }
.team-pulse-grid .team-presence.is-active i { background: #2a8a57; box-shadow: 0 0 0 3px rgba(42, 138, 87, .12); animation: team-presence-pulse 1.8s ease-in-out infinite; }
.team-pulse-grid small { text-align: right; }
.team-pulse-grid i { color: #6b7a70; font-size: 14px; font-style: normal; transition: transform .18s ease; }
.team-pulse-grid a:hover i { color: var(--forest); transform: translateX(2px); }
@keyframes team-presence-pulse { 50% { box-shadow: 0 0 0 5px rgba(42, 138, 87, 0); } }

@media (max-width: 620px) {
    .overview-controls { align-items: stretch; flex-direction: column; }
    .overview-member-select { width: 100%; }
    .team-pulse { margin-bottom: 24px; padding: 16px; }
    .team-pulse > header { display: block; margin-bottom: 12px; }
    .team-pulse > header p { max-width: none; margin-top: 7px; text-align: left; }
    .team-pulse-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { .team-pulse-grid .team-presence.is-active i { animation: none; } }

.connection-demo-note { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 2px; padding: 11px 12px; border: 1px solid #e5e2da; border-radius: 11px; color: #555d58; background: #f7f6f2; font-size: 11px; line-height: 1.45; }
.connection-demo-note strong { flex: 0 0 auto; color: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.connection-demo-note span { min-width: 0; }

/* Keep every utility action on one clean left edge in the desktop rail. */
.app-rail .rail-device-link {
    width: 100%;
    min-height: 30px !important;
    padding: 6px 0;
    border-radius: 8px;
    font-size: 11px;
}
.app-rail .rail-device-link:hover { color: var(--forest); background: transparent; font-weight: 500; }
.app-rail .rail-device-link.nav-active {
    width: calc(100% + 16px);
    margin-inline: -8px;
    padding-inline: 8px;
    color: var(--forest);
    background: var(--mist);
    font-weight: 600;
}
/* Deterministic Work log search, separate from Ask Worklog intelligence. */
.topbar-log-filters > .log-search-trigger { justify-content: flex-start; min-width: 126px; max-width: 178px; gap: 7px; }
.log-search-trigger svg, .log-search-field svg { flex: 0 0 auto; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.topbar-log-filters > .log-search-trigger strong { overflow: hidden; min-width: 0; font-size: 10px; font-weight: 520; text-overflow: ellipsis; white-space: nowrap; }
.topbar-log-filters > .log-search-trigger.is-filtered { border-color: #9bb4a4; color: #173f35; background: #f2f7f3; box-shadow: inset 0 0 0 1px rgba(23, 63, 53, .04); }
.log-search-dialog .filter-modal { box-sizing: border-box; width: 100%; }
.log-search-intro { max-width: 460px; margin: -8px 0 18px; color: #748078; font-size: 12px; line-height: 1.55; }
.log-search-field { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 50px; padding: 6px 13px; border: 1px solid #dce3de; border-radius: 12px; color: #6c7870; background: #fff; box-shadow: 0 8px 22px rgba(17, 35, 24, .045); }
.log-search-field:focus-within { border-color: #9db6a5; box-shadow: 0 0 0 3px rgba(23, 63, 53, .08), 0 8px 22px rgba(17, 35, 24, .045); }
.log-search-field input { width: 100%; min-height: 38px !important; padding: 7px 0; border: 0; color: var(--ink); background: transparent; font-family: inherit; font-size: 13px; outline: 0; }
.log-search-field input::placeholder { color: #9aa39d; }
.log-search-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.log-search-actions button { min-height: 38px !important; padding: 8px 13px; border: 1px solid #dce2de; border-radius: 9px; color: #4f5a53; background: #fff; font-family: inherit; font-size: 11px; font-weight: 560; cursor: pointer; }
.log-search-actions button:last-child { border-color: #173f35; color: #fff; background: #173f35; }
.log-search-actions button:hover { border-color: #b9c6bd; color: var(--ink); }
.log-search-actions button:last-child:hover { color: #fff; background: #0f352b; }
@media (max-width: 620px) {
    .topbar-log-filters > .log-search-trigger { min-width: 112px; max-width: 148px; }
    .log-search-dialog .filter-modal { width: 100%; max-width: 100%; }
    .log-search-actions { display: grid; grid-template-columns: 1fr 1fr; }
}
/* Private owner access activity */
.access-activity-page { max-width: 1540px; }
.access-activity-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.access-activity-heading h1 { margin: 6px 0 6px; color: var(--ink); font-size: clamp(30px, 3vw, 42px); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; }
.access-activity-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.owner-only-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #fff; font-size: 10px; font-weight: 500; }
.owner-only-chip i, .connection-state i, .api-state i { width: 7px; height: 7px; border-radius: 50%; background: #93a09a; }
.access-activity-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.access-activity-summary article { min-height: 124px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 12px 35px -30px rgba(11, 13, 12, .32); }
.access-activity-summary span, .access-activity-summary small { display: block; color: var(--muted); font-size: 10px; font-weight: 500; }
.access-activity-summary strong { display: block; margin: 12px 0 4px; color: var(--ink); font-size: 28px; font-weight: 500; letter-spacing: -.04em; }
.nicolas-connection-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 12px 35px -30px rgba(11, 13, 12, .32); }
.connection-person, .access-person { display: flex; align-items: center; gap: 12px; min-width: 0; }
.connection-avatar, .access-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff; background: var(--forest); font-size: 11px; font-style: normal; font-weight: 600; }
.connection-person span:not(.connection-avatar), .connection-person strong { display: block; }
.connection-person span:not(.connection-avatar) { color: var(--muted); font-size: 10px; }
.connection-person strong { margin-top: 2px; color: var(--ink); font-size: 13px; font-weight: 600; }
.connection-proof { display: grid; justify-items: end; gap: 5px; text-align: right; }
.connection-state, .api-state { display: inline-flex; align-items: center; gap: 7px; width: max-content; color: #66706c; font-size: 10px; font-weight: 500; }
.connection-proof small, .access-ledger-row small { color: var(--muted); font-size: 9px; font-weight: 400; }
.connection-state.is-active, .api-state.is-active { color: #176b4d; }
.connection-state.is-active i, .api-state.is-active i { background: #22a06b; box-shadow: 0 0 0 3px rgba(34,160,107,.11); }
.connection-state.is-pending, .api-state.is-pending { color: #956612; }
.connection-state.is-pending i, .api-state.is-pending i { background: #dba53b; }
.access-ledger { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 35px -30px rgba(11, 13, 12, .32); }
.access-ledger > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 20px 22px; }
.access-ledger h2 { margin: 5px 0 0; color: var(--ink); font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.access-ledger > header p { margin: 0; color: var(--muted); font-size: 10px; }
.access-ledger-head, .access-ledger-row { display: grid; grid-template-columns: minmax(230px, 1.35fr) repeat(3, minmax(150px, 1fr)); gap: 18px; align-items: center; }
.access-ledger-head { padding: 9px 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); background: #fafbfa; font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; }
.access-ledger-row { min-height: 78px; padding: 15px 22px; border-bottom: 1px solid var(--line); }
.access-ledger-row:last-child { border-bottom: 0; }
.access-ledger-row > div:not(.access-person) { display: grid; gap: 4px; }
.access-ledger-row > div > strong { color: var(--ink); font-size: 11px; font-weight: 500; }
.access-person strong, .access-person span, .access-person small { display: block; min-width: 0; }
.access-person strong { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.access-person span { overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.access-person small { margin-top: 3px; }
.access-evidence-note { max-width: 980px; margin: 14px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.access-evidence-note strong { color: var(--ink); font-weight: 600; }
@media (max-width: 980px) {
    .access-ledger-head { display: none; }
    .access-ledger-row { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 18px; }
    .access-ledger-row .access-person { grid-column: 1 / -1; padding-bottom: 12px; }
    .access-ledger-row > div:not(.access-person)::before { color: var(--muted); font-size: 8px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; content: attr(data-label); }
}
@media (max-width: 700px) {
    .access-activity-page { padding-bottom: 96px; }
    .access-activity-heading, .nicolas-connection-card, .access-ledger > header { align-items: flex-start; flex-direction: column; }
    .access-activity-summary { grid-template-columns: 1fr; }
    .access-activity-summary article { min-height: 104px; }
    .connection-proof { justify-items: start; text-align: left; }
    .access-ledger-row { grid-template-columns: 1fr; gap: 14px; }
    .access-ledger-row .access-person { grid-column: auto; }
}

/* The overview becomes a compact delivery feed on phones. */
@media (max-width: 760px), (max-width: 900px) and (max-height: 560px) {
    .overview-page #recent-work {
        margin: 0 0 11px;
        padding: 28px 2px 0;
    }
    .overview-page #recent-work .section-title-lockup { display: block; }
    .overview-page #recent-work .section-index,
    .overview-page #recent-work .kicker,
    .overview-page #recent-work p { display: none; }
    .overview-page #recent-work h2 {
        margin: 0;
        color: #1c241f;
        font-size: 21px;
        font-weight: 560;
        line-height: 1.2;
        letter-spacing: -.035em;
    }
    .overview-page .work-list { gap: 8px; }
    .overview-page .work-card {
        display: block;
        overflow: hidden;
        border: 1px solid #e3e7e4;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(18, 29, 22, .035);
        transform: none;
    }
    .overview-page .work-card:hover {
        border-color: #d6ddd8;
        box-shadow: 0 9px 24px rgba(18, 29, 22, .055);
        transform: none;
    }
    .overview-page .work-card-rail {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 11px 13px 5px;
        border: 0;
        border-radius: 0;
        color: #7c857f;
        background: #fff;
    }
    .overview-page .work-card-rail .entry-id {
        color: #858d88;
        font-size: 8px;
        font-weight: 520;
        letter-spacing: .04em;
    }
    .overview-page .work-card-rail time {
        display: flex;
        align-items: baseline;
        gap: 4px;
        margin: 0;
        color: #7c857f;
    }
    .overview-page .work-card-rail time strong,
    .overview-page .work-card-rail time span,
    .overview-page .work-card-rail time small {
        margin: 0;
        color: inherit;
        font-family: inherit;
        font-size: 8px;
        font-weight: 520;
        letter-spacing: .035em;
    }
    .overview-page .work-card-content { padding: 6px 13px 13px; }
    .overview-page .work-card-top {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 8px;
    }
    .overview-page .work-tags {
        display: flex;
        min-width: 0;
        flex: 1;
        flex-wrap: nowrap;
        gap: 5px;
        overflow: hidden;
    }
    .overview-page .work-tag {
        overflow: hidden;
        min-width: 0;
        min-height: 22px;
        padding: 4px 7px;
        border: 0;
        border-radius: 999px;
        color: #66716a;
        background: #f3f5f3;
        font-size: 7px;
        font-weight: 520;
        letter-spacing: .025em;
        text-overflow: ellipsis;
        text-transform: none;
        white-space: nowrap;
    }
    .overview-page .work-card-controls {
        flex: 0 0 auto;
        justify-content: flex-end;
        width: auto;
        min-width: 0;
    }
    .overview-page .record-provenance { flex-wrap: nowrap; gap: 5px; }
    .overview-page .session-badge { display: none; }
    .overview-page .verified-badge,
    .overview-page .manual-badge {
        display: inline-grid;
        width: 20px;
        min-width: 20px;
        height: 20px;
        min-height: 20px !important;
        padding: 0;
        place-items: center;
        border-radius: 50%;
        font-size: 0;
    }
    .overview-page .verified-badge > span,
    .overview-page .manual-badge > span {
        display: grid;
        width: 14px;
        height: 14px;
        place-items: center;
        font-size: 8px;
    }
    .overview-page .entry-menu summary {
        width: 26px;
        min-width: 26px;
        height: 26px;
        min-height: 26px !important;
    }
    .overview-page .work-card h3 {
        margin: 10px 0 0;
        color: #1b211d;
        font-size: 14px;
        font-weight: 560;
        line-height: 1.38;
        letter-spacing: -.018em;
    }
    .overview-page .work-card h3 a {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 16px;
        align-items: center;
        gap: 8px;
        color: inherit;
    }
    .overview-page .work-card-title-arrow {
        margin: 0;
        color: #78827c;
        font-size: 14px;
        text-align: right;
    }
    .overview-page .impact-line,
    .overview-page .evidence { display: none; }
    .overview-page .work-card-footer {
        justify-content: flex-start;
        margin: 9px 0 0;
        padding: 0;
        border: 0;
    }
    .overview-page .effort-ledger { width: auto; }
    .overview-page .effort-ledger > span,
    .overview-page .effort-ledger > span:first-child {
        display: flex;
        align-items: center;
        gap: 5px;
        min-width: 0;
        padding: 0;
        border: 0;
    }
    .overview-page .effort-ledger small {
        color: #818a84;
        font-size: 8px;
        font-weight: 450;
        letter-spacing: 0;
        text-transform: none;
    }
    .overview-page .effort-ledger small::after { content: none; }
    .overview-page .effort-ledger strong {
        color: #4b554f;
        font-size: 9px;
        font-weight: 560;
    }
    .overview-page .complete-log-card {
        min-height: 48px;
        margin-top: 9px;
        padding: 11px 14px;
        border-radius: 13px;
        box-shadow: none;
        font-size: 11px;
    }
}
