/* Engineering workspace management: scoped to these two pages. */
.app-shell--engineering .app-workspace { grid-template-columns: minmax(0, 1fr); }
.app-shell--engineering .app-workspace__side { display: none; }
.ew-page { --ew-muted: #b0bfd2; --ew-border: #33435a; max-width: 1320px; margin: 0 auto; color: #edf2fa; overflow-wrap: anywhere; }
.ew-page h1 { font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.35; margin: 8px 0 12px; font-weight: 700; }
.ew-page h2 { font-size: 1.2rem; line-height: 1.5; margin: 0 0 12px; font-weight: 600; }
.ew-page h3 { font-size: 1rem; margin: 12px 0; font-weight: 600; }
.ew-page a:not(.btn) { color: #8bc7ff; text-underline-offset: 4px; }
.ew-page code, .ew-code { font-family: ui-monospace, monospace; color: #b9d8f6; }
.ew-page pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .88rem; margin-top: 16px; }
.ew-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 24px 0; }
.ew-header p { color: var(--ew-muted); margin: 0; }
.ew-header > .btn { flex-shrink: 0; margin-top: 12px; }
.ew-eyebrow { color: #92c5e9; font-size: .75rem; font-weight: 600; letter-spacing: .09em; }
.ew-note { color: var(--ew-muted); font-size: .85rem; line-height: 1.7; }
.ew-panel { padding: 26px; background: #111f34; border: 1px solid var(--ew-border); border-radius: 12px; margin-bottom: 20px; }
.ew-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ew-border); border-radius: 12px; margin-bottom: 24px; background: #101d30; }
.ew-metrics > div { display: flex; justify-content: space-between; align-items: center; padding: 22px; border-right: 1px solid var(--ew-border); gap: 12px; }
.ew-metrics > div:last-child { border-right: 0; }
.ew-metrics span { color: var(--ew-muted); font-size: .85rem; }
.ew-metrics strong { font-size: 2rem; font-variant-numeric: tabular-nums; line-height: 1; }
.ew-filters { display: grid; grid-template-columns: 1fr 1.2fr 1fr auto; align-items: end; gap: 18px; }
.ew-page .form-control, .ew-page .form-select { background-color: #0b1729; color: #edf2fa; border-color: #53647b; }
.ew-page .form-control::placeholder { color: #99aac0; }
.ew-page .form-control:focus, .ew-page .form-select:focus { border-color: #8bc7ff; box-shadow: 0 0 0 3px #3884bd55; }
.ew-page .form-label { font-size: .85rem; }
.ew-page .btn { white-space: normal; }
.ew-page .btn:disabled { opacity: .6; }
.ew-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ew-actions form { margin: 0; }
.ew-workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 150px; gap: 28px; padding: 26px; border: 1px solid var(--ew-border); border-radius: 12px; background: #111f34; margin-bottom: 14px; }
.ew-workspace h2 { margin: 8px 0; }
.ew-workspace h2 a { color: #f0f5ff !important; text-decoration: none; }
.ew-workspace h2 a:hover { text-decoration: underline; }
.ew-description { color: var(--ew-muted); font-size: .9rem; }
.ew-id { font-family: ui-monospace, monospace; font-size: .8rem; }
.ew-workspace-state > .ew-note { margin: 8px 0 16px; }
.ew-workspace-actions { display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.ew-badge { display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px; border: 1px solid; border-radius: 6px; font-size: .8rem; font-weight: 600; white-space: nowrap; }
.ew-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ew-badge--success { background: #103a32; color: #91e5c1; border-color: #327b62; }
.ew-badge--warning { background: #3b301e; color: #f2d08e; border-color: #89703c; }
.ew-badge--danger { background: #3b2530; color: #ffb4c0; border-color: #925364; }
.ew-badge--neutral { background: #223149; color: #c2d0e2; border-color: #52647d; }
.ew-meta { margin: 0; font-size: .85rem; }
.ew-meta > div { display: flex; gap: 16px; margin: 7px 0; }
.ew-meta dt { color: var(--ew-muted); font-weight: 400; flex-shrink: 0; }
.ew-meta dd { margin: 0; min-width: 0; }
.ew-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; margin: 20px 0; }
.ew-section-nav { display: flex; flex-wrap: wrap; gap: 24px; border-bottom: 1px solid var(--ew-border); padding-bottom: 18px; margin-bottom: 24px; }
.ew-section-nav a { text-decoration: none; }
.ew-section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 10px; }
.ew-section-heading h2 { margin-bottom: 0; }
.ew-notice { padding: 16px 18px; background: #263043; border-left: 3px solid #d7af67; border-radius: 4px; line-height: 1.75; font-size: .9rem; }
.ew-notice ul { padding-left: 20px; }
.ew-disclosure { border-top: 1px solid var(--ew-border); padding: 16px 0 0; margin-top: 18px; }
.ew-disclosure summary { cursor: pointer; font-weight: 600; margin-bottom: 14px; color: #c5e2ff; }
.ew-checklist { padding-left: 24px; line-height: 1.9; color: var(--ew-muted); }
.ew-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin: 24px 0; }
.ew-guide-grid p { color: var(--ew-muted); font-size: .88rem; line-height: 1.8; }
.ew-step { color: #69abc9; font-family: ui-monospace, monospace; font-size: 1.35rem; }
.ew-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.ew-empty { text-align: center; padding: 50px 20px; }
.ew-table { --bs-table-bg: transparent; --bs-table-color: #edf2fa; --bs-table-border-color: #33435a; font-size: .85rem; min-width: 600px; }
.ew-table th { color: var(--ew-muted); font-weight: 500; }
.ew-table td { padding: 16px 8px; max-width: 520px; }
.ew-page section { scroll-margin-top: 90px; }
@media (max-width: 900px) {
  .ew-filters { grid-template-columns: 1fr 1fr; }
  .ew-workspace { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ew-workspace-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; }
  .ew-metrics { grid-template-columns: 1fr 1fr; }
  .ew-metrics > div { border-bottom: 1px solid var(--ew-border); }
  .ew-metrics > div:nth-child(even) { border-right: 0; }
  .ew-metrics > div:nth-child(n+3) { border-bottom: 0; }
}
@media (max-width: 560px) {
  .ew-header { flex-direction: column; gap: 8px; }
  .ew-panel, .ew-workspace { padding: 20px; }
  .ew-workspace, .ew-guide-grid, .ew-two-col, .ew-meta-grid, .ew-filters { grid-template-columns: minmax(0, 1fr); }
  .ew-workspace-state { border-top: 1px solid var(--ew-border); padding-top: 18px; }
  .ew-section-heading { align-items: flex-start; flex-direction: column; }
  .ew-metrics > div { padding: 16px; }
  .ew-metrics strong { font-size: 1.6rem; }
}

/* Storage stays visible independently of Data Space and release rollout. */
.ew-workspace { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(160px, .7fr); }
.ew-workspace-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; }
.ew-storage-summary { display: flex; flex-direction: column; gap: 8px; border-left: 1px solid var(--ew-border); padding-left: 22px; }
.ew-storage-summary > strong { font-size: 1.65rem; font-variant-numeric: tabular-nums; }
.ew-storage-summary form { margin-top: 8px; }
.ew-storage-heading { display: flex; align-items: center; gap: 22px; margin: 24px 0; }
.ew-storage-heading > strong { font-size: 2.2rem; line-height: 1.25; font-variant-numeric: tabular-nums; }
.ew-storage-breakdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.ew-storage-breakdown > div { padding: 16px; background: #0b1729; border: 1px solid var(--ew-border); border-radius: 8px; }
.ew-storage-breakdown dt { color: var(--ew-muted); font-weight: 400; font-size: .85rem; }
.ew-storage-breakdown dd { margin: 8px 0 0; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.ew-storage-shared { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--ew-border); padding-top: 16px; }
@media (max-width: 900px) {
  .ew-workspace { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ew-storage-summary { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--ew-border); padding: 16px 0 0; }
  .ew-storage-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ew-workspace { grid-template-columns: minmax(0, 1fr); }
  .ew-workspace-actions { justify-content: flex-start; flex-wrap: wrap; }
  .ew-storage-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* Dense inventory: task identity stays on two lines; guidance lives on detail. */
.ew-page--list .ew-header, .ew-page--detail .ew-header { padding: 8px 0 16px; }
.ew-page--list h1, .ew-page--detail h1 { font-size: 1.6rem; margin: 4px 0 8px; }
.ew-page--list .ew-metrics { margin-bottom: 12px; }
.ew-page--list .ew-metrics > div { padding: 8px 16px; }
.ew-page--list .ew-metrics strong { font-size: 1.25rem; }
.ew-filter-panel { padding: 14px 18px; margin-bottom: 14px; }
.ew-filter-panel .form-label { margin-bottom: 4px; }
.ew-filter-help { margin-top: 8px; font-size: .75rem; }
.ew-list-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; border: 1px solid var(--ew-border); border-radius: 8px; overflow: hidden; background: #111f34; font-size: .85rem; }
.ew-list-table th { text-align: left; background: #19283e; color: var(--ew-muted); font-size: .8rem; font-weight: 500; padding: 10px 14px; }
.ew-list-table th:nth-child(1) { width: 36%; }
.ew-list-table th:nth-child(2) { width: 20%; }
.ew-list-table th:nth-child(3) { width: 13%; }
.ew-list-table th:nth-child(4) { width: 16%; }
.ew-list-table th:nth-child(5) { width: 15%; }
.ew-list-table td { border-top: 1px solid var(--ew-border); padding: 10px 14px; vertical-align: middle; }
.ew-list-table tr:hover td { background: #17283f; }
.ew-list-table small { display: block; margin-top: 4px; color: var(--ew-muted); font-size: .73rem; }
.ew-task-title { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; font-weight: 600; color: #edf2fa !important; }
.ew-list-identity { display: flex; align-items: center; gap: 12px; font-size: .75rem; color: var(--ew-muted); margin-top: 5px; }
.ew-list-identity > span { flex-shrink: 0; max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ew-list-identity .ew-id { font-size: .7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ew-list-owner > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ew-list-actions .btn { padding: 4px 8px; font-size: .75rem; margin: 2px; }
.ew-usage-link { font-weight: 600; }
.ew-guide-disclosure { padding: 12px 18px; font-size: .85rem; }
.ew-guide-disclosure > .ew-guide { border: 0; padding: 18px 0 0; margin: 0; }
.ew-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--ew-border); margin-bottom: 18px; overflow-x: auto; }
.ew-tabs a { flex: 0 0 auto; text-decoration: none; padding: 12px 20px; border-bottom: 3px solid transparent; font-size: .9rem; }
.ew-tabs a[aria-selected="true"] { color: #fff; background: #192c45; border-color: #ff851a; font-weight: 600; }
.ew-tabs a:focus-visible { outline: 2px solid #8bc7ff; outline-offset: -3px; }
.ew-tab-panel[hidden] { display: none !important; }
.ew-tab-panel:focus { outline: none; }
.ew-tab-panel .ew-panel { padding: 20px; }
.ew-operation-error { color: #ffcf96; }
@media (max-width: 900px) {
  .ew-list-table th, .ew-list-table td { padding: 10px; }
  .ew-list-table th:nth-child(1) { width: 32%; }
  .ew-list-table th:nth-child(2) { width: 20%; }
  .ew-list-table th:nth-child(3) { width: 16%; }
  .ew-list-table th:nth-child(4) { width: 17%; }
  .ew-list-table th:nth-child(5) { width: 15%; }
}
@media (max-width: 600px) {
  .ew-list-table, .ew-list-table tbody { display: block; }
  .ew-list-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ew-list-table tr { display: grid; grid-template-columns: 1fr 1fr; padding: 10px; border-top: 1px solid var(--ew-border); }
  .ew-list-table tr:first-child { border-top: 0; }
  .ew-list-table td { display: block; min-width: 0; border: 0; padding: 5px; }
  .ew-list-table .ew-list-task { grid-column: 1 / -1; }
  .ew-list-table .ew-list-state { text-align: right; }
  .ew-list-table .ew-list-actions { text-align: right; align-self: center; }
  .ew-tabs a { padding: 10px 12px; font-size: .83rem; }
}
