:root {
    --font-ui: "Avenir Next", "Helvetica Neue", Helvetica, sans-serif;
    --ink: #18312f;
    --ink-soft: #526663;
    --forest: #173f3a;
    --forest-2: #245b53;
    --cream: #e9eeeb;
    --paper: #ffffff;
    --line: #d3dcd7;
    --coral: #c85c49;
    --amber: #d19a3a;
    --blue: #3d7182;
    --green: #2d755e;
    --gray: #78837f;
    --shadow: 0 16px 45px rgba(36, 52, 47, .09);
    --radius: 22px;
}

* { box-sizing: border-box; }
html { background: var(--cream); scroll-behavior: smooth; }
body {
    margin: 0;
    overflow-x: hidden;
    color: var(--ink);
    background:
        radial-gradient(circle at 85% -5%, rgba(61, 113, 130, .1), transparent 30rem),
        linear-gradient(180deg, #f4f7f5 0, var(--cream) 38rem);
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.45;
    min-height: 100vh;
}
a { color: inherit; }
button, input, textarea, select { font: inherit; }

.site-header {
    max-width: 1440px;
    margin: 0 auto;
    min-height: 82px;
    padding: 16px clamp(20px, 4vw, 64px);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.brand { display: flex; gap: 12px; align-items: center; text-decoration: none; }
.brand-mark {
    display: grid; place-items: center; width: 42px; height: 42px;
    border-radius: 14px; background: var(--forest); color: #fff;
    font: 750 20px/1 var(--font-ui);
}
.brand strong, .brand small { display: block; }
.brand strong { font-family: var(--font-ui); font-size: 17px; font-weight: 750; letter-spacing: -.02em; }
.brand small { color: var(--ink-soft); font-size: 11px; letter-spacing: .04em; }
.desktop-nav { display: flex; align-items: center; gap: 30px; }
.desktop-nav a, .desktop-nav button { text-decoration: none; font: 650 14px/1 var(--font-ui); }
.desktop-nav button { padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.desktop-nav a:hover, .desktop-nav button:hover { color: var(--forest-2); }

.page-shell { max-width: 1380px; margin: 0 auto; padding: 16px clamp(20px, 3.2vw, 52px) 100px; }
.executive-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin: 20px 0 18px; }
.eyebrow { margin: 0 0 8px; color: var(--coral); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; }
h1 { font: 750 clamp(32px, 4.5vw, 52px)/1.04 var(--font-ui); letter-spacing: -.035em; margin-bottom: 10px; }
h2 { font: 750 21px/1.18 var(--font-ui); letter-spacing: -.025em; }
h3 { font: 700 16px/1.28 var(--font-ui); }
.lead { color: var(--ink-soft); font-size: 15px; line-height: 1.55; margin: 0; max-width: 700px; }
.day-pulse { display: flex; background: rgba(255,255,255,.55); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; flex: none; }
.day-pulse div { min-width: 90px; padding: 15px 20px; text-align: center; }
.day-pulse div + div { border-left: 1px solid var(--line); }
.day-pulse strong, .day-pulse span { display: block; }
.day-pulse strong { font: 750 22px/1 var(--font-ui); }
.day-pulse span { color: var(--ink-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.day-pulse .pulse-alert strong { color: var(--coral); }
.executive-heading h1 { margin: 0; font-size: clamp(30px, 3.8vw, 44px); }
.overdue-indicator {
    display: flex;
    align-items: baseline;
    gap: 9px;
    padding: 11px 15px;
    border: 1px solid #e2b8ad;
    border-radius: 12px;
    color: var(--coral);
    background: rgba(255, 250, 246, .7);
    text-decoration: none;
}
.overdue-indicator strong { font: 750 21px/1 var(--font-ui); }
.overdue-indicator span { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.briefing-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 8px 0 34px;
    padding: 8px;
    background: rgba(255, 253, 248, .6);
    border: 1px solid rgba(126, 120, 104, .22);
    border-radius: 22px;
    box-shadow: 0 14px 35px rgba(36, 52, 47, .06);
    backdrop-filter: blur(12px);
}
.briefing-rail-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.briefing-signal {
    position: relative;
    min-width: 0;
    padding: 14px 16px 15px;
    border-radius: 15px;
    text-decoration: none;
    transition: background .18s ease, transform .18s ease;
}
.briefing-signal + .briefing-signal::before {
    content: "";
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: -5px;
    width: 1px;
    background: var(--line);
}
.briefing-signal:hover { background: #fff; transform: translateY(-1px); }
.briefing-signal strong, .briefing-signal > span { display: block; }
.briefing-signal strong { margin: 6px 0 3px; font: 750 23px/1 var(--font-ui); white-space: nowrap; }
.briefing-signal > span:last-child { overflow: hidden; color: var(--ink-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.signal-kicker { color: var(--ink-soft); font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.signal-focus strong { color: var(--coral); }
.signal-mail strong { color: var(--blue); }
.signal-routine strong { color: var(--forest-2); }
.signal-decision strong { color: #985238; }
.signal-calendar strong { color: var(--green); }
.anchored-section { scroll-margin-top: 20px; }

.routine-panel { margin: 0 0 30px; padding: 19px 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.5); }
.routine-panel .section-heading { margin-bottom: 10px; }
.routine-list { display: grid; gap: 7px; }
.routine-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.routine-state { width: 11px; height: 11px; border: 2px solid var(--amber); border-radius: 50%; }
.routine-completed .routine-state { border-color: var(--green); background: var(--green); box-shadow: inset 0 0 0 2px #fff; }
.routine-skipped .routine-state { border-color: var(--gray); background: var(--gray); }
.routine-copy { min-width: 0; }
.routine-copy h3 { margin: 0 0 2px; font-size: 14px; }
.routine-copy p { margin: 0; color: var(--ink-soft); font-size: 11px; }
.routine-completed .routine-copy h3, .routine-skipped .routine-copy h3 { color: var(--ink-soft); text-decoration: line-through; }
.routine-actions { display: flex; align-items: center; gap: 7px; }
.routine-actions form { margin: 0; }
.button-small { min-height: 34px; padding: 7px 11px; font-size: 11px; }
.routine-skip { position: relative; }
.routine-skip > summary { cursor: pointer; color: var(--ink-soft); font-size: 11px; font-weight: 750; list-style: none; }
.routine-skip > summary::-webkit-details-marker { display: none; }
.routine-skip form { position: absolute; z-index: 5; top: 29px; right: 0; width: 280px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.routine-skip label { display: block; color: var(--ink-soft); font-size: 10px; font-weight: 750; }
.routine-skip input { width: 100%; margin: 5px 0 9px; padding: 9px; border: 1px solid var(--line); border-radius: 8px; }
.routine-admin-list { display: grid; gap: 10px; }
.routine-admin-card { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr) auto; align-items: center; gap: 24px; padding: 19px 21px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.routine-admin-card h2 { margin: 9px 0 4px; }
.routine-admin-card p { margin: 0; color: var(--ink-soft); font-size: 12px; }
.routine-admin-card dt { margin-top: 0; }
.routine-admin-card dd + dt { margin-top: 8px; }
.routine-inactive { opacity: .64; }

.capture-card { background: var(--forest); color: #fff; border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 28px; scroll-margin-top: 18px; }
.capture-card-bottom { margin-top: 36px; margin-bottom: 0; }
.capture-card summary { list-style: none; cursor: pointer; padding: 22px 26px; display: flex; justify-content: space-between; align-items: center; }
.capture-card summary::-webkit-details-marker { display: none; }
.capture-card summary strong, .capture-card summary small { display: block; }
.capture-card summary strong { font: 750 20px/1.2 var(--font-ui); }
.capture-card summary small { color: rgba(255,255,255,.7); margin-top: 4px; }
.summary-action { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.capture-card[open] .summary-action { display: none; }
.capture-form { border-top: 1px solid rgba(255,255,255,.14); padding: 20px 26px 26px; }
.capture-main textarea { width: 100%; border: 0; border-radius: 14px; padding: 17px; min-height: 78px; resize: vertical; background: #fffefb; color: var(--ink); }
.capture-options { display: grid; grid-template-columns: 180px 1fr auto; gap: 14px; margin-top: 14px; align-items: end; }
.capture-options label { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 700; }
.capture-options input, .capture-options select { width: 100%; display: block; margin-top: 5px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #fff; border-radius: 10px; padding: 11px; }
.capture-options select option { color: var(--ink); }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 12px; }
.section-heading > div { display: flex; align-items: baseline; gap: 14px; min-width: 0; }
.section-heading h2 { margin: 0; }
.section-heading > span { color: var(--ink-soft); font-size: 13px; }
.section-number { color: var(--coral); font: 700 12px/1 var(--font-ui); letter-spacing: .1em; margin: 0; }
.section-heading.compact { margin-bottom: 14px; }
.section-heading.compact h2 { font-size: 21px; }
.focus-section { margin-bottom: 30px; }
.focus-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.focus-grid > .empty-state { grid-column: 1 / -1; }
.focus-grid .item-card:first-child {
    color: #fff;
    background:
        radial-gradient(circle at 105% -20%, rgba(255,255,255,.16), transparent 48%),
        var(--forest);
    border-color: var(--forest);
    box-shadow: 0 18px 36px rgba(23, 63, 58, .2);
}
.focus-grid .item-card:first-child p,
.focus-grid .item-card:first-child .item-meta { color: rgba(255,255,255,.72); }
.focus-grid .item-card:first-child .item-meta span::before { background: #e7b45e; }
.focus-grid .item-card:first-child .priority { color: #f0c77e; }
.focus-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 11px; }
.focus-mode { display: inline-flex; padding: 6px 9px; border-radius: 99px; color: var(--ink-soft); background: #e2e8e5; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.focus-mode-ai { color: #285b6a; background: #dcebf0; }
.text-button { padding: 0; border: 0; color: var(--forest-2); background: transparent; font-size: 12px; font-weight: 750; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; cursor: pointer; }
.secretary-plan { display: grid; gap: 17px; }
.plan-group { min-width: 0; }
.plan-group > h3 { margin: 0 0 8px; color: var(--ink-soft); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.plan-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.focus-entry { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 13px; min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: #fff; color: var(--ink); text-decoration: none; box-shadow: 0 7px 20px rgba(34, 52, 47, .05); transition: transform .18s ease, box-shadow .18s ease; }
.focus-entry:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.focus-position { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: var(--coral); background: #f7e7e2; font-size: 10px; font-weight: 850; }
.focus-entry-main { min-width: 0; }
.focus-entry-topline { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; color: var(--ink-soft); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.focus-entry h3 { margin: 0 0 5px; font-size: 15px; }
.focus-entry p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.focus-entry .focus-next { margin-top: 8px; color: var(--ink); }
.plan-group-first .focus-entry:first-child { color: #fff; background: var(--forest); border-color: var(--forest); box-shadow: 0 16px 34px rgba(23, 63, 58, .17); }
.plan-group-first .focus-entry:first-child .focus-position { color: var(--forest); background: #fff; }
.plan-group-first .focus-entry:first-child .focus-entry-topline,
.plan-group-first .focus-entry:first-child p { color: rgba(255,255,255,.72); }
.plan-group-first .focus-entry:first-child .focus-next { color: #fff; }
.plan-group-later { padding-top: 2px; }
.plan-group-later > summary { cursor: pointer; color: var(--ink-soft); font-size: 11px; font-weight: 800; list-style: none; }
.plan-group-later > summary::-webkit-details-marker { display: none; }
.plan-group-later[open] > summary { margin-bottom: 8px; }
.mail-section { margin-bottom: 30px; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 30px; }
.dashboard-section { min-width: 0; }
.card-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.dense-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dense-list .item-card-link { padding: 13px 15px; }
.dense-list .item-card h3 { margin: 8px 0 4px; font-size: 15px; }
.dense-list .item-card p { margin-bottom: 7px; line-height: 1.35; }
.reply-mail-list .item-card { border-left: 4px solid var(--blue); }
.ai-label { display: inline-flex; align-items: center; padding: 6px 9px; border-radius: 99px; background: #dcebf0; color: #285b6a; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.section-note { color: var(--ink-soft); font-size: 12px; margin: 9px 0 0; }

.item-card { min-width: 0; max-width: 100%; background: var(--paper); border: 1px solid rgba(126, 120, 104, .24); border-radius: 17px; box-shadow: 0 7px 22px rgba(34, 52, 47, .05); transition: transform .18s ease, box-shadow .18s ease; overflow: hidden; }
.item-decision { border-left: 3px solid var(--coral); }
.item-risk { border-left: 3px solid var(--amber); }
.item-meeting { border-left: 3px solid var(--blue); }
.item-waiting { border-left: 3px solid #c6ab4a; }
.item-strategic { border-left: 3px solid var(--green); }
.item-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.item-card-link { display: block; min-width: 0; padding: 15px; text-decoration: none; }
.item-card h3 { margin: 12px 0 7px; overflow-wrap: anywhere; }
.item-card p { color: var(--ink-soft); font-size: 12px; line-height: 1.48; margin: 0 0 11px; }
.item-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.status-chip, .priority { font-size: 10px; line-height: 1; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.status-chip { padding: 7px 9px; border-radius: 99px; background: #edf0eb; }
.chip-decision { color: #8f3f31; background: #f9e4de; }
.chip-risk { color: #8b4825; background: #fae9d6; }
.chip-meeting { color: #285b6a; background: #dfedf0; }
.chip-travel { color: #4a547b; background: #e8eaf4; }
.chip-waiting { color: #75601e; background: #f3edcc; }
.chip-strategic { color: #245c4b; background: #dcebe3; }
.priority { color: var(--gray); }
.priority-A { color: var(--coral); }
.priority-B { color: var(--amber); }
.item-meta { display: flex; gap: 7px 13px; flex-wrap: wrap; color: var(--ink-soft); font-size: 11px; }
.item-meta span { display: inline-flex; align-items: center; }
.item-meta span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--amber); margin-right: 6px; }
.item-meta .ai-mail-mark { color: var(--blue); font-weight: 800; }

.empty-state { border: 1px dashed #bcb5a6; border-radius: 17px; padding: 22px; display: flex; align-items: center; gap: 15px; color: var(--ink-soft); background: rgba(255,255,255,.25); }

.preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 20px 0 18px; }
.preview-heading h1 { margin-bottom: 8px; }
.preview-safety { margin-bottom: 14px; border-left: 4px solid var(--green); }
.preview-safety strong { color: var(--green); }
.preview-safety p { margin: 5px 0 0; color: var(--ink-soft); }
.preview-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.metric-card { padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.metric-card span, .metric-card small, .metric-card strong { display: block; }
.metric-card span { color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.metric-card strong { margin: 7px 0 4px; font-size: 27px; line-height: 1; }
.metric-card small { color: var(--ink-soft); }
.metric-card-warning strong { color: var(--coral); }
.preview-blocked { margin-bottom: 20px; }
.preview-blocked-list { display: grid; gap: 8px; }
.preview-blocked-list article { padding: 13px 15px; border-radius: 12px; background: #fff4ef; border: 1px solid #efd2c8; }
.preview-blocked-list p { margin: 4px 0; color: var(--coral); }
.preview-blocked-list small { color: var(--ink-soft); }
.preview-grid { display: grid; gap: 12px; }
.payload-panel { padding: 0; overflow: hidden; }
.payload-panel > summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 20px; cursor: pointer; list-style: none; }
.payload-panel > summary::-webkit-details-marker { display: none; }
.payload-panel > summary strong, .payload-panel > summary small { display: block; }
.payload-panel > summary small { margin-top: 3px; color: var(--ink-soft); }
.payload-panel > summary > span:last-child { color: var(--ink-soft); font-size: 11px; font-weight: 750; white-space: nowrap; }
.payload-panel[open] > summary { border-bottom: 1px solid var(--line); }
.payload-panel pre { max-height: 520px; margin: 0; padding: 20px; overflow: auto; color: #dce9e4; background: #18312f; font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.payload-panel .empty-state { margin: 18px; }
.preview-checklist { margin-top: 20px; }
.preview-checklist h2 { margin-bottom: 7px; }
.preview-checklist p { margin: 0; color: var(--ink-soft); }

@media (max-width: 760px) {
    .preview-heading { display: block; }
    .preview-heading .button { margin-top: 16px; }
    .preview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payload-panel > summary { align-items: start; }
}
.empty-state p { margin: 0; font-size: 13px; }
.empty-line { width: 28px; height: 2px; background: var(--amber); }

.strategy-section { margin: 34px 0 30px; }
.initiative-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.initiative-card { position: relative; min-height: 145px; padding: 19px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); text-decoration: none; overflow: hidden; }
.initiative-card::after { content: ""; position: absolute; width: 130px; height: 130px; border-radius: 50%; right: -50px; bottom: -65px; background: rgba(42, 105, 88, .08); }
.initiative-card p { margin: 14px 0 7px; text-transform: uppercase; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.initiative-card h3 { max-width: 78%; font-family: var(--font-ui); font-size: 19px; font-weight: 750; }
.initiative-card small { color: var(--ink-soft); }
.status-dot { display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--green); }
.health-attention .status-dot { background: var(--amber); }
.health-risk .status-dot { background: var(--coral); }
.text-link { color: var(--forest-2); font-size: 13px; font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.page-heading { margin: 26px 0 34px; }
.page-heading h1 { font-size: clamp(32px, 4.5vw, 50px); }
.page-heading-actions { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(20px, 3vw, 34px); box-shadow: var(--shadow); }
.form-panel { max-width: 860px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.field { min-width: 0; }
.field:has(textarea), .field:first-child { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.field input:not([type=checkbox]), .field textarea, .field select { width: 100%; padding: 13px 14px; border: 1px solid #cfc8b8; border-radius: 11px; background: #fff; color: var(--ink); }
.field-check { display: flex; align-items: center; gap: 10px; }
.field-check label { margin: 0; }
.field-error { color: var(--coral); font-size: 12px; }
.form-actions, .action-bar, .integration-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 26px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid transparent; border-radius: 11px; padding: 11px 17px; text-decoration: none; font-weight: 750; font-size: 13px; cursor: pointer; }
.button-primary { background: var(--coral); color: #fff; }
.button-secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.button-success { background: var(--green); color: #fff; }
.button-microsoft { gap: 11px; background: #fff; color: #1f1f1f; border-color: #8c8c8c; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.button-microsoft:hover { background: #f6f6f6; border-color: #5f5f5f; }
.button-quiet { background: transparent; color: var(--ink-soft); }
.button-block { width: 100%; }
.login-shell { display: grid; min-height: calc(100vh - 180px); place-items: center; }
.login-panel { width: min(440px, 100%); padding: clamp(26px, 5vw, 44px); }
.login-panel h1 { font-size: clamp(34px, 6vw, 46px); }
.login-panel > p:not(.eyebrow) { margin: -2px 0 28px; color: var(--ink-soft); }
.microsoft-mark { display: grid; grid-template-columns: repeat(2, 8px); gap: 2px; }
.microsoft-mark i { display: block; width: 8px; height: 8px; background: #f25022; }
.microsoft-mark i:nth-child(2) { background: #7fba00; }
.microsoft-mark i:nth-child(3) { background: #00a4ef; }
.microsoft-mark i:nth-child(4) { background: #ffb900; }
.login-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0 18px; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.login-divider::before, .login-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.login-help { margin: 18px 0 0 !important; font-size: 11px; line-height: 1.5; text-align: center; }
.stacked-form { display: grid; gap: 18px; }
.stacked-form label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.stacked-form input { width: 100%; padding: 13px 14px; border: 1px solid #cfc8b8; border-radius: 11px; background: #fff; color: var(--ink); font: inherit; }
.stacked-form input:focus { outline: 3px solid rgba(23,63,58,.14); border-color: var(--forest); }

.detail-header { max-width: 900px; margin: 24px 0 30px; }
.detail-header h1 { font-size: clamp(31px, 4.3vw, 48px); margin-top: 19px; }
.initiative-badge { display: inline-block; background: #dcebe3; border-radius: 99px; padding: 8px 12px; font-size: 12px; font-weight: 700; text-decoration: none; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, .75fr); gap: 22px; align-items: start; }
.detail-main h2, .detail-aside h2 { font-size: 21px; margin-top: 25px; }
.detail-main h2:first-child, .detail-aside h2:first-child { margin-top: 0; }
.detail-main p { line-height: 1.7; }
.detail-aside { box-shadow: none; }
dl { margin: 0; }
dt { margin-top: 15px; color: var(--ink-soft); font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; }
dd { margin: 3px 0 0; }
.draft-box { margin-top: 24px; padding: 20px; border-left: 4px solid var(--blue); background: #edf5f5; border-radius: 0 12px 12px 0; }
.ai-assessment { margin: 26px 0 18px; padding: 20px; border-radius: 16px; background: #edf5f5; border: 1px solid #c9dfe2; }
.ai-assessment-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ai-assessment-heading small { color: var(--ink-soft); }
.ai-assessment h2 { margin: 15px 0 8px; }
.reply-section { margin-top: 28px; }
.reply-options { display: grid; gap: 12px; }
.reply-option { padding: 19px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.reply-option > div:first-child { display: flex; gap: 10px; align-items: baseline; }
.reply-option h3 { margin: 0; }
.reply-number { color: var(--coral); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.reply-use { margin: 6px 0 14px; color: var(--ink-soft); font-size: 12px; }
.reply-body { padding: 15px; background: #f1f5f3; border-radius: 11px; line-height: 1.6; font-size: 14px; }
.reply-option .button { margin-top: 12px; }
.detail-aside form { margin-top: 9px; }

.initiative-list { display: grid; gap: 12px; }
.initiative-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; padding: 22px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); text-decoration: none; }
.initiative-row p { color: var(--coral); margin: 0 0 5px; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.initiative-row h2 { margin: 0 0 5px; font-size: 22px; }
.initiative-row span { color: var(--ink-soft); font-size: 13px; }
.initiative-row-meta { text-align: right; }
.initiative-row-meta strong, .initiative-row-meta span { display: block; }
.initiative-hero { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin: 28px 0 32px; }
.initiative-hero h1 { font-size: clamp(34px, 4.8vw, 54px); }
.hero-status { min-width: 180px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.45); }
.hero-status strong, .hero-status small { display: block; margin-top: 8px; }

.integration-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.integration-status { display: flex; align-items: center; gap: 20px; }
.integration-icon { display: grid; place-items: center; width: 66px; height: 66px; flex: none; background: var(--forest); color: #fff; border-radius: 18px; font: 750 27px/1 var(--font-ui); }
.integration-status h2 { margin-bottom: 5px; }
.integration-status p:last-child { margin: 0; color: var(--ink-soft); }
.permission-list { list-style: none; padding: 0; }
.permission-list li { display: flex; justify-content: space-between; gap: 15px; padding: 11px 0; border-bottom: 1px solid #e8e2d5; }
.permission-list span, .fine-print { color: var(--ink-soft); font-size: 12px; }
.setup-panel { margin-top: 20px; box-shadow: none; }
.mail-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
.mail-filter-group { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #f8faf8; }
.mail-filter-group h3 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; font-size: 17px; }
.mail-filter-group h3 span { color: var(--ink-soft); font-size: 11px; }
.sender-filter-form { margin-top: 22px; }
.sender-filter-form label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.sender-filter-form > div { display: flex; gap: 9px; }
.sender-filter-form input { min-width: 0; flex: 1; padding: 12px 14px; border: 1px solid #cfc8b8; border-radius: 11px; background: #fff; color: var(--ink); }
.sender-filter-list { margin-top: 20px; border-top: 1px solid var(--line); }
.sender-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.sender-filter-row strong, .sender-filter-row span { display: block; overflow-wrap: anywhere; }
.sender-filter-row span { margin-top: 3px; color: var(--ink-soft); font-size: 12px; }
.sender-filter-row .button { min-height: 36px; padding: 7px 10px; white-space: nowrap; }
code { font: 12px/1.4 Menlo, Monaco, monospace; word-break: break-all; }
.message-stack { position: fixed; z-index: 30; right: 20px; top: 78px; width: min(420px, calc(100vw - 40px)); }
.alert { padding: 14px 16px; border-radius: 12px; background: #e4eee8; border: 1px solid #b8d1c2; box-shadow: var(--shadow); margin-bottom: 8px; font-size: 13px; }
.alert-error { background: #f8e2dc; border-color: #edb5a9; }
.alert-warning { background: #f6edd6; border-color: #e4ca8e; }
.mobile-nav { display: none; }

.reveal { animation: rise .45s both; }
.reveal:nth-of-type(2) { animation-delay: .05s; }
.reveal:nth-of-type(3) { animation-delay: .1s; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

@media (max-width: 1000px) {
    .briefing-rail { grid-template-columns: repeat(2, 1fr); }
    .briefing-signal:nth-child(3)::before { display: none; }
    .focus-grid { grid-template-columns: repeat(2, 1fr); }
    .initiative-strip { grid-template-columns: repeat(2, 1fr); }
    .mail-filter-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .site-header { min-height: 68px; padding: 13px 18px; }
    .desktop-nav { display: none; }
    .brand small { display: none; }
    .page-shell { padding: 13px 16px 100px; }
    .sender-filter-form > div { align-items: stretch; flex-direction: column; }
    .executive-heading { align-items: end; margin-top: 14px; }
    .executive-heading h1 { font-size: 33px; }
    .overdue-indicator { padding: 9px 11px; }
    .overdue-indicator span { display: none; }
    .day-pulse { display: none; }
    .briefing-rail {
        display: flex;
        gap: 8px;
        width: calc(100% + 32px);
        max-width: none;
        margin: 4px -16px 28px;
        padding: 8px 16px 12px;
        overflow-x: auto;
        border-width: 1px 0;
        border-radius: 0;
        box-shadow: none;
        scroll-snap-type: x mandatory;
    }
    .briefing-signal { min-width: 148px; padding: 13px 14px; background: rgba(255,255,255,.62); scroll-snap-align: start; }
    .briefing-signal + .briefing-signal::before { display: none; }
    .capture-card { margin-bottom: 24px; }
    .capture-card summary, .capture-form { padding-left: 18px; padding-right: 18px; }
    .capture-options { grid-template-columns: 1fr 1fr; }
    .capture-options .button { grid-column: 1 / -1; }
    .focus-grid, .dashboard-grid, .initiative-strip, .detail-grid, .integration-grid, .form-grid, .dense-list { grid-template-columns: 1fr; }
    .focus-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
    .focus-grid .item-card { min-width: 84vw; scroll-snap-align: start; }
    .dashboard-grid { gap: 36px; }
    .section-heading { align-items: flex-start; }
    .section-heading > div { display: grid; grid-template-columns: auto minmax(0, 1fr); width: 100%; }
    .section-heading h2 { min-width: 0; overflow-wrap: anywhere; }
    .section-heading > span { display: none; }
    .focus-section > .section-heading { display: block; }
    .focus-section > .section-heading > div:first-child { margin-bottom: 9px; }
    .focus-heading-actions { display: flex !important; width: auto !important; justify-content: flex-start; }
    .plan-list { grid-template-columns: 1fr; }
    .routine-panel { margin-left: -16px; margin-right: -16px; padding: 17px 16px; border-width: 1px 0; border-radius: 0; }
    .routine-row { grid-template-columns: auto minmax(0, 1fr); }
    .routine-actions { grid-column: 2; flex-wrap: wrap; }
    .routine-skip form { position: fixed; top: auto; right: 16px; bottom: 78px; left: 16px; width: auto; }
    .routine-admin-card { grid-template-columns: 1fr; gap: 14px; }
    .strategy-section { margin-top: 42px; }
    .page-heading-actions, .initiative-hero { display: block; }
    .page-heading-actions .button { margin-top: 18px; }
    .initiative-row { grid-template-columns: auto 1fr; }
    .initiative-row-meta { grid-column: 2; text-align: left; }
    .hero-status { margin-top: 18px; }
    .action-bar { padding-bottom: 20px; }
    .mobile-nav { position: fixed; display: grid; grid-template-columns: repeat(5, 1fr); left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 20; background: rgba(23,63,58,.96); backdrop-filter: blur(12px); border-radius: 16px; padding: 7px; box-shadow: 0 12px 36px rgba(20,42,38,.25); }
    .mobile-nav a { color: #fff; padding: 10px 3px; text-align: center; text-decoration: none; font-size: 11px; font-weight: 750; }
}
