:root {
  --ink: #20302e;
  --muted: #75817c;
  --paper: #f6f7f2;
  --panel: #ffffff;
  --line: #e3e8e0;
  --green: #183f38;
  --green-hover: #24564b;
  --lime: #eaf2d5;
  --danger: #a33c38;
  --amber: #8b6a20;
  --radius: 18px;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .56; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #94b89d; outline-offset: 3px; }
[hidden] { display: none !important; }
#view-conservation > .panel, #view-conservation > .form-grid { margin-bottom: 22px; }
#conservation-report, #conservation-copy { overflow-wrap: anywhere; }
#conservation-copy pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.app-shell { display: grid; grid-template-columns: 245px minmax(0, 1fr); min-height: 100vh; }
.sidebar { background: #fff; border-right: 1px solid var(--line); padding: 37px 22px 25px; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; min-width: 0; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 750; font-size: 18px; letter-spacing: -.55px; }
.brand small { display: block; font-size: 10px; letter-spacing: .3px; color: var(--muted); font-weight: 500; margin-top: 5px; }
.brand-symbol { border-radius: 11px; background: var(--green); color: #eef4da; width: 38px; height: 43px; display: flex; justify-content: center; align-items: center; position: relative; font-size: 25px; font-weight: 600; }
.brand-symbol span { position: absolute; right: 4px; top: 1px; font-size: 14px; }
.version { padding-left: 5px; opacity: .75; }
.navigation { margin-top: 57px; display: grid; gap: 8px; }
.nav-link { display: flex; gap: 13px; align-items: center; padding: 13px 14px; text-decoration: none; color: #68756f; border-radius: 10px; font-size: 14px; font-weight: 550; transition: background .15s, color .15s; }
.nav-link:hover { background: #f4f6f0; }
.nav-link > span:first-child { width: 19px; text-align: center; font-size: 21px; font-weight: 400; line-height: 18px; }
.nav-link.active { background: var(--lime); color: var(--green); }
.nav-count { margin-left: auto; padding: 2px 7px; font-size: 11px; border-radius: 20px; background: #f0e5cd; color: #72551d; }
.nav-count:empty { display: none; }
.sidebar-footer { margin-top: auto; font-size: 11px; color: #52695c; line-height: 1.5; }
.sidebar-footer small { display: block; color: #919a94; font-size: 10px; margin: 7px 0 0 14px; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; background: #6e9670; vertical-align: middle; margin-right: 7px; }
.status-dot.pending { background: #a5aea7; }
.status-dot.offline { background: #b87969; }
.main-content { padding: 0 42px 24px; min-width: 0; max-width: 1630px; width: 100%; margin: 0 auto; }
.topbar { height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.breadcrumb { font-size: 12px; color: #9ba49d; }
.breadcrumb span { margin: 0 12px; color: #c0c7bd; }
.breadcrumb strong { color: #4c5f53; font-weight: 500; }
.connection-state { font-size: 11px; display: flex; align-items: center; color: #7b897e; }
.local-tag { margin-left: 17px; color: #7e8d76; border: 1px solid #dce4d4; background: #f0f4e7; font-size: 9px; letter-spacing: .8px; padding: 4px 7px; border-radius: 5px; }
.view { animation: enter .2s ease; }
@keyframes enter { from { opacity: .6; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: 15px 0 32px; }
.eyebrow { text-transform: uppercase; letter-spacing: 1.65px; font-size: 9px; color: #869478; font-weight: 700; margin: 0 0 12px; }
h1 { font-size: clamp(27px, 2.8vw, 40px); line-height: 1.18; letter-spacing: -1.35px; font-weight: 600; margin: 0 0 13px; }
h2 { font-size: 16px; letter-spacing: -.3px; line-height: 1.4; font-weight: 650; margin: 0; }
h3 { font-size: 15px; line-height: 1.45; margin: 0 0 6px; font-weight: 600; }
p { line-height: 1.65; }
.page-description { color: #889187; margin: 0; font-size: 12px; line-height: 1.7; max-width: 670px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 9px; border: 1px solid transparent; font-weight: 600; font-size: 12px; line-height: 1.45; text-decoration: none; white-space: nowrap; transition: background .15s, border .15s; }
.button.primary { background: var(--green); color: #fff; box-shadow: 0 2px 2px #0a34200c; }
.button.primary:hover { background: var(--green-hover); }
.button.primary > span { font-size: 18px; line-height: 15px; }
.button.secondary { background: #e9efdf; color: #38533b; border-color: #e1e8d5; }
.button.secondary:hover { background: #dfe8d3; }
.button.quiet { background: #fff; color: #697464; border-color: #e0e6db; }
.button.quiet:hover { background: #f3f5ee; }
.button.danger { color: var(--danger); background: #fff; border-color: #e6cdca; }
.button.danger:hover { background: #fbefee; }
.button.small { padding: 8px 12px; font-size: 11px; }
.button.wide { width: 100%; }
.text-button, .text-link { border: 0; padding: 0; background: none; font-size: 11px; color: #738567; font-weight: 500; text-decoration: none; line-height: 1.5; }
.text-button:hover, .text-link:hover { color: var(--green); text-decoration: underline; }
.cockpit-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(270px, 1fr); gap: 22px; }
.panel { border: 1px solid var(--line); background: var(--panel); border-radius: var(--radius); padding: 25px; min-width: 0; box-shadow: 0 3px 10px #293d1e02; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; }
.direction-panel { padding: 28px; }
.direction-panel .eyebrow { margin-bottom: 8px; }
.goal-text { font-size: 16px; color: #536552; line-height: 1.7; font-weight: 400; white-space: pre-wrap; overflow-wrap: anywhere; min-height: 64px; margin: 25px 0 26px; }
.direction-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid #edf0e9; }
.direction-footer .muted { font-size: 10px; }
.directive-form { margin-top: 20px; padding-top: 20px; border-top: 1px solid #edf0e9; }
.directive-form textarea { min-height: 82px; }
.directive-form .form-hint { overflow-wrap: anywhere; }
.director-review { margin-top: 18px; }
.director-review .button { margin-top: 12px; }
.pill { display: inline-flex; align-items: center; border-radius: 6px; padding: 4px 8px; font-size: 9px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.pill.neutral { background: #f1f4eb; color: #7d8d74; }
.pill.success { background: #e8f2e4; color: #5c8159; }
.pill.warning { background: #f9f0dc; color: #94712c; }
.pill.danger { background: #f8eae7; color: #a06960; }
.pill.progress { background: #e6efed; color: #42776d; }
.muted { color: var(--muted); font-size: 12px; }
.engine-panel .muted { font-size: 11px; margin: 0 0 20px; }
.engine-settings { margin-top: 18px; padding-top: 15px; border-top: 1px solid #edf0e9; }
.toggle-row { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; gap: 12px; font-size: 11px; color: #8a9585; margin: 0 0 10px; font-weight: 400; }
.toggle-row input { appearance: none; width: 30px; height: 17px; padding: 0; border-radius: 20px; background: #e0e6d8; position: relative; border: 0; cursor: pointer; margin: 0; flex-shrink: 0; }
.toggle-row input::after { content: ""; position: absolute; width: 11px; height: 11px; border-radius: 50%; background: #fff; top: 3px; left: 3px; transition: transform .15s; }
.toggle-row input:checked { background: #719875; }
.toggle-row input:checked::after { transform: translateX(13px); }
details { font-size: 11px; color: #879182; }
summary { cursor: pointer; line-height: 1.6; }
.settings-fields { padding: 17px 0 0; display: grid; gap: 8px; }
.settings-fields label { margin: 0; }
.settings-fields input { padding: 9px 11px; font-size: 11px; }
.active-run { background: #f1f6ec; border-radius: 9px; padding: 12px; font-size: 11px; margin-bottom: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.section-heading { display: flex; justify-content: space-between; align-items: center; margin: 31px 0 16px; gap: 16px; }
.section-heading .eyebrow { margin-bottom: 5px; }
.section-heading h2 { font-size: 15px; }
.budget-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.metric-card { background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 20px 21px; min-width: 0; }
.metric-card.accent { background: #edf3e1; border-color: #e3ead4; }
.metric-card p { font-size: 10px; color: #8d9885; margin: 0 0 12px; }
.metric-card strong { font-size: clamp(23px, 2.1vw, 31px); font-weight: 550; color: #50664c; letter-spacing: -1px; display: block; line-height: 1.1; overflow-wrap: anywhere; }
.metric-card span { color: #a0a899; font-size: 9px; display: block; margin-top: 10px; line-height: 1.5; }
.budget-note { font-size: 10px; color: #a0a796; margin: 13px 2px 0; }
.budget-note strong { font-weight: 550; color: #758668; }
.ledger-panel { margin-top: 20px; }
.ledger-panel > summary { color: #798c6b; font-weight: 550; }
.ledger-panel > .panel-heading { margin-top: 20px; }
.ledger-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ledger-row h3 { font-size: 12px; }
.ledger-row > strong { font-size: 13px; font-weight: 550; white-space: nowrap; }
.inline-action-form { margin-top: 18px; border-top: 1px solid #edf0e9; padding-top: 17px; }
.inline-action-form .form-grid + label { margin-top: 15px; }
.lower-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 26px 0 22px; }
.empty-state { padding: 19px 8px; color: #a1aa9b; font-size: 11px; text-align: center; line-height: 1.75; }
.empty-state strong { font-size: 13px; font-weight: 500; color: #8b9981; display: block; margin-bottom: 5px; }
.empty-symbol { display: block; color: #c4ceb8; font-size: 25px; line-height: 1; margin-bottom: 12px; }
.card-list { display: grid; gap: 0; }
.data-card { padding: 18px 0; border-top: 1px solid #edf0e9; min-width: 0; }
.data-card:first-child { padding-top: 0; border-top: 0; }
.data-card:last-child { padding-bottom: 0; }
.card-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.card-title-row h3 { min-width: 0; overflow-wrap: anywhere; }
.card-copy { color: #869180; font-size: 12px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; margin: 8px 0; }
.meta { display: flex; align-items: center; gap: 10px; color: #a3ad9b; font-size: 10px; flex-wrap: wrap; margin-top: 10px; line-height: 1.6; }
.meta a { color: #718567; word-break: break-all; }
.card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.stack { display: grid; gap: 16px; }
.task-card { padding: 25px 27px; }
.task-card .card-copy { max-width: 1000px; }
.research-panel { margin-bottom: 24px; }
.research-panel > .form-hint { margin: -8px 0 19px; }
.research-stages { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 18px 0; }
.research-stages li { padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; font-size: 10px; color: var(--muted); }
.research-stages .current { background: var(--lime); border-color: #cdddbb; color: var(--green); font-weight: 600; }
.research-coverage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0 10px; }
.research-coverage > div { padding: 12px; background: #f7f9f3; border-radius: 9px; min-width: 0; }
.research-coverage dt, .research-coverage small { font-size: 10px; color: var(--muted); line-height: 1.6; }
.research-coverage dd { margin: 6px 0; font-size: 22px; font-weight: 550; color: #50664c; }
.research-effort { padding: 15px; margin: 18px 0; border: 1px solid var(--line); border-radius: 10px; }
.research-subheading { font-size: 12px; color: #536552; margin: 16px 0 6px; overflow-wrap: anywhere; }
.research-effort .research-subheading, .research-detail .data-card .research-subheading { margin-top: 0; }
.research-detail { margin-top: 15px; border-top: 1px solid var(--line); padding-top: 12px; }
.research-detail > summary { color: #63785b; font-weight: 550; }
.research-detail .data-card:first-of-type { margin-top: 14px; }
.research-notes { margin: 0; padding-left: 19px; color: #869180; font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
.quality-panel { margin-bottom: 24px; }
.quality-panel > .form-hint { margin: -8px 0 19px; }
.quality-cycle + .quality-cycle { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
.quality-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.quality-overview > div { min-width: 0; padding: 12px; border-radius: 9px; background: #f7f9f3; }
.quality-overview dt { font-size: 10px; color: var(--muted); line-height: 1.6; }
.quality-overview dd { margin: 6px 0 0; color: #50664c; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.quality-details { margin-top: 15px; border-top: 1px solid var(--line); padding-top: 12px; }
.quality-details > summary { color: #63785b; font-weight: 550; }
.quality-details .data-card:first-of-type { margin-top: 14px; }
.quality-subheading { margin: 12px 0 5px; color: #536552; font-size: 12px; overflow-wrap: anywhere; }
.quality-link { margin: 12px 0 0; }
.quality-acceptance { margin: 17px 0; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fafbf7; min-width: 0; }
.quality-acceptance > .card-title-row { align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.quality-acceptance .quality-subheading { margin-top: 0; }
.quality-acceptance .card-copy, .quality-acceptance .research-notes, .quality-acceptance .meta, .quality-acceptance .form-hint { color: #64745c; }
.quality-requirements { list-style: none; margin: 12px 0; padding: 0; }
.quality-requirements > li { padding: 11px 0; border-top: 1px solid var(--line); min-width: 0; }
.quality-requirements .card-title-row { gap: 10px; flex-wrap: wrap; }
.quality-requirements strong { font-size: 12px; color: #536552; overflow-wrap: anywhere; }
.quality-expected-evidence { flex: 1; min-width: 140px; color: #64745c; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.quality-gate-next { color: #50664c; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.quality-observation { margin: 12px 0; }
.quality-observation > div { margin-top: 8px; }
.quality-observation dt { color: var(--muted); font-size: 10px; }
.quality-observation dd { margin: 3px 0 0; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.quality-finding { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.cycle-acceptance-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 12px 0; }
.cycle-acceptance-summary .form-hint { margin: 0; }
@media (max-width: 680px) { .quality-overview { grid-template-columns: 1fr; }.quality-panel .card-title-row, .quality-panel .panel-heading { flex-wrap: wrap; }.quality-panel .pill { white-space: normal; } }
@media (max-width: 680px) { .research-coverage { grid-template-columns: repeat(2, minmax(0, 1fr)); }.research-panel .card-title-row, .research-detail .card-title-row { flex-wrap: wrap; }.research-panel .pill { white-space: normal; }.research-panel > .panel-heading { flex-wrap: wrap; } }
.role-label { font-size: 9px; color: #869678; text-transform: uppercase; letter-spacing: .8px; margin: 0 0 9px; }
.detail-content { margin-top: 12px; border-radius: 9px; padding: 15px; background: #f7f9f3; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 420px; overflow: auto; color: #687a5e; font-size: 12px; line-height: 1.75; }
.code-content { font-family: Consolas, "Courier New", monospace; font-size: 11px; }
.error-content { color: var(--danger); background: #fbf0ed; }
.action-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fafbf7; }
.action-summary div { padding: 13px 16px; min-width: 0; }
.action-summary div + div { border-left: 1px solid var(--line); }
.action-summary small { color: #96a18c; font-size: 9px; display: block; margin-bottom: 5px; }
.action-summary strong { color: #63785b; font-size: 11px; font-weight: 550; overflow-wrap: anywhere; }
.compact-form { margin-bottom: 24px; }
.compact-form h2 { margin-bottom: 18px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
label { display: block; margin: 0 0 8px; font-size: 11px; font-weight: 550; color: #78856e; }
input, textarea, select { color: #455b43; background: #fbfcf9; border: 1px solid #dfe6d9; padding: 12px 13px; width: 100%; border-radius: 8px; font-size: 12px; }
input::placeholder, textarea::placeholder { color: #a8b19e; opacity: 1; }
textarea { resize: vertical; line-height: 1.7; min-height: 80px; }
.form-grid + label { margin-top: 18px; }
.form-actions { display: flex; gap: 10px; margin-top: 15px; flex-wrap: wrap; }
.form-hint { font-size: 10px; line-height: 1.7; color: #929f88; margin: 12px 0 0; }
.optional { font-weight: 400; color: #abb4a0; padding-left: 5px; }
.align-bottom { display: flex; align-items: flex-end; }
.list-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 17px; }
.list-toolbar p { margin: 0; }
.filter-label { display: flex; align-items: center; gap: 12px; margin: 0; white-space: nowrap; color: #939e89; font-size: 10px; font-weight: 400; }
.filter-label select { padding: 9px 11px; font-size: 11px; width: auto; }
.memory-grid, .journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.memory-grid .panel, .journal-grid .panel { max-height: 78vh; overflow: auto; }
.browser-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 23px; align-items: center; }
.browser-panel h2 { margin: 11px 0 0; }
.browser-panel p { margin-bottom: 0; font-size: 11px; }
.browser-panel form { display: flex; gap: 10px; align-items: center; }
.browser-panel input { min-width: 0; }
.connector-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.connector-card .card-copy { margin-bottom: 17px; }
.capabilities { display: flex; flex-wrap: wrap; gap: 6px; margin: 15px 0; }
.capabilities .pill { font-size: 8px; }
.connector-form { margin-top: 16px; padding-top: 17px; border-top: 1px solid #edf0e9; }
.connector-form > label:not(:first-child) { margin-top: 12px; }
.connector-form .form-actions { margin-top: 14px; }
.connector-form details { margin: 15px 0; }
.connector-form details textarea { margin-top: 10px; font-family: Consolas, monospace; font-size: 11px; }
.grant-fields { margin-top: 17px; }
.resources-grid { margin-bottom: 26px; }
.resource-extra { margin-top: 17px; }
.resource-extra > label { margin-top: 17px; }
.resource-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 12px; }
.resource-links .text-link { border: 1px solid #e1e8d8; border-radius: 7px; padding: 7px 10px; }
.vault-list { margin-bottom: 26px; }
.dossier-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.dossier-fact { border-radius: 10px; background: #f7f9f2; padding: 14px 16px; min-width: 0; }
.dossier-fact h3 { color: #879878; font-size: 10px; font-weight: 550; margin-bottom: 7px; }
.dossier-fact p { font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; color: #5e7054; margin: 0; }
.proof-links { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 14px; }
.proof-links a { max-width: 100%; overflow-wrap: anywhere; }
.checkpoint-checks { display: grid; gap: 9px; margin-top: 18px; }
.checkpoint-check { display: flex; align-items: start; justify-content: space-between; gap: 15px; border-top: 1px solid #e8ede2; padding-top: 10px; }
.checkpoint-check strong { color: #64765a; font-size: 11px; font-weight: 550; }
.dependency-list { font-size: 10px; color: #8b9a7d; margin-top: 12px; }
.connector-setup { margin: 15px 0; padding: 14px 16px; border-radius: 9px; background: #f5f8ee; }
.connector-setup p { margin: 0 0 9px; font-size: 11px; color: #7c8e6e; }
.connector-setup ol { padding-left: 17px; margin: 0; font-size: 11px; color: #718563; line-height: 1.8; }
.connector-setup-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.decision-form { margin-top: 20px; border-top: 1px solid #e6edde; padding-top: 16px; }
.workflow-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.runtime-limits { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.remote-access-panel { margin-top: 22px; }
.remote-access-panel .panel-heading { margin-bottom: 12px; }
.remote-access-panel .compact-form { margin-top: 18px; }
.remote-access-panel .proof-links { margin: 0; }
.operator-help { margin-top: 22px; }
.company-cycle-overview { margin-bottom: 22px; border-left: 4px solid #446d57; }
.cycle-situation { min-width: 0; }
.cycle-situation .panel-heading { align-items: flex-start; }
.cycle-situation .panel-heading .pill { flex-shrink: 0; }
.cycle-facts { display: grid; gap: 10px; margin: 16px 0; }
.cycle-facts > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; }
.cycle-facts dt { font-size: 11px; font-weight: 600; color: #496548; }
.cycle-facts dd { margin: 0; font-size: 12px; line-height: 1.65; color: #68756f; overflow-wrap: anywhere; }
.cycle-attention { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 14px; }
.cycle-attention h3 { font-size: 13px; }
.cycle-attention-row { padding: 12px 0; }
.cycle-attention-row strong { font-size: 12px; }
.cycle-attention-row .card-copy { margin: 5px 0; font-size: 12px; }
.cycle-card .card-title-row { align-items: flex-start; gap: 12px; }
.cycle-card h3 { overflow-wrap: anywhere; }
#company-cycle-board > .cycle-situation { padding: 22px; background: #f4f7ef; border: 1px solid var(--line); border-radius: 14px; }
.cycle-guide { margin: 22px 0; }
.cycle-guide > summary, .manual-controls > summary, .cycle-journey-details > summary { cursor: pointer; font-size: 12px; font-weight: 600; line-height: 1.6; }
.manual-controls { margin-bottom: 22px; }
.manual-controls .compact-form { margin-top: 18px; box-shadow: none; }
.product-journey { border-top: 1px solid var(--line); padding-top: 18px; margin: 18px 0; }
.product-journey h3 { font-size: 14px; }
.cycle-journey-details { margin-top: 18px; }
.cycle-journey-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; gap: 12px; padding: 0; margin: 16px 0; }
.cycle-journey-step { border: 1px solid var(--line); border-radius: 10px; padding: 16px; min-width: 0; }
.cycle-journey-step h4 { font-size: 12px; margin: 0 0 10px; }
.cycle-journey-step .card-copy { font-size: 11px; line-height: 1.65; }
.cycle-journey-step .pill { white-space: normal; }
@media (max-width:680px) { .cycle-facts > div { grid-template-columns: 1fr; gap: 3px; }.cycle-journey-steps { grid-template-columns: 1fr; }.cycle-situation .panel-heading { flex-direction: column; align-items: flex-start; }.cycle-card .card-title-row { flex-direction: column; }.company-cycle-overview { padding: 18px; } }
.operator-help > summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.operator-guide { display: grid; gap: 12px; margin: 18px 0; }
.operator-guide > div { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 14px; }
.operator-guide dt { font-weight: 600; }
.operator-guide dd { margin: 0; font-size: 12px; line-height: 1.65; color: #68756f; }
@media (max-width: 680px) { .operator-guide > div { grid-template-columns: 1fr; gap: 4px; } }
.runtime-limits .card-copy { font-size: 11px; margin-bottom: 0; }
.readiness-stages { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0; }
.readiness-phase { display:flex;align-items:flex-start;flex-direction:column;gap:8px;text-align:left;min-width:0;padding:15px;border:1px solid #e3e9da;border-radius:10px;background:#f8faf4;cursor:pointer;color:inherit;font:inherit; }
.readiness-phase.selected { border-color:#8a9d74;background:#f0f5e7; }
.readiness-phase strong { font-size:12px; }
.readiness-phase .muted { font-size:10px; }
.readiness-issue { padding:12px 0;border-bottom:1px solid var(--line); }
.readiness-issue .card-copy { margin:0 0 5px; }
.readiness-details { margin-top:15px;font-size:12px; }
.readiness-details summary { cursor:pointer;color:#627455; }
.readiness-check { padding:12px 0;border-bottom:1px solid var(--line); }
.readiness-check .card-copy { font-size:11px;margin:6px 0; }
.readiness-details ul { padding-left:19px;line-height:1.7;color:#718563; }
@media (max-width:680px) { .readiness-stages { grid-template-columns:1fr; }.readiness-phase { display:grid;grid-template-columns:1fr auto; }.readiness-phase .muted { grid-column:1 / -1; } }
.wide-field { grid-column: 1 / -1; }
.masked-value { -webkit-text-security: disc; font-family: Consolas, monospace; }
#task-planning-fields h2 { margin-bottom: 16px; }
#task-planning-fields { margin-bottom: 24px; }
#task-planning-fields > div:last-of-type { margin-top: 16px; }
@media (max-width: 680px) { .dossier-grid { grid-template-columns: 1fr; gap: 10px; } }
.timeline { display: grid; gap: 0; }
.timeline-item { position: relative; padding: 0 0 22px 20px; border-left: 1px solid #e5eadf; margin-left: 4px; }
.timeline-item:last-child { border-left-color: transparent; padding-bottom: 0; }
.timeline-item::before { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #afbd9c; left: -4px; top: 6px; border: 2px solid white; box-sizing: content-box; }
.timeline-item.error::before { background: #c89b90; }
.timeline-item h3 { font-size: 12px; font-weight: 550; color: #6d7f60; margin: 0; }
.timeline-item .card-copy { font-size: 11px; margin: 5px 0; }
.timeline-item .meta { margin-top: 4px; font-size: 9px; }
.notice { padding: 14px 18px; border-radius: 9px; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; margin: 0 0 24px; }
.notice.error { color: #a16a5d; background: #f9ede8; border: 1px solid #eeddd4; }
.toast { position: fixed; right: 27px; bottom: 25px; z-index: 10; max-width: min(420px, calc(100vw - 36px)); padding: 16px 20px; border-radius: 11px; background: #234a3d; color: #f4faec; font-size: 12px; line-height: 1.6; box-shadow: 0 8px 24px #22312226; }
.toast.error { background: #a26751; }
.page-footer { margin-top: 31px; padding-top: 19px; border-top: 1px solid #e4e9dc; display: flex; justify-content: space-between; gap: 20px; color: #acb49f; font-size: 9px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 1450px) { .main-content { padding-left: 58px; padding-right: 58px; } .page-heading { margin-top: 24px; } }
@media (max-width: 1150px) { .app-shell { grid-template-columns: 210px minmax(0,1fr); } .sidebar { padding-left: 17px; padding-right: 17px; } .brand { font-size: 16px; } .main-content { padding-left: 28px; padding-right: 28px; } .page-heading { gap: 20px; } .budget-grid { gap: 10px; } .metric-card { padding: 18px 16px; } .cockpit-grid { gap: 16px; grid-template-columns: minmax(0, 1.4fr) minmax(250px,1fr); } .panel { padding: 21px; } .direction-footer { gap: 9px; } .browser-panel { grid-template-columns: 1fr; gap: 20px; } .lower-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 930px) { .app-shell { grid-template-columns: 1fr; } .sidebar { height: auto; padding: 18px 25px 0; position: static; border-right: 0; border-bottom: 1px solid var(--line); } .brand { font-size: 18px; } .brand small { font-size: 9px; } .brand-symbol { height: 37px; width: 34px; } .navigation { margin-top: 20px; display: flex; gap: 4px; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin; } .nav-link { padding: 10px 12px; white-space: nowrap; font-size: 12px; } .nav-link > span:first-child { font-size: 17px; width: 14px; } .nav-count { font-size: 9px; padding: 1px 5px; } .sidebar-footer { display: none; } .main-content { padding-left: 26px; padding-right: 26px; } .topbar { height: 70px; } .page-heading { margin-top: 5px; } .cockpit-grid { grid-template-columns: minmax(0,1.5fr) minmax(250px,1fr); } h1 { font-size: 32px; } }
@media (max-width: 680px) { .sidebar { padding: 18px 17px 0; } .navigation { gap: 2px; margin-top: 16px; } .nav-link { padding: 9px 11px; gap: 7px; } .main-content { padding: 0 17px 22px; } .topbar { height: 65px; } .connection-state { font-size: 10px; } .local-tag { margin-left: 9px; } .breadcrumb { font-size: 11px; } .breadcrumb span { margin: 0 8px; } .page-heading { flex-direction: column; align-items: flex-start; margin-bottom: 25px; gap: 19px; } .page-heading > .button { align-self: stretch; } h1 { font-size: 30px; letter-spacing: -.95px; } .page-description { font-size: 12px; } .cockpit-grid, .lower-grid, .memory-grid, .journal-grid, .connector-grid { grid-template-columns: 1fr; gap: 15px; } .panel { padding: 21px; border-radius: 14px; } .goal-text { font-size: 15px; margin: 20px 0; } .direction-footer .muted { font-size: 10px; line-height: 1.7; } .budget-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; } .metric-card { padding: 18px; } .metric-card strong { font-size: 27px; } .metric-card span { font-size: 9px; } .section-heading h2 { font-size: 14px; } .section-heading { align-items: flex-end; } .section-heading .text-button { max-width: 85px; text-align: right; } .form-grid { grid-template-columns: 1fr; gap: 16px; } .align-bottom .button { width: 100%; } .list-toolbar { align-items: flex-start; flex-direction: column; gap: 10px; } .filter-label { align-self: stretch; justify-content: space-between; } .task-card { padding: 21px; } .action-summary { grid-template-columns: 1fr; } .action-summary div { padding: 10px 14px; } .action-summary div + div { border-left: 0; border-top: 1px solid var(--line); } .browser-panel form { flex-direction: column; align-items: stretch; } .panel-heading { gap: 10px; } .panel-heading .text-link { font-size: 10px; text-align: right; } .page-footer { font-size: 9px; line-height: 1.6; } .memory-grid .panel, .journal-grid .panel { max-height: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
/* CEO attestations use an explicit review checkbox. */
.form-grid input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; margin: 8px 0; accent-color: #183f38; }
.remote-login-shell { width: min(100%, 500px); margin: 0 auto; padding: clamp(28px, 8vh, 90px) 20px 32px; }
.remote-login-shell > .brand { margin-bottom: 30px; }
.remote-login-shell h1 { font-size: clamp(25px, 5vw, 32px); }
.remote-login-shell input { margin-bottom: 18px; }
.remote-login-shell .notice { margin-top: 6px; }
.advisor-layout { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(0, 2fr); gap: 22px; align-items: start; }
.advisor-history .panel-heading { align-items: flex-start; gap: 10px; }
.advisor-history .text-button { white-space: nowrap; }
.advisor-history-item { display: grid; gap: 6px; width: 100%; text-align: left; padding: 13px 12px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--ink); margin-bottom: 7px; }
.advisor-history-item:hover { background: #f5f7ef; }
.advisor-history-item.selected { background: #edf3e4; border-color: #d5e1c8; }
.advisor-history-item strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; line-height: 1.5; }
.advisor-history-item small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.advisor-chat .panel-heading { align-items: flex-start; margin-bottom: 10px; }
.advisor-boundary { margin: 10px 0 18px; padding: 12px 14px; border-radius: 9px; background: #f5f8ee; }
.advisor-messages { display: grid; gap: 16px; min-height: 220px; max-height: 58vh; overflow: auto; padding: 5px 4px 14px; scroll-behavior: auto; }
.advisor-message { background: #f7f9f3; border: 1px solid #e6ecdd; border-radius: 11px; padding: 15px 17px; min-width: 0; }
.advisor-message.user { background: #eef4e4; border-color: #dee8d0; margin-left: 22px; }
.advisor-message.assistant { margin-right: 22px; }
.advisor-message-meta { font-size: 10px; color: #86947b; margin-bottom: 10px; }
.advisor-message-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.75; color: #465c42; }
.advisor-sources { border-top: 1px solid #e3eadb; padding-top: 12px; }
.advisor-sources .form-hint { margin: 0; }
.advisor-composer { padding-top: 20px; border-top: 1px solid var(--line); margin-top: 14px; }
.advisor-composer .form-actions { align-items: center; }
.advisor-explain { display: block; margin-top: 15px; padding: 6px 10px; border: 1px solid #dfe8d4; border-radius: 7px; background: #f6f9f0; }
.advisor-explain:hover { background: #edf3e3; text-decoration: none; }
.advisor-source-highlight { outline: 3px solid #96b77e; outline-offset: 5px; }
@media (max-width: 1050px) { .advisor-layout { grid-template-columns: minmax(200px,.8fr) minmax(0,2fr); gap: 16px; }.advisor-history .panel-heading { flex-direction: column; } }
@media (max-width: 680px) { .advisor-layout { grid-template-columns: 1fr; gap: 15px; }.advisor-history .panel-heading { flex-direction: row; }.advisor-history { padding: 17px; }.advisor-history #advisor-conversations { max-height: 170px; overflow: auto; }.advisor-messages { max-height: 55vh; min-height: 160px; }.advisor-message { padding: 13px; }.advisor-message.user { margin-left: 9px; }.advisor-message.assistant { margin-right: 9px; }.advisor-chat .panel-heading { gap: 10px; }.advisor-chat #advisor-status { white-space: normal; text-align: right; }.advisor-composer .button { white-space: normal; } }
/* Operator home: confirmed decisions precede the complete portfolio. */
.operator-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin-top:1rem}
.operator-product-card,.operator-attention-card{border:1px solid var(--line,var(--border));border-radius:12px;padding:1rem;min-width:0;overflow-wrap:anywhere}
#operator-detail{overflow-wrap:anywhere;scroll-margin-top:16px}
#directive-input{scroll-margin-top:48px}
.navigation-more > summary { cursor:pointer; padding:13px 14px; font-size:14px; color:#526350; border-radius:10px; }
.navigation-more > summary .form-hint { display:block; margin:4px 0 0; }
.navigation-more > div { display:grid; gap:4px; margin-top:8px; }
.sidebar { overflow-y:auto; }
.operator-shortcuts { display:flex; gap:10px; flex-wrap:wrap; margin:22px 0; }
.operator-status { margin:18px 0; padding:0 2px; }
.operator-status .card-copy { margin:5px 0; }
.cockpit-disclosure { margin:16px 0; }
.cockpit-disclosure > summary, .operator-disclosure > summary { cursor:pointer; color:var(--ink); font-size:15px; font-weight:600; line-height:1.5; padding:6px 0; }
.cockpit-disclosure[open] > summary, .operator-disclosure[open] > summary { margin-bottom:18px; }
.cockpit-disclosure > article, .cockpit-disclosure > section { margin-top:24px; }
.operator-disclosure { margin-top:20px; padding-top:14px; border-top:1px solid var(--line); }
.operator-followup-heading { margin-top:24px; }
.operator-attention-card + .operator-attention-card { margin-top:12px; }
.card-copy { color:#526350; }
.form-hint, label { color:#596b52; }
.text-button, .text-link { color:#42613b; }
.page-description { color:#5b6c60; }
.button { white-space:normal; text-align:center; }
@media (max-width:930px) {
  .navigation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
  .navigation > .nav-link { justify-content:center; padding:12px 8px; }
  .navigation-more { grid-column:1 / -1; }
  .navigation-more > summary { text-align:center; }
  .navigation-more > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .navigation-more .nav-link { white-space:normal; }
}
@media (max-width:680px) {
  .navigation > .nav-link { font-size:14px; gap:6px; }
  .navigation .nav-count { margin-left:0; }
  input, textarea, select { font-size:16px; }
  label, .card-copy, .form-hint, .page-description, .operator-guide dd { font-size:14px; }
  .button, .button.small, .text-button, .text-link, summary { min-height:44px; }
  .button, .button.small { font-size:14px; }
  .text-button, .text-link { display:inline-flex; align-items:center; max-width:100%; font-size:14px; padding:6px 2px; overflow-wrap:anywhere; }
  .operator-shortcuts { display:grid; grid-template-columns:1fr; }
}
.audit-material-content{white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto;font-size:.85rem}
#view-maintenance .panel { margin-bottom: 16px; overflow-wrap: anywhere; }
#view-maintenance .panel p { font-size: 12px; line-height: 1.7; margin: 10px 0; }
#view-maintenance .button { max-width: 100%; white-space: normal; margin: 6px 6px 6px 0; }
#view-maintenance pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }
#view-maintenance label, #view-maintenance input, #view-maintenance select { min-width: 0; }
.audit-material-image{display:block;max-width:100%;height:auto}
