/* NURI v0.5 product-shell extensions */
.home-hero__action { margin-top: 16px; }
.subtle-action { border: 0; background: transparent; color: var(--teal); display: inline-flex; align-items: center; gap: 8px; font-size: 9px; letter-spacing: .03em; cursor: pointer; padding: 0; }
.subtle-action:hover { color: #a8fff8; }
.beta-tag { display: inline-flex; align-items: center; min-height: 20px; padding: 0 8px; border: 1px solid rgba(234,198,119,.26); border-radius: 999px; color: #e9c678; font-size: 7px; letter-spacing: .14em; white-space: nowrap; }
.status-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.status-badge--good { color: #76efe5; background: rgba(63,219,207,.08); border: 1px solid rgba(63,219,207,.2); }
.status-badge--neutral { color: #c8d5d4; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); }
.status-badge--muted { color: #657f80; background: rgba(255,255,255,.018); border: 1px solid rgba(255,255,255,.045); }
.beta-heading__line { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.beta-heading__line > div:first-child { min-width: 0; }
.beta-back { margin-top: 44px; border: 0; background: transparent; color: #71898b; display: inline-flex; align-items: center; gap: 7px; font-size: 9px; cursor: pointer; padding: 0; }
.beta-back:hover { color: var(--teal); }
.module-card__side { justify-self: end; display: flex; align-items: center; gap: 10px; color: #748d8f; }

.attention-drawer { position: fixed; top: 72px; right: 24px; z-index: 80; width: min(360px, calc(100vw - 36px)); padding: 16px; border: 1px solid rgba(103,247,236,.14); border-radius: 16px; background: rgba(3,16,19,.96); box-shadow: 0 22px 70px rgba(0,0,0,.4); backdrop-filter: blur(18px); }
.attention-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 3px 2px 12px; border-bottom: 1px solid rgba(255,255,255,.05); }
.attention-drawer__head > div { display: grid; gap: 5px; }
.attention-drawer__head strong { font-size: 11px; font-weight: 500; }
.attention-drawer > button:not(.icon-button) { width: 100%; border: 0; border-bottom: 1px solid rgba(255,255,255,.04); background: transparent; padding: 13px 2px; display: grid; gap: 5px; text-align: left; cursor: pointer; }
.attention-drawer > button span { font-size: 7px; letter-spacing: .12em; color: var(--gold); text-transform: uppercase; }
.attention-drawer > button strong { color: #a8bcbb; font-size: 9px; font-weight: 430; }

.job-grid { margin-top: 34px; display: grid; gap: 10px; }
.job-card { border: 1px solid var(--line); border-radius: 16px; background: rgba(6,27,30,.38); padding: 17px 18px; }
.job-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.job-card__head span { color: #6b8485; font-size: 8px; }
.job-card h3 { margin: 5px 0 0; font-size: 14px; font-weight: 520; }
.job-card__fit { margin-top: 14px; color: var(--teal); font-size: 9px; letter-spacing: .04em; }
.job-card p { color: #8ba1a2; font-size: 10px; line-height: 1.6; margin: 7px 0; }
.job-card small { color: #5e7678; font-size: 8px; line-height: 1.5; }
.job-card__actions { margin-top: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mini-button, .job-card select { min-height: 30px; border-radius: 9px; border: 1px solid rgba(103,247,236,.13); background: rgba(3,17,20,.52); color: #8fa6a7; padding: 0 10px; font-size: 8px; cursor: pointer; }
.mini-button { display: inline-flex; align-items: center; gap: 6px; }
.mini-button.is-active { color: var(--gold); border-color: rgba(234,198,119,.28); }
.mini-button:disabled { cursor: not-allowed; opacity: .42; }
.job-card select { outline: 0; }

.place-strip { margin-top: 32px; display: grid; grid-template-columns: 1fr 46px 1fr; align-items: center; max-width: 620px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(5,24,27,.32); color: #6f8788; }
.place-strip > div { display: grid; gap: 4px; }
.place-strip > div:last-child { text-align: right; }
.place-strip span { font-size: 7px; letter-spacing: .14em; color: #5c7475; }
.place-strip strong { color: #c7d6d4; font-size: 11px; font-weight: 500; }
.place-strip > svg { justify-self: center; color: var(--teal); }
.route-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.route-card { min-height: 160px; border: 1px solid var(--line); border-radius: 15px; background: rgba(6,27,30,.34); padding: 16px; }
.route-card.is-best { border-color: rgba(103,247,236,.28); background: rgba(8,37,39,.5); }
.route-card > div:first-child { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.route-card span { color: #718a8b; font-size: 8px; }
.route-card strong { color: #d6e5e3; font-size: 15px; font-weight: 520; }
.route-card__delta { margin-top: 16px; color: var(--teal); font-size: 10px; }
.route-card p { min-height: 38px; color: #617a7c; font-size: 8px; line-height: 1.55; }
.route-card__actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 13px; }

.market-hero { margin-top: 34px; min-height: 150px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,rgba(8,34,37,.55),rgba(4,18,21,.28)); padding: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.market-hero > div { display: grid; gap: 7px; }
.market-hero span { color: #6f8788; font-size: 8px; }
.market-hero strong { font-size: 28px; font-weight: 430; color: var(--teal); }
.market-hero small { color: #607779; font-size: 8px; }
.watchlist { margin-top: 20px; max-width: 760px; }
.section-label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.section-label span { color: #6e8587; font-size: 7px; letter-spacing: .18em; }
.section-label small { color: #50686a; font-size: 7px; }
.watch-row { min-height: 58px; border-bottom: 1px solid rgba(255,255,255,.04); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.watch-row > div { display: grid; gap: 4px; }
.watch-row strong { font-size: 10px; font-weight: 500; }
.watch-row span { color: #647c7e; font-size: 8px; }

.focus-card { margin-top: 34px; max-width: 680px; min-height: 200px; padding: 24px; border-radius: 17px; border: 1px solid var(--line); background: rgba(6,27,30,.36); display: grid; align-content: center; gap: 10px; }
.focus-card > span { color: var(--gold); font-size: 7px; letter-spacing: .16em; }
.focus-card > strong { font-size: 20px; font-weight: 450; }
.focus-card p { max-width: 480px; color: #647d7f; font-size: 9px; line-height: 1.6; }
.focus-card .subtle-action { margin-top: 8px; }
.news-grid { margin-top: 34px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.news-column article { min-height: 72px; border-bottom: 1px solid rgba(255,255,255,.04); display: grid; align-content: center; gap: 6px; }
.news-column article strong { color: #aec0bf; font-size: 9px; font-weight: 450; line-height: 1.45; }
.news-column article span { color: #536b6d; font-size: 7px; }
.empty-note { border: 1px dashed rgba(255,255,255,.07); border-radius: 12px; padding: 16px; color: #5f7779; font-size: 8px; }
.review-list { margin-top: 34px; display: grid; gap: 9px; max-width: 800px; }
.review-item { min-height: 88px; border: 1px solid var(--line); border-radius: 14px; background: rgba(6,27,30,.33); padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.review-item > div { display: grid; gap: 5px; }
.review-item span { color: #5e7779; font-size: 7px; }
.review-item strong { font-size: 10px; font-weight: 500; }
.review-item p { margin: 0; color: #6b8385; font-size: 8px; }
.approval-rule { margin-top: 18px; max-width: 620px; display: flex; gap: 12px; padding: 14px; border-left: 2px solid rgba(234,198,119,.45); color: var(--gold); }
.approval-rule div { display: grid; gap: 4px; }
.approval-rule strong { color: #cbd9d8; font-size: 9px; font-weight: 500; }
.approval-rule p { margin: 0; color: #687f81; font-size: 8px; }

.knowledge-list { margin-top: 34px; max-width: 820px; display: grid; gap: 8px; }
.knowledge-list article { border: 1px solid rgba(103,247,236,.09); border-radius: 13px; background: rgba(5,24,27,.28); padding: 15px 16px; }
.knowledge-list article span { color: var(--teal); font-size: 9px; }
.knowledge-list article p { margin: 6px 0 0; color: #728a8b; font-size: 9px; line-height: 1.6; }
.memory-grid { margin-top: 34px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.memory-card { border: 1px solid var(--line); border-radius: 14px; background: rgba(6,27,30,.32); padding: 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.memory-card > div { display: grid; gap: 5px; }
.memory-card span { color: var(--gold); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.memory-card strong { font-size: 10px; font-weight: 500; }
.memory-card p { margin: 0; color: #687f81; font-size: 8px; line-height: 1.5; }
.memory-delete { flex: 0 0 auto; width: 28px; height: 28px; color: #5f7779; }
.memory-add { margin-top: 14px; display: grid; grid-template-columns: 130px 180px minmax(220px,1fr) auto; gap: 8px; }
.memory-add input { min-width: 0; border: 1px solid var(--line); background: rgba(3,17,20,.5); border-radius: 9px; color: var(--text); font-size: 9px; padding: 0 10px; outline: 0; }
.memory-add input:focus { border-color: var(--line-strong); }

.connection-list { margin-top: 34px; display: grid; gap: 7px; max-width: 800px; }
.connection-row { min-height: 60px; border-bottom: 1px solid rgba(255,255,255,.04); display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; }
.connection-row__icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: rgba(48,217,207,.06); color: var(--teal); }
.connection-row > div:nth-child(2) { display: grid; gap: 4px; }
.connection-row strong { font-size: 9px; font-weight: 500; }
.connection-row span { color: #647c7e; font-size: 8px; }
.policy-grid { margin-top: 34px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.policy-grid article { min-height: 150px; border: 1px solid var(--line); border-radius: 14px; background: rgba(6,27,30,.31); padding: 17px; display: grid; align-content: start; gap: 11px; color: var(--teal); }
.policy-grid strong { color: #d0dfdd; font-size: 10px; font-weight: 500; }
.policy-grid p { margin: 0; color: #687f81; font-size: 8px; line-height: 1.6; }
.settings-summary { margin-top: 34px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.settings-summary article { min-height: 130px; border: 1px solid var(--line); border-radius: 14px; background: rgba(6,27,30,.3); padding: 16px; display: grid; align-content: start; gap: 8px; }
.settings-summary span { color: #667e80; font-size: 8px; }
.settings-summary strong { font-size: 11px; font-weight: 500; }
.settings-summary p { margin: 0; color: #607779; font-size: 8px; line-height: 1.5; }

@media (max-width: 920px) {
  .route-grid { grid-template-columns: 1fr; }
  .memory-add { grid-template-columns: 1fr 1fr; }
  .memory-add input:nth-child(3) { grid-column: 1 / -1; min-height: 36px; }
  .settings-summary { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .beta-heading__line { align-items: flex-start; }
  .job-card__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .job-card__actions .mini-button:last-child { grid-column: 1 / -1; justify-content: center; }
  .news-grid, .memory-grid, .policy-grid { grid-template-columns: 1fr; }
  .memory-add { grid-template-columns: 1fr; }
  .memory-add input:nth-child(3) { grid-column: auto; }
  .place-strip { grid-template-columns: 1fr 34px 1fr; }
  .attention-drawer { top: 64px; right: 14px; }
}
