/* Object tiles: scoped visual layer, shared ELKA typography and navigation. */
.eo-page { max-width: 1480px; margin: 0 auto; color: #273a32; }
.eo-page svg,.eo-dialog svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.eo-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 8px 0 30px; }
.eo-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .13em; color: #68786c; margin-bottom: 13px; }
.eo-eyebrow svg { width: 15px; height: 15px; }
.eo-heading h1 { display: flex; align-items: center; gap: 13px; font-size: clamp(28px,2.7vw,38px); line-height: 1.2; letter-spacing: -.055em; color: #24372e; margin: 0; font-weight: 650; }
.eo-heading h1 span { display: inline-grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; background: #e8eee9; color: #6b8071; font-size: 15px; font-weight: 600; letter-spacing: 0; }
.eo-heading p { margin: 11px 0 0; color: #7b8881; font-size: 13px; line-height: 1.65; }
.eo-demo { display: grid; justify-items: end; gap: 8px; flex-shrink: 0; }
.eo-demo > span { display: flex; align-items: center; gap: 7px; color: #718076; font-size: 11px; font-weight: 600; }
.eo-demo i { width: 6px; height: 6px; background: #a4b7a7; border-radius: 50%; }
.eo-demo small { color: #68786c; font-size: 11px; }
.eo-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 0 20px; border-bottom: 1px solid #e0e7e1; }
.eo-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 4px; background: #eaf0eb; border: 1px solid #e2e9e3; border-radius: 13px; }
.eo-filters button { display: flex; align-items: center; gap: 9px; background: transparent; border: 1px solid transparent; border-radius: 10px; padding: 9px 14px; color: #6d7e73; font: inherit; font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.eo-filters button span { display: inline-grid; place-items: center; min-width: 19px; height: 19px; border-radius: 6px; padding: 0 4px; color: #8b998f; background: #e1e9e2; font-size: 11px; }
.eo-filters button[aria-pressed=true] { background: white; border-color: #dce6de; color: #315940; box-shadow: 0 2px 5px #24382b08; }
.eo-filters button[aria-pressed=true] span { background: #e4efdf; color: #4b7755; }
.eo-search { display: flex; align-items: center; gap: 10px; width: min(290px,30%); padding: 10px 13px; border: 1px solid #dfe7e1; background: #fff; border-radius: 11px; color: #68786c; }
.eo-search svg { width: 17px; height: 17px; }
.eo-search input { width: 100%; min-width: 0; padding: 0; background: none; border: 0; box-shadow: none; color: #334a3d; font: inherit; font-size: 12px; outline: 0; }
.eo-search:focus-within { outline: 2px solid #8caf94; outline-offset: 2px; }
.eo-search input::placeholder { color: #68786c; }
.eo-search .vd-wrap { width: 100%; flex: 1; }
.eo-search .vd-wrap > input { padding-right: 38px; }
.eo-view-meta { display: flex; gap: 16px; align-items: center; margin: 17px 0 21px; }
.eo-view-meta > button { display: flex; align-items: center; gap: 7px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #68786c; padding: 5px 0; font: inherit; font-size: 11px; cursor: pointer; }
.eo-view-meta svg { width: 15px; height: 15px; }
.eo-view-meta #eo-attention { color: #8d7454; }
.eo-view-meta #eo-attention b { min-width: 20px; padding: 1px 6px; border-radius: 5px; background: #f0e6d7; font-size: 11px; text-align: center; }
.eo-view-meta #eo-attention[aria-pressed=true] { background: #f1e4d0; border-color: #dac29f; padding-inline: 8px; }
.eo-view-meta #eo-help { margin-left: auto; }
#eo-results { font-size: 11px; color: #68786c; }
.eo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; align-items: start; }
.eo-card { min-width: 0; background: #fff; border: 1px solid #e0e7e2; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 16px #29443604,0 1px 3px #24382b03; transition: box-shadow .25s,border-color .25s,transform .25s; }
.eo-card:hover { border-color: #c6d6ca; box-shadow: 0 12px 30px #2944360c; transform: translateY(-3px); }
.eo-cover { display: block; position: relative; width: 100%; aspect-ratio: 1.83; padding: 0; border: 0; border-radius: 0; background: #dce5df; overflow: hidden; cursor: pointer; text-align: left; }
.eo-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s; }
.eo-cover:hover img { transform: scale(1.045); }
.eo-cover-shade { position: absolute; inset: 0; background: linear-gradient(180deg,#15352629,transparent 43%,#152d255e); pointer-events: none; }
.eo-status { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #ffffff65; border-radius: 8px; background: #fffffff0; color: #3e6650; backdrop-filter: blur(12px); font-size: 11px; line-height: 1.4; font-weight: 700; box-shadow: 0 2px 7px #14342008; }
.eo-status i { width: 5px; height: 5px; border-radius: 50%; background: #699e75; }
.eo-status svg { width: 12px; height: 12px; stroke-width: 2; }
.eo-status.is-done { background: #e7f0dfef; color: #436b40; }
.eo-photo-label { position: absolute; bottom: 12px; left: 16px; color: #ffffffd9; font-size: 11px; letter-spacing: .02em; }
.eo-cover-arrow { position: absolute; right: 13px; bottom: 13px; width: 31px; height: 31px; border-radius: 50%; border: 1px solid #ffffff55; display: grid; place-items: center; color: #fff; background: #ffffff16; backdrop-filter: blur(8px); }
.eo-cover-arrow svg { width: 15px; height: 15px; transform: rotate(-40deg); }
.eo-card-body { padding: 21px 22px 19px; }
.eo-direction { display: block; color: #68786c; font-size: 11px; font-weight: 600; line-height: 1.5; margin-bottom: 6px; }
.eo-card h2 { margin: 0; font-size: 19px; line-height: 1.45; letter-spacing: -.045em; font-weight: 650; }
.eo-card h2 button { font: inherit; color: #293e31; border: 0; background: none; text-align: left; padding: 0; cursor: pointer; }
.eo-location { display: flex; align-items: center; gap: 5px; min-height: 32px; margin: 7px 0 0; color: #68786c; font-size: 11px; line-height: 1.55; }
.eo-location svg { width: 12px; height: 12px; }
.eo-progress { margin-top: 23px; }
.eo-progress-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.eo-progress-title > span { font-size: 11px; font-weight: 600; color: #6f8074; }
.eo-progress-title > strong { font-size: 32px; font-weight: 650; letter-spacing: -.06em; line-height: 1.1; color: #365e43; font-variant-numeric: tabular-nums; }
.eo-progress-title strong small { font-size: 17px; letter-spacing: -.04em; margin-left: 2px; font-weight: 500; }
.eo-plan-line { display: flex; align-items: center; gap: 4px; color: #68786c; font-size: 11px; margin-top: 9px; line-height: 1.5; }
.eo-plan-line b { color: #7b8c7e; font-weight: 600; }
.eo-plan-line > span { margin-left: auto; }
.eo-plan-line svg { width: 12px; height: 12px; color: #648b5e; }
.eo-journey { padding: 32px 17px 9px 5px; }
.eo-road { position: relative; height: 6px; margin-right: 6px; border-radius: 5px; background: #e9eee8; }
.eo-road-fill { position: absolute; inset: 0 auto 0 0; width: var(--eo-progress); background: linear-gradient(90deg,#b9cfaa,#7ea16e); border-radius: 5px; }
.eo-road:after { content: ''; position: absolute; inset: 2.5px 3px; pointer-events: none; height: 1px; background: repeating-linear-gradient(90deg,transparent 0 8px,#ffffffb5 8px 14px); }
.eo-car { position: absolute; left: var(--eo-progress); bottom: 2px; width: 43px; height: 27px; transform: translateX(-50%); z-index: 3; animation: eo-arrive .9s cubic-bezier(.2,.65,.3,1) both; }
.eo-car svg { display: block; width: 100%; height: 100%; fill: none; stroke: none; }
.eo-road-start { position: absolute; left: -2px; top: 0; width: 6px; height: 6px; border-radius: 50%; background: #8fab83; z-index: 2; border: 1px solid #f5f8f2; }
.eo-road-finish { position: absolute; top: -19px; right: -19px; color: #789174; z-index: 2; }
.eo-road-finish svg { width: 18px; height: 25px; stroke-width: 1.7; }
.eo-plan-marker { position: absolute; left: var(--eo-plan); top: -4px; width: 2px; height: 14px; background: #a1aca0; border: 1px solid white; box-sizing: content-box; border-radius: 2px; z-index: 2; }
.eo-dates { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; }
.eo-dates > div { display: flex; align-items: center; gap: 6px; min-width: 0; }
.eo-dates > div:last-child { text-align: right; }
.eo-dates svg { width: 14px; height: 14px; color: #93a48e; }
.eo-dates small { display: block; margin-bottom: 3px; font-size: 11px; color: #68786c; }
.eo-dates time { font-size: 11px; font-weight: 650; color: #526a55; font-variant-numeric: tabular-nums; }
.eo-schedule { display: flex; align-items: center; gap: 9px; margin-top: 20px; padding: 11px 10px; border: 1px solid; border-radius: 10px; }
.eo-schedule-icon { display: grid; place-items: center; width: 25px; height: 25px; flex-shrink: 0; border-radius: 8px; background: #ffffff8a; }
.eo-schedule-icon svg { width: 14px; height: 14px; }
.eo-schedule strong { display: block; font-size: 11px; font-weight: 700; line-height: 1.5; }
.eo-schedule small { display: block; font-size: 11px; margin-top: 2px; opacity: .8; line-height: 1.5; }
.eo-schedule > button { margin-left: auto; background: none; border: 0; color: inherit; padding: 5px; opacity: .65; cursor: pointer; }
.eo-schedule > button svg { width: 14px; height: 14px; }
.eo-schedule.eo-success { background: #f0f5eb; border-color: #e4eddc; color: #668450; }
.eo-schedule.eo-warning { background: #fbf4e9; border-color: #f2e7d4; color: #a37d42; }
.eo-schedule.eo-danger { background: #fbefeb; border-color: #f0ddd5; color: #af6753; }
.eo-schedule.eo-neutral { background: #f1f3f1; border-color: #e4e8e4; color: #778279; }
.eo-card-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; border-top: 1px solid #edf1ed; padding: 14px 22px 16px; background: #fcfdfb; }
.eo-message { display: flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: #768475; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.eo-message svg { width: 14px; height: 14px; }
.eo-message b { min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 5px; background: #e8ebe5; color: #6f7b68; font-size: 11px; }
.eo-message.has-important { color: #8d7661; }
.eo-message.has-important b { color: #9b7140; background: #f3e5d1; }
.eo-summary-link { display: flex; align-items: center; gap: 4px; margin-left: auto; padding: 0; border: 0; background: none; color: #68786c; font: inherit; font-size: 11px; cursor: pointer; }
.eo-summary-link svg { width: 13px; height: 13px; }
.eo-message-preview { display: block; width: 100%; margin: 0; font-size: 11px; line-height: 1.5; color: #68786c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eo-message-preview i { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #b69662; margin-right: 5px; vertical-align: 2px; }
.eo-message-preview.is-quiet { color: #68786c; }
.eo-demo-note { margin: 24px 0 0; font-size: 11px; color: #68786c; line-height: 1.7; }
.eo-empty { grid-column: 1 / -1; padding: 55px 30px; text-align: center; background: #fff; border: 1px dashed #cddbcc; border-radius: 18px; }
.eo-empty h2 { font-size: 21px; margin: 0 0 10px; }
.eo-empty p { color: #68786c; font-size: 13px; margin: 0 0 20px; }
.eo-dialog { box-sizing: border-box; width: min(580px,calc(100vw - 32px)); max-height: min(860px,90dvh); border: 1px solid #dce5db; border-radius: 21px; padding: 27px; background: #fff; color: #344c39; box-shadow: 0 24px 100px #112d282e; overflow-y: auto; font-family: inherit; }
.eo-dialog::backdrop { background: #132b2559; backdrop-filter: blur(4px); }
.eo-dialog-head { display: flex; align-items: start; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.eo-dialog-kicker { color: #68786c; font-size: 11px; }
.eo-dialog-head h2 { margin: 5px 0 0; font-size: 22px; line-height: 1.35; letter-spacing: -.035em; font-weight: 650; }
.eo-dialog-head button { background: #f0f4ee; border: 0; color: #809079; border-radius: 10px; width: 35px; height: 35px; display: grid; place-items: center; flex-shrink: 0; cursor: pointer; }
.eo-dialog-photo { display: block; width: 100%; aspect-ratio: 2.3; object-fit: cover; border-radius: 12px; }
.eo-dialog-intro { color: #68786c; font-size: 12px; line-height: 1.8; margin: 16px 0; }
.eo-dialog-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 19px; border: 1px solid #e3ecdf; border-radius: 12px; background: #f8faf5; }
.eo-dialog-facts small { display: block; font-size: 11px; color: #68786c; margin-bottom: 6px; }
.eo-dialog-facts strong { display: block; font-size: 13px; }
.eo-dialog-facts .eo-warning { color: #a37d42; }
.eo-dialog-facts .eo-success { color: #668450; }
.eo-dialog-messages { margin-top: 25px; }
.eo-dialog-messages h3 { font-size: 14px; font-weight: 650; margin: 0 0 18px; }
.eo-dialog-messages h3 span { color: #8d9e80; margin-left: 5px; }
.eo-dialog-messages article { display: flex; align-items: start; gap: 10px; padding: 15px 0; border-top: 1px solid #edf1e8; }
.eo-dialog-messages article > div { min-width: 0; flex: 1; }
.eo-message-avatar { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; background: #ecf1e6; color: #788d64; font-size: 11px; font-weight: 650; flex-shrink: 0; }
.eo-dialog-messages header { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; }
.eo-dialog-messages header time { color: #68786c; font-size: 11px; }
.eo-dialog-messages p { font-size: 12px; line-height: 1.7; color: #6f7e64; margin: 8px 0 0; }
.eo-message-important { display: inline-block; font-size: 11px; background: #f6ead5; color: #ac8450; border-radius: 5px; padding: 3px 6px; margin-top: 8px; }
.eo-dialog-note { margin: 22px 0 0; padding-top: 17px; border-top: 1px solid #eaf0e4; color: #68786c; font-size: 11px; line-height: 1.7; }
.eo-explanation { padding: 20px; border-radius: 13px; background: #f5f8f0; font-size: 13px; line-height: 1.7; }
.eo-explanation p { color: #7e8d70; font-size: 12px; margin: 12px 0 0; }
.eo-help-list p { margin: 0; padding: 15px 0; border-top: 1px solid #edf1e8; }
.eo-help-list b { display: block; font-size: 13px; margin-bottom: 6px; }
.eo-help-list span { display: block; color: #7b8c6a; font-size: 12px; line-height: 1.75; }
.eo-page button:focus-visible,.eo-dialog button:focus-visible { outline: 2px solid #799c69; outline-offset: 3px; }
@keyframes eo-arrive { from { left: 0%; opacity: 0; } 15% { opacity: 1; } to { left: var(--eo-progress); opacity: 1; } }
@media (max-width: 1240px) { .eo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; } .eo-toolbar { gap: 13px; } .eo-filters button { padding-inline: 10px; } .eo-search { width: 230px; } }
@media (min-width: 1600px) { .eo-card-body { padding: 24px 27px 21px; } .eo-card-footer { padding-inline: 27px; } .eo-card h2 { font-size: 21px; } .eo-direction { font-size: 11px; } .eo-location { font-size: 11px; } .eo-progress-title > span { font-size: 12px; } .eo-schedule strong { font-size: 11px; } .eo-schedule small { font-size: 11px; } }
@media (max-width: 820px) { .eo-toolbar { flex-wrap: wrap; } .eo-search { width: 100%; } .eo-heading { margin-top: 0; } .eo-heading p { max-width: 260px; } .eo-eyebrow { font-size: 11px; letter-spacing: .1em; } .eo-demo { align-self: end; } .eo-card-body { padding-inline: 18px; } .eo-card-footer { padding-inline: 18px; } .eo-view-meta { gap: 9px; } }
@media (max-width: 580px) { .eo-grid { grid-template-columns: minmax(0,1fr); gap: 22px; } .eo-heading { gap: 12px; margin-bottom: 22px; } .eo-heading h1 { font-size: 31px; } .eo-heading p { font-size: 11px; max-width: 230px; } .eo-demo { align-self: start; margin-top: 30px; } .eo-demo small { display: none; } .eo-demo > span { font-size: 11px; } .eo-filters { width: 100%; justify-content: space-between; gap: 0; } .eo-filters button { padding: 9px 8px; gap: 5px; font-size: 11px; } .eo-toolbar { gap: 12px; padding-bottom: 15px; } .eo-view-meta { flex-wrap: wrap; margin-bottom: 18px; } #eo-results { font-size: 11px; } .eo-view-meta > button { font-size: 11px; } .eo-view-meta #eo-help { margin-left: auto; } .eo-card-body { padding: 22px 24px 20px; } .eo-card-footer { padding: 15px 24px 17px; } .eo-card h2 { font-size: 23px; } .eo-direction { font-size: 11px; } .eo-location { font-size: 11px; } .eo-progress-title > span { font-size: 12px; } .eo-schedule strong { font-size: 12px; } .eo-schedule small { font-size: 11px; } .eo-message,.eo-summary-link { font-size: 11px; } .eo-message-preview { font-size: 11px; } .eo-dates time { font-size: 11px; } .eo-dialog { padding: 21px; } }
@media (max-width: 580px) { .eo-filters button span { display: none; } }
@media (prefers-reduced-motion: reduce) { .eo-car { animation: none; } .eo-card,.eo-cover img { transition: none; } .eo-card:hover { transform: none; } }

/* Object workspace: a stable identity above five switchable sections. */
.eo-detail { min-width: 0; }
.eo-breadcrumb [data-objects-list] { color: inherit; text-underline-offset: 3px; }
.eo-breadcrumb { display: block; margin-left: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #718076; font-size: 12px; }
.eo-breadcrumb > span { margin: 0 9px; color: #a3afa6; }
.eo-object-header { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,1fr); gap: 30px; padding: 26px; background: #fff; border: 1px solid #e0e7e2; border-radius: 19px; box-shadow: 0 4px 16px #29443604; }
.eo-object-identity { display: flex; gap: 22px; align-items: center; min-width: 0; }
.eo-object-cover { position: relative; width: 144px; height: 172px; border-radius: 12px; overflow: hidden; flex-shrink: 0; background: #e6ede7; }
.eo-object-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eo-object-cover > span { position: absolute; inset: auto 0 0; padding: 20px 10px 9px; color: white; font-size: 11px; background: linear-gradient(transparent,#152d257d); }
.eo-object-title { min-width: 0; }
.eo-object-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 16px; }
.eo-object-meta .eo-status { position: static; box-shadow: none; border-color: #dfeadd; background: #f1f6ee; }
.eo-object-meta > span:last-child { font-size: 11px; color: #718076; }
.eo-object-title h1 { margin: 0; font-size: clamp(24px,2.2vw,32px); letter-spacing: -.045em; line-height: 1.25; color: #293e31; font-weight: 650; overflow-wrap: anywhere; }
.eo-object-title .eo-location { margin-top: 12px; }
.eo-object-title .eo-direction { margin: 8px 0 0; line-height: 1.7; font-weight: 500; }
.eo-object-progress { min-width: 0; border-left: 1px solid #e8eee8; padding-left: 30px; }
.eo-object-progress .eo-progress-title > strong { font-size: 30px; }
.eo-object-progress .eo-journey { padding-top: 27px; }
.eo-object-progress .eo-schedule { margin-top: 15px; padding: 8px 10px; }
.eo-object-progress .eo-schedule small { font-size: 11px; }
.eo-detail-tabs { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); gap: 4px; margin: 25px 0 16px; padding: 5px; border: 1px solid #e0e7e1; border-radius: 13px; background: #eaf0eb; overflow-x: auto; scrollbar-width: thin; scroll-padding-inline: 5px; }
.eo-detail-tabs > button { min-width: 0; position: relative; display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 47px; padding: 12px 16px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #68786c; font: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.eo-detail-tabs > button > svg { width: 17px; height: 17px; }
.eo-detail-tabs > button:not([aria-selected=true]):hover { color: #365e43; }
.eo-detail-tabs > button[aria-selected=true] { background: #fff; color: #315b40; border-color: #d9e4db; box-shadow: 0 2px 5px #24382b08; }
.eo-detail-tabs > button:focus-visible { outline-offset: -3px; }
.eo-tab-count { display: inline-grid; place-items: center; min-width: 19px; height: 19px; padding: 0 4px; background: #dfe8dc; color: #58714f; border-radius: 6px; font-size: 11px; }
.eo-tab-panel { min-height: 330px; padding: 26px 30px; border: 1px solid #e0e7e2; border-radius: 17px; background: #fff; box-shadow: 0 4px 16px #29443603; }
.eo-tab-panel:focus-visible { outline: 2px solid #799c69; outline-offset: 3px; }
.eo-module-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding-bottom: 22px; border-bottom: 1px solid #edf1ed; }
.eo-module-kicker { display: block; font-size: 11px; color: #718076; margin-bottom: 5px; }
.eo-module-heading h2 { margin: 0; color: #334b3c; font-size: 19px; font-weight: 650; letter-spacing: -.03em; line-height: 1.4; }
.eo-module-caption { font-size: 11px; color: #718076; }
.eo-module-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 20px 30px; }
.eo-module-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 17px; border-radius: 18px; background: #f0f5ed; border: 1px solid #e4ecdf; color: #809b71; box-shadow: 0 4px 14px #68835406; }
.eo-module-icon svg { width: 27px; height: 27px; stroke-width: 1.4; }
.eo-module-empty h3 { margin: 0; color: #465e4b; font-size: 16px; font-weight: 600; letter-spacing: -.02em; line-height: 1.5; }
.eo-module-empty p { max-width: 460px; margin: 10px 0 0; color: #718076; font-size: 12px; line-height: 1.85; }
.eo-event-list { max-width: 900px; margin-top: 5px; }
.eo-event-list article { padding: 22px 0; gap: 14px; }
.eo-event-list article:first-child { border-top: 0; }
.eo-event-list .eo-message-avatar { width: 37px; height: 37px; border-radius: 12px; font-size: 13px; }
.eo-event-list header { font-size: 12px; align-items: center; }
.eo-event-list p { color: #566c59; font-size: 13px; margin-top: 7px; }
.eo-detail .eo-demo-note { margin-top: 17px; }
/* Colour identifies each object section without changing the shared navigation. */
.eo-detail-tabs [data-object-tab=documents] > svg { color: #527bbb; }
.eo-detail-tabs [data-object-tab=finances] > svg { color: #25876a; }
.eo-detail-tabs [data-object-tab=employees] > svg { color: #8b6bb8; }
.eo-detail-tabs [data-object-tab=tools] > svg { color: #ad7c27; }
.eo-detail-tabs [data-object-tab=events] > svg { color: #308a98; }
.eo-tab-panel[data-section=documents] .eo-module-icon { color: #527bbb; background: #eff4fc; border-color: #dfe8f6; }
.eo-tab-panel[data-section=employees] .eo-module-icon { color: #8b6bb8; background: #f5f0fa; border-color: #e9e1f3; }
.eo-tab-panel[data-section=tools] .eo-module-icon { color: #ad7c27; background: #fcf6e9; border-color: #f0e5cd; }
.eo-tab-panel[data-section=events] .eo-module-icon { color: #308a98; background: #edf7f8; border-color: #dceef0; }

/* Finance: an overview, linked breakdowns and an isolated example editor. */
.ef-body { min-width: 0; }
.ef-intro { margin: 18px 0 24px; color: #68786c; font-size: 12px; line-height: 1.7; }
.ef-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.ef-section { min-width: 0; padding: 21px; border: 1px solid #e7ece8; border-radius: 15px; background: #f8faf9; }
.ef-section h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 17px; color: #304537; font-size: 18px; font-weight: 650; letter-spacing: -.025em; }
.ef-section-icon { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; flex-shrink: 0; }
.ef-section-icon svg { width: 20px; height: 20px; stroke-width: 1.8; }
.ef-section-icon.ef-blue { color: #527bbb; background: #e9f0fc; }
.ef-section-icon.ef-red { color: #bc6161; background: #faebeb; }
.ef-section-icon.ef-green { color: #25876a; background: #e6f3ed; }
.ef-section-icon.ef-gold { color: #a17926; background: #faf0d9; }
.ef-tiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.ef-tile { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 17px 18px 15px; border: 1px solid #e0e7e2; border-radius: 11px; background: #fff; color: #2c3d34; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 2px 3px #223e2d03; transition: border-color .15s,box-shadow .15s; }
.ef-tile:hover { border-color: #a8bfae; box-shadow: 0 4px 14px #223e2d09; }
.ef-tile-label { display: flex; align-items: start; justify-content: space-between; gap: 10px; width: 100%; color: #66746c; font-size: 12px; font-weight: 500; line-height: 1.5; }
.ef-tile-label svg { width: 13px; height: 13px; margin-top: 3px; color: #809187; }
.ef-tile strong { display: block; margin-top: auto; font-size: clamp(15px,1.35vw,21px); font-weight: 650; line-height: 1.5; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ef-tile-foot { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; min-height: 17px; }
.ef-tile-foot small { color: #718076; font-size: 11px; line-height: 1.5; }
.ef-tile-foot b { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ef-wide { grid-column: 1 / -1; }
.ef-tile.ef-green { background: #f1f8f4; border-color: #dcebe1; }
.ef-tile.ef-green strong,.ef-tile.ef-green b,.ef-text-green { color: #237a59; }
.ef-tile.ef-red { background: #fdf4f3; border-color: #f0dfdc; }
.ef-tile.ef-red strong,.ef-tile.ef-red b,.ef-text-red { color: #b84e48; }
.ef-payments { grid-column: 1 / -1; }
.ef-payments .ef-tiles { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ef-payments .ef-wide { grid-column: auto; }
.ef-demo-note { margin: 22px 0 0; color: #718076; font-size: 11px; line-height: 1.8; }
.ef-no-data,.ef-storage-error { margin: 0 0 22px; padding: 15px 18px; border: 1px solid #e0e7e2; border-radius: 10px; color: #526959; background: #f6f9f5; font-size: 13px; line-height: 1.7; }
.ef-storage-error { color: #994b40; border-color: #eed4cf; background: #fff5f2; }
.ef-detail-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px 25px; border: 1px solid #e0e9e2; border-radius: 13px; background: #f5f9f6; }
.ef-detail-summary > div { min-width: 0; flex-shrink: 0; max-width: 100%; }
.ef-detail-summary > div > span { display: block; margin-bottom: 8px; color: #68786c; font-size: 12px; }
.ef-detail-summary strong { display: block; font-size: clamp(22px,2.1vw,30px); font-weight: 650; letter-spacing: -.04em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ef-detail-summary small { display: block; margin-top: 8px; font-size: 12px; color: #68786c; }
.ef-detail-summary p { max-width: 470px; margin: 0; color: #5d7163; font-size: 12px; line-height: 1.85; }
.ef-table-scroll { max-width: 100%; overflow-x: auto; margin-top: 22px; border: 1px solid #e4eae5; border-radius: 12px; }
.ef-ledger { width: 100%; min-width: 630px; border-collapse: collapse; text-align: left; font-size: 12px; }
.ef-ledger th { padding: 14px 18px; background: #f8faf8; color: #6a7a70; font-size: 11px; font-weight: 600; white-space: nowrap; }
.ef-ledger td { padding: 17px 18px; border-top: 1px solid #eaf0eb; line-height: 1.6; vertical-align: middle; }
.ef-ledger td strong { display: block; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.ef-ledger td small { display: block; margin-top: 3px; color: #718076; font-size: 11px; }
.ef-ledger time { color: #63766a; white-space: nowrap; }
.ef-ledger .ef-numeric { white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.ef-formula-parts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 22px; }
.ef-calculation-note { margin: 22px 0 0; padding-left: 16px; border-left: 3px solid #c7dbc8; color: #617667; font-size: 12px; line-height: 1.9; }
.ef-empty { padding: 40px 20px; text-align: center; }
.ef-empty h3 { font-size: 17px; font-weight: 600; margin: 0 0 10px; }
.ef-empty p { color: #718076; font-size: 12px; line-height: 1.8; }
.ef-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1120px) { .ef-sections { gap: 16px; } .ef-section { padding: 17px; } .ef-tile { padding: 14px; } .ef-tile strong { font-size: 17px; } .ef-detail-summary { flex-wrap: wrap; gap: 15px; } }
@media (max-width: 1240px) { .ef-sections { grid-template-columns: minmax(0,1fr); } .ef-payments .ef-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); } .ef-payments .ef-wide { grid-column: 1 / -1; } }
@media (max-width: 580px) { .ef-section { padding: 15px 12px; border-radius: 12px; } .ef-section h3 { font-size: 17px; gap: 8px; } .ef-tiles { gap: 9px; } .ef-tile { padding: 13px 11px; gap: 8px; } .ef-tile strong { font-size: 15px; } .ef-tile-label { font-size: 11px; gap: 4px; } .ef-tile-foot { min-height: 0; } .ef-tile-foot small { font-size: 11px; } .ef-intro { margin-bottom: 18px; } .ef-detail-summary { padding: 18px; } .ef-formula-parts { grid-template-columns: minmax(0,1fr); } .ef-ledger td,.ef-ledger th { padding: 13px; } }
@media (max-width: 380px) { .ef-tiles,.ef-payments .ef-tiles { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .ef-tile { transition: none; } }
@media (max-width: 1120px) { .eo-object-header { gap: 22px; padding: 22px; grid-template-columns: minmax(0,1.2fr) minmax(280px,1fr); } .eo-object-cover { width: 95px; height: 130px; } .eo-object-identity { gap: 16px; } .eo-object-progress { padding-left: 22px; } .eo-detail-tabs > button { padding-inline: 12px; font-size: 12px; } }
@media (max-width: 820px) { .eo-object-header { grid-template-columns: minmax(0,1fr); gap: 22px; } .eo-object-cover { width: 110px; height: 120px; } .eo-object-progress { border-left: 0; border-top: 1px solid #e8eee8; padding: 20px 0 0; } .eo-object-progress .eo-schedule small { display: none; } .eo-object-progress .eo-schedule { margin-top: 14px; } .eo-object-meta { margin-bottom: 10px; } .eo-detail-tabs { margin-top: 20px; } .eo-tab-panel { padding: 22px; } }
@media (max-width: 580px) { .eo-breadcrumb { font-size: 11px; margin-left: 12px; } .eo-object-header { padding: 18px; border-radius: 16px; } .eo-object-identity { gap: 13px; align-items: start; } .eo-object-cover { width: 76px; height: 95px; } .eo-object-cover > span { padding-inline: 4px; font-size: 11px; } .eo-object-title h1 { font-size: 23px; } .eo-object-title .eo-direction { font-size: 11px; } .eo-object-meta { gap: 6px; } .eo-object-meta .eo-status { padding: 4px 7px; } .eo-object-title .eo-location { margin-top: 7px; min-height: 0; } .eo-detail-tabs { gap: 3px; } .eo-detail-tabs > button { gap: 6px; padding-inline: 13px; min-height: 46px; } .eo-tab-panel { padding: 20px 18px; min-height: 310px; border-radius: 14px; } .eo-module-heading { gap: 8px; padding-bottom: 17px; } .eo-module-caption { width: 100%; } .eo-module-empty { padding: 30px 4px 20px; } .eo-module-heading h2 { font-size: 18px; } .eo-event-list article { gap: 10px; } .eo-event-list .eo-message-avatar { width: 31px; height: 31px; font-size: 11px; } }

/* Document-derived financial overview and transparent forecast. */
.ef-source-banner { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 15px; margin: 20px 0 24px; padding: 13px 16px; border: 1px solid #e1e9e3; border-radius: 10px; background: #f8faf8; color: #5f7267; font-size: 11px; line-height: 1.6; }
.ef-source-banner > span { display: flex; align-items: center; gap: 7px; }
.ef-source-banner svg { width: 15px; height: 15px; color: #739382; }
.ef-source-banner b { padding: 2px 7px; border-radius: 5px; background: #f5ecd8; color: #8b6b2b; font-size: 11px; font-weight: 500; }
.ef-source-banner button { margin-left: auto; background: none; border: 0; padding: 4px 0; color: #446f58; font: inherit; cursor: pointer; }
.ef-analysis { margin-bottom: 28px; }
.ef-analysis-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 28px 0 20px; }
.ef-overline { display: block; color: #728177; font-size: 11px; margin-bottom: 7px; }
.ef-analysis-head h3 { margin: 0; color: #2b4435; font-size: 25px; font-weight: 650; letter-spacing: -.04em; }
.ef-risk-tag { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #deebe2; border-radius: 8px; background: #eff7f2; color: #487359; font-size: 11px; font-weight: 600; }
.ef-risk-tag svg { width: 15px; height: 15px; }
.ef-risk-tag.is-risk { color: #af5c48; background: #fff3ee; border-color: #f0ddd4; }
.ef-signals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 22px; }
.ef-signal { display: flex; flex-direction: column; gap: 11px; padding: 19px 18px; min-width: 0; border: 1px solid #dce8df; border-radius: 13px; background: #f2f8f4; color: #2a654a; font: inherit; text-align: left; cursor: pointer; }
.ef-signal > span { display: flex; align-items: start; justify-content: space-between; gap: 6px; font-size: 11px; font-weight: 500; line-height: 1.55; color: #587260; }
.ef-signal > span svg { width: 12px; height: 12px; margin-top: 3px; }
.ef-signal strong { margin-top: auto; font-size: clamp(22px,2.05vw,32px); line-height: 1.4; letter-spacing: -.045em; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ef-signal small { font-size: 11px; color: #647b6b; line-height: 1.7; }
.ef-signal-red { background: #fff3ef; border-color: #f0dcd2; color: #b05743; }
.ef-signal-red > span,.ef-signal-red small { color: #986552; }
.ef-signal-gold { background: #fcf8ee; border-color: #eee4cd; color: #937125; }
.ef-signal-gold > span,.ef-signal-gold small { color: #8a7954; }
.ef-signal:hover { box-shadow: 0 4px 14px #304c360c; border-color: #acbcb0; }
.ef-analytics-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 20px; }
.ef-chart-card { padding: 21px; border: 1px solid #e2e9e4; border-radius: 14px; min-width: 0; background: #fff; }
.ef-chart-card > header { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 17px; }
.ef-chart-card h4 { margin: 0; font-size: 16px; font-weight: 650; color: #344b3c; letter-spacing: -.02em; }
.ef-chart-card header p { margin: 7px 0 0; font-size: 11px; color: #728177; line-height: 1.6; }
.ef-text-link { display: inline-flex; align-items: center; justify-content: start; gap: 5px; border: 0; padding: 6px 0; background: none; color: #426f54; font: inherit; font-size: 11px; text-align: left; cursor: pointer; line-height: 1.6; }
.ef-text-link:hover { color: #1a5135; text-decoration: underline; text-underline-offset: 3px; }
.ef-text-link svg { width: 13px; height: 13px; }
.ef-scenario { display: inline-flex; flex-wrap: wrap; gap: 3px; padding: 3px; border: 1px solid #e0e7e0; border-radius: 8px; background: #f1f5f0; margin-bottom: 15px; }
.ef-scenario button { border: 1px solid transparent; border-radius: 6px; background: none; color: #6f7e72; padding: 8px 10px; font: inherit; font-size: 11px; cursor: pointer; }
.ef-scenario button[aria-pressed=true] { background: white; color: #345c40; border-color: #d9e5da; box-shadow: 0 2px 4px #28443105; }
.ef-chart-callout { font-size: 11px; color: #6b7d71; line-height: 1.8; margin-bottom: 12px; }
.ef-chart-callout b { font-weight: 650; }
.eo-page svg.ef-cash-chart { display: block; width: 100%; height: auto; min-height: 175px; margin: 10px 0 0; stroke: none; overflow: visible; }
.ef-cash-chart text { fill: #738477; stroke: none; font-family: inherit; font-size: 16px; }
.ef-cash-chart .ef-negative-zone { fill: #fcf0ed; stroke: none; }
.ef-cash-chart .ef-chart-grid { stroke: #e8eee8; stroke-width: 1; }
.ef-cash-chart .ef-zero-line { stroke: #d79782; stroke-width: 1.2; }
.ef-cash-chart .ef-today-line { stroke: #bdcbc1; stroke-width: 1; stroke-dasharray: 3 5; }
.ef-cash-chart .ef-chart-actual { fill: none; stroke: #358064; stroke-width: 2.8; }
.ef-cash-chart .ef-chart-forecast { fill: none; stroke: #8f7b50; stroke-width: 2.8; stroke-dasharray: 6 5; }
.ef-cash-chart .ef-point { fill: #358064; stroke: white; stroke-width: 2; }
.ef-cash-chart .ef-point-risk { fill: #c2644d; stroke: white; stroke-width: 2; }
.ef-chart-legend { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 12px; font-size: 11px; color: #748277; }
.ef-chart-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.ef-chart-legend i { display: inline-block; width: 16px; height: 3px; background: #358064; border-radius: 2px; }
.ef-chart-legend .ef-legend-forecast { height: 0; background: none; border-top: 2px dashed #8f7b50; }
.ef-chart-legend .ef-legend-risk { background: #c2644d; }
.ef-chart-legend .ef-legend-plan { background: #becabd; }
.ef-cost-bars { display: grid; gap: 0; }
.ef-cost-row { display: grid; grid-template-columns: minmax(110px,1.1fr) minmax(50px,1fr) auto; gap: 12px; align-items: center; padding: 13px 0; border: 0; border-bottom: 1px solid #edf1ed; background: none; font: inherit; color: #425d4a; text-align: left; cursor: pointer; }
.ef-cost-row:last-child { border-bottom: 0; }
.ef-cost-row:hover { background: #fafcf8; }
.ef-cost-label { font-size: 12px; font-weight: 600; line-height: 1.6; }
.ef-cost-label small { display: block; font-size: 11px; font-weight: 400; color: #728277; }
.ef-cost-label small.ef-text-red { color: #b35f4d; }
.ef-bar-pair { display: flex; flex-direction: column; gap: 6px; }
.ef-bar-track { display: block; height: 6px; background: #f2f5f1; border-radius: 3px; overflow: hidden; }
.ef-bar-track i { display: block; height: 100%; border-radius: inherit; }
.ef-bar-plan { background: #becabd; }.ef-bar-actual { background: #519074; }.ef-bar-over { background: #cf8a72; }
.ef-bar-values { font-size: 11px; color: #8b968b; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; line-height: 1.75; }
.ef-bar-values b { display: block; font-weight: 600; color: #435e4c; }
.ef-explainer { margin-top: 18px; border: 1px solid #e1e8e1; border-radius: 11px; background: #f8faf6; }
.ef-explainer summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 18px; color: #57705b; font-size: 12px; cursor: pointer; list-style: none; }
.ef-explainer summary::-webkit-details-marker { display: none; }
.ef-explainer summary svg { width: 14px; height: 14px; }
.ef-explainer[open] summary svg { transform: rotate(90deg); }
.ef-explainer summary:focus-visible { outline: 2px solid #799c69; outline-offset: 2px; }
.ef-explainer-body { border-top: 1px solid #e5ece3; padding: 5px 18px 15px; color: #6e7e6f; font-size: 12px; line-height: 1.9; }
.ef-explainer-body b { font-weight: 600; color: #4e6853; }
.ef-inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 25px; margin-top: 18px; }
.ef-section-divider { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-top: 26px; margin: 27px 0 20px; border-top: 1px solid #e4ebe4; }
.ef-section-divider h3 { margin: 0; font-size: 20px; font-weight: 650; color: #38503e; letter-spacing: -.03em; }
.ef-section-divider span { font-size: 11px; color: #7b8a7b; }
.ef-source-link { display: inline-flex; align-items: start; gap: 7px; padding: 5px 0; border: 0; background: none; color: #416b55; font: inherit; font-size: 12px; line-height: 1.7; text-align: left; cursor: pointer; }
.ef-source-link:hover span { text-decoration: underline; text-underline-offset: 3px; }
.ef-source-link svg { width: 15px; height: 15px; margin-top: 3px; color: #6f9b83; }
.ef-source-link > span { min-width: 0; overflow-wrap: anywhere; }
.ef-calendar-source + .ef-calendar-source { margin-top: 12px; }
.ef-muted { color: #7b8a7d; font-size: 11px; }
.ef-source-status { font-size: 11px; color: #508164; white-space: nowrap; }
.ef-source-status.is-pending { color: #a4813d; }
.ef-subheading { margin: 25px 0 13px; font-size: 16px; font-weight: 600; color: #4f6b57; }
.ef-funding-note { display: flex; align-items: start; gap: 14px; padding: 22px; border: 1px solid #eee6d3; border-radius: 12px; background: #fdfaf2; }
.ef-funding-note h3 { margin: 0 0 9px; font-size: 17px; font-weight: 600; color: #776335; }
.ef-funding-note p { margin: 0; font-size: 12px; color: #8a7954; line-height: 1.8; }
.ef-source-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 0; padding: 20px; border-radius: 12px; background: #f6f9f4; }
.ef-source-facts > div { min-width: 0; }
.ef-source-facts dt { margin: 0 0 6px; font-size: 11px; color: #7a897b; }
.ef-source-facts dd { margin: 0; font-size: 13px; font-weight: 600; color: #3e5f49; overflow-wrap: anywhere; }
.ef-source-inclusion { margin: 20px 0; font-size: 12px; color: #687d6b; line-height: 1.8; }
.ef-source-related h3 { margin: 20px 0 8px; font-size: 14px; font-weight: 600; }
@media (max-width: 1400px) { .ef-analytics-grid { grid-template-columns: minmax(0,1fr); } .ef-signals { grid-template-columns: repeat(2,minmax(0,1fr)); } .ef-cost-row { grid-template-columns: minmax(150px,1fr) minmax(60px,2fr) auto; } }
@media (max-width: 580px) { .ef-signals { gap: 10px; } .ef-signal { padding: 15px 13px; gap: 8px; } .ef-signal strong { font-size: 23px; } .ef-analysis-head h3 { font-size: 22px; } .ef-analysis-head { margin-top: 22px; } .ef-chart-card { padding: 17px 12px; } .ef-chart-card h4 { font-size: 15px; } .ef-scenario button { padding: 8px 7px; } .ef-cost-row { grid-template-columns: minmax(90px,1fr) minmax(25px,.6fr) auto; gap: 8px; } .ef-bar-values { font-size: 11px; } .ef-source-banner { padding: 11px 13px; margin-top: 15px; } .ef-source-banner button { margin-left: 0; } .ef-source-facts { padding: 16px; gap: 15px; } .ef-section-divider span { line-height: 1.7; } .ef-funding-note { padding: 16px; } }
@media (max-width: 380px) { .ef-signals { grid-template-columns: minmax(0,1fr); } .ef-source-facts { grid-template-columns: minmax(0,1fr); } .ef-cost-row { grid-template-columns: minmax(0,1fr) auto; } .ef-bar-pair { display: none; } }

@media (max-width: 580px) { .ef-cash-chart text { font-size: 24px; } }

.ef-risk-tag.is-unknown { color: #778179; background: #f3f5f3; border-color: #e0e5e0; }


/* Decisions, payment queue and object notifications. */
.eo-detail-tabs > button { padding-inline: 28px; }
.eo-detail-tabs .eo-tab-count { position: absolute; right: 6px; top: 5px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 20px; min-width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #29332e; box-shadow: none; font-size: 11px; font-weight: 400; font-variant-numeric: lining-nums tabular-nums; line-height: 1; text-align: center; }
.eo-attention-box { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; margin-top: 20px; border: 1px solid #e3e8e4; border-radius: 12px; background: #f7faf8; }
.eo-attention-box h3 { font-size: 16px; margin: 5px 0; color: #263e32; }
.eo-attention-box p { margin: 5px 0 0; color: #69776f; font-size: 12px; line-height: 1.6; }
.eo-attention-kicker { font-size: 11px; font-weight: 650; color: #846329; }
.eo-attention-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ep-toolbar { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; margin: 0 0 22px; }
.ep-entry { display: flex; align-items: center; gap: 14px; padding: 17px 19px; border: 1px solid #cee1d5; border-radius: 13px; background: #f1f8f4; color: #254d39; cursor: pointer; font: inherit; text-align: left; }
.ep-entry > span:last-child { margin-left: auto; }
.ep-entry strong { display: flex; gap: 10px; align-items: center; font-size: 15px; font-weight: 650; }
.ep-entry small { display: block; margin-top: 5px; font-size: 12px; color: #62756a; }
.ep-entry:hover { background: #e8f3ec; border-color: #b3cebf; }
.ep-entry-secondary { background: #fff; border-color: #e3e8e5; }
.ep-entry-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; background: #dcefe4; font-size: 21px; }
.ep-inline-count { display: inline-grid; place-items: center; min-width: 21px; height: 21px; border-radius: 50%; background: #b65c20; color: #fff; font-size: 11px; }
.ep-intro { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.ep-intro h3 { margin: 0 0 7px; font-size: 18px; }
.ep-intro p,.ep-integration-lead { margin: 0 0 16px; max-width: 820px; color: #63736a; font-size: 13px; line-height: 1.7; }
.ep-demo-notice { margin: 15px 0; padding: 12px 15px; background: #fcf7ed; border: 1px solid #eee1c8; border-radius: 9px; color: #7a6030; font-size: 12px; line-height: 1.7; }
.ep-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0 14px; }
.ep-filters button { display: flex; gap: 8px; align-items: center; padding: 9px 12px; background: #fff; border: 1px solid #dfe7e1; border-radius: 8px; color: #5d6d62; font: inherit; font-size: 12px; cursor: pointer; }
.ep-filters button[aria-pressed=true] { background: #eaf4ee; color: #315c43; border-color: #c2d9ca; }
.ep-filters b { font-size: 11px; }
.ep-request-list { display: grid; gap: 11px; }
.ep-request { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; padding: 21px; border: 1px solid #e1e8e3; border-radius: 12px; background: #fff; }
.ep-request[hidden],.ep-filter-empty[hidden] { display: none; }
.ep-request-main { display: flex; align-items: flex-start; flex-direction: column; gap: 8px; min-width: 0; }
.ep-kind { color: #748078; font-size: 11px; }
.ep-request-title { display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: transparent; font: inherit; font-size: 16px; font-weight: 650; text-align: left; color: #284a36; cursor: pointer; }
.ep-request-title:hover { text-decoration: underline; }
.ep-request-main > small { color: #65736b; font-size: 12px; }
.ep-request-main .ef-source-link { font-size: 11px; }
.ep-request-side { display: flex; flex-direction: column; align-items: flex-end; gap: 11px; }
.ep-request-side > strong,.ep-request-amount > strong { font-size: 22px; letter-spacing: -.4px; font-variant-numeric: tabular-nums; color: #233c2e; }
.ep-status { display: inline-flex; padding: 5px 9px; border-radius: 6px; background: #f0f3f1; color: #64746a; font-size: 11px; font-weight: 600; line-height: 1.5; }
.ep-status-review { background: #fff2d9; color: #855b16; }
.ep-status-approved { background: #e7f3ec; color: #306449; }
.ep-status-returned { background: #fcece9; color: #a15041; }
.ep-status-queued { background: #eaf1fa; color: #416590; }
.ep-status-planned { background: #eeeaf7; color: #735599; }
.ep-integration-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ep-integration-grid article { padding: 22px; border: 1px solid #e0e7e2; border-radius: 13px; }
.ep-integration-grid h3 { margin: 7px 0 10px; font-size: 20px; color: #2d4435; }
.ep-integration-grid p { color: #526359; font-size: 13px; line-height: 1.8; }
.ep-integration-grid .ep-requirement { color: #758177; font-size: 12px; }
.ep-integration-grid a { font-size: 12px; color: #416fa0; text-decoration: none; }
.ep-integration-grid a:hover { text-decoration: underline; }
.ep-request-dialog { max-width: 710px; width: calc(100vw - 32px); }
.ep-request-dialog .eo-dialog-head h2 { font-size: 21px; }
.ep-dialog-body { padding: 0 26px 24px; }
.ep-request-amount { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 10px 0 20px; flex-wrap: wrap; }
.ep-dialog-body > p { font-size: 12px; line-height: 1.7; color: #67766d; }
.ep-dialog-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 19px 0; }
.ep-dialog-actions p { margin: 0; font-size: 13px; color: #4d6656; line-height: 1.7; }
.ep-primary.er-btn { background: #37654b; color: #fff; border-color: #37654b; }
.ep-primary.er-btn:hover { background: #284f39; }
.ep-reason { display: block; color: #65746a; font-size: 12px; margin-top: 18px; }
.ep-reason textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 7px; padding: 11px; resize: vertical; border: 1px solid #d8e2db; border-radius: 8px; font: inherit; line-height: 1.6; background: #fff; }
.ep-history { border-top: 1px solid #e3e9e5; padding-top: 14px; font-size: 12px; line-height: 1.7; color: #647468; }
.ep-history summary { cursor: pointer; }
.ep-history ol { padding-left: 19px; }
.ep-history time { font-size: 11px; color: #8b948e; }
.ep-history p { margin: 3px 0 12px; }
.ep-filter-empty { padding: 28px; text-align: center; color: #728076; font-size: 13px; }
@media (max-width: 820px) { .ep-toolbar { grid-template-columns: 1fr; } .eo-attention-box { align-items: flex-start; flex-direction: column; } }
@media (max-width: 580px) { .eo-detail-tabs { grid-template-columns: repeat(5, minmax(160px, 1fr)); } .eo-detail-tabs > button { padding-inline: 26px; } .ep-integration-grid { grid-template-columns: 1fr; } .ep-intro { align-items: flex-start; flex-direction: column; gap: 0; } .ep-intro .er-btn { margin-bottom: 8px; } .ep-request { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 16px; } .ep-request-side { align-items: flex-start; } .ep-request-side > strong { font-size: 21px; } .ep-dialog-body { padding: 0 18px 20px; } .ep-dialog-actions { align-items: stretch; flex-direction: column; } .ep-entry { padding: 16px; } }

/* No invented cover photo for a server-created object. */
.eo-cover-placeholder{display:grid;place-items:center;min-height:150px;width:100%;height:100%}.eo-cover-placeholder>svg{width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:1.5}.eo-demo [data-object-create]{margin-top:8px}

/* Financial entry forms use the existing ELKA dialog and controls. */
.ef-record-dialog{width:min(760px,94vw);max-height:90vh;overflow:auto}.ef-entry-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.ef-record-form fieldset{border:1px solid #334155;border-radius:8px;padding:14px;display:grid;gap:10px}.ef-history-data{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.ef-record-form details{padding:8px 0}.ef-tile strong{overflow-wrap:anywhere}.ef-record-dialog small{display:block}
