:root {
  font-family: "Helvetica Neue", Helvetica, Arial, ui-sans-serif, -apple-system, BlinkMacSystemFont, sans-serif;
  color: #27373a;
  background: #f5f2ea;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --deep: #0F2138;
  --deep-2: #18314D;
  --teal: #2B8C91;
  --teal-dark: #23757A;
  --teal-soft: #E1F0F0;
  --ivory: #f5f2ea;
  --paper: #ffffff;
  --graphite: #27373a;
  --slate: #657376;
  --muted: #8b9798;
  --line: #dde2de;
  --line-strong: #c9d1cd;
  --brass: #a77b42;
  --brass-soft: #f1e7d6;
  --success: #2e664a;
  --success-soft: #e4efe8;
  --warning: #a85f18;
  --warning-soft: #f7eadc;
  --critical: #b33a3a;
  --critical-soft: #f8e4e3;
  --shadow-sm: 0 1px 2px rgba(19, 43, 47, .05), 0 8px 24px rgba(19, 43, 47, .04);
  --shadow-md: 0 16px 50px rgba(19, 43, 47, .12);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --content: 1460px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--ivory); }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--ivory); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--deep); letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.03; font-weight: 500; margin-bottom: 12px; }
h2 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); line-height: 1.15; font-weight: 600; margin-bottom: 8px; }
h3 { font-size: 1.05rem; line-height: 1.2; font-weight: 600; margin-bottom: 6px; }
p { color: var(--slate); line-height: 1.55; }
::selection { background: #b8d3cc; color: var(--deep); }
:focus-visible { outline: 3px solid rgba(47, 111, 104, .3); outline-offset: 2px; }

#root { min-height: 100vh; }
.eyebrow { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; color: var(--teal); font-size: .69rem; font-weight: 720; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow.light { color: #b9d8d2; }
.muted { color: var(--slate); }
.mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; letter-spacing: -.01em; }
.desktop-only { display: initial; }
.mobile-only { display: none; }
.spin { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Brand */
.brand { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0; }
.brand-logo { display: block; width: 154px; height: auto; flex: 0 0 auto; }
.brand-tagline { color: var(--slate); font-size: .59rem; font-weight: 680; letter-spacing: .115em; line-height: 1; text-transform: uppercase; }
.brand-inverse .brand-tagline { color: rgba(247, 248, 246, .56); }
.brand-compact { display: inline-flex; }
.brand-compact .brand-logo { width: 39px; height: 39px; border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 4px 14px rgba(15, 33, 56, .08); }
.rail-top .brand-logo { width: 160px; }
.auth-brand .brand-logo { width: min(196px, 42vw); }
.fatal-error .brand-logo, .app-loading .brand-logo { width: 180px; }
.app-loading .brand { align-items: center; margin-bottom: 14px; }

/* Controls */
.button { min-height: 44px; padding: 0 16px; border: 1px solid transparent; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; font-weight: 650; font-size: .89rem; transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:active:not(:disabled) { transform: translateY(0); }
.button:disabled { cursor: not-allowed; opacity: .45; }
.button-primary { background: var(--teal); color: white; box-shadow: 0 8px 20px rgba(47, 111, 104, .18); }
.button-primary:hover:not(:disabled) { background: var(--teal-dark); box-shadow: 0 10px 24px rgba(47, 111, 104, .25); }
.button-secondary { background: var(--paper); border-color: var(--line); color: var(--deep); }
.button-secondary:hover:not(:disabled) { border-color: #abbcb6; background: #fbfcfb; }
.button-ghost { background: transparent; color: var(--deep); }
.button-danger { background: var(--critical-soft); color: var(--critical); border-color: #ecc6c4; }
.button-full { width: 100%; }
.button-small { min-height: 34px; padding: 0 11px; font-size: .78rem; border-radius: 9px; }
.icon-button { position: relative; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); display: inline-grid; place-items: center; cursor: pointer; color: var(--slate); transition: .15s ease; }
.icon-button:hover { color: var(--deep); border-color: #abbcb6; }
.text-button, .text-link { border: 0; background: none; padding: 0; color: var(--teal); font-weight: 650; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; font-size: .84rem; }
.inline-link { display: inline-flex; align-items: center; gap: 6px; color: var(--teal); font-weight: 650; font-size: .88rem; }
.inline-link.light { color: #d5ebe6; }
.back-link { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; color: var(--slate); border: 0; background: transparent; padding: 0; cursor: pointer; font-weight: 600; }
.count-pill { min-width: 28px; height: 28px; padding: 0 8px; display: inline-grid; place-items: center; border-radius: 99px; background: var(--teal-soft); color: var(--teal); font-weight: 700; font-size: .78rem; }
.notification-dot { position: absolute; top: 7px; right: 7px; width: 7px; height: 7px; border: 2px solid white; border-radius: 50%; background: var(--critical); }

.field { display: flex; flex-direction: column; gap: 7px; color: var(--deep); font-weight: 620; font-size: .82rem; }
.field input, .field select, .field textarea, .hint-field select { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); min-height: 43px; padding: 10px 12px; color: var(--graphite); font-weight: 430; }
.field textarea { resize: vertical; }
.field small { color: var(--slate); font-weight: 430; line-height: 1.4; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--teal); outline: 3px solid rgba(47, 111, 104, .1); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.form-grid .span-2 { grid-column: span 2; }
.two-column-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.joined-fields { display: grid; grid-template-columns: 1fr 100px; }
.joined-fields input { border-radius: 10px 0 0 10px; }
.joined-fields select { border-radius: 0 10px 10px 0; border-left: 0; }
.form-error { max-width: 900px; margin: 18px auto 0; padding: 13px 15px; border: 1px solid #e8bdbb; border-radius: 11px; background: var(--critical-soft); color: var(--critical); font-weight: 600; font-size: .86rem; }

/* Shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0, 1fr); background: var(--ivory); }
.desktop-rail { position: fixed; z-index: 20; inset: 0 auto 0 0; width: 248px; padding: 24px 18px 18px; display: flex; flex-direction: column; background: var(--deep); color: var(--ivory); }
.rail-top { padding: 0 6px 25px; border-bottom: 1px solid rgba(245, 242, 234, .1); }
.rail-nav { display: flex; flex-direction: column; gap: 5px; padding-top: 22px; }
.rail-link { height: 44px; padding: 0 13px; display: flex; align-items: center; gap: 12px; border-radius: 10px; color: rgba(245, 242, 234, .68); font-size: .88rem; font-weight: 540; transition: .15s ease; }
.rail-link:hover { color: white; background: rgba(255,255,255,.055); }
.rail-link.active { color: white; background: rgba(104, 171, 158, .17); box-shadow: inset 3px 0 0 #6eafa2; }
.rail-bottom { margin-top: auto; display: flex; flex-direction: column; gap: 13px; }
.profile-chip { padding: 14px 8px 2px; border-top: 1px solid rgba(245, 242, 234, .1); display: flex; align-items: center; gap: 10px; min-width: 0; }
.avatar { width: 35px; height: 35px; border-radius: 50%; display: inline-grid; place-items: center; flex: 0 0 auto; background: var(--teal-soft); color: var(--teal-dark); font-size: .72rem; font-weight: 750; }
.avatar.large { width: 62px; height: 62px; font-size: 1rem; }
.profile-chip .avatar { background: #d8e7e2; }
.profile-chip div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.profile-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: white; font-size: .78rem; }
.profile-chip span:not(.avatar) { color: rgba(245, 242, 234, .5); font-size: .67rem; }
.main-column { grid-column: 2; min-width: 0; }
.topbar { position: sticky; z-index: 15; top: 0; height: 72px; padding: 0 32px; display: flex; align-items: center; gap: 20px; border-bottom: 1px solid rgba(201, 209, 205, .8); background: rgba(245, 242, 234, .92); backdrop-filter: blur(14px); }
.mobile-brand { display: none; }
.global-search { max-width: 530px; flex: 1; height: 42px; padding: 0 13px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.75); color: var(--muted); }
.global-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--graphite); font-size: .85rem; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 9px; }
.page-content { max-width: var(--content); margin: 0 auto; padding: 38px 36px 72px; }
.page-stack { display: flex; flex-direction: column; gap: 30px; }
.page-heading { max-width: 850px; }
.page-heading p { max-width: 720px; margin-bottom: 0; font-size: 1rem; }
.split-heading, .dashboard-heading { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.mobile-nav { display: none; }

/* Auth */
.auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(430px, .75fr); background: var(--paper); }
.auth-story { position: relative; min-height: 100vh; padding: 40px 7vw 34px; display: flex; flex-direction: column; overflow: hidden; background: var(--deep); }
.auth-story::before { content: ""; position: absolute; width: 580px; height: 580px; right: -170px; top: 12%; border: 1px solid rgba(175, 210, 201, .12); border-radius: 50%; box-shadow: 0 0 0 95px rgba(175, 210, 201, .035), 0 0 0 190px rgba(175, 210, 201, .02); }
.auth-brand { position: relative; z-index: 1; }
.auth-copy { position: relative; z-index: 1; max-width: 710px; margin: auto 0; padding: 60px 0; }
.auth-copy h1 { color: var(--ivory); font-size: clamp(3rem, 6vw, 5.7rem); font-weight: 360; letter-spacing: -.055em; line-height: .94; }
.auth-copy > p { max-width: 620px; color: rgba(245, 242, 234, .68); font-size: 1.15rem; }
.auth-feature-grid { margin-top: 45px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.auth-feature-grid > div { padding: 16px; display: flex; gap: 12px; border: 1px solid rgba(245, 242, 234, .1); border-radius: 14px; background: rgba(255,255,255,.035); color: #c8dfda; }
.auth-feature-grid svg { flex: 0 0 auto; }
.auth-feature-grid span { display: flex; flex-direction: column; color: rgba(245, 242, 234, .57); font-size: .78rem; line-height: 1.45; }
.auth-feature-grid strong { color: var(--ivory); font-size: .87rem; }
.auth-footnote { position: relative; z-index: 1; margin: 0; color: rgba(245, 242, 234, .37); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.auth-panel { display: grid; place-items: center; padding: 50px; background: var(--paper); }
.auth-card { width: 100%; max-width: 440px; }
.auth-card h2 { font-size: 2rem; }
.auth-card > p { margin-bottom: 28px; }
.auth-card label { margin-bottom: 14px; display: flex; flex-direction: column; gap: 7px; color: var(--deep); font-size: .8rem; font-weight: 650; }
.auth-card input { height: 45px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; }
.auth-card .text-button { margin: 17px auto 25px; display: flex; }
.security-note { padding: 13px; display: flex; gap: 10px; border-radius: 11px; background: var(--teal-soft); color: var(--teal-dark); font-size: .74rem; line-height: 1.45; }
.security-note svg { flex: 0 0 auto; }

/* Shared panels */
.section-block { display: flex; flex-direction: column; gap: 16px; }
.section-heading-row, .card-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.section-heading-row h2, .card-heading h2 { margin-bottom: 0; }
.section-heading-row.compact, .card-heading { align-items: center; }
.card-heading p { margin: 5px 0 0; font-size: .85rem; }
.panel-block, .content-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-sm); }
.content-card { display: flex; flex-direction: column; gap: 20px; }
.compact-card { gap: 15px; }
.full-width-card { width: 100%; }

/* Dashboard */
.dashboard-hero { min-height: 290px; display: grid; grid-template-columns: 1.12fr .88fr; overflow: hidden; border-radius: var(--radius-lg); background: var(--deep); color: var(--ivory); box-shadow: 0 22px 60px rgba(19,43,47,.16); }
.dashboard-health { padding: 36px; display: flex; justify-content: space-between; align-items: center; gap: 30px; border-right: 1px solid rgba(255,255,255,.08); background: radial-gradient(circle at 0% 100%, rgba(65,127,118,.28), transparent 45%); }
.dashboard-health h2 { max-width: 460px; color: white; font-size: clamp(2rem, 3.5vw, 3.2rem); font-weight: 380; }
.dashboard-health p { max-width: 510px; color: rgba(245,242,234,.63); }
.dashboard-stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.hero-stat { padding: 28px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid rgba(255,255,255,.08); border-right: 1px solid rgba(255,255,255,.08); }
.hero-stat:nth-child(2n) { border-right: 0; }
.hero-stat:nth-child(n+3) { border-bottom: 0; }
.hero-stat span { color: rgba(245,242,234,.52); font-size: .72rem; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.hero-stat strong { margin: 8px 0 5px; color: white; font-size: 1.9rem; font-weight: 380; }
.hero-stat small { color: rgba(245,242,234,.4); line-height: 1.4; }
.health-ring { --health-degrees: 0deg; position: relative; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(#75b2a6 var(--health-degrees), rgba(255,255,255,.11) 0); }
.health-ring::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: var(--deep); }
.health-ring > div { position: relative; display: flex; align-items: baseline; }
.health-ring strong { color: white; font-weight: 330; }
.health-ring span { color: #9cc9c0; }
.health-ring-large { width: 130px; height: 130px; }
.health-ring-large strong { font-size: 2.55rem; }
.health-ring-large span { font-size: .9rem; }
.health-ring-small { width: 58px; height: 58px; }
.health-ring-small::before { inset: 5px; background: rgba(19,43,47,.9); }
.health-ring-small strong { font-size: 1rem; }
.health-ring-small span { font-size: .55rem; }
.attention-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.attention-card { padding: 18px; display: flex; gap: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-sm); transition: transform .16s ease, box-shadow .16s ease; }
.attention-card:hover { transform: translateY(-2px); box-shadow: 0 13px 35px rgba(19,43,47,.09); }
.attention-icon { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; }
.attention-overdue { background: var(--critical-soft); color: var(--critical); }
.attention-due-soon { background: var(--warning-soft); color: var(--warning); }
.attention-content { min-width: 0; flex: 1; }
.attention-top { display: flex; justify-content: space-between; align-items: center; color: var(--muted); }
.attention-content h3 { margin: 12px 0 5px; }
.attention-content p { margin-bottom: 12px; font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.due-copy { display: flex; align-items: center; gap: 6px; color: var(--slate); font-size: .76rem; font-weight: 600; }
.status-badge { width: fit-content; display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 99px; font-size: .66rem; font-weight: 720; text-transform: capitalize; white-space: nowrap; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 15%, transparent); }
.status-current, .status-active { background: var(--success-soft); color: var(--success); }
.status-due-soon, .status-pending { background: var(--warning-soft); color: var(--warning); }
.status-overdue, .status-revoked { background: var(--critical-soft); color: var(--critical); }
.status-unknown, .status-expired { background: #edf0ee; color: var(--slate); }
.dashboard-two-column { display: grid; grid-template-columns: 1.12fr .88fr; gap: 18px; }
.property-list { display: grid; gap: 11px; }
.property-card { min-width: 0; display: grid; grid-template-columns: 105px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }
.property-card img { width: 105px; height: 100%; min-height: 112px; object-fit: cover; }
.property-card-body { min-width: 0; padding: 14px 15px; display: flex; justify-content: space-between; gap: 15px; }
.property-card-body h3 { margin: 5px 0; }
.property-card-body p, .property-type { display: flex; align-items: center; gap: 5px; margin: 0; color: var(--slate); font-size: .73rem; text-transform: capitalize; }
.property-type { color: var(--teal); font-weight: 650; }
.property-meta { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; white-space: nowrap; }
.property-meta span { color: var(--slate); font-size: .72rem; }
.property-meta strong { color: var(--success); font-size: .78rem; }
.activity-list { display: flex; flex-direction: column; }
.activity-row { padding: 11px 0; display: flex; gap: 11px; border-bottom: 1px solid #edf0ee; }
.activity-row:last-child { border-bottom: 0; }
.activity-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.activity-row > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.activity-row strong { color: var(--deep); font-size: .82rem; }
.activity-row span:not(.activity-icon) { color: var(--slate); font-size: .73rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.activity-row small { color: var(--muted); font-size: .66rem; }
.asset-table-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.asset-table { display: grid; grid-template-columns: 2fr 1.05fr 1.05fr .85fr 1.6fr; align-items: center; gap: 18px; padding: 12px 16px; }
.asset-table.header { color: var(--slate); background: #fafbf9; border-bottom: 1px solid var(--line); font-size: .67rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.asset-table.row { min-height: 68px; border-bottom: 1px solid #edf0ee; color: var(--slate); font-size: .78rem; }
.asset-table.row:last-child { border-bottom: 0; }
.asset-table.row:hover { background: #fbfcfb; }
.asset-name-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.asset-name-cell img { width: 43px; height: 43px; flex: 0 0 auto; border-radius: 9px; object-fit: cover; background: #edf0ee; }
.asset-name-cell > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.asset-name-cell strong { color: var(--deep); font-size: .83rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.asset-name-cell small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.health-inline { display: flex; align-items: center; gap: 8px; }
.health-inline strong { color: var(--deep); }
.health-bar { width: 60px; height: 5px; overflow: hidden; border-radius: 99px; background: #e7ebe8; }
.health-bar i { display: block; height: 100%; border-radius: inherit; background: var(--teal); }

/* Summary and filters */
.asset-summary-strip, .maintenance-summary-grid, .document-summary-grid, .access-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.asset-summary-strip > div, .document-summary-grid > div, .access-summary-grid > div { padding: 20px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.asset-summary-strip > div:last-child, .document-summary-grid > div:last-child, .access-summary-grid > div:last-child { border-right: 0; }
.asset-summary-strip span, .document-summary-grid span:not(.summary-icon), .access-summary-grid span:not(.summary-icon) { color: var(--slate); font-size: .72rem; font-weight: 600; }
.asset-summary-strip strong, .document-summary-grid strong, .access-summary-grid strong { margin: 6px 0 3px; color: var(--deep); font-size: 1.6rem; font-weight: 430; }
.asset-summary-strip small, .document-summary-grid small, .access-summary-grid small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.summary-icon { width: 34px; height: 34px; margin-bottom: 10px; display: grid; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.warning-summary { background: #fffaf3; }
.filter-bar { min-height: 60px; padding: 9px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.page-search { min-width: 220px; flex: 1; height: 42px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); }
.page-search input { width: 100%; border: 0; outline: 0; background: transparent; font-size: .82rem; }
.select-control { position: relative; min-width: 170px; height: 42px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.select-control > span { display: none; }
.select-control select { width: 100%; height: 100%; padding: 0 34px 0 11px; appearance: none; border: 0; outline: 0; background: transparent; color: var(--graphite); font-size: .79rem; font-weight: 560; }
.select-control svg { position: absolute; right: 10px; pointer-events: none; color: var(--slate); }
.view-toggle { padding: 3px; display: flex; border-radius: 9px; background: #edf0ee; }
.view-toggle button { width: 34px; height: 34px; border: 0; border-radius: 7px; background: transparent; color: var(--slate); cursor: pointer; }
.view-toggle button.active { background: var(--paper); color: var(--deep); box-shadow: 0 1px 4px rgba(19,43,47,.12); }
.compact-filters { justify-content: flex-start; }
.filter-title { margin-right: auto; padding-left: 7px; display: flex; align-items: center; gap: 8px; color: var(--slate); font-size: .8rem; font-weight: 650; }

/* Asset library */
.asset-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.asset-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-sm); transition: transform .16s ease, box-shadow .16s ease; }
.asset-card:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(19,43,47,.1); }
.asset-card-image { position: relative; height: 190px; overflow: hidden; background: #dfe7e3; }
.asset-card-image::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(11,30,33,.55)); }
.asset-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.asset-card:hover .asset-card-image img { transform: scale(1.025); }
.asset-category { position: absolute; z-index: 2; left: 13px; bottom: 12px; padding: 6px 9px; border-radius: 99px; background: rgba(19,43,47,.8); color: white; backdrop-filter: blur(8px); font-size: .64rem; font-weight: 700; text-transform: capitalize; }
.asset-card-image .health-ring { position: absolute; z-index: 2; right: 12px; bottom: 10px; }
.asset-card-body { padding: 16px; }
.asset-card-body h3 { margin-bottom: 4px; font-size: 1.08rem; }
.asset-card-body p { margin: 0; font-size: .77rem; }
.asset-card-body dl { margin: 16px 0; display: grid; grid-template-columns: repeat(2, 1fr); }
.asset-card-body dl div { display: flex; flex-direction: column; gap: 4px; }
.asset-card-body dt { color: var(--muted); font-size: .64rem; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.asset-card-body dd { margin: 0; color: var(--deep); font-size: .78rem; font-weight: 600; }
.asset-card-footer { padding-top: 12px; display: flex; gap: 12px; border-top: 1px solid #edf0ee; color: var(--slate); font-size: .68rem; }
.asset-list-view { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.asset-list-row { display: grid; grid-template-columns: 50px 1.4fr .8fr 1fr .7fr .7fr; align-items: center; gap: 14px; padding: 12px 15px; border-bottom: 1px solid #edf0ee; color: var(--slate); font-size: .77rem; }
.asset-list-row:last-child { border-bottom: 0; }
.asset-list-row img { width: 48px; height: 48px; border-radius: 9px; object-fit: cover; }
.asset-list-row > div { display: flex; flex-direction: column; }
.asset-list-row strong { color: var(--deep); }

/* Onboarding */
.onboarding-page { min-height: calc(100vh - 150px); display: flex; flex-direction: column; }
.onboarding-header { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; gap: 14px; }
.onboarding-header h1 { margin: 0; font-size: 1.65rem; }
.onboarding-header .eyebrow { margin-bottom: 4px; }
.stepper { max-width: 660px; width: 100%; margin: 28px auto 36px; display: grid; grid-template-columns: repeat(4, 1fr); }
.step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 7px; color: var(--muted); font-size: .68rem; }
.step::before { content: ""; position: absolute; top: 14px; left: -50%; width: 100%; height: 1px; background: var(--line); }
.step:first-child::before { display: none; }
.step > span { position: relative; z-index: 1; width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--ivory); font-weight: 700; }
.step.active { color: var(--teal); }
.step.active::before { background: var(--teal); }
.step.active > span { border-color: var(--teal); background: var(--teal); color: white; }
.onboarding-content { flex: 1; }
.capture-layout, .confirm-layout { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: 22px; }
.capture-panel, .confirm-main, .capture-guidance, .source-preview { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-sm); }
.camera-stage { position: relative; min-height: 390px; padding: 45px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border: 1.5px dashed #a9bbb5; border-radius: 15px; background: linear-gradient(135deg, #eef3f0, #f8f6ef); text-align: center; cursor: pointer; }
.camera-stage::before, .camera-stage::after { content: ""; position: absolute; width: 42px; height: 42px; border-color: var(--teal); opacity: .55; }
.camera-stage::before { left: 18px; top: 18px; border-left: 2px solid; border-top: 2px solid; border-radius: 7px 0 0 0; }
.camera-stage::after { right: 18px; bottom: 18px; border-right: 2px solid; border-bottom: 2px solid; border-radius: 0 0 7px 0; }
.camera-stage.has-image { padding: 0; border-style: solid; }
.camera-stage.has-image::before, .camera-stage.has-image::after { display: none; }
.camera-stage img { width: 100%; height: 390px; object-fit: cover; }
.camera-target { width: 80px; height: 80px; margin-bottom: 20px; display: grid; place-items: center; border-radius: 24px; background: var(--teal-soft); color: var(--teal); }
.camera-stage h2 { font-size: 1.55rem; }
.camera-stage p { max-width: 470px; margin-bottom: 0; }
.retake-button { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); padding: 9px 12px; display: flex; align-items: center; gap: 7px; border: 0; border-radius: 99px; background: rgba(19,43,47,.85); color: white; backdrop-filter: blur(10px); cursor: pointer; }
.capture-actions { margin-top: 13px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.hint-field { margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--muted); font-size: .68rem; }
.hint-field select { width: auto; min-height: 34px; padding: 0 9px; }
.capture-guidance, .source-preview { align-self: start; }
.guidance-icon { width: 44px; height: 44px; margin-bottom: 17px; display: grid; place-items: center; border-radius: 13px; background: var(--brass-soft); color: var(--brass); }
.capture-guidance ul { padding: 0; margin: 20px 0; list-style: none; }
.capture-guidance li { padding: 10px 0 10px 25px; position: relative; border-bottom: 1px solid #edf0ee; color: var(--slate); font-size: .8rem; }
.capture-guidance li::before { content: "✓"; position: absolute; left: 2px; color: var(--teal); font-weight: 800; }
.privacy-callout { padding: 13px; display: flex; gap: 10px; border-radius: 11px; background: var(--teal-soft); color: var(--teal-dark); }
.privacy-callout svg { flex: 0 0 auto; }
.privacy-callout span { display: flex; flex-direction: column; font-size: .72rem; line-height: 1.45; }
.analysis-state { max-width: 610px; margin: 40px auto; display: flex; flex-direction: column; align-items: center; text-align: center; }
.analysis-visual { position: relative; width: 340px; height: 230px; margin-bottom: 25px; overflow: hidden; border: 8px solid var(--paper); border-radius: 20px; box-shadow: var(--shadow-md); }
.analysis-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }
.scan-line { position: absolute; left: 8px; right: 8px; height: 2px; background: #72d7c5; box-shadow: 0 0 12px #62c7b5; animation: scan 2s ease-in-out infinite; }
@keyframes scan { 0%, 100% { top: 12px; } 50% { top: calc(100% - 14px); } }
.analysis-state > svg { color: var(--teal); margin-bottom: 14px; }
.analysis-tasks { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.analysis-tasks span { display: flex; align-items: center; gap: 8px; color: var(--slate); font-size: .79rem; }
.analysis-tasks svg { color: var(--teal); }
.candidate-banner { padding-bottom: 19px; display: grid; grid-template-columns: 82px 1fr auto; align-items: center; gap: 15px; border-bottom: 1px solid var(--line); }
.candidate-image { width: 82px; height: 72px; overflow: hidden; display: grid; place-items: center; border-radius: 12px; background: #edf0ee; color: var(--muted); }
.candidate-image img { width: 100%; height: 100%; object-fit: cover; }
.candidate-banner h2 { margin-bottom: 4px; }
.candidate-banner p { margin: 0; font-size: .76rem; }
.confidence-badge { padding: 8px 10px; border-radius: 9px; background: var(--success-soft); color: var(--success); font-weight: 750; }
.followup-callout { margin: 16px 0; padding: 13px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 10px; border: 1px solid #d4dfda; border-radius: 11px; background: #f5faf7; color: var(--teal); }
.followup-callout > div { display: flex; flex-direction: column; gap: 2px; }
.followup-callout span { color: var(--slate); font-size: .7rem; }
.source-preview h3 { font-size: 1.25rem; }
.source-step { padding: 14px 0; display: flex; gap: 10px; border-bottom: 1px solid #edf0ee; }
.source-step > span { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--deep); color: white; font-size: .68rem; font-weight: 750; }
.source-step strong { font-size: .79rem; }
.source-step p { margin: 3px 0 0; font-size: .72rem; }
.source-hint { margin-top: 9px; display: flex; align-items: center; gap: 6px; color: var(--teal); font-size: .69rem; }
.completion-state { max-width: 710px; margin: 35px auto; text-align: center; }
.completion-check { width: 70px; height: 70px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; background: var(--success-soft); color: var(--success); }
.completion-state h2 { font-size: 2.35rem; }
.completion-state > p { max-width: 590px; margin: 0 auto 26px; }
.completion-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.completion-grid > div { padding: 17px; display: flex; flex-direction: column; gap: 5px; border-right: 1px solid var(--line); }
.completion-grid > div:last-child { border-right: 0; }
.completion-grid strong { color: var(--muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; }
.completion-grid span { color: var(--deep); font-size: .8rem; font-weight: 600; }
.completion-actions { margin-top: 23px; display: flex; justify-content: center; gap: 10px; }
.onboarding-footer { max-width: 1080px; width: 100%; margin: 30px auto 0; padding-top: 17px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); }
.onboarding-footer > span { color: var(--muted); font-size: .72rem; }

/* Asset detail */
.asset-detail-hero { display: grid; grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-sm); }
.asset-detail-image { position: relative; min-height: 360px; background: #e0e8e4; }
.asset-detail-image::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(19,43,47,.55)); }
.asset-detail-image > img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.image-edit { position: absolute; z-index: 2; left: 17px; bottom: 17px; padding: 9px 11px; display: flex; align-items: center; gap: 7px; border: 0; border-radius: 9px; background: rgba(255,255,255,.88); color: var(--deep); backdrop-filter: blur(8px); cursor: pointer; font-size: .76rem; font-weight: 650; }
.asset-detail-summary { padding: 27px; display: flex; flex-direction: column; justify-content: space-between; }
.asset-detail-title-row { display: flex; justify-content: space-between; gap: 20px; }
.asset-detail-title-row h1 { margin: 6px 0 5px; font-size: 2.5rem; }
.asset-detail-title-row p { margin: 0; }
.asset-category-label, .document-kind { color: var(--teal); font-size: .65rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.asset-detail-actions { display: flex; align-items: flex-start; gap: 8px; }
.asset-health-summary { margin: 22px 0; padding: 18px; display: flex; align-items: center; gap: 18px; border-radius: 15px; background: var(--deep); }
.asset-health-summary .health-ring-large { width: 92px; height: 92px; }
.asset-health-summary .health-ring-large strong { font-size: 1.8rem; }
.asset-health-summary strong { display: block; color: white; }
.asset-health-summary p { margin: 4px 0 0; color: rgba(245,242,234,.55); font-size: .74rem; }
.asset-key-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.asset-key-grid > div { min-width: 0; padding: 12px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid var(--line); border-radius: 11px; }
.asset-key-grid svg { flex: 0 0 auto; color: var(--teal); }
.asset-key-grid span { min-width: 0; display: flex; flex-direction: column; color: var(--muted); font-size: .62rem; }
.asset-key-grid strong { margin-top: 4px; overflow: hidden; text-overflow: ellipsis; color: var(--deep); font-size: .75rem; text-transform: capitalize; }
.detail-tabs { display: flex; gap: 24px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.detail-tabs button { padding: 0 1px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--slate); cursor: pointer; font-size: .82rem; font-weight: 650; text-transform: capitalize; }
.detail-tabs button.active { border-bottom-color: var(--teal); color: var(--teal); }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(310px, .58fr); gap: 18px; }
.detail-main-column, .detail-side-column { display: flex; flex-direction: column; gap: 18px; }
.identity-grid { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.identity-grid > div { padding: 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.identity-grid > div:nth-child(3n) { border-right: 0; }
.identity-grid > div:nth-last-child(-n+3) { border-bottom: 0; }
.identity-grid dt { margin-bottom: 5px; color: var(--muted); font-size: .65rem; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; }
.identity-grid dd { margin: 0; color: var(--deep); font-size: .82rem; font-weight: 600; }
.maintenance-preview-list { display: flex; flex-direction: column; }
.maintenance-preview-row { min-height: 60px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; border-bottom: 1px solid #edf0ee; }
.maintenance-preview-row:last-child { border-bottom: 0; }
.maintenance-preview-row > div { display: flex; flex-direction: column; gap: 2px; }
.maintenance-preview-row strong { font-size: .8rem; }
.maintenance-preview-row span:not(.status-badge):not(.status-dot):not(.maintenance-icon) { color: var(--slate); font-size: .69rem; }
.maintenance-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; }
.maintenance-icon.current { background: var(--success-soft); color: var(--success); }
.maintenance-icon.due-soon { background: var(--warning-soft); color: var(--warning); }
.maintenance-icon.overdue { background: var(--critical-soft); color: var(--critical); }
.maintenance-icon.unknown { background: #edf0ee; color: var(--slate); }
.component-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.component-card { padding: 13px; display: grid; grid-template-columns: 40px 1fr 18px; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 11px; }
.component-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.component-card > div { display: flex; flex-direction: column; }
.component-card strong { font-size: .79rem; }
.component-card span:not(.component-icon) { color: var(--slate); font-size: .68rem; }
.mini-document-list { display: flex; flex-direction: column; }
.mini-document-list > div { padding: 9px 0; display: flex; gap: 9px; border-bottom: 1px solid #edf0ee; }
.mini-document-list > div:last-child { border-bottom: 0; }
.mini-document-list > div > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--brass-soft); color: var(--brass); }
.mini-document-list > div > div { min-width: 0; display: flex; flex-direction: column; }
.mini-document-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; }
.mini-document-list small { color: var(--muted); font-size: .64rem; }
.source-record { display: flex; gap: 10px; }
.source-record > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: var(--teal-soft); color: var(--teal); }
.source-record strong { font-size: .76rem; }
.source-record p { margin: 3px 0; font-size: .68rem; }
.source-record small { color: var(--muted); font-size: .62rem; }
.avatar-stack-row { display: flex; align-items: center; gap: 12px; }
.avatar-stack { display: flex; }
.avatar-stack span { width: 34px; height: 34px; margin-left: -8px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; background: var(--teal-soft); color: var(--teal-dark); font-size: .62rem; font-weight: 700; }
.avatar-stack span:first-child { margin-left: 0; }
.avatar-stack-row > div:last-child { display: flex; flex-direction: column; }
.avatar-stack-row strong { font-size: .76rem; }
.avatar-stack-row span:not(.avatar-stack span) { color: var(--slate); font-size: .66rem; }
.maintenance-table { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr .7fr .8fr; align-items: center; gap: 14px; }
.maintenance-table.header { padding: 10px 13px; border-radius: 9px; background: #f5f7f5; color: var(--slate); font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.maintenance-table.row { min-height: 70px; padding: 10px 13px; border-bottom: 1px solid #edf0ee; color: var(--slate); font-size: .74rem; }
.maintenance-table.row > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.maintenance-table.row strong { color: var(--deep); font-size: .77rem; }
.maintenance-table.row small { color: var(--muted); font-size: .64rem; }
.history-divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.history-divider::before, .history-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.event-list { display: flex; flex-direction: column; }
.event-row { padding: 12px 0; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; border-bottom: 1px solid #edf0ee; }
.event-check { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--success-soft); color: var(--success); }
.event-row > div { display: flex; flex-direction: column; }
.event-row strong { font-size: .78rem; }
.event-row span:not(.event-check) { color: var(--slate); font-size: .68rem; }
.event-row time { color: var(--muted); font-size: .68rem; }
.document-grid, .document-library-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.document-card, .library-document { position: relative; padding: 14px; display: grid; grid-template-columns: 56px 1fr 38px; gap: 11px; border: 1px solid var(--line); border-radius: 12px; }
.document-preview, .library-doc-preview { width: 54px; height: 65px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 8px; background: var(--brass-soft); color: var(--brass); }
.document-preview span, .library-doc-preview span { margin-top: 4px; font-size: .55rem; font-weight: 800; }
.document-card h3, .library-document h3 { margin: 4px 0 3px; font-size: .81rem; }
.document-card p, .library-document p { margin: 0 0 5px; font-size: .66rem; }
.document-card small, .library-document small { color: var(--muted); font-size: .62rem; }
.access-list { display: flex; flex-direction: column; }
.access-row { min-height: 70px; display: grid; grid-template-columns: 42px 1.2fr 1fr 1fr auto 40px; align-items: center; gap: 12px; border-bottom: 1px solid #edf0ee; }
.access-row > div { display: flex; flex-direction: column; gap: 2px; }
.access-row strong { color: var(--deep); font-size: .77rem; text-transform: capitalize; }
.access-row span:not(.avatar):not(.status-badge):not(.status-dot) { color: var(--slate); font-size: .67rem; }
.timeline { display: flex; flex-direction: column; }
.timeline-row { position: relative; min-height: 78px; padding: 8px 0 18px 50px; display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.timeline-row::before { content: ""; position: absolute; left: 16px; top: 41px; bottom: -3px; width: 1px; background: var(--line); }
.timeline-row:last-child::before { display: none; }
.timeline-marker { position: absolute; left: 0; top: 7px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--teal-soft); color: var(--teal); }
.timeline-row strong { font-size: .8rem; }
.timeline-row p { margin: 3px 0; font-size: .7rem; }
.timeline-row small, .timeline-row time { color: var(--muted); font-size: .66rem; }

/* Maintenance page */
.maintenance-summary-grid { border: 0; gap: 12px; overflow: visible; background: transparent; }
.summary-card { min-height: 112px; padding: 16px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); cursor: pointer; text-align: left; transition: .15s ease; }
.summary-card:hover, .summary-card.selected { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.summary-card.selected { border-color: var(--teal); }
.summary-card .summary-icon { margin: 0; flex: 0 0 auto; }
.summary-card > div { display: flex; flex-direction: column; }
.summary-card strong { color: var(--deep); font-size: 1.65rem; font-weight: 430; }
.summary-card span:not(.summary-icon) { color: var(--graphite); font-size: .76rem; font-weight: 650; }
.summary-card small { color: var(--muted); font-size: .64rem; }
.summary-card.critical .summary-icon { background: var(--critical-soft); color: var(--critical); }
.summary-card.warning .summary-icon { background: var(--warning-soft); color: var(--warning); }
.summary-card.success .summary-icon { background: var(--success-soft); color: var(--success); }
.maintenance-board { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.maintenance-board-header, .maintenance-board-row { display: grid; grid-template-columns: 1.85fr 1fr 1fr 1.15fr .7fr .78fr; align-items: center; gap: 14px; }
.maintenance-board-header { padding: 12px 15px; background: #f7f8f6; color: var(--slate); font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.maintenance-board-row { min-height: 78px; padding: 11px 15px; border-top: 1px solid #edf0ee; color: var(--slate); font-size: .72rem; }
.maintenance-board-row > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.maintenance-board-row strong { color: var(--deep); font-size: .76rem; }
.maintenance-board-row small { color: var(--muted); font-size: .62rem; line-height: 1.35; }
.maintenance-task-cell { flex-direction: row !important; align-items: center; gap: 10px !important; }
.maintenance-task-cell > span:last-child { min-width: 0; display: flex; flex-direction: column; }

/* Documents */
.document-library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.library-document { background: var(--paper); box-shadow: var(--shadow-sm); }
.library-doc-body { min-width: 0; }
.library-doc-body h3 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.library-doc-body > div { display: flex; flex-wrap: wrap; gap: 8px; }
.library-doc-body .expiry { color: var(--warning); }
.upload-drop { min-height: 80px; padding: 15px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1.5px dashed #aabbb5; border-radius: 11px; background: #f7faf8; color: var(--teal); cursor: pointer; }
.upload-drop.large { min-height: 120px; flex-direction: column; text-align: center; }
.upload-drop span { display: flex; flex-direction: column; }
.upload-drop strong { color: var(--deep); font-size: .78rem; }
.upload-drop small { color: var(--muted); font-size: .66rem; }

/* Access */
.access-principle { padding: 17px 19px; display: flex; gap: 13px; border: 1px solid #cfddd8; border-radius: 14px; background: var(--teal-soft); color: var(--teal); }
.access-principle svg { flex: 0 0 auto; }
.access-principle strong { color: var(--teal-dark); }
.access-principle p { margin: 4px 0 0; color: #426d67; font-size: .77rem; }
.access-table-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.access-table { display: grid; grid-template-columns: 1.35fr 1.25fr 1fr .8fr .65fr 96px; align-items: center; gap: 13px; }
.access-table.header { padding: 12px 15px; background: #f7f8f6; color: var(--slate); font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.access-table.row { min-height: 78px; padding: 11px 15px; border-top: 1px solid #edf0ee; color: var(--slate); font-size: .72rem; }
.access-table.row > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.access-table.row strong { color: var(--deep); font-size: .75rem; text-transform: capitalize; }
.access-table.row small { color: var(--muted); font-size: .61rem; line-height: 1.35; }
.access-table .row-actions { align-items: flex-end; }
.access-revoke-button { width: 100%; white-space: nowrap; }
.owner-row { background: #fbfcfb; }
.person-cell { flex-direction: row !important; align-items: center; gap: 9px !important; }
.person-cell > span:last-child { min-width: 0; }
.permission-preview { padding: 13px; display: flex; gap: 10px; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.permission-preview strong { color: var(--teal-dark); text-transform: capitalize; }
.permission-preview p { margin: 3px 0 0; color: #426d67; font-size: .7rem; }

/* Settings */
.settings-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 20px; }
.settings-nav { align-self: start; padding: 8px; display: flex; flex-direction: column; gap: 3px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.settings-nav button { min-height: 40px; padding: 0 10px; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 9px; background: transparent; color: var(--slate); cursor: pointer; text-align: left; font-size: .76rem; font-weight: 600; }
.settings-nav button.active { background: var(--teal-soft); color: var(--teal-dark); }
.settings-content { display: flex; flex-direction: column; gap: 16px; }
.profile-settings { display: flex; align-items: center; gap: 14px; }
.profile-settings > div { display: flex; flex-direction: column; }
.profile-settings strong { color: var(--deep); }
.profile-settings span { color: var(--slate); font-size: .75rem; }
.profile-settings .text-button { margin-top: 5px; }
.settings-actions { display: flex; justify-content: flex-end; }
.settings-row { min-height: 68px; padding: 10px 0; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 11px; border-bottom: 1px solid #edf0ee; }
.settings-row:last-child { border-bottom: 0; }
.settings-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.settings-row > div { display: flex; flex-direction: column; gap: 3px; }
.settings-row strong { font-size: .78rem; }
.settings-row span:not(.settings-icon) { color: var(--slate); font-size: .68rem; }
.settings-row select { height: 36px; border: 1px solid var(--line); border-radius: 9px; background: white; padding: 0 9px; }
.switch { position: relative; width: 43px; height: 24px; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch span { position: absolute; inset: 0; border-radius: 99px; background: #cdd5d1; cursor: pointer; }
.switch span::after { content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; border-radius: 50%; background: white; box-shadow: 0 1px 4px rgba(0,0,0,.2); transition: .2s; }
.switch input:checked + span { background: var(--teal); }
.switch input:checked + span::after { transform: translateX(19px); }
.success-banner { padding: 12px 14px; border: 1px solid #bdd8c8; border-radius: 11px; background: var(--success-soft); color: var(--success); font-size: .78rem; font-weight: 600; }

/* Modal and empty states */
.modal-backdrop { position: fixed; z-index: 100; inset: 0; padding: 24px; display: grid; place-items: center; background: rgba(11, 28, 31, .58); backdrop-filter: blur(5px); }
.modal { width: min(600px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; border-radius: 18px; background: var(--paper); box-shadow: 0 28px 90px rgba(6,22,24,.28); }
.modal-header { position: sticky; z-index: 1; top: 0; padding: 20px 22px 15px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.95); backdrop-filter: blur(10px); }
.modal-header h2 { margin: 0; }
.modal-content { padding: 21px 22px 23px; }
.modal-form { display: flex; flex-direction: column; gap: 15px; }
.modal-actions { padding-top: 5px; display: flex; justify-content: flex-end; gap: 9px; }
.record-summary { padding: 12px; display: flex; gap: 10px; border-radius: 11px; background: var(--teal-soft); }
.record-summary > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; background: white; color: var(--teal); }
.record-summary strong { font-size: .78rem; }
.record-summary p { margin: 3px 0 0; font-size: .68rem; }
.empty-state, .empty-page { min-height: 320px; padding: 45px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed #b9c6c1; border-radius: var(--radius-md); background: rgba(255,255,255,.55); text-align: center; }
.empty-icon { width: 52px; height: 52px; margin-bottom: 14px; display: grid; place-items: center; border-radius: 15px; background: var(--teal-soft); color: var(--teal); }
.empty-state p { max-width: 450px; }
.skeleton { border-radius: 13px; background: linear-gradient(90deg, #e7e8e2 25%, #f2f1eb 37%, #e7e8e2 63%); background-size: 400% 100%; animation: shimmer 1.5s ease infinite; }
.skeleton-title { width: 55%; height: 88px; }
.skeleton-hero { width: 100%; height: 280px; }
.skeleton-grid { width: 100%; height: 330px; }
@keyframes shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* Responsive */
@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 210px minmax(0, 1fr); }
  .desktop-rail { width: 210px; }
  .main-column { grid-column: 2; }
  .page-content { padding-inline: 25px; }
  .dashboard-hero { grid-template-columns: 1fr; }
  .dashboard-health { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .asset-card-grid { grid-template-columns: repeat(2, 1fr); }
  .asset-key-grid { grid-template-columns: repeat(2, 1fr); }
  .asset-table { grid-template-columns: 1.7fr 1fr 1fr .8fr; }
  .asset-table > span:nth-child(5) { display: none; }
  .maintenance-board-header, .maintenance-board-row { grid-template-columns: 1.8fr 1fr 1fr 1fr .75fr; }
  .maintenance-board-header > span:nth-child(3), .maintenance-board-row > span:nth-child(3) { display: none; }
  .access-table { grid-template-columns: 1.3fr 1.2fr 1fr .7fr 96px; }
  .access-table > span:nth-child(4) { display: none; }
}

@media (max-width: 900px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: initial; }
  .app-shell { display: block; }
  .desktop-rail { display: none; }
  .main-column { min-height: 100vh; }
  .topbar { height: 64px; padding: 0 16px; }
  .mobile-brand { display: block; }
  .global-search { max-width: none; }
  .page-content { padding: 24px 16px 104px; }
  .mobile-nav { position: fixed; z-index: 30; left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); height: 65px; padding: 5px 14px; display: grid; grid-template-columns: 1fr 1fr 66px 1fr 1fr; align-items: center; border: 1px solid rgba(200,209,204,.88); border-radius: 19px; background: rgba(255,255,255,.94); box-shadow: 0 13px 40px rgba(19,43,47,.18); backdrop-filter: blur(15px); }
  .mobile-link { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--muted); font-size: .55rem; font-weight: 650; }
  .mobile-link.active { color: var(--teal); }
  .mobile-add { width: 55px; height: 55px; margin: -23px auto 0; display: grid; place-items: center; border: 5px solid var(--ivory); border-radius: 18px; background: var(--teal); color: white; box-shadow: 0 9px 22px rgba(47,111,104,.28); }
  .dashboard-heading, .split-heading { align-items: flex-start; }
  .dashboard-heading .button, .split-heading .button { flex: 0 0 auto; }
  .dashboard-two-column, .detail-layout, .capture-layout, .confirm-layout { grid-template-columns: 1fr; }
  .attention-grid { grid-template-columns: 1fr; }
  .asset-summary-strip, .maintenance-summary-grid, .document-summary-grid, .access-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .asset-summary-strip > div:nth-child(2), .document-summary-grid > div:nth-child(2), .access-summary-grid > div:nth-child(2) { border-right: 0; }
  .asset-summary-strip > div:nth-child(-n+2), .document-summary-grid > div:nth-child(-n+2), .access-summary-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .filter-bar { flex-wrap: wrap; }
  .page-search { flex: 1 0 100%; }
  .select-control { flex: 1; }
  .view-toggle { margin-left: auto; }
  .asset-detail-hero { grid-template-columns: 1fr; }
  .asset-detail-image, .asset-detail-image > img { min-height: 280px; max-height: 360px; }
  .detail-side-column { display: grid; grid-template-columns: repeat(2, 1fr); }
  .detail-side-column .compact-card:last-child { grid-column: span 2; }
  .document-grid, .document-library-grid { grid-template-columns: repeat(2, 1fr); }
  .maintenance-table.header, .maintenance-board-header, .access-table.header { display: none; }
  .maintenance-table.row, .maintenance-board-row, .access-table.row { padding: 15px; grid-template-columns: 1fr auto; gap: 9px; }
  .maintenance-table.row > span, .maintenance-board-row > span, .access-table.row > span { display: flex !important; }
  .maintenance-table.row > span:nth-child(n+2):not(:last-child), .maintenance-board-row > span:nth-child(n+2):not(:last-child), .access-table.row > span:nth-child(n+2):not(:last-child) { align-items: flex-end; text-align: right; }
  .maintenance-table.row > span:first-child, .maintenance-board-row > span:first-child, .access-table.row > span:first-child { grid-row: span 3; }
  .access-table.row > .row-actions { grid-column: 1 / -1; align-items: stretch; }
  .access-revoke-button { width: 100%; min-height: 42px; }
  .settings-layout { grid-template-columns: 1fr; }
  .settings-nav { flex-direction: row; overflow-x: auto; }
  .settings-nav button { flex: 0 0 auto; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-story { display: none; }
  .auth-panel { min-height: 100vh; padding: 28px; }
}

@media (max-width: 620px) {
  h1 { font-size: 2rem; }
  .page-stack { gap: 23px; }
  .global-search { display: none; }
  .topbar-actions { margin-left: auto; }
  .dashboard-health { padding: 25px 20px; flex-direction: column; align-items: flex-start; }
  .dashboard-stat-grid { grid-template-columns: 1fr 1fr; }
  .hero-stat { padding: 19px; }
  .dashboard-health h2 { font-size: 2.2rem; }
  .section-heading-row { align-items: flex-start; }
  .section-heading-row .text-link { white-space: nowrap; }
  .dashboard-two-column { display: flex; flex-direction: column; }
  .property-card { grid-template-columns: 82px 1fr; }
  .property-card img { width: 82px; }
  .property-card-body { padding: 12px; }
  .property-meta { display: none; }
  .asset-table-card { overflow-x: auto; }
  .asset-table { min-width: 650px; }
  .asset-card-grid { grid-template-columns: 1fr; }
  .asset-summary-strip, .maintenance-summary-grid, .document-summary-grid, .access-summary-grid { grid-template-columns: 1fr 1fr; }
  .split-heading { flex-direction: column; align-items: stretch; }
  .split-heading > .button { align-self: flex-start; }
  .filter-bar { display: grid; grid-template-columns: 1fr 1fr; }
  .page-search { grid-column: span 2; }
  .view-toggle { display: none; }
  .select-control { min-width: 0; }
  .asset-detail-summary { padding: 20px 16px; }
  .asset-detail-title-row { flex-direction: column; }
  .asset-detail-title-row h1 { font-size: 2rem; }
  .asset-detail-actions { align-self: flex-start; }
  .asset-health-summary { align-items: flex-start; }
  .asset-key-grid { grid-template-columns: 1fr 1fr; }
  .identity-grid { grid-template-columns: repeat(2, 1fr); }
  .identity-grid > div:nth-child(3n) { border-right: 1px solid var(--line); }
  .identity-grid > div:nth-child(2n) { border-right: 0; }
  .component-grid, .detail-side-column { grid-template-columns: 1fr; }
  .detail-side-column .compact-card:last-child { grid-column: auto; }
  .maintenance-preview-row { grid-template-columns: 36px 1fr auto; }
  .maintenance-preview-row .button { grid-column: 2 / -1; justify-self: start; }
  .document-grid, .document-library-grid { grid-template-columns: 1fr; }
  .capture-panel, .confirm-main, .capture-guidance, .source-preview { padding: 14px; }
  .camera-stage { min-height: 335px; padding: 30px 22px; }
  .camera-stage img { height: 335px; }
  .capture-actions { grid-template-columns: 1fr; }
  .stepper { margin: 22px auto 27px; }
  .step strong { display: none; }
  .candidate-banner { grid-template-columns: 70px 1fr; }
  .confidence-badge { grid-column: 2; width: fit-content; }
  .followup-callout { grid-template-columns: 24px 1fr; }
  .followup-callout .button { grid-column: 2; justify-self: start; }
  .form-grid, .two-column-form { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .completion-grid { grid-template-columns: 1fr; }
  .completion-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .completion-grid > div:last-child { border-bottom: 0; }
  .completion-actions, .onboarding-footer { flex-direction: column; align-items: stretch; }
  .onboarding-footer > span { text-align: center; }
  .analysis-visual { width: min(100%, 340px); }
  .asset-list-view { overflow-x: auto; }
  .asset-list-row { min-width: 690px; }
  .access-row { grid-template-columns: 40px 1fr auto; }
  .access-row > div:nth-of-type(n+2) { display: none; }
  .settings-row { grid-template-columns: 40px 1fr; }
  .settings-row > :last-child { grid-column: 2; justify-self: start; }
  .modal-backdrop { padding: 10px; align-items: end; }
  .modal { max-height: calc(100vh - 20px); border-radius: 18px 18px 12px 12px; }
}

/* Production-state additions */
.app-loading, .fatal-state { min-height: 100vh; padding: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--ivory); text-align: center; }
.fatal-state p { max-width: 560px; }
.save-error-toast { position: fixed; z-index: 100; right: 22px; bottom: 22px; max-width: min(430px, calc(100vw - 44px)); padding: 13px 15px; display: flex; flex-direction: column; gap: 3px; border: 1px solid #e8bdbb; border-radius: 12px; background: var(--critical-soft); color: var(--critical); box-shadow: var(--shadow-md); text-align: left; cursor: pointer; }
.save-error-toast strong { font-size: .78rem; }
.save-error-toast span { font-size: .72rem; line-height: 1.4; }
.profile-signout { width: 30px; height: 30px; margin-left: auto; display: grid; place-items: center; border: 0; border-radius: 8px; background: transparent; color: rgba(245,242,234,.52); cursor: pointer; }
.profile-signout:hover { color: white; background: rgba(255,255,255,.07); }
.quiet-state { min-height: 112px; padding: 20px; display: flex; align-items: center; gap: 13px; border: 1px dashed var(--line-strong); border-radius: 14px; background: rgba(255,255,255,.48); }
.quiet-state > span, .empty-property > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: var(--teal-soft); color: var(--teal); }
.quiet-state strong, .empty-property strong, .empty-asset-pulse strong { color: var(--deep); font-size: .85rem; }
.quiet-state p { margin: 3px 0 0; font-size: .74rem; }
.property-placeholder { width: 112px; min-height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, #e2ebe7, #f3ede2); color: var(--teal); }
.empty-property { width: 100%; min-height: 132px; padding: 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px dashed var(--line-strong); border-radius: 14px; background: rgba(255,255,255,.45); cursor: pointer; }
.empty-property small, .empty-asset-pulse span { color: var(--slate); }
.asset-thumb-placeholder { width: 43px; height: 43px; display: grid !important; place-items: center; flex: 0 0 auto; border-radius: 9px; background: var(--teal-soft); color: var(--teal); }
.empty-asset-pulse { width: 100%; min-height: 170px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px dashed var(--line-strong); border-radius: var(--radius-md); background: rgba(255,255,255,.52); color: var(--teal); cursor: pointer; }
.upload-drop { appearance: none; width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.settings-nav a { min-height: 42px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border-radius: 9px; color: var(--slate); font-size: .79rem; font-weight: 600; }
.settings-nav a:hover, .settings-nav a.active { color: var(--deep); background: var(--teal-soft); }
.settings-state { padding: 6px 9px; border-radius: 99px; background: var(--teal-soft); color: var(--teal-dark); font-size: .66rem; font-weight: 700; }
.settings-help { margin: 3px 0 0; padding: 12px 13px; border-radius: 10px; background: #f6f8f6; font-size: .74rem; }

@media (max-width: 620px) {
  .save-error-toast { right: 12px; bottom: 88px; max-width: calc(100vw - 24px); }
  .property-placeholder { width: 82px; }
}
.global-search-wrap { position: relative; max-width: 530px; flex: 1; }
.global-search-wrap .global-search { max-width: none; }
.global-search-results { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0; padding: 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow-md); }
.global-search-results button { width: 100%; padding: 10px 11px; display: grid; grid-template-columns: 64px 1fr; gap: 2px 9px; border: 0; border-radius: 9px; background: transparent; text-align: left; cursor: pointer; }
.global-search-results button:hover { background: #f4f7f5; }
.global-search-results button > span { grid-row: span 2; align-self: center; color: var(--teal); font-size: .62rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.global-search-results strong { color: var(--deep); font-size: .78rem; }
.global-search-results small { color: var(--slate); font-size: .68rem; }
.search-empty { padding: 16px; color: var(--slate); font-size: .76rem; text-align: center; }
.notification-panel { position: absolute; z-index: 65; top: 62px; right: 155px; width: min(390px, calc(100vw - 32px)); padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-md); }
.notification-panel-heading { padding: 10px 10px 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.notification-panel-heading .eyebrow { margin-bottom: 3px; }
.notification-panel-heading > div { display: flex; flex-direction: column; }
.notification-panel > button { width: 100%; padding: 11px 10px; display: flex; align-items: center; gap: 10px; border: 0; border-radius: 9px; background: transparent; text-align: left; cursor: pointer; }
.notification-panel > button:hover { background: #f5f7f5; }
.notification-panel > button div { display: flex; flex-direction: column; gap: 2px; }
.notification-panel > button strong { color: var(--deep); font-size: .76rem; }
.notification-panel > button small { color: var(--slate); font-size: .67rem; }
.notification-panel > p { margin: 0; padding: 17px 11px; font-size: .74rem; }
.notification-status { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--warning); }
.notification-status.overdue { background: var(--critical); }
@media (max-width: 900px) {
  .global-search-wrap { max-width: none; }
  .notification-panel { top: 57px; right: 12px; }
}
@media (max-width: 620px) {
  .global-search-wrap { display: none; }
  .settings-nav a { flex: 0 0 auto; }
}
.asset-card-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, #dfeae5, #f1eadf); color: var(--teal); }
.list-thumb-placeholder { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 9px; background: var(--teal-soft); color: var(--teal); }
.detail-image-placeholder { width: 100%; min-height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, #dce9e4, #f2eadf); color: var(--teal); }
.modal-note { margin: 0; padding: 10px 12px; border-radius: 9px; background: #f6f8f6; font-size: .74rem; }

.global-error-banner {
  align-items: center;
  background: #fff4f1;
  border-bottom: 1px solid #e6b4aa;
  color: #7e2d27;
  display: flex;
  font-size: .88rem;
  gap: 1rem;
  justify-content: space-between;
  padding: .7rem clamp(1rem, 3vw, 2rem);
}

.fatal-error {
  align-items: flex-start;
  background: var(--color-ivory, #f5f2ea);
  color: var(--color-graphite, #27373a);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  min-height: 100vh;
  padding: clamp(2rem, 8vw, 7rem);
}

.fatal-error h1 { max-width: 720px; margin: 0; }
.fatal-error p { max-width: 680px; margin: 0; }
.fatal-error code { background: #fff; border: 1px solid #dedad0; border-radius: 8px; max-width: 760px; overflow-wrap: anywhere; padding: .75rem; }
.identifier-fields { grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr); }
.detail-capture-thumb { border-radius: 8px; height: 52px; object-fit: cover; width: 70px; }

/* Hāvin v0.2.0 — automated ownership design system */
:root {
  --deep: #0F2138;
  --deep-2: #18314D;
  --teal: #2B8C91;
  --teal-dark: #23757A;
  --teal-soft: #E1F0F0;
  --ivory: #f3f1eb;
  --paper: #fffdf8;
  --graphite: #172426;
  --slate: #5d6969;
  --muted: #697675;
  --line: #d9d6cd;
  --line-strong: #c8c4ba;
  --success: #34745b;
  --success-soft: #e1eee7;
  --warning: #925516;
  --warning-soft: #f6ead6;
  --critical: #9b3f37;
  --critical-soft: #f5e1de;
  --info: #3f6578;
  --info-soft: #e1ebf0;
  --shadow-sm: 0 1px 2px rgba(16,40,43,.04), 0 7px 22px rgba(16,40,43,.035);
  --shadow-md: 0 18px 54px rgba(16,40,43,.12);
  --radius-sm: 9px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --content: 1360px;
}
body { background: var(--ivory); color: var(--graphite); }
h1 { font-weight: 510; letter-spacing: -.045em; }
h2 { font-weight: 570; letter-spacing: -.035em; }
h3 { letter-spacing: -.02em; }
.page-content { padding-top: 32px; }
.page-stack { gap: 26px; }
.page-heading p, .today-heading p { color: var(--slate); }
.section-block, .panel-block, .content-card { background: var(--paper); box-shadow: var(--shadow-sm); }
.section-heading-row p { margin: 4px 0 0; font-size: .78rem; }
.button { min-height: 40px; border-radius: 10px; }
.button-light { background: white; color: var(--deep); box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.button-light:hover { background: #f8faf8; }
.text-button.subtle { color: var(--slate); font-size: .74rem; }
.compact-icon { width: 34px; height: 34px; border-radius: 9px; }

/* Shell hierarchy */
.app-shell { grid-template-columns: 236px minmax(0, 1fr); }
.desktop-rail { width: 236px; padding: 21px 14px 16px; background: #10282b; }
.rail-top { padding: 0 8px 21px; }
.rail-nav { padding-top: 17px; gap: 3px; }
.rail-link { position: relative; height: 41px; padding: 0 11px; border-radius: 9px; font-size: .84rem; color: rgba(245,242,234,.62); }
.rail-link.active { background: rgba(220,236,234,.11); box-shadow: inset 2px 0 0 #75b2a6; }
.nav-count { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; display: grid; place-items: center; border-radius: 99px; background: rgba(255,255,255,.11); color: #d8ece8; font-size: .64rem; font-weight: 700; }
.rail-automation-note { margin: 18px 5px 0; padding: 13px; display: flex; flex-direction: column; gap: 5px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.04); }
.rail-automation-note span { color: #8ebfb6; font-size: .62rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.rail-automation-note strong { color: white; font-size: .76rem; line-height: 1.35; }
.rail-automation-note button { width: fit-content; margin-top: 3px; padding: 0; border: 0; background: transparent; color: #bddbd5; font-size: .68rem; font-weight: 650; cursor: pointer; }
.main-column { grid-column: 2; }
.topbar { height: 66px; padding: 0 28px; background: rgba(243,241,235,.9); }
.global-search { height: 39px; border-color: #d7d5cd; background: rgba(255,253,248,.78); }
.notification-status.critical { background: var(--critical); }
.notification-status.important { background: var(--warning); }
.notification-status.routine { background: var(--info); }

/* Today */
.today-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.today-heading h1 { margin-bottom: 8px; }
.today-heading p { margin: 0; }
.heading-actions { display: flex; align-items: center; gap: 9px; }
.ownership-command-card { min-height: 280px; display: grid; grid-template-columns: minmax(0, 1.25fr) 210px minmax(260px, .75fr); overflow: hidden; border-radius: var(--radius-lg); background: var(--deep); color: white; box-shadow: 0 22px 60px rgba(16,40,43,.18); }
.command-copy { padding: 34px 38px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: radial-gradient(circle at 0 100%, rgba(46,121,112,.28), transparent 45%); }
.command-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 13px; color: #9bc9c1; font-size: .69rem; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }
.command-copy h2 { max-width: 650px; margin-bottom: 10px; color: white; font-size: clamp(1.8rem, 3vw, 2.85rem); font-weight: 430; line-height: 1.05; }
.command-copy p { max-width: 650px; margin: 0; color: rgba(245,242,234,.64); font-size: .92rem; }
.command-actions { margin-top: 23px; display: flex; align-items: center; gap: 17px; }
.command-text-link { color: #bddbd5; font-size: .78rem; font-weight: 650; }
.protection-gauge { padding: 25px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-left: 1px solid rgba(255,255,255,.08); border-right: 1px solid rgba(255,255,255,.08); text-align: center; }
.protection-ring { position: relative; --protection: 0deg; width: 132px; height: 132px; margin-bottom: 15px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#75b2a6 var(--protection), rgba(255,255,255,.1) 0); }
.protection-ring::before { content: ""; position: absolute; width: 112px; height: 112px; border-radius: 50%; background: var(--deep); }
.protection-ring > div { position: relative; display: flex; align-items: baseline; }
.protection-ring strong { font-size: 2.45rem; font-weight: 350; }
.protection-ring span { color: #9bc9c1; font-size: .85rem; }
.protection-gauge > span { font-size: .75rem; font-weight: 700; }
.protection-gauge > small { max-width: 170px; margin-top: 5px; color: rgba(255,255,255,.62); font-size: .7rem; line-height: 1.4; }
.command-metrics { display: grid; grid-template-rows: repeat(3, 1fr); }
.command-metrics > div { padding: 22px 25px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid rgba(255,255,255,.08); }
.command-metrics > div:last-child { border-bottom: 0; }
.command-metrics span { color: rgba(255,255,255,.62); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.command-metrics strong { margin: 6px 0 3px; color: white; font-size: 1.65rem; font-weight: 400; }
.command-metrics small { color: rgba(255,255,255,.58); font-size: .7rem; line-height: 1.35; }
.today-primary-grid { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(320px, .58fr); gap: 18px; align-items: start; }
.action-queue-panel { padding: 22px; }
.ownership-action-list { display: flex; flex-direction: column; }
.ownership-action-row { position: relative; min-height: 106px; padding: 16px 0 16px 17px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; border-bottom: 1px solid #e9e7e0; }
.ownership-action-row:last-child { border-bottom: 0; }
.severity-marker { position: absolute; left: 0; top: 21px; width: 5px; height: 32px; border-radius: 99px; background: var(--info); }
.severity-critical .severity-marker { background: var(--critical); box-shadow: 0 0 0 4px rgba(173,73,63,.08); }
.severity-important .severity-marker { background: var(--warning); box-shadow: 0 0 0 4px rgba(164,104,35,.08); }
.ownership-action-meta { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; }
.ownership-action-meta > span { color: var(--teal); font-size: .68rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ownership-action-meta small { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: .68rem; }
.ownership-action-main h3 { margin-bottom: 5px; font-size: .96rem; }
.ownership-action-main p { max-width: 720px; margin: 0; font-size: .75rem; }
.ownership-action-controls { display: flex; align-items: center; gap: 8px; }
.today-side-stack { display: flex; flex-direction: column; gap: 18px; }
.automation-panel { padding: 20px; }
.automation-feed { display: flex; flex-direction: column; }
.automation-feed article, .automation-history article { padding: 12px 0; display: flex; gap: 10px; border-bottom: 1px solid #eae8e1; }
.automation-feed article:last-child, .automation-history article:last-child { border-bottom: 0; }
.automation-state { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: var(--info-soft); color: var(--info); }
.automation-state.review-required { background: var(--warning-soft); color: var(--warning); }
.automation-state.failed { background: var(--critical-soft); color: var(--critical); }
.automation-feed article > div, .automation-history article > div { min-width: 0; }
.automation-feed strong, .automation-history strong { display: block; color: var(--deep); font-size: .75rem; }
.automation-feed p, .automation-history p { margin: 3px 0 4px; font-size: .67rem; line-height: 1.4; }
.automation-feed small, .automation-history small { color: var(--muted); font-size: .68rem; }
.panel-footer-link { margin-top: 9px; padding-top: 13px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: var(--teal); font-size: .72rem; font-weight: 650; }
.ownership-coverage-panel { padding: 20px; }
.coverage-list { display: flex; flex-direction: column; }
.coverage-list > div { padding: 11px 0; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid #ebe9e2; }
.coverage-list > div:last-child { border-bottom: 0; }
.coverage-list > div > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.coverage-list strong, .coverage-list small { display: block; }
.coverage-list strong { color: var(--deep); font-size: .76rem; }
.coverage-list small { margin-top: 2px; color: var(--muted); font-size: .64rem; }
.review-strip { padding: 22px; }
.review-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.review-card { min-width: 0; padding: 15px; display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: start; border: 1px solid var(--line); border-radius: 12px; background: #fffefa; transition: .16s ease; }
.review-card:hover { transform: translateY(-2px); border-color: #b9c6c0; box-shadow: var(--shadow-sm); }
.review-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--warning-soft); color: var(--warning); }
.review-card > div { min-width: 0; }
.review-card > div > span { color: var(--teal); font-size: .66rem; font-weight: 740; letter-spacing: .06em; text-transform: uppercase; }
.review-card strong { display: block; margin: 4px 0; color: var(--deep); font-size: .78rem; }
.review-card p { margin: 0 0 7px; font-size: .66rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.review-card small { color: var(--muted); font-size: .67rem; }
.today-lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.activity-list.refined .activity-row { padding: 10px 0; }
.ownership-next-panel { padding: 24px; background: linear-gradient(145deg, #fffdf8, #edf4f1); }
.ownership-next-panel > p { max-width: 560px; font-size: .78rem; }
.next-step-list { display: flex; flex-direction: column; }
.next-step-list a { padding: 12px 0; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; border-bottom: 1px solid #dfe6e2; }
.next-step-list a:last-child { border-bottom: 0; }
.next-step-list a > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--deep); color: white; font-size: .68rem; font-weight: 700; }
.next-step-list strong, .next-step-list small { display: block; }
.next-step-list strong { color: var(--deep); font-size: .76rem; }
.next-step-list small { margin-top: 2px; color: var(--muted); font-size: .64rem; }

/* Watch workspace */
.watch-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.watch-summary { min-height: 150px; padding: 18px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto 1fr; column-gap: 11px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); }
.watch-summary > span { grid-row: span 3; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; }
.watch-summary.critical > span { background: var(--critical-soft); color: var(--critical); }
.watch-summary.important > span { background: var(--warning-soft); color: var(--warning); }
.watch-summary.routine > span { background: var(--info-soft); color: var(--info); }
.watch-summary.scan > span { background: var(--teal-soft); color: var(--teal); }
.watch-summary strong { color: var(--deep); font-size: 1.55rem; font-weight: 450; }
.watch-summary small { color: var(--slate); font-size: .69rem; font-weight: 700; }
.watch-summary p { grid-column: 1 / -1; align-self: end; margin: 13px 0 0; font-size: .66rem; }
.watch-workspace { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); gap: 18px; align-items: start; }
.watch-main { min-width: 0; }
.watch-filter-bar { margin-bottom: 14px; }
.watch-list { display: flex; flex-direction: column; gap: 10px; }
.watch-card { position: relative; padding: 18px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; align-items: start; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); }
.watch-card::before { content: ""; position: absolute; left: -1px; top: 18px; bottom: 18px; width: 4px; border-radius: 0 99px 99px 0; background: var(--info); }
.watch-card.severity-critical::before { background: var(--critical); }
.watch-card.severity-important::before { background: var(--warning); }
.watch-card-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.watch-card-body h2 { margin: 5px 0 5px; font-size: 1rem; }
.watch-card-body > p { margin: 0; font-size: .75rem; }
.watch-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.watch-card-meta > span:first-child { color: var(--teal); font-size: .67rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.watch-priority, .watch-status { padding: 4px 7px; border-radius: 99px; font-size: .65rem; font-weight: 720; text-transform: capitalize; }
.watch-priority.critical { background: var(--critical-soft); color: var(--critical); }
.watch-priority.important { background: var(--warning-soft); color: var(--warning); }
.watch-priority.routine { background: var(--info-soft); color: var(--info); }
.watch-status { background: #eceeea; color: var(--slate); }
.watch-card-context { margin-top: 9px; display: flex; gap: 14px; color: var(--muted); font-size: .68rem; }
.watch-card-context span { display: inline-flex; align-items: center; gap: 4px; }
.recommended-action { margin-top: 11px; padding: 9px 10px; display: flex; gap: 8px; border-radius: 9px; background: #f1f6f3; color: var(--teal); font-size: .67rem; }
.watch-card-actions { min-width: 126px; display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.watch-card-actions .text-button { justify-content: center; font-size: .67rem; }
.watch-sidebar { display: flex; flex-direction: column; gap: 18px; }
.watch-sidebar .section-block { padding: 19px; }
.automation-history { display: flex; flex-direction: column; }
.watch-principle-card { padding: 24px; border-radius: 16px; background: var(--deep); color: white; box-shadow: var(--shadow-md); }
.watch-principle-card > svg { margin-bottom: 22px; color: #8fc1b8; }
.watch-principle-card h2 { color: white; font-size: 1.4rem; }
.watch-principle-card p { margin: 0; color: rgba(255,255,255,.58); font-size: .74rem; }
.empty-watch { min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed var(--line-strong); border-radius: 14px; background: rgba(255,255,255,.5); color: var(--teal); text-align: center; }
.empty-watch h2 { margin: 13px 0 5px; }
.empty-watch p { margin: 0; }

/* Smart records */
.records-inbox-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); }
.records-inbox-summary button { min-height: 145px; padding: 17px; display: flex; flex-direction: column; align-items: flex-start; border: 0; border-right: 1px solid var(--line); background: transparent; cursor: pointer; text-align: left; }
.records-inbox-summary button:last-child { border-right: 0; }
.records-inbox-summary button:hover, .records-inbox-summary button.active { background: #f2f7f4; }
.records-inbox-summary button.active { box-shadow: inset 0 -3px 0 var(--teal); }
.records-inbox-summary .summary-icon { margin-bottom: 10px; }
.summary-icon.review { background: var(--warning-soft); color: var(--warning); }
.summary-icon.ready { background: var(--success-soft); color: var(--success); }
.summary-icon.processing { background: var(--info-soft); color: var(--info); }
.summary-icon.unmatched { background: #ecebe7; color: var(--slate); }
.records-inbox-summary strong { color: var(--deep); font-size: 1.45rem; font-weight: 450; }
.records-inbox-summary button > span:not(.summary-icon) { margin: 4px 0; color: var(--deep); font-size: .7rem; font-weight: 700; }
.records-inbox-summary small { color: var(--muted); font-size: .63rem; line-height: 1.4; }
.records-workspace { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(300px, .58fr); gap: 18px; align-items: start; }
.records-main { min-width: 0; }
.smart-record-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.smart-record-card { padding: 17px; display: grid; grid-template-columns: 54px minmax(0, 1fr) minmax(150px, auto); gap: 15px; align-items: start; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); }
.smart-record-card.status-review-required { border-color: #e2caa6; }
.smart-record-card.status-unmatched { border-color: #cdd4d1; }
.record-file-icon { width: 52px; height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 10px; background: var(--info-soft); color: var(--info); }
.record-file-icon span { font-size: .51rem; font-weight: 750; }
.record-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.record-meta > span { color: var(--muted); font-size: .67rem; font-weight: 650; }
.record-meta > span:first-child { color: var(--teal); letter-spacing: .06em; text-transform: uppercase; }
.record-status { padding: 4px 7px; border-radius: 99px; text-transform: capitalize; }
.record-status.review-required { background: var(--warning-soft); color: var(--warning); }
.record-status.ready { background: var(--success-soft); color: var(--success); }
.record-status.processing { background: var(--info-soft); color: var(--info); }
.record-status.unmatched { background: #eceeea; color: var(--slate); }
.record-body h2 { margin: 5px 0; font-size: .98rem; }
.record-body > p { margin: 0; font-size: .73rem; }
.record-context { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 11px; color: var(--muted); font-size: .68rem; }
.record-review-box { margin-top: 11px; padding: 9px 10px; display: flex; gap: 8px; border-radius: 9px; background: var(--warning-soft); color: var(--warning); }
.record-review-box div { display: flex; flex-direction: column; gap: 2px; }
.record-review-box strong { font-size: .7rem; }
.record-review-box span { font-size: .68rem; line-height: 1.35; }
.record-actions { min-width: 150px; display: flex; flex-direction: column; gap: 8px; }
.record-match-select { display: flex; flex-direction: column; gap: 5px; color: var(--slate); font-size: .68rem; font-weight: 650; }
.record-match-select select { min-height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--graphite); font-size: .68rem; }
.records-side { display: flex; flex-direction: column; gap: 18px; }
.records-automation-card { padding: 24px; border-radius: 16px; background: linear-gradient(155deg, var(--deep), #1e4948); color: white; box-shadow: var(--shadow-md); }
.records-automation-card > svg { margin-bottom: 22px; color: #a6d0c8; }
.records-automation-card h2 { color: white; font-size: 1.4rem; }
.records-automation-card p { color: rgba(255,255,255,.62); font-size: .73rem; }
.records-automation-card ul { margin: 16px 0 0; padding-left: 17px; color: rgba(255,255,255,.68); font-size: .66rem; line-height: 1.7; }
.records-run-list { display: flex; flex-direction: column; }
.records-run-list > div { padding: 10px 0; display: flex; gap: 9px; border-bottom: 1px solid #e9e7e0; }
.records-run-list > div:last-child { border-bottom: 0; }
.records-run-list strong, .records-run-list small { display: block; }
.records-run-list strong { color: var(--deep); font-size: .7rem; }
.records-run-list small { margin-top: 3px; color: var(--muted); font-size: .6rem; }

/* Asset protection */
.asset-protection-overview { padding: 17px 19px; display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 18px; align-items: center; border: 1px solid #cbd9d4; border-radius: 14px; background: linear-gradient(100deg, #eaf3ef, #fffdf8); }
.asset-protection-score { display: flex; flex-direction: column; }
.asset-protection-score span { color: var(--teal); font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.asset-protection-score strong { margin: 4px 0; color: var(--deep); font-size: 1.7rem; font-weight: 430; }
.asset-protection-score small { color: var(--muted); font-size: .68rem; }
.asset-protection-checks { display: flex; flex-wrap: wrap; gap: 7px; }
.asset-protection-checks span { padding: 6px 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; font-size: .68rem; font-weight: 650; }
.asset-protection-checks .complete { background: var(--success-soft); color: var(--success); }
.asset-protection-checks .incomplete { background: var(--warning-soft); color: var(--warning); }

@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 205px minmax(0, 1fr); }
  .desktop-rail { width: 205px; }
  .ownership-command-card { grid-template-columns: minmax(0, 1fr) 190px; }
  .command-metrics { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; border-top: 1px solid rgba(255,255,255,.08); }
  .command-metrics > div { border-right: 1px solid rgba(255,255,255,.08); border-bottom: 0; }
  .command-metrics > div:last-child { border-right: 0; }
  .today-primary-grid, .watch-workspace, .records-workspace { grid-template-columns: 1fr; }
  .today-side-stack, .watch-sidebar, .records-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .watch-principle-card, .records-automation-card { min-height: 100%; }
}

@media (max-width: 900px) {
  .today-heading { align-items: flex-start; }
  .ownership-command-card { grid-template-columns: minmax(0, 1fr) 180px; }
  .command-copy { padding: 28px; }
  .review-card-grid { grid-template-columns: 1fr 1fr; }
  .watch-summary-grid, .records-inbox-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .records-inbox-summary button:nth-child(2) { border-right: 0; }
  .records-inbox-summary button:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .asset-protection-overview { grid-template-columns: 160px 1fr; }
  .asset-protection-overview .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 620px) {
  .today-heading { flex-direction: column; align-items: stretch; }
  .heading-actions { display: grid; grid-template-columns: 1fr; }
  .ownership-command-card { display: flex; flex-direction: column; }
  .command-copy { padding: 24px 20px; }
  .command-copy h2 { font-size: 2rem; }
  .command-actions { flex-direction: column; align-items: stretch; width: 100%; }
  .protection-gauge { border: 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
  .command-metrics { grid-template-columns: 1fr; }
  .command-metrics > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .ownership-action-row { grid-template-columns: 1fr; padding-left: 16px; }
  .ownership-action-controls { justify-content: flex-start; flex-wrap: wrap; }
  .today-side-stack, .watch-sidebar, .records-side { display: flex; }
  .review-card-grid, .today-lower-grid { grid-template-columns: 1fr; }
  .watch-summary-grid, .records-inbox-summary { grid-template-columns: 1fr 1fr; }
  .watch-summary { min-height: 135px; padding: 14px; }
  .watch-card { grid-template-columns: 36px minmax(0, 1fr); padding: 15px; }
  .watch-card-icon { width: 36px; height: 36px; }
  .watch-card-actions { grid-column: 2; min-width: 0; flex-direction: row; flex-wrap: wrap; }
  .smart-record-card { grid-template-columns: 44px minmax(0, 1fr); padding: 14px; }
  .record-file-icon { width: 42px; height: 52px; }
  .record-actions { grid-column: 2; min-width: 0; }
  .asset-protection-overview { grid-template-columns: 1fr; }
  .asset-protection-overview .button { grid-column: auto; }
  .asset-protection-checks { align-items: flex-start; }
}

/* v0.3 role-aware ownership and demo access lab */
.role-lab-panel { padding: 22px; display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.5fr); gap: 24px; align-items: center; border: 1px solid #cbd9d4; border-radius: var(--radius-md); background: linear-gradient(120deg, #f0f6f3, #fffdf8); box-shadow: var(--shadow-sm); }
.role-lab-copy { display: flex; gap: 14px; align-items: flex-start; }
.role-lab-copy h2 { margin-bottom: 5px; font-size: 1.25rem; }
.role-lab-copy p { margin-bottom: 0; font-size: .78rem; }
.role-lab-icon, .access-role-icon, .access-context-icon { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: var(--deep); color: #d8ece7; }
.role-lab-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.role-test-chip { min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.85); text-align: left; cursor: pointer; }
.role-test-chip span, .role-test-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-test-chip span { color: var(--deep); font-size: .72rem; font-weight: 720; text-transform: capitalize; }
.role-test-chip small { margin-top: 4px; color: var(--muted); font-size: .61rem; }
.role-test-chip:hover, .role-test-chip.active { border-color: var(--teal); background: var(--teal-soft); }

.asset-access-badge, .inline-role-badge, .record-role { display: inline-flex; align-items: center; gap: 5px; border: 1px solid rgba(19,43,47,.12); border-radius: 99px; background: rgba(255,255,255,.92); color: var(--deep); font-size: .62rem; font-weight: 720; text-transform: capitalize; }
.asset-access-badge { position: absolute; top: 12px; right: 12px; padding: 6px 8px; backdrop-filter: blur(6px); }
.inline-role-badge, .record-role { padding: 4px 7px; }
.asset-ownership-line { min-height: 43px; margin: 10px 0 12px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; border-radius: 9px; background: #f5f7f5; }
.asset-ownership-line span { color: var(--deep); font-size: .68rem; font-weight: 700; }
.asset-ownership-line small { color: var(--muted); font-size: .6rem; line-height: 1.3; }
.shared-asset-card { border-color: #ccd9d5; }
.access-aware-row { grid-template-columns: 46px minmax(180px, 1fr) minmax(115px, auto) minmax(125px, auto) minmax(100px, auto) 24px; }

.asset-access-context { padding: 14px 17px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; gap: 13px; align-items: center; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); }
.asset-access-context > div strong { display: block; color: var(--deep); font-size: .9rem; }
.asset-access-context > div p { margin: 2px 0 0; font-size: .69rem; }
.asset-access-context.owned { border-color: #bcd1c9; background: #eef5f2; }
.context-role-pill, .context-expiration, .readonly-label, .permission-mini-label { display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; font-size: .65rem; font-weight: 700; }
.context-role-pill { padding: 7px 10px; background: var(--deep); color: white; text-transform: capitalize; }
.context-expiration { padding: 7px 10px; background: var(--warning-soft); color: var(--warning); }
.image-readonly { position: absolute; right: 13px; bottom: 13px; padding: 7px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 9px; background: rgba(19,43,47,.84); color: white; font-size: .63rem; font-weight: 680; backdrop-filter: blur(5px); }
.readonly-label, .permission-mini-label { padding: 6px 8px; background: #f0f2f0; color: var(--slate); }
.role-capability-panel { padding: 18px 20px; display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: 22px; align-items: center; border: 1px solid #d8dedb; border-radius: 14px; background: #fffdf8; }
.role-capability-panel h2 { margin-bottom: 4px; font-size: 1.2rem; text-transform: capitalize; }
.role-capability-panel p { margin-bottom: 0; font-size: .72rem; }
.capability-list { display: flex; flex-wrap: wrap; gap: 7px; }
.capability-list span { padding: 7px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; background: var(--teal-soft); color: var(--teal-dark); font-size: .66rem; font-weight: 680; }

.people-view-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.people-view-tabs button { min-height: 58px; padding: 10px 14px; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--slate); cursor: pointer; text-align: left; }
.people-view-tabs button span { color: var(--deep); font-size: .8rem; font-weight: 680; }
.people-view-tabs button strong { min-width: 27px; height: 27px; display: grid; place-items: center; border-radius: 99px; background: #eef1ef; font-size: .7rem; }
.people-view-tabs button.active { border-color: var(--teal); background: var(--teal-soft); color: var(--teal); }
.incoming-access-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.incoming-access-card { padding: 18px; display: flex; flex-direction: column; min-height: 255px; border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); }
.incoming-access-heading { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.incoming-access-heading h2 { margin: 0; font-size: 1.05rem; text-transform: capitalize; }
.incoming-scope-name { margin: 18px 0 6px; color: var(--deep); font-size: 1rem; }
.incoming-access-card > p { margin-bottom: 14px; font-size: .7rem; }
.incoming-capabilities { display: flex; flex-wrap: wrap; gap: 6px; }
.incoming-capabilities span { padding: 5px 7px; display: inline-flex; align-items: center; gap: 4px; border-radius: 99px; background: #f1f4f2; color: var(--slate); font-size: .6rem; font-weight: 650; }
.incoming-access-footer { margin-top: auto; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: .62rem; }
.incoming-access-footer a { display: inline-flex; align-items: center; gap: 5px; color: var(--teal); font-weight: 700; }

.role-co-owner { --role-color: #2f6f68; }
.role-manager { --role-color: #426c82; }
.role-operator { --role-color: #9a681f; }
.role-contributor { --role-color: #6e6387; }
.role-viewer { --role-color: #657376; }
.role-temporary-guest { --role-color: #9a5547; }
.incoming-access-card[class*="role-"], .asset-access-context[class*="role-"] { border-top-color: var(--role-color, var(--teal)); }
.asset-access-badge[class*="role-"], .inline-role-badge[class*="role-"], .record-role[class*="role-"] { border-color: color-mix(in srgb, var(--role-color, var(--teal)) 28%, transparent); color: var(--role-color, var(--deep)); }

.watch-perspective-toggle { padding: 3px; display: inline-flex; gap: 3px; border: 1px solid var(--line); border-radius: 10px; background: #eef1ef; }
.watch-perspective-toggle button { min-height: 34px; padding: 0 10px; border: 0; border-radius: 7px; background: transparent; color: var(--slate); cursor: pointer; font-size: .7rem; font-weight: 680; }
.watch-perspective-toggle button.active { background: white; color: var(--deep); box-shadow: 0 1px 4px rgba(19,43,47,.08); }

@media (max-width: 1050px) {
  .role-lab-panel { grid-template-columns: 1fr; }
  .incoming-access-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-aware-row { grid-template-columns: 46px minmax(0,1fr) auto auto; }
}

@media (max-width: 700px) {
  .role-lab-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asset-access-context { grid-template-columns: 40px minmax(0, 1fr); }
  .context-role-pill, .context-expiration { justify-self: start; grid-column: 2; }
  .role-capability-panel { grid-template-columns: 1fr; }
  .incoming-access-grid, .people-view-tabs { grid-template-columns: 1fr; }
  .access-aware-row { grid-template-columns: 42px minmax(0, 1fr) auto; }
  .asset-access-badge { max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* v0.4 commercial readiness, privacy, and high-volume workflows */
.sync-state-banner { min-height: 40px; padding: 8px 26px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid; font-size: .69rem; }
.sync-state-banner span { font-weight: 680; }
.sync-state-banner small { opacity: .75; }
.sync-state-banner.pending { border-color: #d8c395; background: var(--warning-soft); color: var(--warning); }
.sync-state-banner.offline { border-color: #d5aaa3; background: var(--critical-soft); color: var(--critical); }
.nav-count.invite { background: var(--warning); }

.invitation-center { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.invitation-list { display: flex; flex-direction: column; gap: 10px; }
.invitation-card { padding: 15px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.invitation-card.incoming { border-color: #bfd6ce; background: #f6faf8; }
.invitation-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.invitation-copy h3 { margin: 2px 0 4px; font-size: .9rem; }
.invitation-copy p { margin: 0 0 5px; font-size: .68rem; }
.invitation-copy small { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: .62rem; }
.invitation-actions { display: flex; align-items: center; gap: 7px; }
.privacy-profile-chip { margin: 11px 0; padding: 9px 10px; display: flex; gap: 8px; align-items: flex-start; border-radius: 10px; background: var(--teal-soft); color: var(--teal-dark); }
.privacy-profile-chip span { display: flex; flex-direction: column; gap: 2px; }
.privacy-profile-chip strong { font-size: .68rem; }
.privacy-profile-chip small { color: var(--slate); font-size: .6rem; line-height: 1.35; }
.inline-profile-select { display: block; margin-top: 4px; }
.inline-profile-select select { max-width: 145px; min-height: 27px; border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--slate); font-size: .6rem; }
.permission-preview { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f7f8f6; }
.permission-preview > strong { display: block; margin-bottom: 8px; color: var(--deep); font-size: .7rem; }
.permission-preview > div { display: flex; flex-wrap: wrap; gap: 6px; }
.permission-preview span { padding: 5px 7px; display: inline-flex; align-items: center; gap: 4px; border-radius: 99px; background: white; color: var(--slate); font-size: .61rem; }
.security-history-card { margin-top: 4px; }
.security-event-list { display: flex; flex-direction: column; }
.security-event-list > div { padding: 10px 0; display: flex; gap: 9px; align-items: flex-start; border-bottom: 1px solid var(--line); }
.security-event-list > div:last-child { border-bottom: 0; }
.security-event-dot { width: 8px; height: 8px; margin-top: 4px; flex: 0 0 auto; border-radius: 99px; background: var(--teal); box-shadow: 0 0 0 4px var(--teal-soft); }
.security-event-list strong, .security-event-list small { display: block; }
.security-event-list strong { color: var(--deep); font-size: .7rem; }
.security-event-list small { margin-top: 3px; color: var(--muted); font-size: .61rem; }
.invite-acceptance-wrap { min-height: calc(100vh - 150px); display: grid; place-items: center; }
.invite-acceptance-card { width: min(590px, 100%); padding: 36px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: var(--shadow-lg); text-align: center; }
.invite-acceptance-icon { width: 58px; height: 58px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 16px; background: var(--teal-soft); color: var(--teal); }
.invite-acceptance-card h1 { margin: 7px 0 10px; font-size: 2rem; }
.invite-acceptance-card > p { max-width: 470px; margin: 0 auto 20px; }
.invite-acceptance-details { margin: 20px 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; text-align: left; }
.invite-acceptance-details > div { padding: 12px; display: flex; gap: 9px; border-radius: 11px; background: #f4f6f4; color: var(--teal); }
.invite-acceptance-details span { display: flex; flex-direction: column; gap: 3px; }
.invite-acceptance-details strong { color: var(--deep); font-size: .7rem; }
.invite-acceptance-details small { color: var(--muted); font-size: .64rem; line-height: 1.4; }
.invite-acceptance-actions { display: flex; justify-content: center; gap: 9px; }

.record-visibility { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 99px; background: #f0f3f1; color: var(--slate) !important; }
.smart-record-card.has-error { border-color: #d9a59e; }
.record-error-box { margin-top: 11px; padding: 10px; display: flex; gap: 9px; border-radius: 9px; background: var(--critical-soft); color: var(--critical); }
.record-error-box div { display: flex; flex-direction: column; gap: 2px; }
.record-error-box strong { font-size: .7rem; }
.record-error-box span, .record-error-box small { font-size: .63rem; line-height: 1.4; }
.record-error-box small { opacity: .75; }

.context-privacy { display: block; margin-top: 5px; color: var(--muted); font-size: .62rem; line-height: 1.35; }
.private-field-row dd { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); }
.detail-tabs { position: sticky; top: 72px; z-index: 8; box-shadow: 0 8px 16px rgba(19,43,47,.035); }

.responsibility-queues { display: flex; flex-direction: column; gap: 18px; }
.responsibility-queue { display: flex; flex-direction: column; gap: 9px; }
.responsibility-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.responsibility-heading strong, .responsibility-heading span { display: block; }
.responsibility-heading strong { color: var(--deep); font-size: .78rem; }
.responsibility-heading span { margin-top: 2px; color: var(--muted); font-size: .63rem; }
.responsibility-heading small { min-width: 25px; height: 25px; display: grid; place-items: center; border-radius: 99px; background: var(--teal-soft); color: var(--teal); font-size: .65rem; font-weight: 750; }
.visible-owner-work { padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-radius: 11px; background: #f2f3f1; }
.visible-owner-work strong, .visible-owner-work span { display: block; }
.visible-owner-work strong { color: var(--deep); font-size: .7rem; }
.visible-owner-work span { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.visible-owner-work a { display: inline-flex; align-items: center; gap: 5px; color: var(--teal); font-size: .65rem; font-weight: 700; white-space: nowrap; }

.bulk-action-bar { padding: 10px 14px; display: flex; align-items: center; gap: 10px; border: 1px solid #bfd6ce; border-radius: 11px; background: var(--teal-soft); }
.bulk-action-bar strong { margin-right: auto; color: var(--deep); font-size: .72rem; }
.asset-card.selectable { position: relative; }
.asset-card.selectable > a { display: block; color: inherit; }
.asset-select { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 7px; background: white; color: transparent; cursor: pointer; }
.asset-card .asset-select { position: absolute; top: 11px; left: 11px; z-index: 4; box-shadow: var(--shadow-sm); }
.asset-select.active { border-color: var(--teal); background: var(--teal); color: white; }
.selectable-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: center; }
.selectable-row > a { min-width: 0; display: grid; grid-template-columns: 46px minmax(180px, 1fr) minmax(115px, auto) minmax(125px, auto) minmax(100px, auto) auto; gap: 14px; align-items: center; color: inherit; }
.asset-table-view { overflow: auto; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.asset-table-row { min-width: 880px; padding: 11px 13px; display: grid; grid-template-columns: 30px minmax(200px,1.4fr) minmax(150px,1fr) minmax(140px,1fr) 120px 100px; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); font-size: .68rem; }
.asset-table-row:last-child { border-bottom: 0; }
.asset-table-row.header { background: #f3f5f3; color: var(--muted); font-size: .61rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.asset-table-row a strong, .asset-table-row a small, .asset-table-row > span strong, .asset-table-row > span small { display: block; }
.asset-table-row a strong, .asset-table-row > span strong { color: var(--deep); font-size: .7rem; }
.asset-table-row a small, .asset-table-row > span small { margin-top: 2px; color: var(--muted); font-size: .61rem; }
.pagination-bar { padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--muted); font-size: .65rem; }
.pagination-bar label, .pagination-bar > div { display: flex; align-items: center; gap: 8px; }
.pagination-bar select, .pagination-bar button { min-height: 30px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--slate); font-size: .64rem; }
.pagination-bar button:disabled { opacity: .45; }

.plan-badge { padding: 8px 11px; border-radius: 99px; background: var(--deep); color: white; font-size: .68rem; font-weight: 750; }
.usage-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.usage-card { padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fafaf7; }
.usage-card > span, .usage-card > strong, .usage-card > small { display: block; }
.usage-card > span { color: var(--muted); font-size: .62rem; }
.usage-card > strong { margin: 5px 0 7px; color: var(--deep); font-size: 1.15rem; font-weight: 500; }
.usage-card > strong small { color: var(--muted); font-size: .62rem; }
.usage-card > div { height: 5px; overflow: hidden; border-radius: 99px; background: #e8eae7; }
.usage-card i { height: 100%; display: block; border-radius: inherit; background: var(--teal); }
.plan-capabilities { margin-top: 13px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.plan-capabilities > span { display: flex; align-items: center; gap: 7px; color: var(--slate); font-size: .66rem; }
.check-dot { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 99px; background: #eceeea; color: var(--muted); font-size: .62rem; }
.check-dot.active { background: var(--success-soft); color: var(--success); }
.plan-selector { margin-top: 18px; padding-top: 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; border-top: 1px solid var(--line); }
.plan-selector > span { margin-right: 5px; color: var(--muted); font-size: .64rem; font-weight: 700; }
.plan-selector button { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--slate); cursor: pointer; font-size: .65rem; }
.plan-selector button.active { border-color: var(--teal); background: var(--teal-soft); color: var(--teal); }
.settings-events { margin-top: 12px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: #fafaf7; }

@media (max-width: 1000px) {
  .invitation-center { grid-template-columns: 1fr; }
  .usage-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .plan-capabilities { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .sync-state-banner { align-items: flex-start; flex-direction: column; gap: 2px; padding: 8px 16px; }
  .people-view-tabs { grid-template-columns: 1fr; }
  .invitation-card { grid-template-columns: 40px minmax(0,1fr); }
  .invitation-actions { grid-column: 2; flex-wrap: wrap; }
  .invite-acceptance-card { padding: 25px 18px; }
  .invite-acceptance-details { grid-template-columns: 1fr; }
  .invite-acceptance-actions { flex-direction: column; }
  .visible-owner-work { align-items: flex-start; flex-direction: column; }
  .usage-grid, .plan-capabilities { grid-template-columns: 1fr; }
  .bulk-action-bar { flex-wrap: wrap; }
  .pagination-bar { align-items: flex-start; flex-direction: column; }
  .selectable-row > a { grid-template-columns: 42px minmax(0,1fr) auto; }
}

/* v0.5 security center */
.settings-nav a { min-height: 40px; padding: 0 10px; display: flex; align-items: center; gap: 9px; border-radius: 9px; color: var(--slate); font-size: .76rem; font-weight: 600; }
.settings-nav a.active, .settings-nav a:hover { background: var(--teal-soft); color: var(--teal-dark); }
.security-center-card { gap: 24px; }
.security-score { width: 78px; height: 78px; flex: 0 0 auto; display: grid; place-content: center; border-radius: 50%; background: var(--teal-soft); color: var(--teal); text-align: center; box-shadow: inset 0 0 0 7px rgba(255,255,255,.7); }
.security-score strong { font-size: 1.45rem; line-height: 1; font-weight: 520; }
.security-score span { font-size: .58rem; opacity: .7; }
.security-score.level-exposed { background: var(--critical-soft); color: var(--critical); }
.security-score.level-improving { background: var(--warning-soft); color: var(--warning); }
.security-score.level-hardened { background: var(--success-soft); color: var(--success); }
.security-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.security-control { padding: 12px; display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--line); border-radius: 11px; background: #fafaf7; }
.security-control > span { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: var(--warning-soft); color: var(--warning); }
.security-control.critical > span { background: var(--critical-soft); color: var(--critical); }
.security-control.complete > span { background: var(--success-soft); color: var(--success); }
.security-control div { display: flex; flex-direction: column; gap: 3px; }
.security-control strong { color: var(--deep); font-size: .72rem; }
.security-control small { color: var(--muted); font-size: .62rem; line-height: 1.4; }
.security-subsection { padding-top: 20px; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--line); }
.security-subheading { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.security-subheading > div { display: flex; gap: 10px; align-items: flex-start; color: var(--teal); }
.security-subheading span { display: flex; flex-direction: column; gap: 3px; }
.security-subheading strong { color: var(--deep); font-size: .8rem; }
.security-subheading small { color: var(--muted); font-size: .65rem; line-height: 1.4; }
.settings-state.secure { background: var(--success-soft); color: var(--success); }
.settings-state.warning { background: var(--warning-soft); color: var(--warning); }
.device-list { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.device-row { min-height: 62px; padding: 10px 12px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; align-items: center; border-bottom: 1px solid var(--line); background: #fff; }
.device-row:last-child { border-bottom: 0; }
.device-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--teal-soft); color: var(--teal); }
.device-row > div { display: flex; flex-direction: column; gap: 3px; }
.device-row strong { color: var(--deep); font-size: .72rem; }
.device-row small { color: var(--muted); font-size: .62rem; }
.security-stat-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 9px; }
.security-stat-row > span { padding: 11px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; background: #fafaf7; }
.security-stat-row strong { color: var(--deep); font-size: 1.1rem; font-weight: 520; }
.security-stat-row small { color: var(--muted); font-size: .61rem; }
.security-stat-row .danger strong { color: var(--critical); }
.security-preference-list { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.preference-row { min-height: 66px; padding: 11px 13px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid var(--line); background: #fff; }
.preference-row:last-child { border-bottom: 0; }
.preference-row > span { display: flex; flex-direction: column; gap: 3px; }
.preference-row strong { color: var(--deep); font-size: .72rem; }
.preference-row small { color: var(--muted); font-size: .62rem; line-height: 1.4; }
.preference-row input[type="checkbox"] { width: 38px; height: 20px; accent-color: var(--teal); }
.preference-row select { min-height: 34px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--slate); }
.security-event-list > div > div { min-width: 0; }
.security-event-list > div > div > span { display: block; margin-top: 4px; color: var(--slate); font-size: .61rem; line-height: 1.4; }
.mfa-enrollment { align-items: stretch; }
.mfa-enrollment > img { width: 210px; height: 210px; align-self: center; border: 1px solid var(--line); border-radius: 12px; }
.mfa-secret { padding: 11px 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; border-radius: 10px; background: #f2f4f1; }
.mfa-secret code { overflow-wrap: anywhere; color: var(--deep); font-size: .74rem; }
.mfa-secret button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 8px; background: white; color: var(--teal); cursor: pointer; }

.record-security { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 99px; background: var(--warning-soft); color: var(--warning) !important; }
.record-security.clean { background: var(--success-soft); color: var(--success) !important; }
.record-security.blocked { background: var(--critical-soft); color: var(--critical) !important; }
.record-security.scanning, .record-security.quarantined { background: var(--warning-soft); color: var(--warning) !important; }
.smart-record-card.security-blocked { border-color: #d9a59e; background: #fffafa; }

@media (max-width: 760px) {
  .security-control-grid { grid-template-columns: 1fr; }
  .security-stat-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .security-stat-row .button { grid-column: 1 / -1; }
  .security-subheading { align-items: flex-start; flex-direction: column; }
  .device-row { grid-template-columns: 36px minmax(0, 1fr); }
  .device-row .button { grid-column: 2; justify-self: start; }
  .preference-row { align-items: flex-start; }
}

.device-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-wrap: wrap;
}

/* v0.6 secure record transfers and buyer previews */
.transfer-layout, .buyer-preview-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .72fr); gap: 22px; align-items: start; }
.transfer-main-column, .buyer-preview-main { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.transfer-section, .transfer-list-card, .transfer-success-card, .buyer-preview-intro, .buyer-preview-form, .buyer-preview-summary, .buyer-preview-success { padding: 22px; }
.transfer-scope-toggle, .transfer-destination-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 17px; }
.transfer-scope-toggle button, .transfer-destination-toggle button { min-height: 84px; padding: 14px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid var(--line); border-radius: 12px; background: #fafaf7; color: var(--slate); text-align: left; cursor: pointer; }
.transfer-scope-toggle button.active, .transfer-destination-toggle button.active { border-color: var(--teal); background: var(--teal-soft); color: var(--teal-dark); box-shadow: inset 0 0 0 1px rgba(43,140,145,.08); }
.transfer-scope-toggle strong, .transfer-scope-toggle small, .transfer-destination-toggle strong, .transfer-destination-toggle small { display: block; }
.transfer-scope-toggle strong, .transfer-destination-toggle strong { color: var(--deep); font-size: .82rem; }
.transfer-scope-toggle small, .transfer-destination-toggle small { margin-top: 4px; color: var(--slate); font-size: .68rem; line-height: 1.4; }
.transfer-record-note, .buyer-preview-disclaimer { margin: 14px 0 0; padding: 11px 13px; border-radius: 10px; background: #f2f4f1; color: var(--slate); font-size: .72rem; line-height: 1.48; }
.transfer-legal-check { margin-top: 15px; padding: 13px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; align-items: flex-start; border: 1px solid var(--line); border-radius: 11px; background: #fbfbf8; color: var(--slate); font-size: .74rem; line-height: 1.48; }
.transfer-legal-check input { margin-top: 2px; accent-color: var(--teal); }
.transfer-actions, .portfolio-create-actions { margin-top: 16px; display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.transfer-summary-card, .buyer-preview-summary { position: sticky; top: 88px; }
.transfer-summary-card dl { margin: 16px 0; display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.transfer-summary-card dl > div { padding: 10px 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.transfer-summary-card dt { color: var(--slate); font-size: .72rem; }
.transfer-summary-card dd { margin: 0; color: var(--deep); font-size: .76rem; font-weight: 700; }
.transfer-protection-note { padding: 12px; display: flex; align-items: flex-start; gap: 9px; border-radius: 10px; background: var(--teal-soft); color: var(--teal-dark); }
.transfer-protection-note span { display: flex; flex-direction: column; gap: 3px; }
.transfer-protection-note strong { font-size: .75rem; }
.transfer-protection-note small { font-size: .65rem; line-height: 1.4; }
.transfer-manifest-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.transfer-manifest-grid > div { padding: 13px 9px; display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--line); border-radius: 10px; background: #fafaf7; text-align: center; }
.transfer-manifest-grid strong { color: var(--deep); font-size: 1.2rem; font-weight: 550; }
.transfer-manifest-grid span { color: var(--muted); font-size: .63rem; }
.transfer-review-hero { padding: 20px; display: flex; gap: 14px; align-items: flex-start; }
.transfer-review-hero h2 { margin-bottom: 5px; }
.transfer-review-hero p { margin-bottom: 8px; }
.transfer-review-hero small { color: var(--muted); font-size: .68rem; }
.transfer-success-icon, .buyer-preview-icon { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; background: var(--teal-soft); color: var(--teal-dark); }
.transfer-success-card, .buyer-preview-success { max-width: 720px; margin: 0 auto; text-align: center; }
.transfer-success-card .transfer-success-icon, .buyer-preview-success .transfer-success-icon { margin: 0 auto 14px; }
.transfer-link-box { display: flex; gap: 8px; margin: 16px 0; }
.transfer-link-box input { min-width: 0; flex: 1; min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: #f7f8f5; color: var(--slate); }
.transfer-security-list { margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; list-style: none; }
.transfer-security-list li { display: flex; gap: 8px; align-items: flex-start; color: var(--slate); font-size: .72rem; line-height: 1.4; }
.transfer-security-list svg { flex: 0 0 auto; margin-top: 1px; color: var(--success); }
.transfer-list-layout { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.transfer-list { display: flex; flex-direction: column; }
.transfer-list-row { padding: 13px 0; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 11px; border-top: 1px solid var(--line); }
.transfer-list-row:first-child { border-top: 0; }
.transfer-status-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--warning-soft); color: var(--warning); }
.transfer-status-icon.completed { background: var(--success-soft); color: var(--success); }
.transfer-status-icon.canceled, .transfer-status-icon.declined, .transfer-status-icon.expired { background: #eceeeb; color: var(--muted); }
.transfer-list-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.transfer-list-copy strong { color: var(--deep); font-size: .76rem; }
.transfer-list-copy span, .transfer-list-copy small { overflow: hidden; color: var(--slate); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.transfer-platform-disclaimer { padding: 12px 14px; display: flex; align-items: flex-start; gap: 8px; border: 1px solid #ead4b7; border-radius: 11px; background: var(--brass-soft); color: #755124; font-size: .72rem; line-height: 1.45; }
.transfer-platform-disclaimer strong { white-space: nowrap; }
.mfa-transfer-state { margin-top: 4px; padding: 13px; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; border: 1px solid var(--line); border-radius: 11px; background: #fafaf7; }
.mfa-transfer-state > svg { color: var(--teal); }
.mfa-transfer-state > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.mfa-transfer-state strong { color: var(--deep); font-size: .76rem; }
.mfa-transfer-state span { color: var(--slate); font-size: .68rem; line-height: 1.42; }
.mfa-transfer-state.verified { border-color: #bdd9c9; background: var(--success-soft); }
.mfa-transfer-state.verified > svg { color: var(--success); }
.mfa-inline-form { display: flex; gap: 8px; margin-top: 7px; }
.mfa-inline-form input { width: min(180px, 100%); min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; letter-spacing: .15em; }
.compact-field { margin-top: 6px; }
.warning-copy { color: var(--warning) !important; }

.buyer-preview-intro { display: flex; gap: 14px; align-items: flex-start; }
.buyer-preview-intro p { margin-bottom: 0; }
.buyer-duration-fieldset { margin: 16px 0 0; padding: 0; border: 0; }
.buyer-duration-fieldset legend { margin-bottom: 8px; color: var(--deep); font-size: .82rem; font-weight: 620; }
.buyer-duration-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.buyer-duration-options button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--slate); cursor: pointer; font-weight: 620; font-size: .76rem; }
.buyer-duration-options button.active { border-color: var(--teal); background: var(--teal-soft); color: var(--teal-dark); }
.buyer-preview-list { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.buyer-preview-list > strong { color: var(--deep); font-size: .76rem; }
.buyer-preview-list > span { display: flex; align-items: flex-start; gap: 7px; color: var(--slate); font-size: .69rem; line-height: 1.4; }
.buyer-preview-list.included svg { color: var(--success); }
.buyer-preview-list.excluded svg { color: var(--teal); }
.buyer-preview-disclaimer { display: flex; gap: 7px; align-items: flex-start; }

@media (max-width: 980px) {
  .transfer-layout, .buyer-preview-layout { grid-template-columns: 1fr; }
  .transfer-summary-card, .buyer-preview-summary { position: static; }
  .transfer-manifest-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .transfer-section, .transfer-list-card, .transfer-success-card, .buyer-preview-intro, .buyer-preview-form, .buyer-preview-summary, .buyer-preview-success { padding: 17px; }
  .transfer-scope-toggle, .transfer-destination-toggle, .transfer-list-layout, .buyer-duration-options { grid-template-columns: 1fr; }
  .transfer-manifest-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .transfer-link-box, .mfa-inline-form, .transfer-platform-disclaimer { flex-direction: column; }
  .transfer-platform-disclaimer strong { white-space: normal; }
  .transfer-list-row { grid-template-columns: 34px minmax(0,1fr); }
  .transfer-list-actions { grid-column: 2; justify-self: start; }
  .buyer-preview-intro { flex-direction: column; }
}
/* Hāvin v0.5.2 — locked brand and responsive application shell */
:root {
  --deep: #11233A;
  --deep-2: #18314D;
  --teal: #1A7A83;
  --teal-dark: #14666D;
  --teal-soft: #E3F0F1;
  --ivory: #FAFBFB;
  --paper: #FFFFFF;
}

html,
body,
#root {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  background: var(--ivory);
}

.app-shell,
.main-column,
.page-content,
.page-stack,
.topbar,
.global-search-wrap,
.filter-bar,
.section-block,
.panel-block,
.content-card,
.asset-card,
.smart-record-card,
.watch-card,
.settings-card,
.modal,
form,
fieldset {
  min-width: 0;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.desktop-rail {
  background: var(--deep);
}

.brand-logo {
  object-fit: contain;
}

.rail-top .brand-logo {
  width: 164px;
}

.mobile-search-sheet,
.mobile-drawer,
.mobile-drawer-scrim {
  display: none;
}

/* Tablet and mobile shell */
@media (max-width: 900px) {
  .app-shell {
    display: block;
    width: 100%;
  }

  .desktop-rail {
    display: none;
  }

  .main-column {
    width: 100%;
    min-height: 100svh;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 70;
    width: 100%;
    height: auto;
    min-height: calc(64px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 12px 0;
    gap: 10px;
    background: rgba(250, 251, 251, .95);
  }

  .mobile-brand {
    display: block;
    flex: 0 0 auto;
  }

  .mobile-brand .brand-compact .brand-logo {
    width: 40px;
    height: 40px;
    border-color: rgba(17, 35, 58, .12);
  }

  .global-search-wrap {
    display: none;
  }

  .topbar-actions {
    margin-left: auto;
    gap: 6px;
  }

  .icon-button.mobile-only {
    display: inline-grid !important;
  }

  .topbar .icon-button {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
  }

  .page-content {
    width: 100%;
    max-width: none;
    padding: 24px 16px calc(108px + env(safe-area-inset-bottom));
    overflow-x: clip;
  }

  .mobile-search-sheet {
    position: fixed;
    z-index: 68;
    top: calc(64px + env(safe-area-inset-top));
    left: 0;
    right: 0;
    max-height: calc(100svh - 64px - env(safe-area-inset-top));
    padding: 12px 14px 18px;
    display: block;
    overflow-y: auto;
    border-bottom: 1px solid var(--line);
    background: rgba(250, 251, 251, .985);
    box-shadow: 0 18px 42px rgba(17, 35, 58, .14);
  }

  .mobile-search-field {
    min-height: 46px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--line-strong);
    border-radius: 12px;
    background: #fff;
    color: var(--muted);
  }

  .mobile-search-field input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--graphite);
  }

  .mobile-search-results {
    margin-top: 9px;
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .mobile-search-results > p {
    margin: 0;
    padding: 18px 10px;
    text-align: center;
    font-size: .78rem;
  }

  .mobile-search-results button {
    width: 100%;
    min-height: 54px;
    padding: 10px 11px;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 2px 9px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    text-align: left;
  }

  .mobile-search-results button > span {
    grid-row: span 2;
    align-self: center;
    color: var(--teal);
    font-size: .62rem;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .mobile-search-results button strong,
  .mobile-search-results button small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-search-results button strong {
    color: var(--deep);
    font-size: .8rem;
  }

  .mobile-search-results button small {
    color: var(--slate);
    font-size: .68rem;
  }

  .notification-panel {
    position: fixed;
    z-index: 72;
    top: calc(60px + env(safe-area-inset-top));
    left: 10px;
    right: 10px;
    width: auto;
    max-height: calc(100svh - 82px - env(safe-area-inset-top));
    overflow-y: auto;
  }

  .mobile-drawer-scrim {
    position: fixed;
    z-index: 78;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(4, 15, 28, .55);
    backdrop-filter: blur(2px);
  }

  .mobile-drawer {
    position: fixed;
    z-index: 80;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(88vw, 360px);
    padding: calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    gap: 18px;
    overflow-y: auto;
    background: var(--deep);
    color: #fff;
    box-shadow: -18px 0 60px rgba(4, 15, 28, .28);
  }

  .mobile-drawer-header {
    min-height: 48px;
    padding-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .mobile-drawer-header .brand-logo {
    width: 145px;
  }

  .mobile-drawer-header .icon-button,
  .mobile-drawer-profile .icon-button {
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .08);
    color: #fff;
  }

  .mobile-drawer-nav {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .mobile-drawer-link {
    min-height: 48px;
    padding: 0 13px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    border-radius: 11px;
    color: rgba(255, 255, 255, .72);
    font-size: .9rem;
    font-weight: 620;
  }

  .mobile-drawer-link.active {
    background: rgba(26, 122, 131, .28);
    color: #fff;
  }

  .mobile-drawer-link small {
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    border-radius: 99px;
    background: rgba(255, 255, 255, .13);
    font-size: .65rem;
  }

  .mobile-drawer-profile {
    margin-top: auto;
    padding-top: 16px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    align-items: center;
    gap: 10px;
    border-top: 1px solid rgba(255, 255, 255, .12);
  }

  .mobile-drawer-profile > div {
    min-width: 0;
  }

  .mobile-drawer-profile strong,
  .mobile-drawer-profile span:not(.avatar) {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-drawer-profile strong {
    color: #fff;
    font-size: .8rem;
  }

  .mobile-drawer-profile span:not(.avatar) {
    margin-top: 2px;
    color: rgba(255, 255, 255, .55);
    font-size: .68rem;
  }

  .mobile-nav {
    left: 8px;
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    width: auto;
    height: 66px;
    padding: 5px 8px;
    grid-template-columns: minmax(42px, 1fr) minmax(42px, 1fr) 60px minmax(42px, 1fr) minmax(42px, 1fr);
    gap: 2px;
    border-radius: 18px;
  }

  .mobile-link {
    min-width: 0;
    min-height: 50px;
    justify-content: center;
  }

  .mobile-link span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-add {
    width: 54px;
    height: 54px;
    margin-top: -22px;
    border-color: var(--ivory);
  }

  .sync-state-banner,
  .global-error-banner {
    width: 100%;
  }
}

/* Mobile content reflow */
@media (max-width: 720px) {
  h1 {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
    overflow-wrap: anywhere;
  }

  h2 {
    overflow-wrap: anywhere;
  }

  .page-content {
    padding-inline: 14px;
  }

  .page-stack {
    gap: 21px;
  }

  .page-heading,
  .split-heading,
  .dashboard-heading,
  .today-heading,
  .section-heading-row,
  .security-subheading,
  .asset-detail-title-row,
  .asset-health-summary,
  .visible-owner-work {
    min-width: 0;
  }

  .split-heading,
  .dashboard-heading,
  .today-heading,
  .section-heading-row,
  .security-subheading,
  .asset-detail-title-row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .heading-actions,
  .asset-detail-actions,
  .ownership-action-controls,
  .command-actions,
  .completion-actions,
  .onboarding-footer,
  .modal-actions,
  .invite-acceptance-actions,
  .device-actions,
  .bulk-action-bar {
    width: 100%;
    flex-wrap: wrap;
  }

  .heading-actions .button,
  .split-heading > .button,
  .today-heading .button,
  .command-actions .button,
  .completion-actions .button,
  .invite-acceptance-actions .button {
    width: 100%;
  }

  .ownership-command-card,
  .dashboard-hero {
    display: flex;
    flex-direction: column;
  }

  .command-copy,
  .dashboard-health {
    padding: 24px 18px;
  }

  .command-copy h2,
  .dashboard-health h2 {
    font-size: clamp(1.8rem, 9vw, 2.25rem);
  }

  .protection-gauge {
    width: 100%;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }

  .command-metrics,
  .dashboard-stat-grid,
  .review-card-grid,
  .today-lower-grid,
  .today-side-stack,
  .watch-sidebar,
  .records-side,
  .detail-side-column,
  .incoming-access-grid,
  .role-lab-actions,
  .security-control-grid,
  .usage-grid,
  .plan-capabilities,
  .component-grid,
  .document-grid,
  .document-library-grid,
  .asset-card-grid,
  .capture-layout,
  .confirm-layout,
  .detail-layout,
  .today-primary-grid,
  .watch-workspace,
  .records-workspace,
  .settings-layout,
  .invitation-center,
  .role-capability-panel,
  .role-lab-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .today-side-stack,
  .watch-sidebar,
  .records-side {
    display: flex;
    flex-direction: column;
  }

  .asset-summary-strip,
  .maintenance-summary-grid,
  .document-summary-grid,
  .access-summary-grid,
  .watch-summary-grid,
  .records-inbox-summary,
  .usage-grid,
  .security-stat-row,
  .asset-key-grid,
  .identity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .filter-bar,
  .asset-filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .page-search,
  .select-control,
  .view-toggle {
    grid-column: auto;
    width: 100%;
    min-width: 0;
  }

  .view-toggle {
    margin-left: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .view-toggle button {
    min-height: 42px;
  }

  .form-grid,
  .two-column-form,
  .joined-fields,
  .identifier-fields,
  .invite-acceptance-details {
    grid-template-columns: minmax(0, 1fr);
  }

  .form-grid .span-2 {
    grid-column: auto;
  }

  .joined-fields input,
  .joined-fields select {
    border-radius: 10px;
    border-left: 1px solid var(--line);
  }

  .asset-detail-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .asset-detail-image,
  .asset-detail-image > img {
    min-height: 220px;
    max-height: 300px;
  }

  .detail-tabs {
    width: calc(100% + 28px);
    margin-inline: -14px;
    padding-inline: 14px;
    gap: 19px;
    scrollbar-width: none;
  }

  .detail-tabs::-webkit-scrollbar {
    display: none;
  }

  .candidate-banner,
  .followup-callout,
  .asset-access-context,
  .invitation-card,
  .device-row,
  .smart-record-card,
  .watch-card,
  .asset-protection-overview {
    min-width: 0;
  }

  .candidate-banner,
  .followup-callout,
  .asset-access-context,
  .invitation-card,
  .device-row,
  .smart-record-card,
  .watch-card,
  .asset-protection-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .candidate-banner > *,
  .followup-callout > *,
  .asset-access-context > *,
  .invitation-card > *,
  .device-row > *,
  .smart-record-card > *,
  .watch-card > *,
  .asset-protection-overview > * {
    grid-column: auto;
  }

  .watch-card-icon,
  .record-file-icon,
  .access-context-icon,
  .invitation-avatar {
    justify-self: start;
  }

  .watch-card-actions,
  .record-actions,
  .invitation-actions {
    width: 100%;
    min-width: 0;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .watch-card-actions .button,
  .record-actions .button,
  .invitation-actions .button {
    flex: 1 1 140px;
  }

  .asset-list-view,
  .asset-table-view,
  .asset-table-card {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .asset-list-view,
  .asset-table-view {
    display: grid;
    gap: 10px;
  }

  .asset-list-row,
  .asset-table-row {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    box-shadow: var(--shadow-sm);
  }

  .asset-list-row {
    padding: 12px;
  }

  .selectable-row {
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
  }

  .selectable-row > a {
    min-width: 0;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 8px 10px;
  }

  .selectable-row > a > img,
  .selectable-row > a > .list-thumb-placeholder {
    grid-row: 1 / span 2;
    width: 48px;
    height: 48px;
  }

  .selectable-row > a > div {
    min-width: 0;
  }

  .selectable-row > a > div strong,
  .selectable-row > a > div span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .selectable-row > a > span:nth-last-child(3),
  .selectable-row > a > span:nth-last-child(2) {
    display: none;
  }

  .selectable-row > a > span:last-child {
    grid-column: 2 / -1;
    white-space: normal;
  }

  .asset-table-row.header {
    display: none;
  }

  .asset-table-row {
    padding: 12px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 5px 10px;
    align-items: center;
  }

  .asset-table-row > button {
    grid-row: 1 / span 2;
  }

  .asset-table-row > a {
    min-width: 0;
  }

  .asset-table-row > a strong,
  .asset-table-row > a small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .asset-table-row > span:nth-of-type(1) {
    grid-column: 2;
    color: var(--muted);
  }

  .asset-table-row > span:nth-of-type(2),
  .asset-table-row > span:nth-of-type(3) {
    display: none;
  }

  .asset-table-row > span:nth-of-type(4) {
    grid-column: 3;
    grid-row: 1 / span 2;
    color: var(--teal-dark);
    font-weight: 700;
    white-space: nowrap;
  }

  .maintenance-table.row,
  .maintenance-board-row,
  .access-table.row,
  .access-aware-row {
    min-width: 0;
  }

  .pagination-bar {
    align-items: stretch;
  }

  .pagination-bar label,
  .pagination-bar > div {
    justify-content: space-between;
  }

  .modal-backdrop {
    padding: 8px;
    align-items: flex-end;
  }

  .modal {
    width: 100%;
    max-height: calc(100svh - 16px);
    border-radius: 18px 18px 10px 10px;
  }

  .modal-header,
  .modal-content {
    padding-inline: 16px;
  }

  .empty-state,
  .empty-page {
    min-height: 240px;
    padding: 28px 18px;
  }

  .camera-stage {
    min-height: 280px;
    padding: 24px 16px;
  }

  .camera-stage img {
    height: 280px;
  }

  .analysis-visual {
    width: 100%;
    max-width: 340px;
    height: auto;
    aspect-ratio: 34 / 23;
  }

  .role-lab-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-nav {
    width: calc(100% + 28px);
    margin-inline: -14px;
    padding-inline: 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .settings-nav::-webkit-scrollbar {
    display: none;
  }

  .settings-nav a,
  .settings-nav button {
    flex: 0 0 auto;
    min-height: 44px;
  }
}

@media (max-width: 430px) {
  .topbar {
    padding-inline: 9px;
    gap: 6px;
  }

  .topbar-actions {
    gap: 4px;
  }

  .topbar .icon-button {
    width: 38px;
    height: 38px;
  }

  .mobile-brand .brand-compact .brand-logo {
    width: 38px;
    height: 38px;
  }

  .page-content {
    padding-inline: 12px;
  }

  .asset-summary-strip,
  .maintenance-summary-grid,
  .document-summary-grid,
  .access-summary-grid,
  .watch-summary-grid,
  .records-inbox-summary,
  .usage-grid,
  .security-stat-row,
  .asset-key-grid,
  .identity-grid,
  .dashboard-stat-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .role-lab-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .mobile-nav {
    left: 5px;
    right: 5px;
    padding-inline: 4px;
    grid-template-columns: minmax(39px, 1fr) minmax(39px, 1fr) 56px minmax(39px, 1fr) minmax(39px, 1fr);
  }

  .mobile-link {
    font-size: .52rem;
  }

  .mobile-add {
    width: 51px;
    height: 51px;
  }

  .notification-panel {
    left: 6px;
    right: 6px;
  }

  .mobile-drawer {
    width: min(92vw, 350px);
  }

  .mfa-enrollment > img {
    width: min(210px, 100%);
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* v0.5.2 mobile hotfix 1 — true reflow instead of clipped desktop overflow */
@media (max-width: 900px) {
  html,
  body,
  #root,
  .app-shell,
  .main-column {
    min-inline-size: 0;
    inline-size: 100%;
    max-inline-size: 100%;
  }

  body,
  #root,
  .app-shell,
  .main-column,
  .page-content {
    overflow-x: hidden;
  }

  .topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .mobile-brand {
    grid-column: 1;
  }

  .global-search-wrap {
    grid-column: 2;
    min-inline-size: 0;
  }

  .topbar-actions {
    grid-column: 3;
    min-inline-size: 0;
    max-inline-size: 100%;
    flex: 0 0 auto;
  }

  .topbar .desktop-only {
    display: none !important;
  }

  .topbar .mobile-only {
    display: inline-grid !important;
  }

  .page-content {
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .page-content > *,
  .page-stack > *,
  .today-primary-grid > *,
  .today-side-stack > *,
  .watch-workspace > *,
  .records-workspace > *,
  .settings-layout > *,
  .detail-layout > *,
  .ownership-command-card > *,
  .responsibility-queues,
  .responsibility-queue,
  .ownership-action-list,
  .ownership-action-row,
  .ownership-action-main,
  .ownership-action-controls,
  .visible-owner-work,
  .visible-owner-work > * {
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  .mobile-nav {
    display: grid !important;
    inline-size: auto;
    max-inline-size: calc(100% - 16px);
  }
}

@media (max-width: 720px) {
  .action-queue-panel {
    inline-size: 100%;
    max-inline-size: 100%;
    padding: 16px;
    overflow: hidden;
  }

  .ownership-action-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    inline-size: 100%;
    max-inline-size: 100%;
    gap: 12px;
  }

  .ownership-action-main {
    inline-size: 100%;
  }

  .ownership-action-meta {
    flex-wrap: wrap;
    row-gap: 5px;
  }

  .ownership-action-main h3,
  .ownership-action-main p,
  .responsibility-heading strong,
  .responsibility-heading span,
  .visible-owner-work strong,
  .visible-owner-work span {
    max-inline-size: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }

  .ownership-action-controls {
    inline-size: 100%;
    justify-content: flex-start;
  }

  .ownership-action-controls .button,
  .ownership-action-controls .text-button {
    flex: 0 1 auto;
  }

  .visible-owner-work {
    inline-size: 100%;
    align-items: flex-start;
  }

  .visible-owner-work a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 430px) {
  .topbar {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }

  .action-queue-panel {
    padding: 14px 12px;
  }

  .ownership-action-row {
    padding: 15px 0 15px 16px;
  }

  .ownership-action-main h3 {
    font-size: 1rem;
    line-height: 1.28;
  }

  .ownership-action-main p {
    font-size: .78rem;
    line-height: 1.45;
  }
}
:root {
  --hv60-navy: #11233a;
  --hv60-teal: #1a7a83;
  --hv60-teal-dark: #145e66;
  --hv60-teal-light: #e7f2f3;
  --hv60-off-white: #fafbfb;
  --hv60-white: #ffffff;
  --hv60-slate: #5d6b78;
  --hv60-border: #d8e1e5;
  --hv60-danger: #9b2f2f;
  --hv60-shadow: 0 24px 70px rgba(17, 35, 58, 0.2);
}

html.havin-v060,
html.havin-v060 body,
html.havin-v060 #root {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

html.havin-v060 body {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

html.havin-v060 img,
html.havin-v060 video,
html.havin-v060 canvas,
html.havin-v060 svg {
  max-width: 100%;
}

html.havin-v060 main,
html.havin-v060 section,
html.havin-v060 article,
html.havin-v060 form,
html.havin-v060 fieldset,
html.havin-v060 table {
  min-width: 0;
}

#havin-v060-root {
  position: relative;
  z-index: 2147480000;
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--hv60-navy);
}

.hv60-shell-wordmark {
  width: clamp(112px, 12vw, 154px) !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
}

.hv60-launcher {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(18px, calc(env(safe-area-inset-bottom) + 10px));
  z-index: 2147480001;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px 8px 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: var(--hv60-navy);
  color: white;
  box-shadow: 0 10px 30px rgba(17, 35, 58, 0.25);
  cursor: pointer;
}

.hv60-launcher span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--hv60-teal);
  font-weight: 800;
}

.hv60-launcher strong { font-size: 13px; letter-spacing: 0.01em; }

.hv60-guide-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 22px;
  padding: 22px;
  border: 1px solid var(--hv60-border);
  border-left: 4px solid var(--hv60-teal);
  border-radius: 18px;
  background: linear-gradient(120deg, var(--hv60-white), var(--hv60-teal-light));
  color: var(--hv60-navy);
}

.hv60-guide-card h2 { margin: 4px 0 6px; font-size: clamp(18px, 2.2vw, 24px); }
.hv60-guide-card p { margin: 0; color: var(--hv60-slate); line-height: 1.55; }
.hv60-guide-card-actions { display: flex; flex: 0 0 auto; flex-direction: column; gap: 7px; }

.hv60-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147480002;
  display: grid;
  place-items: center;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: rgba(8, 21, 37, 0.72);
  backdrop-filter: blur(8px);
}

.hv60-foundation {
  display: grid;
  grid-template-columns: 225px minmax(0, 1fr);
  width: min(1160px, 100%);
  height: min(820px, calc(100dvh - 24px));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 24px;
  background: var(--hv60-white);
  box-shadow: var(--hv60-shadow);
}

.hv60-foundation > aside {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 25px 18px;
  background: var(--hv60-navy);
  color: white;
}

.hv60-foundation > aside > img { width: 136px; height: auto; margin: 2px 8px 5px; }
.hv60-foundation > aside > p { margin: 0 8px 25px; color: rgba(255,255,255,.68); font-size: 13px; }
.hv60-foundation > aside nav { display: grid; gap: 5px; }
.hv60-foundation > aside nav button {
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255,255,255,.72);
  text-align: left;
  cursor: pointer;
}
.hv60-foundation > aside nav button:hover,
.hv60-foundation > aside nav button.active { background: rgba(26,122,131,.28); color: white; }
.hv60-foundation > aside small { margin: auto 8px 0; color: rgba(255,255,255,.45); }

.hv60-foundation > main { display: flex; min-width: 0; min-height: 0; flex-direction: column; background: var(--hv60-off-white); }
.hv60-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--hv60-border);
  background: white;
}
.hv60-dialog-header > div { display: grid; gap: 4px; }
.hv60-dialog-header strong { font-size: 20px; }
.hv60-close {
  width: 40px;
  height: 40px;
  border: 1px solid var(--hv60-border);
  border-radius: 50%;
  background: white;
  color: var(--hv60-navy);
  font-size: 25px;
  cursor: pointer;
}
.hv60-dialog-content { min-height: 0; overflow: auto; padding: clamp(18px, 3vw, 36px); overscroll-behavior: contain; }

.hv60-eyebrow { color: var(--hv60-teal); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hv60-stack { display: grid; gap: 22px; }
.hv60-hero { max-width: 760px; }
.hv60-hero h1 { margin: 0 0 9px; font-size: clamp(28px, 4vw, 44px); line-height: 1.08; letter-spacing: -.035em; }
.hv60-hero p { margin: 0; color: var(--hv60-slate); font-size: 16px; line-height: 1.65; }
.hv60-grid { display: grid; gap: 16px; }
.hv60-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hv60-card,
.hv60-callout,
.hv60-plan-card,
.hv60-answer,
.hv60-danger-zone,
.hv60-plan-status {
  border: 1px solid var(--hv60-border);
  border-radius: 17px;
  background: white;
}
.hv60-card { padding: 20px; }
.hv60-card h3 { margin: 0 0 8px; font-size: 17px; }
.hv60-card p { margin: 0; color: var(--hv60-slate); line-height: 1.55; }
.hv60-callout { padding: 19px 21px; border-color: rgba(26,122,131,.28); background: var(--hv60-teal-light); }
.hv60-callout strong { display: block; margin-bottom: 5px; }
.hv60-callout p { margin: 0; color: var(--hv60-slate); }

.hv60-foundation button,
.hv60-onboarding button,
.hv60-guide-card button {
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid var(--hv60-teal);
  border-radius: 10px;
  background: var(--hv60-teal);
  color: white;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.hv60-foundation button:hover,
.hv60-onboarding button:hover,
.hv60-guide-card button:hover { background: var(--hv60-teal-dark); border-color: var(--hv60-teal-dark); }
.hv60-foundation button:disabled,
.hv60-onboarding button:disabled { opacity: .5; cursor: not-allowed; }
.hv60-secondary,
.hv60-link-button { background: white !important; color: var(--hv60-navy) !important; border-color: var(--hv60-border) !important; }
.hv60-link-button { min-height: auto !important; padding: 4px 8px !important; border: 0 !important; background: transparent !important; color: var(--hv60-slate) !important; font-size: 12px !important; }

.hv60-plan-status { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 14px; padding: 14px 18px; }
.hv60-plan-status span { color: var(--hv60-slate); font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.hv60-plan-status em { color: var(--hv60-slate); font-style: normal; font-size: 13px; }
.hv60-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.hv60-plan-card { display: flex; flex-direction: column; padding: 24px; }
.hv60-plan-card.highlighted { border: 2px solid var(--hv60-teal); box-shadow: 0 16px 40px rgba(26,122,131,.12); }
.hv60-plan-card-heading { display: flex; align-items: center; justify-content: space-between; }
.hv60-plan-card-heading > span { font-size: 21px; font-weight: 800; }
.hv60-plan-card-heading em { padding: 5px 8px; border-radius: 999px; background: var(--hv60-teal-light); color: var(--hv60-teal-dark); font-size: 11px; font-style: normal; font-weight: 800; }
.hv60-price { margin: 15px 0 7px; font-size: 30px; letter-spacing: -.03em; }
.hv60-plan-card > p { margin: 0 0 18px; color: var(--hv60-slate); line-height: 1.5; }
.hv60-plan-card ul,
.hv60-onboarding ul { display: grid; gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }
.hv60-plan-card li,
.hv60-onboarding li { position: relative; padding-left: 23px; line-height: 1.45; }
.hv60-plan-card li::before,
.hv60-onboarding li::before { position: absolute; left: 0; content: '✓'; color: var(--hv60-teal); font-weight: 900; }
.hv60-plan-actions { display: grid; gap: 9px; margin-top: auto; }
.hv60-plan-actions small { color: var(--hv60-slate); line-height: 1.4; }

.hv60-upgrade-page { gap: 28px; }
.hv60-upgrade-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(270px, .8fr);
  gap: 24px;
  align-items: stretch;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(26,122,131,.24);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, var(--hv60-teal-light) 100%);
  box-shadow: 0 18px 45px rgba(17,35,58,.07);
}
.hv60-upgrade-hero h2,
.hv60-section-heading h2 { margin: 7px 0 10px; color: var(--hv60-navy); letter-spacing: -.025em; }
.hv60-upgrade-hero h2 { max-width: 760px; font-size: clamp(27px, 3.8vw, 44px); line-height: 1.08; }
.hv60-upgrade-hero p { max-width: 760px; margin: 0; color: var(--hv60-slate); font-size: 16px; line-height: 1.65; }
.hv60-upgrade-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hv60-upgrade-value { display: grid; align-content: center; gap: 10px; padding: 22px; border: 1px solid rgba(26,122,131,.22); border-radius: 16px; background: rgba(255,255,255,.84); }
.hv60-upgrade-value > strong { margin-bottom: 2px; font-size: 18px; }
.hv60-upgrade-value > span { display: flex; align-items: center; gap: 9px; color: var(--hv60-slate); line-height: 1.35; }
.hv60-upgrade-value svg { flex: 0 0 auto; color: var(--hv60-teal); }
.hv60-section-heading { max-width: 780px; margin-bottom: 14px; }
.hv60-section-heading h2 { font-size: clamp(23px, 3vw, 32px); line-height: 1.15; }
.hv60-comparison-section,
.hv60-ask-preview { display: grid; gap: 8px; }
.hv60-example-basic { display: grid; gap: 12px; }
.hv60-example-basic > strong { font-size: 20px; }
.hv60-example-basic p { margin: 0; line-height: 1.55; }
.hv60-example-basic small { display: flex; align-items: center; gap: 7px; color: var(--hv60-slate); line-height: 1.4; }
.hv60-example-basic small svg { color: var(--hv60-teal); }
.hv60-chat-preview { display: grid; gap: 14px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--hv60-border); border-radius: 18px; background: white; }
.hv60-chat-user,
.hv60-chat-havin { display: grid; gap: 7px; max-width: 84%; padding: 15px 17px; border-radius: 15px; }
.hv60-chat-user { justify-self: end; background: #eef1f2; }
.hv60-chat-havin { justify-self: start; border: 1px solid rgba(26,122,131,.22); background: var(--hv60-teal-light); }
.hv60-chat-user > span,
.hv60-chat-havin > span { display: flex; align-items: center; gap: 7px; color: var(--hv60-teal-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.hv60-chat-user p,
.hv60-chat-havin p { margin: 0; line-height: 1.6; }
.hv60-chat-sources { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 5px; }
.hv60-chat-sources strong { width: 100%; color: var(--hv60-slate); font-size: 12px; }
.hv60-chat-sources span { padding: 5px 8px; border: 1px solid rgba(26,122,131,.2); border-radius: 999px; background: rgba(255,255,255,.7); color: var(--hv60-slate); font-size: 11px; }
.hv60-plus-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hv60-plus-feature-grid article { display: flex; gap: 14px; padding: 20px; border: 1px solid var(--hv60-border); border-radius: 16px; background: white; }
.hv60-plus-feature-grid article > span { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 12px; background: var(--hv60-teal-light); color: var(--hv60-teal); }
.hv60-plus-feature-grid h3 { margin: 1px 0 5px; font-size: 17px; }
.hv60-plus-feature-grid p { margin: 0; color: var(--hv60-slate); line-height: 1.5; }
.hv60-upgrade-callout { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hv60-upgrade-callout > div { min-width: 0; }
.hv60-upgrade-callout .button { flex: 0 0 auto; }

.hv60-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hv60-comparison > article { padding: 22px; border: 1px solid var(--hv60-border); border-radius: 17px; background: white; }
.hv60-comparison > article.plus { border: 2px solid var(--hv60-teal); }
.hv60-comparison > article > span { color: var(--hv60-teal); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hv60-comparison h3 { margin: 7px 0 16px; }
.hv60-example-basic { padding: 18px; border-radius: 12px; background: #f2f4f5; }
.hv60-example-basic p { margin-bottom: 0; color: var(--hv60-slate); }
.hv60-example-plus { padding: 18px; border-radius: 12px; background: var(--hv60-teal-light); }
.hv60-example-plus > strong { display: block; margin-bottom: 13px; font-size: 20px; }
.hv60-example-plus dl { display: grid; gap: 8px; margin: 0 0 15px; }
.hv60-example-plus dl > div { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid rgba(17,35,58,.1); padding-bottom: 7px; }
.hv60-example-plus dt { color: var(--hv60-slate); }
.hv60-example-plus dd { margin: 0; text-align: right; font-weight: 700; }

.hv60-ask { display: grid; gap: 10px; padding: 20px; border: 1px solid var(--hv60-border); border-radius: 17px; background: white; }
.hv60-ask label { font-weight: 800; }
.hv60-ask textarea,
.hv60-deletion-confirm textarea {
  width: 100%;
  min-height: 118px;
  box-sizing: border-box;
  padding: 13px;
  border: 1px solid var(--hv60-border);
  border-radius: 10px;
  background: var(--hv60-off-white);
  color: var(--hv60-navy);
  font: inherit;
  resize: vertical;
}
.hv60-ask > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.hv60-ask small { color: var(--hv60-slate); }
.hv60-answer { padding: 22px; }
.hv60-answer-text { margin: 10px 0 18px; white-space: pre-wrap; line-height: 1.65; }
.hv60-source-warning { padding: 14px; border-left: 3px solid #b77719; border-radius: 8px; background: #fff8e9; }
.hv60-source-warning p { margin: 5px 0 0; color: #6c5737; line-height: 1.5; }
.hv60-sources { margin-top: 18px; }
.hv60-sources ul { margin: 8px 0 0; padding-left: 19px; }
.hv60-sources li { margin-bottom: 7px; }
.hv60-sources li span { margin-left: 8px; color: var(--hv60-slate); font-size: 11px; text-transform: uppercase; }
.hv60-sources a { color: var(--hv60-teal-dark); }
.hv60-disclaimer { margin: 0; color: var(--hv60-slate); font-size: 12px; line-height: 1.5; }

.hv60-trust-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 25px; align-items: start; }
.hv60-trust-layout > nav { position: sticky; top: 0; display: grid; gap: 7px; }
.hv60-trust-layout > nav button { display: grid; gap: 4px; padding: 12px; border-color: var(--hv60-border); background: white; color: var(--hv60-navy); text-align: left; }
.hv60-trust-layout > nav button span { color: var(--hv60-slate); font-size: 11px; font-weight: 400; line-height: 1.35; }
.hv60-trust-layout > nav button.active { border-color: var(--hv60-teal); background: var(--hv60-teal-light); }
.hv60-legal-copy { max-width: 760px; padding: 26px; border: 1px solid var(--hv60-border); border-radius: 17px; background: white; }
.hv60-legal-copy h1 { margin: 6px 0 7px; font-size: 34px; letter-spacing: -.03em; }
.hv60-legal-summary { margin: 0 0 27px; color: var(--hv60-slate); font-size: 16px; }
.hv60-legal-copy section { margin-top: 25px; }
.hv60-legal-copy h2 { margin: 0 0 9px; font-size: 19px; }
.hv60-legal-copy p { color: #3f4d5a; line-height: 1.68; }
.hv60-legal-copy footer { margin-top: 30px; padding: 15px; border-radius: 10px; background: #fff8e9; }
.hv60-legal-copy footer p { margin: 5px 0 0; font-size: 12px; }

.hv60-preferences { display: grid; gap: 8px; }
.hv60-preferences label { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid var(--hv60-border); border-radius: 12px; background: white; cursor: pointer; }
.hv60-preferences label > span { display: grid; gap: 3px; }
.hv60-preferences small { color: var(--hv60-slate); line-height: 1.4; }
.hv60-preferences input { width: 20px; height: 20px; accent-color: var(--hv60-teal); }

.hv60-danger-zone { padding: 22px; border-color: rgba(155,47,47,.35); }
.hv60-danger-zone h3 { margin-top: 0; color: var(--hv60-danger); }
.hv60-danger-zone p { color: var(--hv60-slate); line-height: 1.55; }
.hv60-danger-button { border-color: var(--hv60-danger) !important; background: var(--hv60-danger) !important; }
.hv60-success { margin: 14px 0; padding: 12px; border-radius: 9px; background: #e9f6ef; color: #266342; font-weight: 700; }
.hv60-deletion-confirm { display: grid; gap: 13px; padding-top: 10px; }
.hv60-deletion-confirm label { display: grid; gap: 7px; font-weight: 700; }
.hv60-deletion-confirm > div { display: flex; justify-content: flex-end; gap: 9px; }

.hv60-onboarding-backdrop { background: rgba(8,21,37,.82); }
.hv60-onboarding {
  width: min(680px, 100%);
  overflow: hidden;
  border-radius: 24px;
  background: white;
  box-shadow: var(--hv60-shadow);
}
.hv60-onboarding-brand { display: flex; align-items: center; justify-content: space-between; padding: 21px 25px 13px; }
.hv60-onboarding-brand img { width: 132px; height: auto; }
.hv60-onboarding-brand span { color: var(--hv60-slate); font-size: 12px; }
.hv60-progress { height: 4px; background: #edf1f2; }
.hv60-progress span { display: block; height: 100%; background: var(--hv60-teal); transition: width .25s ease; }
.hv60-onboarding-content { min-height: 375px; padding: clamp(25px, 6vw, 50px); }
.hv60-onboarding-content h1 { margin: 8px 0 12px; font-size: clamp(29px, 5vw, 44px); line-height: 1.08; letter-spacing: -.035em; }
.hv60-onboarding-content > p { margin: 0 0 25px; color: var(--hv60-slate); font-size: 16px; line-height: 1.65; }
.hv60-onboarding-content ul { margin-top: 24px; }
.hv60-consent { display: flex; align-items: flex-start; gap: 11px; padding: 14px; border: 1px solid var(--hv60-border); border-radius: 11px; background: var(--hv60-off-white); font-size: 13px; line-height: 1.45; }
.hv60-consent input { width: 19px; height: 19px; flex: 0 0 auto; accent-color: var(--hv60-teal); }
.hv60-onboarding-actions { display: flex; justify-content: space-between; padding: 15px 25px calc(15px + env(safe-area-inset-bottom)); border-top: 1px solid var(--hv60-border); background: var(--hv60-off-white); }

.hv60-toast {
  position: fixed;
  right: max(17px, env(safe-area-inset-right));
  top: max(17px, env(safe-area-inset-top));
  z-index: 2147480005;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: min(430px, calc(100vw - 34px));
  box-sizing: border-box;
  padding: 14px 15px;
  border: 1px solid var(--hv60-border);
  border-left: 4px solid var(--hv60-teal);
  border-radius: 12px;
  background: white;
  box-shadow: 0 14px 40px rgba(17,35,58,.2);
  color: var(--hv60-navy);
  line-height: 1.45;
}
.hv60-toast-error { border-left-color: var(--hv60-danger); }
.hv60-toast button { margin-left: auto; border: 0; background: transparent; color: var(--hv60-slate); font-size: 20px; cursor: pointer; }

@media (max-width: 820px) {
  .hv60-foundation { grid-template-columns: 1fr; height: calc(100dvh - 12px); border-radius: 18px; }
  .hv60-foundation > aside { display: block; overflow-x: auto; padding: 11px 12px; white-space: nowrap; }
  .hv60-foundation > aside > img { width: 102px; margin: 0 12px 0 2px; vertical-align: middle; }
  .hv60-foundation > aside > p,
  .hv60-foundation > aside > small { display: none; }
  .hv60-foundation > aside nav { display: inline-flex; gap: 5px; vertical-align: middle; }
  .hv60-foundation > aside nav button { width: auto; min-height: 36px; padding: 7px 10px; }
  .hv60-dialog-header { min-height: 62px; padding: 10px 15px; }
  .hv60-dialog-content { padding: 18px 15px calc(82px + env(safe-area-inset-bottom)); }
  .hv60-grid-two,
  .hv60-plan-grid,
  .hv60-comparison,
  .hv60-plus-feature-grid,
  .hv60-upgrade-hero,
  .hv60-trust-layout { grid-template-columns: 1fr; }
  .hv60-upgrade-callout { align-items: stretch; flex-direction: column; }
  .hv60-upgrade-callout .button { width: 100%; }
  .hv60-trust-layout > nav { position: static; display: flex; overflow-x: auto; padding-bottom: 5px; }
  .hv60-trust-layout > nav button { min-width: 180px; }
  .hv60-plan-status { grid-template-columns: 1fr 1fr; }
  .hv60-plan-status em { grid-column: 1 / -1; }
  .hv60-guide-card { margin: 0 0 16px; padding: 16px; flex-direction: column; align-items: stretch; }
  .hv60-guide-card-actions { align-items: flex-start; }
  .hv60-ask > div { align-items: stretch; flex-direction: column; }
  .hv60-ask > div button { width: 100%; }
}

@media (max-width: 480px) {
  .hv60-backdrop { padding: 0; }
  .hv60-foundation { height: 100dvh; border: 0; border-radius: 0; }
  .hv60-launcher { right: 11px; bottom: max(78px, calc(env(safe-area-inset-bottom) + 68px)); }
  .hv60-launcher strong { display: none; }
  .hv60-launcher { padding: 7px; }
  .hv60-onboarding { width: 100%; min-height: 100dvh; border-radius: 0; display: flex; flex-direction: column; }
  .hv60-onboarding-content { min-height: 0; flex: 1; overflow: auto; padding: 29px 20px; }
  .hv60-onboarding-actions { padding-inline: 17px; }
  .hv60-hero h1 { font-size: 31px; }
  .hv60-legal-copy { padding: 20px 16px; }
  .hv60-legal-copy h1 { font-size: 29px; }
  .hv60-preferences label { align-items: flex-start; }
  .hv60-plan-status { grid-template-columns: 1fr; }
  .hv60-plan-status em { grid-column: auto; }
  .hv60-upgrade-hero { padding: 22px 18px; }
  .hv60-upgrade-hero-actions { display: grid; }
  .hv60-upgrade-hero-actions .button { width: 100%; }
  .hv60-chat-user, .hv60-chat-havin { max-width: 100%; }
}

.hv60-settings-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin: 0 0 20px;
  padding: 20px;
  border: 1px solid var(--hv60-border);
  border-radius: 17px;
  background: white;
  color: var(--hv60-navy);
}
.hv60-settings-entry h2 { margin: 4px 0 6px; font-size: 20px; }
.hv60-settings-entry p { margin: 0; color: var(--hv60-slate); line-height: 1.5; }
.hv60-settings-entry > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

@media (max-width: 700px) {
  .hv60-settings-entry { align-items: stretch; flex-direction: column; }
  .hv60-settings-entry > div:last-child { justify-content: flex-start; }
}

.hv60-consent-stack {
  display: grid;
  gap: 0.75rem;
}

.hv60-consent-optional {
  opacity: 0.92;
}

/* Integrated v0.6.0 platform pages */
.hv60-platform-page {
  display: grid;
  gap: 20px;
  width: 100%;
  color: var(--hv60-navy);
}

.hv60-platform-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--hv60-border);
}

.hv60-platform-header h1 {
  margin: 5px 0 0;
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.hv60-release-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid rgba(26, 122, 131, .25);
  border-radius: 999px;
  background: var(--hv60-teal-light);
  color: var(--hv60-teal-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

.hv60-platform-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.hv60-platform-nav {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid var(--hv60-border);
  border-radius: 16px;
  background: white;
}

.hv60-platform-nav > p {
  margin: 2px 9px 9px;
  color: var(--hv60-slate);
  font-size: 12px;
  font-weight: 700;
}

.hv60-platform-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 9px 10px;
  border-radius: 10px;
  color: var(--hv60-slate);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

.hv60-platform-nav a:hover,
.hv60-platform-nav a.active {
  background: var(--hv60-teal-light);
  color: var(--hv60-teal-dark);
}

.hv60-platform-content {
  min-width: 0;
  padding-bottom: 24px;
}

.rail-brand-line {
  display: block;
  max-width: 160px;
  margin: 8px 3px 0;
  color: rgba(255, 255, 255, .58);
  font-size: 11px;
  line-height: 1.35;
}

.settings-platform-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.settings-platform-card {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--hv60-border);
  border-radius: 15px;
  background: white;
  color: var(--hv60-navy);
  text-decoration: none;
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.settings-platform-card:hover {
  border-color: rgba(26, 122, 131, .45);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(17, 35, 58, .07);
}

.settings-platform-card > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 11px;
  background: var(--hv60-teal-light);
  color: var(--hv60-teal-dark);
}

.settings-platform-card strong { display: block; margin: 1px 0 5px; }
.settings-platform-card p { margin: 0; color: var(--hv60-slate); font-size: 12px; line-height: 1.45; }

.capture-intro { max-width: 720px; }
.capture-intro h2 { margin: 5px 0 7px; }
.capture-intro p { margin: 0 0 15px; color: var(--hv60-slate); line-height: 1.55; }

.capture-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.capture-photo-card {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 255px;
  overflow: hidden;
  place-items: center;
  padding: 18px;
  border: 1px dashed #aebdc3;
  border-radius: 16px;
  background: #f8fafb;
  color: var(--hv60-navy);
  text-align: center;
  cursor: pointer;
}

.capture-photo-card:hover { border-color: var(--hv60-teal); background: var(--hv60-teal-light); }
.capture-photo-card.has-image { padding: 0; border-style: solid; background: #0d1d30; }
.capture-photo-card > img { width: 100%; height: 255px; object-fit: cover; }
.capture-photo-card.has-image::after { position: absolute; inset: 45% 0 0; content: ''; background: linear-gradient(transparent, rgba(8, 21, 37, .88)); }
.capture-photo-copy { position: relative; z-index: 1; display: grid; gap: 5px; align-self: end; }
.capture-photo-card.has-image .capture-photo-copy { position: absolute; right: 15px; bottom: 14px; left: 15px; color: white; text-align: left; }
.capture-photo-copy strong { font-size: 15px; }
.capture-photo-copy small { color: var(--hv60-slate); line-height: 1.4; }
.capture-photo-card.has-image small { color: rgba(255, 255, 255, .72); }
.capture-permission-note { display: flex; align-items: flex-start; gap: 8px; margin: 4px 0 0; color: var(--hv60-slate); font-size: 12px; line-height: 1.45; }
.capture-permission-note svg { flex: 0 0 auto; margin-top: 1px; color: var(--hv60-teal); }

@media (max-width: 1080px) {
  .settings-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .hv60-platform-layout { grid-template-columns: minmax(0, 1fr); }
  .hv60-platform-nav {
    position: static;
    display: flex;
    overflow-x: auto;
    padding: 8px;
    scroll-snap-type: x proximity;
  }
  .hv60-platform-nav > p { display: none; }
  .hv60-platform-nav a { flex: 0 0 auto; scroll-snap-align: start; }
    .mobile-brand .brand-logo { width: 100%; height: auto; }
}

@media (max-width: 650px) {
  .hv60-platform-header { align-items: flex-start; }
  .hv60-release-badge { margin-top: 2px; }
  .settings-platform-grid,
  .capture-photo-grid { grid-template-columns: minmax(0, 1fr); }
  .capture-photo-card,
  .capture-photo-card > img { min-height: 220px; height: 220px; }
}

@media (max-width: 430px) {
  .hv60-platform-header { display: grid; gap: 10px; }
  .hv60-release-badge { justify-self: start; }
  }

.hv60-plan-card li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-left: 0;
}
.hv60-plan-card li::before { display: none; }
.hv60-plan-card li svg { flex: 0 0 auto; margin-top: 2px; color: var(--hv60-teal); }


/* Public trust and legal access */
.auth-panel {
  grid-template-rows: minmax(0, 1fr) auto;
}

.auth-legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  width: 100%;
  max-width: 440px;
  padding: 18px 0 4px;
  color: var(--hv60-slate);
  font-size: 12px;
}

.auth-legal-links a {
  color: inherit;
  text-decoration: none;
}

.auth-legal-links a:hover {
  color: var(--hv60-teal-dark);
  text-decoration: underline;
}

.hv60-public-trust-page {
  min-height: 100dvh;
  background: var(--hv60-off-white);
  color: var(--hv60-navy);
}

.hv60-public-trust-header,
.hv60-public-trust-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.hv60-public-trust-header {
  min-height: 78px;
  border-bottom: 1px solid var(--hv60-border);
}

.hv60-public-trust-header nav {
  display: flex;
  align-items: center;
  gap: 14px;
}

.hv60-public-trust-header nav > a:not(.button),
.hv60-public-trust-footer a {
  color: var(--hv60-slate);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.hv60-public-trust-page > main {
  display: grid;
  gap: 28px;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(32px, 6vw, 72px) 0;
}

.hv60-public-trust-intro {
  max-width: 760px;
}

.hv60-public-trust-intro h1 {
  margin: 8px 0 12px;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.hv60-public-trust-intro p {
  margin: 0;
  color: var(--hv60-slate);
  font-size: 16px;
  line-height: 1.65;
}

.hv60-public-trust-footer {
  min-height: 72px;
  border-top: 1px solid var(--hv60-border);
  color: var(--hv60-slate);
  font-size: 12px;
}

@media (max-width: 650px) {
  .hv60-public-trust-header,
  .hv60-public-trust-footer,
  .hv60-public-trust-page > main {
    width: min(100% - 28px, 1180px);
  }

  .hv60-public-trust-header nav > a:not(.button) {
    display: none;
  }

  .hv60-public-trust-footer {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding: 16px 0;
  }
}

/* v0.6.0 foundation audit — compact hierarchy, mobile reachability, and grouped ownership work */
.compact-page-heading {
  min-height: 0;
  margin: 0;
  padding: 0 0 14px;
  align-items: flex-end;
  border-bottom: 1px solid var(--line);
}
.compact-page-heading h1 {
  margin: 3px 0 3px;
  font-size: clamp(1.65rem, 2.8vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.compact-page-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--slate);
  font-size: .84rem;
  line-height: 1.45;
}
.page-heading-actions,
.page-header-button-group { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

/* Desktop navigation never exposes mobile-only controls. */
@media (min-width: 901px) {
  .topbar .mobile-menu-trigger,
  .topbar .mobile-search-trigger,
  .mobile-drawer,
  .mobile-drawer-scrim,
  .mobile-nav { display: none !important; }
}

.add-menu {
  position: fixed;
  z-index: 95;
  top: 70px;
  right: 22px;
  width: min(360px, calc(100vw - 32px));
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
  box-shadow: 0 20px 50px rgba(17,35,58,.18);
}
.add-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 5px 10px; }
.add-menu-heading > div { display: grid; gap: 3px; }
.add-menu > button:not(.icon-button) { width: 100%; display: flex; align-items: flex-start; gap: 12px; padding: 12px; border: 0; border-radius: 12px; background: transparent; color: var(--deep); text-align: left; }
.add-menu > button:not(.icon-button):hover { background: var(--teal-soft); }
.add-menu > button > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.add-menu > button > div { display: grid; gap: 3px; }
.add-menu > button small { color: var(--slate); line-height: 1.35; }
.add-menu-scrim { position: fixed; z-index: 94; inset: 0; border: 0; background: rgba(8,21,37,.45); }
.add-menu-mobile { top: auto; right: 12px; bottom: calc(86px + env(safe-area-inset-bottom)); left: 12px; width: auto; }

.portfolio-template-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; }
.portfolio-template { min-width: 0; padding: 15px; display: grid; gap: 8px; border: 1px solid var(--line); border-radius: 14px; background: white; color: var(--deep); text-align: left; }
.portfolio-template:hover,
.portfolio-template.active { border-color: var(--teal); background: var(--teal-soft); }
.portfolio-template > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: white; color: var(--teal); }
.portfolio-template p { margin: 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }
.portfolio-create-form { display: grid; gap: 16px; max-width: 760px; }
.portfolio-create-actions { display: flex; justify-content: flex-end; gap: 9px; }
.portfolio-boundary-note { max-width: 760px; margin: 0; color: var(--slate); font-size: .76rem; }

.watch-summary-grid.compact-summary-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.watch-asset-list { display: grid; gap: 14px; }
.watch-asset-group { overflow: hidden; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 16px; background: white; box-shadow: 0 5px 18px rgba(17,35,58,.045); }
.watch-asset-group.severity-critical { border-left-color: var(--danger); }
.watch-asset-group.severity-important { border-left-color: var(--warning); }
.watch-asset-header { min-height: 92px; padding: 14px 16px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto auto; align-items: center; gap: 13px; background: #fbfcfc; border-bottom: 1px solid var(--line); }
.watch-asset-visual { width: 58px; height: 58px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: var(--teal-soft); color: var(--teal); }
.watch-asset-visual img { width: 100%; height: 100%; object-fit: cover; }
.watch-asset-identity { min-width: 0; }
.watch-asset-identity > span { color: var(--teal); font-size: .67rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.watch-asset-identity h2 { margin: 2px 0 2px; font-size: 1.08rem; line-height: 1.2; }
.watch-asset-identity p { margin: 0; color: var(--slate); font-size: .74rem; }
.watch-asset-count { min-width: 70px; display: grid; justify-items: end; }
.watch-asset-count strong { font-size: 1.25rem; }
.watch-asset-count span { color: var(--slate); font-size: .66rem; }
.watch-view-asset { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.watch-item-list { display: grid; }
.watch-item-row { padding: 14px 16px; display: grid; grid-template-columns: 125px minmax(0,1fr) auto; align-items: start; gap: 16px; border-bottom: 1px solid #edf0ee; }
.watch-item-row:last-child { border-bottom: 0; }
.watch-item-priority { display: grid; align-content: start; gap: 5px; color: var(--slate); font-size: .68rem; }
.watch-priority { width: fit-content; padding: 4px 7px; border-radius: 999px; background: #eef2f2; color: var(--deep); font-weight: 800; }
.watch-priority.critical { background: #f8e9e9; color: #8b2929; }
.watch-priority.important { background: #fff3df; color: #805613; }
.watch-item-copy { min-width: 0; }
.watch-item-copy h3 { margin: 0 0 4px; font-size: .92rem; }
.watch-item-copy > p { margin: 0 0 6px; color: var(--slate); font-size: .77rem; line-height: 1.45; }
.watch-item-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--muted); font-size: .68rem; }
.watch-item-meta span { display: inline-flex; align-items: center; gap: 4px; }
.watch-item-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }

.service-upload-field { position: relative; padding: 14px; display: flex; align-items: flex-start; gap: 11px; border: 1px dashed var(--line-strong); border-radius: 12px; background: #fafcfc; cursor: pointer; }
.service-upload-field > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.service-upload-field > div { display: grid; gap: 3px; }
.service-upload-field small { color: var(--slate); line-height: 1.4; }
.service-upload-field input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.service-upload-list { display: grid; gap: 7px; }
.service-upload-list > div { padding: 9px 10px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; }
.service-upload-list > div > span { min-width: 0; display: grid; }
.service-upload-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.service-upload-list small { color: var(--muted); font-size: .66rem; }
.service-history-row { align-items: flex-start; }
.service-history-copy { min-width: 0; }
.service-history-copy p { margin: 5px 0 0; color: var(--slate); font-size: .73rem; }
.service-history-documents { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.service-history-documents button { display: inline-flex; align-items: center; gap: 5px; min-width: 0; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--deep); }
.service-history-documents button span { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.service-history-documents button small { color: var(--muted); }

.hv60-onboarding-backdrop { overflow: hidden; }
.hv60-onboarding { width: min(680px, 100%); height: min(760px, calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)))); max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))); display: flex; flex-direction: column; }
.hv60-onboarding-brand,
.hv60-progress,
.hv60-onboarding-actions { flex: 0 0 auto; }
.hv60-onboarding-content { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: clamp(22px, 5vw, 38px); }
.hv60-onboarding-content h1 { font-size: clamp(1.75rem, 4.5vw, 2.55rem); }
.hv60-onboarding-content > p { margin-bottom: 18px; font-size: .94rem; line-height: 1.55; }
.hv60-onboarding-actions { position: sticky; bottom: 0; z-index: 2; box-shadow: 0 -8px 20px rgba(17,35,58,.055); }

.hv60-platform-page { gap: 14px; }
.hv60-platform-header { align-items: center; padding-bottom: 12px; }
.hv60-platform-header h1 { margin: 2px 0 2px; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.hv60-platform-header p { max-width: 760px; margin: 0; color: var(--hv60-slate); font-size: .82rem; line-height: 1.4; }
.hv60-platform-layout { gap: 18px; }
.hv60-stack { gap: 16px; }
.hv60-hero { max-width: 760px; padding: 0; }
.hv60-hero h2 { margin: 0 0 5px; font-size: 1.15rem; }
.hv60-hero p { font-size: .85rem; line-height: 1.5; }
.hv60-ask-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.hv60-ask-locked { padding: 24px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 16px; border: 1px solid var(--hv60-border); border-radius: 17px; background: linear-gradient(125deg, white, var(--hv60-teal-light)); }
.hv60-ask-lock { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: var(--hv60-navy); color: white; }
.hv60-ask-locked h2 { margin: 5px 0 7px; font-size: 1.25rem; }
.hv60-ask-locked p { margin: 0; color: var(--hv60-slate); line-height: 1.55; }
.hv60-locked-actions { margin-top: 15px; display: flex; flex-wrap: wrap; gap: 8px; }
.plus-label { margin-left: 7px; padding: 2px 6px; border-radius: 999px; background: var(--hv60-teal-light); color: var(--hv60-teal-dark); font-size: .59rem; font-style: normal; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 1100px) {
  .portfolio-template-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .watch-summary-grid.compact-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .compact-page-heading { align-items: stretch; }
  .compact-page-heading.split-heading { display: grid; gap: 12px; }
  .page-heading-actions,
  .page-header-button-group { justify-content: flex-start; }
  .page-header-button-group .button { flex: 1 1 auto; }
  .portfolio-template-grid { grid-template-columns: minmax(0,1fr); }
  .watch-asset-header { grid-template-columns: 48px minmax(0,1fr) auto; }
  .watch-asset-visual { width: 48px; height: 48px; }
  .watch-view-asset { grid-column: 2 / -1; justify-self: start; }
  .watch-item-row { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .watch-item-priority { display: flex; align-items: center; flex-wrap: wrap; }
  .watch-item-actions { justify-content: flex-start; }
  .hv60-platform-header { align-items: flex-start; }
}

@media (max-width: 480px) {
  .hv60-onboarding { width: 100%; height: 100dvh; max-height: 100dvh; min-height: 0; border-radius: 0; }
  .hv60-onboarding-brand { padding: calc(12px + env(safe-area-inset-top)) 17px 10px; }
  .hv60-onboarding-brand img { width: 112px; }
  .hv60-onboarding-content { padding: 19px 17px 14px; }
  .hv60-onboarding-content ul { margin-top: 14px; gap: 7px; }
  .hv60-consent { padding: 10px; font-size: .75rem; }
  .hv60-onboarding-actions { padding: 10px 17px calc(10px + env(safe-area-inset-bottom)); }
  .hv60-onboarding-actions .button { min-height: 42px; }
  .watch-summary-grid.compact-summary-grid { grid-template-columns: minmax(0,1fr); }
  .watch-asset-count { min-width: 52px; }
  .hv60-ask-locked { grid-template-columns: minmax(0,1fr); padding: 18px; }
  .hv60-ask-actions { align-items: stretch; flex-direction: column; }
  .hv60-ask-actions .button { width: 100%; }
}

/* v0.6.0 pre-deployment polish: portfolio navigation and compact working surfaces */
.portfolio-overview {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 1px 5px;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.portfolio-overview-card {
  min-width: 210px;
  max-width: 285px;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--paper);
  color: var(--deep);
  text-align: left;
  cursor: pointer;
  font: inherit;
  scroll-snap-align: start;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.portfolio-overview-card:hover {
  border-color: #aebfba;
  transform: translateY(-1px);
}

.portfolio-overview-card:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.portfolio-overview-card.active {
  border-color: var(--teal);
  background: var(--teal-soft);
  box-shadow: inset 0 0 0 1px rgba(43, 140, 145, .08);
}

.portfolio-overview-card.create { border-style: dashed; }
.portfolio-overview-icon {
  width: 37px;
  height: 37px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #f2f6f5;
  color: var(--teal);
}
.portfolio-overview-card.active .portfolio-overview-icon { background: white; }
.portfolio-overview-card > span:last-child { min-width: 0; display: grid; gap: 3px; }
.portfolio-overview-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .83rem; }
.portfolio-overview-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--slate); font-size: .68rem; }

.watch-summary-grid.compact-summary-grid .watch-summary {
  min-height: 82px;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 11px;
  padding: 13px 15px;
}
.watch-summary-grid.compact-summary-grid .watch-summary > span { grid-row: 1 / 3; }
.watch-summary-grid.compact-summary-grid .watch-summary > strong { align-self: end; margin: 0; font-size: 1.15rem; line-height: 1.05; }
.watch-summary-grid.compact-summary-grid .watch-summary > small { align-self: start; font-size: .68rem; }
.watch-summary-grid.compact-summary-grid .watch-summary > p { display: none; }

.today-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.today-heading h1 { margin-bottom: 4px; font-size: clamp(1.8rem, 3vw, 2.55rem); }
.today-heading p { margin-bottom: 0; font-size: .86rem; }

.hv60-platform-header { border-bottom: 1px solid var(--hv60-border); }
.hv60-platform-header > div { max-width: 780px; }

@media (max-width: 900px) {
  .portfolio-overview-card { min-width: 190px; }
}

@media (max-width: 650px) {
  .page-content { padding-top: 22px; }
  .page-stack { gap: 20px; }
  .compact-page-heading { padding-bottom: 11px; }
  .compact-page-heading h1 { font-size: 1.7rem; }
  .compact-page-heading p { font-size: .79rem; }
  .portfolio-overview { margin-right: -16px; padding-right: 16px; }
  .portfolio-overview-card { min-width: min(78vw, 250px); }
  .watch-summary-grid.compact-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .hv60-onboarding-backdrop { padding: 0; }
  .hv60-onboarding {
    height: 100dvh;
    min-height: 100svh;
    max-height: 100dvh;
  }
  .hv60-onboarding-content { padding-bottom: 20px; }
  .hv60-onboarding-actions {
    flex: 0 0 auto;
    position: relative;
    bottom: auto;
    background: var(--hv60-white);
  }
}

/* v0.6.0 foundation audit overrides */
.add-menu-scrim-desktop {
  background: transparent;
}

.service-upload-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: .68rem;
}

.service-upload-field.disabled {
  cursor: not-allowed;
  opacity: .58;
}

.service-upload-field.disabled input {
  cursor: not-allowed;
}

.hv60-onboarding {
  min-height: 0;
  overflow: hidden;
}

.hv60-onboarding-content {
  scrollbar-gutter: stable;
}

.hv60-consent-stack {
  gap: 9px;
}

.hv60-consent {
  padding: 11px 12px;
  font-size: .78rem;
  line-height: 1.42;
}

.hv60-platform-header {
  min-height: 0;
}

.hv60-platform-header h1 {
  margin-top: 0;
}

@media (max-width: 480px) {
  .hv60-onboarding-content {
    padding: 16px 17px 12px;
  }

  .hv60-onboarding-content h1 {
    margin: 6px 0 9px;
    font-size: clamp(1.55rem, 8vw, 2rem);
  }

  .hv60-onboarding-content > p {
    margin-bottom: 13px;
    font-size: .86rem;
    line-height: 1.45;
  }

  .hv60-onboarding-content ul {
    margin: 11px 0 13px;
    gap: 6px;
    font-size: .81rem;
  }

  .hv60-onboarding-brand {
    padding-bottom: 8px;
  }

  .hv60-onboarding-actions {
    padding-top: 9px;
  }

  .hv60-onboarding-actions .button {
    min-height: 44px;
  }
}

/* Final v0.6.0 workflow-header polish */
.onboarding-header > div {
  min-width: 0;
}

.onboarding-header > div h1 {
  margin: 0;
}

.onboarding-header > div p {
  margin: 3px 0 0;
  color: var(--slate);
  font-size: .76rem;
  line-height: 1.4;
}

@media (max-width: 650px) {
  .onboarding-header > div p {
    max-width: 64vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}


/* v0.6.0 launch-candidate final UI corrections */
.asset-workspace-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #f4f6f3;
}

.asset-workspace-nav a {
  min-height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 8px;
  color: var(--slate);
  font-size: .74rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.asset-workspace-nav a:hover,
.asset-workspace-nav a:focus-visible {
  color: var(--deep);
  background: rgba(255, 255, 255, .72);
}

.asset-workspace-nav a.active {
  color: var(--deep);
  background: white;
  box-shadow: 0 1px 3px rgba(15, 33, 51, .1);
}

.portfolio-overview-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.portfolio-overview-copy strong,
.portfolio-overview-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-selection-tools {
  margin-top: -7px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(255, 255, 255, .72);
}

.portfolio-selection-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: 8px;
  row-gap: 2px;
}

.portfolio-selection-label {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: .59rem;
  font-weight: 750;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.portfolio-selection-copy strong {
  overflow: hidden;
  color: var(--deep);
  font-size: .76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-selection-copy small {
  overflow: hidden;
  color: var(--slate);
  font-size: .66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-settings-button {
  flex: 0 0 auto;
  min-height: 34px;
  white-space: nowrap;
}

.portfolio-shared-status {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 8px;
  background: var(--teal-soft);
  color: var(--teal-dark);
  font-size: .66rem;
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 650px) {
  .portfolio-selection-tools {
    margin-top: -9px;
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
  }

  .portfolio-selection-copy { grid-template-columns: minmax(0, 1fr); }
  .portfolio-selection-copy strong,
  .portfolio-selection-copy small { white-space: normal; }
  .portfolio-settings-button,
  .portfolio-shared-status { width: 100%; justify-content: center; }
}

.service-history-documents {
  margin-top: 10px;
  display: grid;
  gap: 7px;
}

.service-history-attachment {
  min-width: 0;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
}

.service-history-attachment > svg { color: var(--teal); }
.service-history-attachment-copy { min-width: 0; display: grid; gap: 2px; }
.service-history-attachment-copy strong { overflow: hidden; color: var(--deep); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.service-history-attachment-copy small { color: var(--muted); font-size: .62rem; }
.service-history-attachment .button { min-height: 31px; padding: 0 9px; }

.document-card-open {
  align-self: center;
  white-space: nowrap;
}

@media (max-width: 650px) {
  .asset-workspace-nav { width: 100%; }
  .asset-workspace-nav a { flex: 1 1 0; }
  .service-history-attachment { grid-template-columns: auto minmax(0, 1fr); }
  .service-history-attachment .button { grid-column: 2; justify-self: start; }
}

/* v0.6.0 launch-candidate v4: clearer Free-to-Plus Halo value state */
.hv60-ask-locked-content { min-width: 0; }
.hv60-ask-locked-content > p strong { color: var(--hv60-navy); }
.hv60-ask-plus-summary {
  display: grid;
  gap: 10px;
  margin-top: 17px;
  padding: 16px 17px;
  border: 1px solid rgba(26,122,131,.24);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
}
.hv60-ask-plus-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--hv60-teal-dark);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .015em;
}
.hv60-ask-plus-heading svg { color: var(--hv60-teal); }
.hv60-ask-plus-summary ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hv60-ask-plus-summary li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--hv60-slate);
  line-height: 1.45;
}
.hv60-ask-plus-summary li svg {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--hv60-teal);
}

/* v0.6.0 beta v4.11 — streamlined asset flow + deliberate removal */
.streamlined-asset-onboarding .onboarding-header {
  grid-template-columns: 40px minmax(0, 1fr) auto;
}
.streamlined-asset-onboarding .onboarding-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.streamlined-asset-onboarding .asset-guide-trigger { white-space: nowrap; }

.streamlined-asset-onboarding .stepper {
  max-width: 720px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 16px auto 18px;
}
.streamlined-asset-onboarding .step { min-width: 0; gap: 4px; }
.streamlined-asset-onboarding .step > span { width: 27px; height: 27px; }
.streamlined-asset-onboarding .step strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  letter-spacing: .02em;
}

.streamlined-capture,
.streamlined-confirm {
  max-width: 900px;
  grid-template-columns: minmax(0, 1fr);
}
.streamlined-capture .capture-panel,
.streamlined-confirm .confirm-main {
  padding: 18px;
}
.capture-heading-row {
  margin-bottom: 13px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}
.capture-heading-row h2 { margin: 0 0 3px; font-size: 1.18rem; }
.capture-heading-row p { margin: 0; color: var(--hv60-slate); font-size: 12px; line-height: 1.4; }
.capture-help-link { flex: 0 0 auto; }

.streamlined-asset-onboarding .capture-photo-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.streamlined-asset-onboarding .capture-photo-card {
  min-height: 150px;
  padding: 14px;
  border-radius: 13px;
}
.streamlined-asset-onboarding .capture-photo-card:not(.has-image) {
  grid-template-columns: 48px minmax(0, 1fr);
  place-items: center start;
  column-gap: 12px;
  text-align: left;
}
.streamlined-asset-onboarding .capture-photo-card .camera-target {
  width: 46px;
  height: 46px;
  margin: 0;
  border-radius: 13px;
}
.streamlined-asset-onboarding .capture-photo-card > img {
  height: 150px;
  min-height: 150px;
}
.streamlined-asset-onboarding .capture-photo-copy { align-self: center; }
.streamlined-asset-onboarding .capture-photo-copy strong { font-size: 14px; }
.streamlined-asset-onboarding .capture-photo-copy small { font-size: 11px; }
.streamlined-asset-onboarding .capture-photo-card.has-image::after { inset: 48% 0 0; }
.streamlined-asset-onboarding .capture-photo-card.has-image .capture-photo-copy { right: 12px; bottom: 10px; left: 12px; }
.streamlined-asset-onboarding .hint-field { margin-top: 10px; }

.compact-onboarding-footer {
  max-width: 900px;
  margin-top: 14px;
  padding-top: 13px;
  justify-content: flex-end;
  gap: 9px;
}
.compact-onboarding-footer > div:first-child { flex: 1; }
.compact-analysis-state { margin: 18px auto; }
.compact-analysis-state .analysis-visual {
  width: min(250px, 72vw);
  height: 150px;
  margin-bottom: 14px;
  border-width: 5px;
  border-radius: 15px;
}
.compact-analysis-state h2 { margin: 7px 0 12px; }
.compact-analysis-state .analysis-tasks { margin-top: 3px; }
.compact-candidate-banner { padding: 13px; }
.compact-candidate-banner .candidate-image { width: 66px; height: 66px; }
.compact-candidate-banner h2 { font-size: 1.15rem; }
.compact-followup { padding: 10px 12px; }
.compact-asset-form { gap: 11px 13px; }
.compact-completion-state { margin-top: 18px; }
.asset-flow-error { max-width: 900px; margin: 12px auto 0; }

.asset-upload-guide { gap: 11px; }
.asset-guide-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  border-bottom: 1px solid var(--hv60-border);
}
.asset-guide-step > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--hv60-teal-light);
  color: var(--hv60-teal-dark);
  font-size: 12px;
  font-weight: 800;
}
.asset-guide-step strong { display: block; margin-bottom: 2px; }
.asset-guide-step p { margin: 0; color: var(--hv60-slate); font-size: 12px; line-height: 1.45; }
.asset-upload-guide .privacy-callout { margin-top: 3px; }

.asset-title-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.asset-title-meta .inline-role-badge {
  padding: 4px 7px;
  background: var(--hv60-teal-light);
}
.asset-title-meta .context-expiration.compact { padding: 4px 7px; font-size: 10px; }

.asset-delete-entry {
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(155,47,47,.25);
  border-radius: 12px;
  background: rgba(155,47,47,.035);
}
.asset-delete-entry strong { display: block; color: var(--hv60-danger); }
.asset-delete-entry p { margin: 3px 0 0; color: var(--hv60-slate); font-size: 11px; line-height: 1.4; }
.asset-delete-entry .button { flex: 0 0 auto; }
.delete-warning,
.transfer-instead-note {
  padding: 12px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-radius: 11px;
}
.delete-warning { border: 1px solid rgba(155,47,47,.25); background: rgba(155,47,47,.055); color: var(--hv60-danger); }
.transfer-instead-note { background: var(--hv60-teal-light); color: var(--hv60-teal-dark); }
.delete-warning svg,
.transfer-instead-note svg { flex: 0 0 auto; margin-top: 1px; }
.delete-warning strong,
.transfer-instead-note strong { display: block; }
.delete-warning p,
.transfer-instead-note p { margin: 3px 0 0; color: var(--hv60-slate); font-size: 12px; line-height: 1.45; }

@media (max-width: 650px) {
  .streamlined-asset-onboarding .onboarding-header { gap: 8px; }
  .streamlined-asset-onboarding .asset-guide-trigger { width: 38px; padding: 0; overflow: hidden; color: transparent; gap: 0; }
  .streamlined-asset-onboarding .asset-guide-trigger svg { color: var(--hv60-navy); }
  .streamlined-asset-onboarding .stepper { width: 100%; margin: 12px 0 15px; }
  .streamlined-asset-onboarding .step > span { width: 24px; height: 24px; font-size: 10px; }
  .streamlined-asset-onboarding .step::before { top: 12px; }
  .streamlined-asset-onboarding .step strong { font-size: 9px; }
  .streamlined-asset-onboarding .capture-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .streamlined-asset-onboarding .capture-photo-card,
  .streamlined-asset-onboarding .capture-photo-card > img { min-height: 132px; height: 132px; }
  .streamlined-asset-onboarding .capture-photo-card:not(.has-image) {
    grid-template-columns: 1fr;
    place-items: center;
    gap: 7px;
    padding: 10px 8px;
    text-align: center;
  }
  .streamlined-asset-onboarding .capture-photo-card .camera-target { width: 40px; height: 40px; }
  .streamlined-asset-onboarding .capture-photo-copy strong { font-size: 12px; }
  .streamlined-asset-onboarding .capture-photo-copy small { font-size: 9px; line-height: 1.25; }
  .capture-heading-row { align-items: flex-start; }
  .capture-heading-row p { font-size: 11px; }
  .capture-help-link { display: none; }
  .compact-onboarding-footer { flex-direction: row; align-items: center; }
  .compact-onboarding-footer .button { width: auto; flex: 0 0 auto; }
  .asset-delete-entry { align-items: stretch; flex-direction: column; }
  .asset-delete-entry .button { width: 100%; }
}

/* v0.6.0 beta v4.12 — compact intake, duplicate awareness, deletion simplification */
.streamlined-asset-onboarding .onboarding-content {
  flex: 0 0 auto;
}
.streamlined-asset-onboarding .stepper {
  max-width: 760px;
  margin: 10px auto 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.streamlined-asset-onboarding .step {
  min-width: 0;
}
.streamlined-asset-onboarding .step strong {
  min-width: 0;
  white-space: nowrap;
}
.streamlined-capture .capture-panel {
  padding: 12px 14px;
}
.capture-heading-row {
  margin-bottom: 8px;
  align-items: center;
}
.capture-heading-row h2 {
  margin-bottom: 1px;
  font-size: 1.08rem;
}
.capture-heading-row p {
  font-size: 11px;
}
.capture-portfolio-picker {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--hv60-slate);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.capture-portfolio-picker select {
  width: auto;
  max-width: 210px;
  min-height: 32px;
  padding: 5px 28px 5px 9px;
  font-size: 11px;
}
.streamlined-asset-onboarding .capture-photo-card,
.streamlined-asset-onboarding .capture-photo-card > img {
  min-height: 112px;
  height: 112px;
}
.streamlined-asset-onboarding .capture-photo-card {
  padding: 10px 12px;
}
.streamlined-asset-onboarding .capture-photo-card:not(.has-image) {
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 9px;
}
.streamlined-asset-onboarding .capture-photo-card .camera-target {
  width: 38px;
  height: 38px;
  border-radius: 10px;
}
.streamlined-asset-onboarding .capture-photo-copy strong {
  font-size: 12px;
}
.streamlined-asset-onboarding .capture-photo-copy small {
  font-size: 9.5px;
}
.compact-onboarding-footer {
  margin-top: 8px;
  padding-top: 0;
  border-top: 0;
}
.asset-guide-trigger {
  color: var(--hv60-navy);
}
.asset-guide-icon {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--hv60-teal-dark);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.duplicate-asset-warning {
  margin: 10px 0 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(179, 116, 34, .28);
  border-radius: 11px;
  background: rgba(179, 116, 34, .06);
}
.duplicate-asset-warning strong,
.duplicate-asset-warning span {
  display: block;
}
.duplicate-asset-warning span {
  margin-top: 2px;
  color: var(--hv60-slate);
  font-size: 11px;
}
.duplicate-asset-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}
.duplicate-asset-actions > span {
  margin: 0;
  color: var(--hv60-teal-dark);
  font-weight: 700;
}

@media (max-width: 650px) {
  .streamlined-asset-onboarding .asset-guide-trigger {
    width: 38px;
    padding: 0;
    color: var(--hv60-navy);
    overflow: visible;
  }
  .streamlined-asset-onboarding .asset-guide-label {
    display: none;
  }
  .streamlined-asset-onboarding .asset-guide-icon {
    margin: 0 auto;
  }
  .streamlined-asset-onboarding .stepper {
    width: 100%;
    margin: 7px 0 9px;
  }
  .streamlined-asset-onboarding .step > span {
    width: 22px;
    height: 22px;
    font-size: 9px;
  }
  .streamlined-asset-onboarding .step::before {
    top: 11px;
  }
  .streamlined-asset-onboarding .step strong {
    display: block;
    font-size: 8px;
  }
  .streamlined-capture .capture-panel {
    padding: 10px;
  }
  .capture-heading-row {
    margin-bottom: 7px;
    gap: 8px;
  }
  .capture-heading-row p {
    display: none;
  }
  .capture-portfolio-picker {
    margin-left: auto;
  }
  .capture-portfolio-picker > span {
    display: none;
  }
  .capture-portfolio-picker select {
    max-width: 155px;
    min-height: 30px;
    font-size: 10px;
  }
  .streamlined-asset-onboarding .capture-photo-card,
  .streamlined-asset-onboarding .capture-photo-card > img {
    min-height: 98px;
    height: 98px;
  }
  .streamlined-asset-onboarding .capture-photo-card:not(.has-image) {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 7px 5px;
  }
  .streamlined-asset-onboarding .capture-photo-card .camera-target {
    width: 32px;
    height: 32px;
  }
  .streamlined-asset-onboarding .capture-photo-copy strong {
    font-size: 11px;
  }
  .streamlined-asset-onboarding .capture-photo-copy small {
    font-size: 8px;
  }
  .compact-onboarding-footer {
    margin-top: 7px;
  }
  .duplicate-asset-warning {
    align-items: stretch;
    flex-direction: column;
  }
  .duplicate-asset-actions {
    justify-content: flex-start;
  }
}

/* v4.13 background asset build */
.background-build-complete { max-width: 620px; margin-right: auto; margin-left: auto; }
.background-build-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 6px auto 18px;
  padding: 10px 13px;
  border: 1px solid var(--hv60-border);
  border-radius: 11px;
  background: var(--hv60-off-white);
  color: var(--hv60-navy);
  text-align: left;
}
.background-build-note > span { display: grid; gap: 1px; }
.background-build-note strong { font-size: 13px; }
.background-build-note small { color: var(--hv60-slate); font-size: 11px; }
.completion-continue { margin-top: 6px; }
.asset-build-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  margin-top: 7px;
  padding: 4px 8px;
  border: 1px solid rgba(27, 146, 150, .23);
  border-radius: 999px;
  background: rgba(27, 146, 150, .08);
  color: var(--hv60-teal-dark, #116f73);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.1;
}
.asset-build-chip.detail { margin-top: 0; }
.asset-build-chip.failed { border-color: rgba(176, 53, 53, .25); background: rgba(176, 53, 53, .08); color: var(--hv60-danger); }
.asset-build-chip.review-required { border-color: rgba(167, 112, 20, .25); background: rgba(167, 112, 20, .08); color: #875d13; }
.hv60-toast .hv60-toast-action {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 5px 8px;
  border: 1px solid var(--hv60-border);
  border-radius: 7px;
  background: var(--hv60-off-white);
  color: var(--hv60-navy);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
}
.hv60-toast .hv60-toast-action:hover { border-color: var(--hv60-teal); color: var(--hv60-teal-dark, #116f73); }
.hv60-toast .hv60-toast-dismiss { margin-left: 0; padding: 0 2px; }

@media (max-width: 620px) {
  .background-build-note { width: 100%; box-sizing: border-box; }
  .hv60-toast { align-items: center; gap: 8px; }
  .hv60-toast > span { flex: 1 1 auto; min-width: 0; }
  .hv60-toast .hv60-toast-action { margin-left: 0; white-space: nowrap; }
}
.asset-build-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  color: var(--hv60-teal-dark, #116f73);
  font-size: 10px;
  font-weight: 700;
}
.asset-build-inline.failed { color: var(--hv60-danger); }
.asset-build-inline.review-required { color: #875d13; }


.asset-build-retry {
  border: 0;
  background: transparent;
  padding: 2px 4px;
  color: var(--hv60-teal-700, #0b6f78);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}
.asset-build-retry:disabled { opacity: 0.6; cursor: default; }

/* v0.6.0 beta v4.15: stable portfolio selector replaces the mobile card scroller. */
.portfolio-switcher {
  min-width: 0;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: minmax(150px, auto) minmax(220px, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, .78);
}

.portfolio-switcher-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}

.portfolio-switcher-copy > div {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.portfolio-switcher-copy .eyebrow {
  margin: 0;
  font-size: .56rem;
}

.portfolio-switcher-copy strong {
  overflow: hidden;
  color: var(--deep);
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-switcher-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--teal-soft);
  color: var(--teal-dark);
}

.portfolio-switcher-select {
  min-width: 0;
  position: relative;
  display: block;
}

.portfolio-switcher-select select {
  width: 100%;
  min-height: 40px;
  padding: 0 38px 0 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
  color: var(--deep);
  font: inherit;
  font-size: .74rem;
  font-weight: 650;
  appearance: none;
}

.portfolio-switcher-select > svg {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--muted);
  pointer-events: none;
  transform: translateY(-50%);
}

.portfolio-switcher-edit { white-space: nowrap; }

@media (max-width: 650px) {
  .portfolio-switcher {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 9px 10px;
  }
  .portfolio-switcher-copy { grid-column: 1 / -1; }
  .portfolio-switcher-select { grid-column: 1; }
  .portfolio-switcher-edit {
    grid-column: 2;
    min-height: 40px;
    padding-inline: 11px;
  }
}

@media (max-width: 420px) {
  .portfolio-switcher { grid-template-columns: minmax(0, 1fr); }
  .portfolio-switcher-copy,
  .portfolio-switcher-select,
  .portfolio-switcher-edit { grid-column: 1; }
  .portfolio-switcher-edit { width: 100%; }
}


/* v0.6.0 beta v4.16 — warranty intelligence / ownership completeness */
.warranty-intelligence-card .card-heading { align-items: flex-start; }
.warranty-list { display: grid; gap: 12px; }
.warranty-row { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: color-mix(in srgb, var(--surface) 94%, var(--accent) 6%); }
.warranty-row-heading { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.warranty-row-heading > div { display: grid; gap: 2px; }
.warranty-row-heading strong { color: var(--ink); }
.warranty-row-heading span, .warranty-row p, .warranty-facts, .warranty-disclaimer, .warranty-upgrade-state p, .warranty-empty-state p { color: var(--muted); }
.warranty-row p { margin: 9px 0; line-height: 1.45; }
.warranty-state { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; padding: 4px 8px; font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.warranty-state.covered { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); color: var(--accent-strong); }
.warranty-state.expired { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 40%, var(--line)); }
.warranty-facts { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; }
.warranty-registration-row { margin-top: 11px; padding-top: 11px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; }
.warranty-registration-row > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.warranty-registration-row.compact { justify-content: flex-start; }
.warranty-registration-row.compact span { display: inline-flex; align-items: center; gap: 6px; }
.warranty-source-link { margin-top: 9px; display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 750; color: var(--accent-strong); }
.warranty-date-link { margin-top: 8px; }
.warranty-completion-action { margin-top: 12px; }
.warranty-upgrade-state, .warranty-empty-state { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px dashed var(--line); border-radius: 16px; }
.warranty-upgrade-state > div, .warranty-empty-state > div { display: grid; gap: 4px; }
.warranty-upgrade-state p, .warranty-empty-state p { margin: 0; line-height: 1.45; }
.warranty-disclaimer { margin: 12px 0 0; font-size: 11px; line-height: 1.45; }
@media (max-width: 680px) {
  .warranty-row-heading, .warranty-registration-row { align-items: stretch; flex-direction: column; }
  .warranty-registration-row > div { width: 100%; }
  .warranty-registration-row .button { width: auto; }
}


/* v4.17 identification evidence */
.identification-evidence-row { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.identification-evidence-row p { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
@media (max-width: 620px) { .identification-evidence-row { align-items: stretch; flex-direction: column; } .identification-evidence-row .button { width: 100%; } }
/* Hāvin v0.7.1 — Experimental Blue interface system
   Palette lock: Deep Indigo + Royal Purple + Aviator Blue + Electric Blue + Silver + Aviator Gold.
   This layer intentionally overrides the legacy teal/light visual system without changing domain behavior. */

:root {
  --havin-indigo-1000: #050813;
  --havin-indigo-950: #070b1b;
  --havin-indigo-900: #0a1122;
  --havin-indigo-850: #0d1629;
  --havin-indigo-800: #111c33;
  --havin-purple: #24104f;
  --havin-purple-bright: #6935d6;
  --havin-aviator-blue: #263f9f;
  --havin-electric-blue: #1e68ff;
  --havin-electric-blue-bright: #3c8cff;
  --havin-plane-blue: #6ea5e2;
  --havin-silver: #c6ccd6;
  --havin-silver-soft: #9aa8bd;
  --havin-aviator-gold: #d4af37;
  --havin-aviator-gold-soft: #edcf75;

  /* Compatibility aliases retained so existing components inherit the new system. */
  --deep: var(--havin-indigo-900);
  --deep-2: var(--havin-indigo-800);
  --teal: var(--havin-electric-blue);
  --teal-dark: #1553c9;
  --teal-soft: rgba(30, 104, 255, .14);
  --ivory: var(--havin-indigo-950);
  --paper: var(--havin-indigo-850);
  --graphite: #eef3fa;
  --slate: #a6b1c2;
  --muted: #75839a;
  --line: rgba(198, 204, 214, .13);
  --line-strong: rgba(198, 204, 214, .24);
  --brass: var(--havin-aviator-gold);
  --brass-soft: rgba(212, 175, 55, .13);
  --success: #62c79b;
  --success-soft: rgba(98, 199, 155, .12);
  --warning: var(--havin-aviator-gold);
  --warning-soft: rgba(212, 175, 55, .12);
  --critical: #ff6b78;
  --critical-soft: rgba(255, 107, 120, .12);
  --info: var(--havin-plane-blue);
  --info-soft: rgba(110, 165, 226, .13);
  --shadow-sm: 0 1px 0 rgba(255,255,255,.025), 0 12px 34px rgba(0,0,0,.2);
  --shadow-md: 0 24px 70px rgba(0,0,0,.35);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --content: 1480px;
}

html.havin-v071,
html.havin-v071 body,
html.havin-v071 #root {
  background: var(--havin-indigo-950);
  color: var(--graphite);
}

html.havin-v071 body {
  background:
    radial-gradient(circle at 82% -10%, rgba(38,63,159,.16), transparent 32rem),
    radial-gradient(circle at 14% 20%, rgba(36,16,79,.13), transparent 30rem),
    var(--havin-indigo-950);
}

html.havin-v071 ::selection { background: rgba(30,104,255,.38); color: #fff; }
html.havin-v071 :focus-visible { outline-color: rgba(60,140,255,.72); }
html.havin-v071 h1,
html.havin-v071 h2,
html.havin-v071 h3 { color: #f4f7fb; }
html.havin-v071 p { color: var(--slate); }
html.havin-v071 .eyebrow { color: var(--havin-plane-blue); }
html.havin-v071 .eyebrow.light { color: #b8d4f3; }
html.havin-v071 .muted { color: var(--muted); }

/* Controls */
html.havin-v071 .button {
  border-radius: 10px;
  font-weight: 650;
}
html.havin-v071 .button-primary {
  border-color: rgba(60,140,255,.24);
  background: linear-gradient(135deg, #174fbf, var(--havin-electric-blue));
  color: #fff;
  box-shadow: 0 9px 25px rgba(30,104,255,.2), inset 0 1px 0 rgba(255,255,255,.12);
}
html.havin-v071 .button-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #1b5dd8, #2f7dff);
  box-shadow: 0 12px 32px rgba(30,104,255,.28), inset 0 1px 0 rgba(255,255,255,.14);
}
html.havin-v071 .button-secondary,
html.havin-v071 .icon-button {
  border-color: var(--line);
  background: rgba(17,28,51,.74);
  color: var(--havin-silver);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
html.havin-v071 .button-secondary:hover:not(:disabled),
html.havin-v071 .icon-button:hover {
  border-color: rgba(60,140,255,.36);
  background: rgba(20,34,64,.94);
  color: #fff;
}
html.havin-v071 .button-light {
  border: 1px solid rgba(60,140,255,.24);
  background: rgba(30,104,255,.14);
  color: #f8fbff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
html.havin-v071 .button-light:hover { background: rgba(30,104,255,.22); }
html.havin-v071 .button-ghost { color: var(--havin-silver); }
html.havin-v071 .text-button,
html.havin-v071 .text-link,
html.havin-v071 .inline-link { color: var(--havin-plane-blue); }
html.havin-v071 .text-button:hover,
html.havin-v071 .text-link:hover,
html.havin-v071 .inline-link:hover { color: #d8eaff; }
html.havin-v071 .text-button.subtle { color: var(--muted); }
html.havin-v071 .text-button.subtle:hover { color: var(--havin-silver); }
html.havin-v071 .count-pill { background: rgba(30,104,255,.14); color: #79b3ff; }

html.havin-v071 .field,
html.havin-v071 .readonly-label { color: #dce4ef; }
html.havin-v071 .field input,
html.havin-v071 .field select,
html.havin-v071 .field textarea,
html.havin-v071 .hint-field select,
html.havin-v071 .select-control,
html.havin-v071 .page-search,
html.havin-v071 .record-match-select select {
  border-color: var(--line);
  background: rgba(7,11,27,.68);
  color: #edf3fb;
}
html.havin-v071 .field input::placeholder,
html.havin-v071 .field textarea::placeholder { color: #66748b; }
html.havin-v071 .field input:focus,
html.havin-v071 .field select:focus,
html.havin-v071 .field textarea:focus { border-color: var(--havin-electric-blue); outline-color: rgba(30,104,255,.16); }

/* Application shell — a continuous dark ownership workspace rather than a light card dashboard. */
html.havin-v071 .app-shell {
  grid-template-columns: 224px minmax(0, 1fr);
  background: transparent;
}
html.havin-v071 .desktop-rail {
  width: 224px;
  padding: 20px 13px 16px;
  border-right: 1px solid rgba(198,204,214,.09);
  background:
    radial-gradient(circle at 15% 12%, rgba(38,63,159,.18), transparent 13rem),
    linear-gradient(180deg, #090f20 0%, #070b18 100%);
  color: #f2f5fa;
}
html.havin-v071 .rail-top { padding: 2px 10px 20px; border-bottom-color: rgba(198,204,214,.09); }
html.havin-v071 .rail-top .brand-logo { width: 152px; }
html.havin-v071 .rail-brand-line { margin-top: 9px; color: #6f7d94; font-size: .58rem; letter-spacing: .11em; text-transform: uppercase; }
html.havin-v071 .rail-nav { padding-top: 18px; gap: 4px; }
html.havin-v071 .rail-link {
  height: 43px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #8492a8;
  font-size: .82rem;
}
html.havin-v071 .rail-link svg { color: #7082a0; }
html.havin-v071 .rail-link:hover {
  border-color: rgba(198,204,214,.08);
  background: rgba(255,255,255,.025);
  color: #eaf0f8;
}
html.havin-v071 .rail-link.active {
  border-color: rgba(60,140,255,.24);
  background: linear-gradient(90deg, rgba(30,104,255,.18), rgba(36,16,79,.12));
  color: #fff;
  box-shadow: inset 2px 0 0 var(--havin-electric-blue), 0 9px 26px rgba(0,0,0,.12);
}
html.havin-v071 .rail-link.active svg { color: #6eabff; filter: drop-shadow(0 0 7px rgba(30,104,255,.35)); }
html.havin-v071 .nav-count {
  background: rgba(30,104,255,.18);
  color: #a9cfff;
}
html.havin-v071 .nav-count.invite { background: rgba(212,175,55,.14); color: var(--havin-aviator-gold-soft); }
html.havin-v071 .rail-automation-note {
  margin: 17px 5px 0;
  border-color: rgba(60,140,255,.15);
  background: linear-gradient(145deg, rgba(30,104,255,.08), rgba(36,16,79,.09));
}
html.havin-v071 .rail-automation-note span { color: var(--havin-plane-blue); }
html.havin-v071 .rail-automation-note button { color: #89baff; }
html.havin-v071 .profile-chip { border-top-color: rgba(198,204,214,.09); }
html.havin-v071 .profile-chip .avatar,
html.havin-v071 .avatar { background: linear-gradient(145deg, #243d8f, #31145f); color: #e7effc; border: 1px solid rgba(110,165,226,.22); }

html.havin-v071 .main-column { grid-column: 2; background: transparent; }
html.havin-v071 .topbar {
  height: 66px;
  padding: 0 30px;
  border-bottom-color: rgba(198,204,214,.09);
  background: rgba(7,11,27,.79);
  backdrop-filter: blur(18px) saturate(120%);
}
html.havin-v071 .global-search {
  max-width: 620px;
  border-color: rgba(198,204,214,.12);
  background: rgba(13,22,41,.72);
  color: #6f7f98;
}
html.havin-v071 .global-search:focus-within { border-color: rgba(60,140,255,.38); box-shadow: 0 0 0 3px rgba(30,104,255,.07); }
html.havin-v071 .global-search input { color: #e9f0f8; }
html.havin-v071 .global-search-results,
html.havin-v071 .notification-panel,
html.havin-v071 .add-menu {
  border-color: var(--line);
  background: rgba(12,20,38,.98);
  color: #eef3fa;
  box-shadow: 0 28px 80px rgba(0,0,0,.42);
}
html.havin-v071 .global-search-results button,
html.havin-v071 .notification-panel > button,
html.havin-v071 .add-menu > button:not(.icon-button) { background: transparent; border-color: rgba(198,204,214,.07); }
html.havin-v071 .global-search-results button:hover,
html.havin-v071 .notification-panel > button:hover,
html.havin-v071 .add-menu > button:not(.icon-button):hover { background: rgba(30,104,255,.08); }
html.havin-v071 .global-search-results strong,
html.havin-v071 .notification-panel strong,
html.havin-v071 .add-menu strong { color: #f1f5fa; }
html.havin-v071 .add-menu > button > span { background: rgba(30,104,255,.12); color: #74adff; }
html.havin-v071 .notification-dot { border-color: #0a1122; background: var(--havin-aviator-gold); box-shadow: 0 0 10px rgba(212,175,55,.38); }
html.havin-v071 .page-content { max-width: var(--content); padding: 34px 34px 78px; }
html.havin-v071 .page-stack { gap: 24px; }

/* Shared surfaces */
html.havin-v071 .section-block,
html.havin-v071 .panel-block,
html.havin-v071 .content-card,
html.havin-v071 .asset-card,
html.havin-v071 .smart-record-card,
html.havin-v071 .settings-card,
html.havin-v071 .watch-card,
html.havin-v071 .transfer-section,
html.havin-v071 .transfer-list-card,
html.havin-v071 .transfer-success-card,
html.havin-v071 .buyer-preview-intro,
html.havin-v071 .buyer-preview-form,
html.havin-v071 .buyer-preview-summary,
html.havin-v071 .buyer-preview-success,
html.havin-v071 .asset-detail-hero,
html.havin-v071 .asset-table-card,
html.havin-v071 .filter-bar,
html.havin-v071 .portfolio-switcher,
html.havin-v071 .asset-summary-strip,
html.havin-v071 .maintenance-summary-grid,
html.havin-v071 .document-summary-grid,
html.havin-v071 .access-summary-grid,
html.havin-v071 .completion-grid,
html.havin-v071 .identity-grid,
html.havin-v071 .component-card {
  border-color: var(--line);
  background: rgba(13,22,41,.78);
  box-shadow: var(--shadow-sm);
}
html.havin-v071 .section-block,
html.havin-v071 .panel-block,
html.havin-v071 .content-card { border: 1px solid var(--line); border-radius: var(--radius-md); }
html.havin-v071 .section-block { padding: 20px; }
html.havin-v071 .section-heading-row p,
html.havin-v071 .card-heading p { color: var(--slate); }
html.havin-v071 .asset-summary-strip > div,
html.havin-v071 .maintenance-summary-grid > div,
html.havin-v071 .document-summary-grid > div,
html.havin-v071 .access-summary-grid > div,
html.havin-v071 .identity-grid > div { border-color: var(--line); }
html.havin-v071 .asset-summary-strip strong,
html.havin-v071 .maintenance-summary-grid strong,
html.havin-v071 .document-summary-grid strong,
html.havin-v071 .access-summary-grid strong,
html.havin-v071 .identity-grid dd { color: #eef3fa; }
html.havin-v071 .quiet-state { border-color: var(--line); background: rgba(7,11,27,.42); }
html.havin-v071 .quiet-state > span { background: rgba(30,104,255,.12); color: #79b4ff; }

/* Command Center */
html.havin-v071 .command-center-heading { align-items: center; }
html.havin-v071 .command-center-heading h1 { margin-bottom: 7px; font-size: clamp(2rem, 3.3vw, 3.05rem); font-weight: 500; }
html.havin-v071 .command-center-heading p { color: #8f9bb0; }
html.havin-v071 .ownership-status-deck {
  min-height: 246px;
  grid-template-columns: minmax(0, 1.25fr) 200px minmax(250px, .72fr);
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(60,140,255,.16);
  background:
    radial-gradient(circle at 82% 12%, rgba(38,63,159,.28), transparent 26rem),
    radial-gradient(circle at 18% 115%, rgba(36,16,79,.42), transparent 27rem),
    linear-gradient(135deg, #0a1122 0%, #0b1428 54%, #0c1730 100%);
  box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025);
}
html.havin-v071 .ownership-status-deck::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 55%, rgba(30,104,255,.035) 70%, transparent 82%);
}
html.havin-v071 .command-copy { padding: 30px 34px; background: none; }
html.havin-v071 .command-kicker { color: #80b7ff; }
html.havin-v071 .command-copy h2 { max-width: 690px; font-size: clamp(1.7rem, 2.65vw, 2.55rem); font-weight: 470; }
html.havin-v071 .command-copy p { color: #93a1b8; }
html.havin-v071 .command-text-link { color: #90bfff; }
html.havin-v071 .protection-gauge { border-color: rgba(198,204,214,.09); }
html.havin-v071 .protection-ring {
  width: 128px;
  height: 128px;
  background: conic-gradient(var(--havin-electric-blue) var(--protection), rgba(110,165,226,.11) 0);
  box-shadow: 0 0 28px rgba(30,104,255,.22), 0 0 70px rgba(30,104,255,.08);
}
html.havin-v071 .protection-ring::before { width: 108px; height: 108px; background: #0b1428; box-shadow: inset 0 0 25px rgba(30,104,255,.08); }
html.havin-v071 .protection-ring span { color: #8ebcff; }
html.havin-v071 .protection-gauge > small { color: #7e8da5; }
html.havin-v071 .command-metrics > div { border-color: rgba(198,204,214,.08); }
html.havin-v071 .command-metrics span { color: #7988a0; }
html.havin-v071 .command-metrics small { color: #697991; }
html.havin-v071 .command-metrics strong { color: #f5f8fc; }
html.havin-v071 .command-metrics > div:nth-child(2) strong { color: var(--havin-aviator-gold-soft); }

/* Portfolio deck — visual navigation by ownership context. */
html.havin-v071 .portfolio-deck { min-width: 0; }
html.havin-v071 .portfolio-deck-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
html.havin-v071 .portfolio-deck-heading h2 { margin-bottom: 4px; font-size: 1.45rem; }
html.havin-v071 .portfolio-deck-heading p { margin: 0; font-size: .78rem; }
html.havin-v071 .portfolio-deck-actions { display: flex; align-items: center; gap: 14px; }
html.havin-v071 .portfolio-deck-track {
  margin-top: 14px;
  padding-bottom: 5px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(205px, 1fr);
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(110,165,226,.25) transparent;
}
html.havin-v071 .portfolio-deck-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(13,22,41,.72);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
html.havin-v071 .portfolio-deck-card:hover { transform: translateY(-3px); border-color: rgba(60,140,255,.32); box-shadow: 0 18px 38px rgba(0,0,0,.24), 0 0 24px rgba(30,104,255,.06); }
html.havin-v071 .portfolio-deck-visual {
  position: relative;
  height: 112px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(30,104,255,.42), transparent 9rem),
    linear-gradient(135deg, rgba(36,16,79,.76), rgba(12,31,71,.92));
  background-size: cover;
  background-position: center;
}
html.havin-v071 .portfolio-deck-visual.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,8,19,.05), rgba(5,8,19,.56)); }
html.havin-v071 .portfolio-access-label,
html.havin-v071 .portfolio-attention-label,
html.havin-v071 .portfolio-current-label {
  position: absolute;
  z-index: 1;
  top: 10px;
  padding: 5px 7px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  font-size: .57rem;
  font-weight: 720;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html.havin-v071 .portfolio-access-label { left: 10px; border: 1px solid rgba(255,255,255,.09); background: rgba(5,8,19,.56); color: #d6dfec; }
html.havin-v071 .portfolio-attention-label { right: 10px; border: 1px solid rgba(212,175,55,.24); background: rgba(56,44,7,.58); color: var(--havin-aviator-gold-soft); }
html.havin-v071 .portfolio-current-label { right: 10px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid rgba(98,199,155,.18); background: rgba(12,52,41,.55); color: #9be0c1; }
html.havin-v071 .portfolio-deck-copy { padding: 12px 13px 13px; }
html.havin-v071 .portfolio-deck-copy strong,
html.havin-v071 .portfolio-deck-copy span { display: block; }
html.havin-v071 .portfolio-deck-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #eef3fa; font-size: .79rem; }
html.havin-v071 .portfolio-deck-copy span { margin-top: 4px; color: #738199; font-size: .63rem; }
html.havin-v071 .portfolio-empty-cta { margin-top: 14px; padding: 18px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; border: 1px dashed rgba(110,165,226,.24); border-radius: 14px; background: rgba(30,104,255,.04); }
html.havin-v071 .portfolio-empty-cta > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(30,104,255,.12); color: #76afff; }
html.havin-v071 .portfolio-empty-cta strong { color: #eef3fa; }
html.havin-v071 .portfolio-empty-cta p { margin: 3px 0 0; font-size: .72rem; }

html.havin-v071 .command-workspace-grid { grid-template-columns: minmax(0, 1.5fr) minmax(305px, .55fr); gap: 16px; }
html.havin-v071 .action-queue-panel,
html.havin-v071 .automation-panel,
html.havin-v071 .ownership-coverage-panel,
html.havin-v071 .review-strip,
html.havin-v071 .activity-panel-v071,
html.havin-v071 .ownership-next-panel { background: rgba(13,22,41,.66); }
html.havin-v071 .ownership-action-row { border-color: rgba(198,204,214,.08); }
html.havin-v071 .ownership-action-meta > span { color: #78b1ff; }
html.havin-v071 .ownership-action-main h3,
html.havin-v071 .responsibility-heading strong { color: #edf3fb; }
html.havin-v071 .responsibility-heading small { background: rgba(30,104,255,.13); color: #7db5ff; }
html.havin-v071 .severity-marker { background: var(--havin-plane-blue); }
html.havin-v071 .severity-important .severity-marker { background: var(--havin-aviator-gold); box-shadow: 0 0 14px rgba(212,175,55,.18); }
html.havin-v071 .severity-critical .severity-marker { background: var(--critical); }
html.havin-v071 .automation-feed article,
html.havin-v071 .automation-history article,
html.havin-v071 .coverage-list > div,
html.havin-v071 .activity-row,
html.havin-v071 .records-run-list > div,
html.havin-v071 .maintenance-preview-row,
html.havin-v071 .mini-document-list > div { border-color: rgba(198,204,214,.08); }
html.havin-v071 .automation-feed strong,
html.havin-v071 .automation-history strong,
html.havin-v071 .coverage-list strong,
html.havin-v071 .activity-row strong,
html.havin-v071 .records-run-list strong { color: #eaf0f8; }
html.havin-v071 .automation-state,
html.havin-v071 .coverage-list > div > span,
html.havin-v071 .activity-icon,
html.havin-v071 .component-icon,
html.havin-v071 .source-record > span { background: rgba(30,104,255,.11); color: #75afff; }
html.havin-v071 .review-card { border-color: var(--line); background: rgba(7,11,27,.52); }
html.havin-v071 .review-card:hover { border-color: rgba(60,140,255,.3); }
html.havin-v071 .review-card strong { color: #eff4fa; }
html.havin-v071 .review-card > div > span { color: #72adff; }
html.havin-v071 .review-icon { background: rgba(212,175,55,.11); color: var(--havin-aviator-gold-soft); }
html.havin-v071 .today-lower-grid.activity-only { grid-template-columns: 1fr; }
html.havin-v071 .ownership-next-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(38,63,159,.2);
  background: linear-gradient(145deg, rgba(36,16,79,.22), rgba(13,22,41,.78));
}
html.havin-v071 .next-step-list a { border-color: rgba(198,204,214,.08); }
html.havin-v071 .next-step-list a > span { background: rgba(30,104,255,.12); color: #7fb7ff; }

/* Asset and record workspaces */
html.havin-v071 .asset-card:hover { box-shadow: 0 18px 46px rgba(0,0,0,.3), 0 0 24px rgba(30,104,255,.05); border-color: rgba(60,140,255,.26); }
html.havin-v071 .asset-card-image { background: #0d1930; }
html.havin-v071 .asset-card-placeholder { background: linear-gradient(135deg, #111c36, #211148); color: #6ea7fa; }
html.havin-v071 .asset-card-body h3,
html.havin-v071 .asset-card-body dd,
html.havin-v071 .asset-name-cell strong,
html.havin-v071 .asset-key-grid strong,
html.havin-v071 .completion-grid span { color: #eef3fa; }
html.havin-v071 .asset-card-footer { border-color: rgba(198,204,214,.08); }
html.havin-v071 .asset-key-grid > div { border-color: var(--line); background: rgba(7,11,27,.32); }
html.havin-v071 .asset-key-grid svg,
html.havin-v071 .asset-category-label,
html.havin-v071 .document-kind { color: #72adff; }
html.havin-v071 .asset-health-summary,
html.havin-v071 .watch-principle-card,
html.havin-v071 .records-automation-card {
  background: radial-gradient(circle at 100% 0, rgba(38,63,159,.24), transparent 15rem), linear-gradient(145deg, #0b1428, #10182f);
  border: 1px solid rgba(60,140,255,.12);
}
html.havin-v071 .health-ring { background: conic-gradient(var(--havin-electric-blue) var(--health-degrees), rgba(110,165,226,.11) 0); box-shadow: 0 0 18px rgba(30,104,255,.12); }
html.havin-v071 .health-ring::before { background: var(--havin-indigo-900); }
html.havin-v071 .health-ring span { color: #8ebcff; }
html.havin-v071 .detail-tabs { border-color: var(--line); }
html.havin-v071 .detail-tabs button { color: #7f8da3; }
html.havin-v071 .detail-tabs button.active { border-color: var(--havin-electric-blue); color: #80b7ff; }
html.havin-v071 .asset-protection-overview,
html.havin-v071 .role-lab-panel { border-color: rgba(60,140,255,.18); background: linear-gradient(120deg, rgba(30,104,255,.08), rgba(36,16,79,.09)); }
html.havin-v071 .asset-protection-score strong,
html.havin-v071 .role-test-chip span { color: #edf3fa; }
html.havin-v071 .role-test-chip { border-color: var(--line); background: rgba(7,11,27,.5); }
html.havin-v071 .role-test-chip:hover,
html.havin-v071 .role-test-chip.active { border-color: rgba(60,140,255,.35); background: rgba(30,104,255,.1); }
html.havin-v071 .asset-list-row,
html.havin-v071 .asset-table-row,
html.havin-v071 .access-row { border-color: rgba(198,204,214,.08); }
html.havin-v071 .asset-table-row.header,
html.havin-v071 .asset-table.header { background: rgba(7,11,27,.58); color: #8290a5; }
html.havin-v071 .asset-table.row:hover { background: rgba(30,104,255,.035); }
html.havin-v071 .portfolio-switcher select,
html.havin-v071 .pagination-bar select { background: #0a1224; color: #e7eef7; border-color: var(--line); }
html.havin-v071 .portfolio-template > span { background: rgba(7,11,27,.5); color: #75afff; }
html.havin-v071 .portfolio-template.active { border-color: rgba(60,140,255,.45); background: rgba(30,104,255,.1); }
html.havin-v071 .watch-asset-group { border-color: var(--line); border-left-color: var(--havin-electric-blue); background: rgba(13,22,41,.72); }
html.havin-v071 .watch-asset-visual { background: rgba(30,104,255,.11); color: #76afff; }
html.havin-v071 .watch-perspective-toggle { border-color: var(--line); background: rgba(7,11,27,.55); }
html.havin-v071 .watch-perspective-toggle button.active { background: rgba(30,104,255,.11); color: #f1f5fa; }
html.havin-v071 .smart-record-card.status-review-required { border-color: rgba(212,175,55,.28); }
html.havin-v071 .record-file-icon { background: rgba(30,104,255,.1); color: #74adff; }
html.havin-v071 .record-body h2 { color: #eff4fa; }
html.havin-v071 .record-meta > span:first-child { color: #75afff; }

/* Auth and account surfaces */
html.havin-v071 .auth-page { background: var(--havin-indigo-950); }
html.havin-v071 .auth-visual { background: radial-gradient(circle at 15% 85%, rgba(36,16,79,.5), transparent 28rem), linear-gradient(145deg, #070b1b, #0d1932); }
html.havin-v071 .auth-panel { background: #0b1325; }
html.havin-v071 .auth-card label { color: #dce4ef; }
html.havin-v071 .auth-card input { border-color: var(--line); background: rgba(7,11,27,.65); color: #eef3fa; }
html.havin-v071 .security-note { background: rgba(30,104,255,.1); color: #a8cdff; }
html.havin-v071 .fatal-error code { border-color: var(--line); background: #0a1224; color: #dce5f0; }

/* Legacy v0.6 foundation components used by Guide, Plans, Halo and onboarding. */
html.havin-v071 {
  --hv60-teal: var(--havin-electric-blue);
  --hv60-teal-dark: #73adff;
  --hv60-teal-light: rgba(30,104,255,.11);
  --hv60-off-white: var(--havin-indigo-950);
  --hv60-white: var(--havin-indigo-850);
  --hv60-slate: #96a4b8;
  --hv60-border: rgba(198,204,214,.13);
  --hv60-shadow: 0 24px 70px rgba(0,0,0,.36);
}
html.havin-v071 #havin-v060-root { color: #eaf0f8; }
html.havin-v071 .hv60-guide-card,
html.havin-v071 .hv60-card,
html.havin-v071 .hv60-callout,
html.havin-v071 .hv60-plan-card,
html.havin-v071 .hv60-comparison > article,
html.havin-v071 .hv60-chat-preview,
html.havin-v071 .hv60-plus-feature-grid article,
html.havin-v071 .hv60-ask,
html.havin-v071 .hv60-answer,
html.havin-v071 .hv60-preferences label,
html.havin-v071 .hv60-legal-copy,
html.havin-v071 .hv60-settings-entry,
html.havin-v071 .settings-platform-card,
html.havin-v071 .capture-photo-card {
  border-color: var(--hv60-border);
  background: rgba(13,22,41,.82);
  color: #eaf0f8;
}
html.havin-v071 .hv60-card h1,
html.havin-v071 .hv60-card h2,
html.havin-v071 .hv60-card h3,
html.havin-v071 .hv60-callout h1,
html.havin-v071 .hv60-callout h2,
html.havin-v071 .hv60-callout h3,
html.havin-v071 .hv60-plan-card h3,
html.havin-v071 .hv60-comparison h3,
html.havin-v071 .hv60-legal-copy h1,
html.havin-v071 .hv60-legal-copy h2 { color: #f0f4fa; }
html.havin-v071 .hv60-guide-card p,
html.havin-v071 .hv60-card p,
html.havin-v071 .hv60-callout p,
html.havin-v071 .hv60-plan-card p,
html.havin-v071 .hv60-plus-feature-grid p,
html.havin-v071 .hv60-legal-copy p { color: #98a5b9; }
html.havin-v071 .hv60-eyebrow { color: #79b2ff; }
html.havin-v071 .hv60-launcher { border-color: rgba(60,140,255,.2); background: #0a1224; color: #fff; box-shadow: 0 12px 34px rgba(0,0,0,.38); }
html.havin-v071 .hv60-launcher span { background: linear-gradient(145deg, var(--havin-aviator-blue), var(--havin-electric-blue)); box-shadow: 0 0 14px rgba(30,104,255,.24); }
html.havin-v071 .hv60-ask-locked { border-color: rgba(60,140,255,.16); background: radial-gradient(circle at 100% 0, rgba(36,16,79,.32), transparent 18rem), rgba(13,22,41,.82); }
html.havin-v071 .hv60-ask-lock { background: linear-gradient(145deg, #182e70, #28104f); color: #8dc0ff; box-shadow: 0 0 22px rgba(30,104,255,.12); }
html.havin-v071 .hv60-ask textarea,
html.havin-v071 .hv60-deletion-confirm textarea { border-color: var(--line); background: rgba(7,11,27,.62); color: #edf3fb; }
html.havin-v071 .hv60-chat-user { background: rgba(198,204,214,.07); }
html.havin-v071 .hv60-chat-havin,
html.havin-v071 .hv60-example-plus { background: rgba(30,104,255,.09); border-color: rgba(60,140,255,.18); }
html.havin-v071 .hv60-comparison > article.plus { border-color: var(--havin-electric-blue); }
html.havin-v071 .hv60-progress { background: rgba(198,204,214,.08); }
html.havin-v071 .hv60-progress span { background: linear-gradient(90deg, var(--havin-aviator-blue), var(--havin-electric-blue)); }
html.havin-v071 .hv60-onboarding { background: #0c1529; color: #eef3fa; }
html.havin-v071 .hv60-onboarding-actions { border-color: var(--line); background: #0a1224; }
html.havin-v071 .hv60-consent { border-color: var(--line); background: rgba(7,11,27,.52); color: #dbe4ef; }
html.havin-v071 .hv60-toast { border-color: var(--line); border-left-color: var(--havin-electric-blue); background: #0d172b; color: #eef3fa; box-shadow: 0 18px 48px rgba(0,0,0,.42); }
html.havin-v071 .hv60-trust-layout > nav button { border-color: var(--line); background: rgba(13,22,41,.8); color: #eaf0f8; }
html.havin-v071 .hv60-trust-layout > nav button.active { border-color: rgba(60,140,255,.32); background: rgba(30,104,255,.1); }
html.havin-v071 .hv60-public-trust-page { background: var(--havin-indigo-950); color: #eaf0f8; }

/* Gold is deliberately scarce: warnings, premium cues, and small emphasis only. */
html.havin-v071 .plus-label,
html.havin-v071 .pro-badge,
html.havin-v071 .plan-badge { background: rgba(212,175,55,.12); color: var(--havin-aviator-gold-soft); }
html.havin-v071 .mini-document-list > div > span { background: rgba(212,175,55,.1); color: var(--havin-aviator-gold-soft); }
html.havin-v071 .profile-plan,
html.havin-v071 .upgrade-accent { color: var(--havin-aviator-gold-soft); }

/* Responsive shell */
@media (max-width: 1180px) {
  html.havin-v071 .app-shell { grid-template-columns: 204px minmax(0, 1fr); }
  html.havin-v071 .desktop-rail { width: 204px; }
  html.havin-v071 .ownership-status-deck { grid-template-columns: minmax(0, 1fr) 185px; }
  html.havin-v071 .command-workspace-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  html.havin-v071 .app-shell { display: block; }
  html.havin-v071 .main-column { width: 100%; }
  html.havin-v071 .topbar {
    min-height: calc(62px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 12px 0;
    background: rgba(7,11,27,.92);
  }
  html.havin-v071 .mobile-brand .brand-logo { width: 110px; height: auto; border: 0; box-shadow: none; }
  html.havin-v071 .mobile-search-sheet { border-color: var(--line); background: rgba(8,14,29,.98); box-shadow: 0 20px 48px rgba(0,0,0,.4); }
  html.havin-v071 .mobile-search-field { border-color: var(--line); background: #0d172b; color: #76859c; }
  html.havin-v071 .mobile-search-field input { color: #eef3fa; }
  html.havin-v071 .mobile-search-results button { background: rgba(13,22,41,.82); }
  html.havin-v071 .mobile-search-results button strong { color: #eef3fa; }
  html.havin-v071 .mobile-drawer { background: linear-gradient(180deg, #090f20, #070b18); }
  html.havin-v071 .mobile-drawer-scrim { background: rgba(2,5,13,.72); }
  html.havin-v071 .mobile-drawer-link { color: #8795aa; }
  html.havin-v071 .mobile-drawer-link.active { background: rgba(30,104,255,.13); color: #fff; }
  html.havin-v071 .page-content { padding: 24px 16px calc(106px + env(safe-area-inset-bottom)); }
  html.havin-v071 .portfolio-deck-track { grid-auto-columns: minmax(190px, 70vw); }
  html.havin-v071 .ownership-status-deck { grid-template-columns: minmax(0, 1fr) 180px; }
  html.havin-v071 .today-side-stack { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  html.havin-v071 .mobile-nav {
    border-top: 1px solid rgba(198,204,214,.11);
    background: rgba(7,11,27,.94);
    backdrop-filter: blur(18px);
    box-shadow: 0 -16px 40px rgba(0,0,0,.28);
  }
  html.havin-v071 .mobile-link { color: #76869e; }
  html.havin-v071 .mobile-link.active { color: #78b2ff; }
  html.havin-v071 .mobile-add {
    border: 1px solid rgba(110,165,226,.25);
    background: linear-gradient(145deg, #174fbf, var(--havin-electric-blue));
    box-shadow: 0 0 24px rgba(30,104,255,.2), 0 8px 24px rgba(0,0,0,.3);
  }
}

@media (max-width: 620px) {
  html.havin-v071 .page-content { padding-left: 13px; padding-right: 13px; }
  html.havin-v071 .page-stack { gap: 20px; }
  html.havin-v071 .command-center-heading { align-items: stretch; }
  html.havin-v071 .heading-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  html.havin-v071 .heading-actions .button-primary { grid-column: 1 / -1; }
  html.havin-v071 .ownership-status-deck { display: flex; flex-direction: column; }
  html.havin-v071 .command-copy { padding: 23px 19px; }
  html.havin-v071 .command-copy h2 { font-size: 1.85rem; }
  html.havin-v071 .protection-gauge { padding: 22px; }
  html.havin-v071 .command-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
  html.havin-v071 .command-metrics > div { min-width: 0; padding: 16px 12px; border-right: 1px solid rgba(198,204,214,.08); border-bottom: 0; }
  html.havin-v071 .command-metrics > div:last-child { border-right: 0; }
  html.havin-v071 .command-metrics span { font-size: .56rem; }
  html.havin-v071 .command-metrics strong { font-size: 1.25rem; }
  html.havin-v071 .command-metrics small { display: none; }
  html.havin-v071 .portfolio-deck-heading { align-items: flex-start; }
  html.havin-v071 .portfolio-deck-actions .button { display: none; }
  html.havin-v071 .portfolio-deck-track { grid-auto-columns: minmax(184px, 76vw); }
  html.havin-v071 .section-block { padding: 16px; }
  html.havin-v071 .today-side-stack { display: flex; }
  html.havin-v071 .review-card-grid,
  html.havin-v071 .today-lower-grid { grid-template-columns: 1fr; }
  html.havin-v071 .ownership-action-row { grid-template-columns: 1fr; }
}

/* v0.7.1 full-surface normalization — remove remaining light/teal legacy islands. */
html.havin-v071 .status-unknown,
html.havin-v071 .status-expired,
html.havin-v071 .maintenance-icon.unknown,
html.havin-v071 .watch-status,
html.havin-v071 .summary-icon.unmatched,
html.havin-v071 .record-status.unmatched,
html.havin-v071 .transfer-status-icon.canceled,
html.havin-v071 .transfer-status-icon.declined,
html.havin-v071 .transfer-status-icon.expired {
  background: rgba(198,204,214,.08);
  color: #93a0b4;
}

html.havin-v071 .health-bar,
html.havin-v071 .view-toggle,
html.havin-v071 .switch span {
  background: rgba(198,204,214,.12);
}
html.havin-v071 .switch span::after { background: #e7edf6; }
html.havin-v071 .view-toggle button { color: #8190a6; }
html.havin-v071 .view-toggle button.active { background: rgba(30,104,255,.14); color: #d9eaff; box-shadow: none; }

html.havin-v071 .asset-table.header,
html.havin-v071 .asset-table-row.header,
html.havin-v071 .maintenance-table.header,
html.havin-v071 .maintenance-board-header,
html.havin-v071 .access-table.header,
html.havin-v071 .owner-row,
html.havin-v071 .watch-asset-header,
html.havin-v071 .modal-header {
  background: rgba(7,11,27,.58);
  border-color: rgba(198,204,214,.08);
  color: #8492a8;
}
html.havin-v071 .asset-table.row:hover,
html.havin-v071 .records-inbox-summary button:hover,
html.havin-v071 .records-inbox-summary button.active { background: rgba(30,104,255,.05); }
html.havin-v071 .asset-name-cell img,
html.havin-v071 .candidate-image,
html.havin-v071 .asset-detail-image { background: #0b1427; }

html.havin-v071 .warning-summary,
html.havin-v071 .followup-callout,
html.havin-v071 .recommended-action,
html.havin-v071 .modal-note,
html.havin-v071 .settings-help,
html.havin-v071 .transfer-record-note,
html.havin-v071 .buyer-preview-disclaimer,
html.havin-v071 .mfa-secret {
  border-color: rgba(212,175,55,.16);
  background: rgba(212,175,55,.07);
  color: #d8c47d;
}
html.havin-v071 .followup-callout svg,
html.havin-v071 .recommended-action svg { color: var(--havin-aviator-gold-soft); }

html.havin-v071 .upload-drop,
html.havin-v071 .service-upload-field,
html.havin-v071 .empty-state,
html.havin-v071 .empty-page,
html.havin-v071 .empty-watch,
html.havin-v071 .empty-property,
html.havin-v071 .empty-asset-pulse {
  border-color: rgba(110,165,226,.2);
  background: rgba(13,22,41,.45);
  color: #84b8ff;
}
html.havin-v071 .upload-drop:hover,
html.havin-v071 .service-upload-field:hover { border-color: rgba(60,140,255,.48); background: rgba(30,104,255,.06); }
html.havin-v071 .scan-line { background: var(--havin-electric-blue); box-shadow: 0 0 12px rgba(30,104,255,.72); }
html.havin-v071 .image-edit { border: 1px solid rgba(198,204,214,.16); background: rgba(7,11,27,.84); color: #eef3fa; }

html.havin-v071 .access-principle p,
html.havin-v071 .permission-preview p { color: #8e9db1; }
html.havin-v071 .invitation-card.incoming { border-color: rgba(60,140,255,.2); background: rgba(30,104,255,.055); }
html.havin-v071 .bulk-action-bar { border-color: rgba(60,140,255,.22); background: rgba(30,104,255,.08); }
html.havin-v071 .settings-row select,
html.havin-v071 .preference-row select,
html.havin-v071 .buyer-duration-options button,
html.havin-v071 .transfer-link-box input {
  border-color: var(--line);
  background: #0a1224;
  color: #dfe7f1;
}

html.havin-v071 .record-summary > span,
html.havin-v071 .mfa-secret button {
  background: rgba(30,104,255,.1);
  color: #77b0ff;
}
html.havin-v071 .quiet-state,
html.havin-v071 .quiet-state.elevated { background: rgba(7,11,27,.36); }

html.havin-v071 .security-control,
html.havin-v071 .device-row,
html.havin-v071 .security-stat-row > span,
html.havin-v071 .preference-row,
html.havin-v071 .transfer-scope-toggle button,
html.havin-v071 .transfer-destination-toggle button,
html.havin-v071 .transfer-legal-check,
html.havin-v071 .transfer-manifest-grid > div,
html.havin-v071 .mfa-transfer-state,
html.havin-v071 .buyer-duration-options button {
  border-color: var(--line);
  background: rgba(7,11,27,.42);
  color: #a5b1c4;
}
html.havin-v071 .transfer-scope-toggle button:hover,
html.havin-v071 .transfer-destination-toggle button:hover,
html.havin-v071 .buyer-duration-options button:hover { border-color: rgba(60,140,255,.34); background: rgba(30,104,255,.06); }
html.havin-v071 .transfer-scope-toggle button.active,
html.havin-v071 .transfer-destination-toggle button.active,
html.havin-v071 .buyer-duration-options button.active { border-color: rgba(60,140,255,.5); background: rgba(30,104,255,.11); color: #edf4ff; }
html.havin-v071 .smart-record-card.security-blocked { border-color: rgba(255,107,120,.3); background: rgba(255,107,120,.06); }

/* Portfolio and asset discovery use contextual lanes rather than a catalog-first visual hierarchy. */
html.havin-v071 .portfolio-overview { gap: 9px; padding-bottom: 7px; }
html.havin-v071 .portfolio-overview-card {
  border-color: rgba(198,204,214,.1);
  background: rgba(13,22,41,.62);
  color: #edf3fa;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
html.havin-v071 .portfolio-overview-card:hover { border-color: rgba(60,140,255,.3); background: rgba(17,28,51,.8); }
html.havin-v071 .portfolio-overview-card.active { border-color: rgba(60,140,255,.44); background: linear-gradient(135deg, rgba(30,104,255,.12), rgba(36,16,79,.1)); box-shadow: inset 2px 0 0 var(--havin-electric-blue); }
html.havin-v071 .portfolio-overview-icon,
html.havin-v071 .portfolio-overview-card.active .portfolio-overview-icon { background: rgba(30,104,255,.1); color: #76b0ff; }
html.havin-v071 .asset-summary-strip > div { background: rgba(13,22,41,.54); border-color: rgba(198,204,214,.09); }
html.havin-v071 .asset-summary-strip strong { color: #f0f4f9; }
html.havin-v071 .filter-bar { background: rgba(9,15,31,.56); }

/* v0.6 foundation controls that intentionally remain in v0.7.1. */
html.havin-v071 .hv60-link-button,
html.havin-v071 .hv60-upgrade-value,
html.havin-v071 .hv60-chat-sources span,
html.havin-v071 .hv60-example-basic,
html.havin-v071 .hv60-trust-layout > nav button,
html.havin-v071 .hv60-source-warning,
html.havin-v071 .hv60-legal-copy footer,
html.havin-v071 .hv60-success,
html.havin-v071 .service-history-documents button,
html.havin-v071 .watch-priority,
html.havin-v071 .portfolio-overview-card.active .portfolio-overview-icon {
  border-color: var(--hv60-border) !important;
  background: rgba(7,11,27,.48) !important;
  color: #dfe7f2 !important;
}
html.havin-v071 .hv60-source-warning,
html.havin-v071 .hv60-legal-copy footer { border-left-color: var(--havin-aviator-gold); background: rgba(212,175,55,.07) !important; color: #d8c47d !important; }
html.havin-v071 .hv60-success { background: rgba(98,199,155,.09) !important; color: #83d8b2 !important; }
html.havin-v071 .watch-priority.critical { background: rgba(255,107,120,.1) !important; color: #ff9aa4 !important; }
html.havin-v071 .watch-priority.important { background: rgba(212,175,55,.1) !important; color: var(--havin-aviator-gold-soft) !important; }

/* Gold is deliberately scarce: premium, deadline, and high-value states only. */
html.havin-v071 .plan-badge,
html.havin-v071 .premium-badge,
html.havin-v071 .due-soon,
html.havin-v071 .status-warning { color: var(--havin-aviator-gold-soft); }

/* Reduced motion keeps dimensional effects tasteful and accessible. */
@media (prefers-reduced-motion: reduce) {
  html.havin-v071 *,
  html.havin-v071 *::before,
  html.havin-v071 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Final dark-mode cleanup for infrequent workflows and first-run states. */
html.havin-v071 .camera-stage,
html.havin-v071 .property-placeholder,
html.havin-v071 .detail-image-placeholder {
  background: linear-gradient(135deg, #0c172b, #15122c);
  color: #7791b8;
}
html.havin-v071 .skeleton {
  background: linear-gradient(90deg, rgba(198,204,214,.055) 25%, rgba(110,165,226,.105) 37%, rgba(198,204,214,.055) 63%);
  background-size: 400% 100%;
}
html.havin-v071 .global-error-banner {
  border-color: rgba(255,107,120,.28);
  background: rgba(255,107,120,.08);
  color: #ffb0b8;
}
html.havin-v071 .asset-ownership-line,
html.havin-v071 .permission-mini-label,
html.havin-v071 .incoming-capabilities span,
html.havin-v071 .invite-acceptance-details > div,
html.havin-v071 .record-visibility,
html.havin-v071 .visible-owner-work,
html.havin-v071 .usage-card,
html.havin-v071 .settings-events {
  border-color: rgba(198,204,214,.09);
  background: rgba(7,11,27,.42);
  color: #a5b1c4;
}
html.havin-v071 .role-capability-panel {
  border-color: rgba(60,140,255,.14);
  background: linear-gradient(145deg, rgba(30,104,255,.055), rgba(36,16,79,.08));
}
html.havin-v071 .inline-profile-select select,
html.havin-v071 .permission-preview span,
html.havin-v071 .pagination-bar button,
html.havin-v071 .plan-selector button {
  border-color: var(--line);
  background: rgba(7,11,27,.54);
  color: #dce5f0;
}
html.havin-v071 .asset-select {
  border-color: rgba(198,204,214,.2);
  background: #0a1224;
  color: #71829d;
}
html.havin-v071 .asset-select.active {
  border-color: rgba(60,140,255,.55);
  background: var(--havin-electric-blue);
  color: #fff;
  box-shadow: 0 0 14px rgba(30,104,255,.18);
}
html.havin-v071 .pagination-bar button:hover,
html.havin-v071 .plan-selector button:hover { border-color: rgba(60,140,255,.34); background: rgba(30,104,255,.065); }
html.havin-v071 .plan-selector button.active { border-color: rgba(212,175,55,.35); background: rgba(212,175,55,.08); color: var(--havin-aviator-gold-soft); }

html.havin-v071 .hv60-dialog-header,
html.havin-v071 .hv60-close,
html.havin-v071 .hv60-danger-zone,
html.havin-v071 .hv60-plan-status,
html.havin-v071 .hv60-secondary,
html.havin-v071 .hv60-platform-nav,
html.havin-v071 .service-history-attachment,
html.havin-v071 .portfolio-switcher-select select {
  border-color: var(--hv60-border);
  background: rgba(10,18,36,.96);
  color: #dce5f0;
}
html.havin-v071 .hv60-upgrade-hero {
  border-color: rgba(60,140,255,.18);
  background: radial-gradient(circle at 86% 12%, rgba(36,16,79,.26), transparent 22rem), linear-gradient(135deg, #0b1428, #0e1a31);
}
html.havin-v071 .asset-workspace-nav {
  border-color: rgba(198,204,214,.09);
  background: rgba(7,11,27,.44);
}
html.havin-v071 .asset-workspace-nav a { color: #8290a5; }
html.havin-v071 .asset-workspace-nav a:hover { color: #e8eff8; background: rgba(255,255,255,.025); }
html.havin-v071 .asset-workspace-nav a.active {
  background: rgba(30,104,255,.11);
  color: #eaf3ff;
  box-shadow: inset 0 -2px 0 var(--havin-electric-blue);
}
html.havin-v071 .asset-build-chip {
  border-color: rgba(60,140,255,.24);
  background: rgba(30,104,255,.09);
  color: #8ebcff;
}
html.havin-v071 .asset-build-chip.review-required,
html.havin-v071 .asset-build-inline.review-required {
  border-color: rgba(212,175,55,.26);
  background: rgba(212,175,55,.08);
  color: var(--havin-aviator-gold-soft);
}
html.havin-v071 .asset-build-inline { color: #8ebcff; }
html.havin-v071 .hv60-toast .hv60-toast-action:hover { border-color: rgba(60,140,255,.42); color: #a9cfff; }

/* Remove the last hard-coded teal tints from retained v0.6 components. */
html.havin-v071 .hv60-foundation > aside nav button:hover,
html.havin-v071 .hv60-foundation > aside nav button.active { background: rgba(30,104,255,.17); }
html.havin-v071 .hv60-callout,
html.havin-v071 .hv60-upgrade-hero,
html.havin-v071 .hv60-upgrade-value,
html.havin-v071 .hv60-ask-plus-summary,
html.havin-v071 .hv60-release-badge { border-color: rgba(60,140,255,.2); }
html.havin-v071 .hv60-plan-card.highlighted {
  border-color: rgba(212,175,55,.42);
  box-shadow: 0 16px 44px rgba(0,0,0,.28), 0 0 30px rgba(212,175,55,.045);
}
html.havin-v071 .hv60-plan-card-heading em { background: rgba(212,175,55,.1); color: var(--havin-aviator-gold-soft); }
html.havin-v071 .hv60-ask-plus-heading { color: var(--havin-aviator-gold-soft); }
html.havin-v071 .settings-platform-card:hover { border-color: rgba(60,140,255,.36); box-shadow: 0 14px 32px rgba(0,0,0,.22); }
html.havin-v071 .app-loading,
html.havin-v071 .fatal-state,
html.havin-v071 .fatal-error {
  background: radial-gradient(circle at 16% 14%, rgba(36,16,79,.16), transparent 28rem), var(--havin-indigo-950);
  color: #eef3fa;
}
html.havin-v071 .app-loading p,
html.havin-v071 .fatal-state p,
html.havin-v071 .fatal-error p { color: #97a5b9; }
html.havin-v071 .auth-story {
  background: radial-gradient(circle at 78% 22%, rgba(38,63,159,.22), transparent 28rem), radial-gradient(circle at 15% 85%, rgba(36,16,79,.28), transparent 30rem), #070b1b;
}
html.havin-v071 .auth-feature-grid > div { border-color: rgba(198,204,214,.11); background: rgba(255,255,255,.025); color: #80b7ff; }
html.havin-v071 .auth-feature-grid span { color: #8b98ac; }
html.havin-v071 .auth-feature-grid strong { color: #edf3fa; }
html.havin-v071 .auth-legal-links a { color: #8ca0bb; }
html.havin-v071 .auth-legal-links a:hover { color: #c9ddf7; }

/* v0.7.2 ownership intelligence refinements */
html.havin-v071 .maintenance-summary-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
html.havin-v071 .page-header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
html.havin-v071 .form-trust-note { margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--paper) 92%, var(--accent) 8%); color: var(--muted); font-size: 0.78rem; line-height: 1.45; }
html.havin-v071 .joined-unit { display: inline-flex; align-items: center; padding: 0 12px; border-left: 1px solid var(--line); color: var(--muted); font-size: 0.78rem; font-weight: 700; }
@media (max-width: 1080px) { html.havin-v071 .maintenance-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) { html.havin-v071 .maintenance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } html.havin-v071 .page-header-actions { width: 100%; } html.havin-v071 .page-header-actions .button { flex: 1; justify-content: center; } }
/* Hāvin v0.7.3 — Experimental Blue palette + contrast correction
   Locked six-color product palette: Deep Indigo, Royal Purple, Aviator Blue,
   Electric Blue, Silver, Aviator Gold. Semantic red/green remain status-only.
   This layer preserves v0.7.1/v0.7.2 structure while correcting contrast and
   making Royal Purple a deliberate supporting color rather than a hidden tint. */

:root {
  --havin-deep-indigo: #070b1b;
  --havin-royal-purple: #2d145f;
  --havin-royal-purple-deep: #1b0c42;
  --havin-royal-purple-bright: #7650dd;
  --havin-aviator-blue: #263f9f;
  --havin-electric-blue: #1e68ff;
  --havin-silver: #c6ccd6;
  --havin-aviator-gold: #d4af37;
  --havin-text-primary: #f2f6fb;
  --havin-text-secondary: #aab5c6;
  --havin-text-muted: #8290a6;
}

html.havin-v073 body {
  background:
    radial-gradient(circle at 8% 8%, rgba(45,20,95,.24), transparent 30rem),
    radial-gradient(circle at 91% -8%, rgba(38,63,159,.20), transparent 34rem),
    var(--havin-deep-indigo);
}

/* Palette balance: purple supports intelligent/selected surfaces; blue remains action. */
html.havin-v073 .desktop-rail {
  background:
    radial-gradient(circle at 8% 9%, rgba(45,20,95,.32), transparent 14rem),
    radial-gradient(circle at 100% 30%, rgba(38,63,159,.13), transparent 16rem),
    linear-gradient(180deg, #090f20 0%, #070b18 100%);
}
html.havin-v073 .rail-link.active {
  border-color: rgba(118,80,221,.30);
  background: linear-gradient(90deg, rgba(45,20,95,.50), rgba(30,104,255,.15));
  box-shadow: inset 2px 0 0 var(--havin-electric-blue), 0 9px 26px rgba(0,0,0,.14);
}
html.havin-v073 .rail-automation-note,
html.havin-v073 .role-capability-panel,
html.havin-v073 .asset-protection-overview,
html.havin-v073 .ownership-next-panel {
  background: linear-gradient(145deg, rgba(45,20,95,.20), rgba(13,22,41,.78));
}
html.havin-v073 .portfolio-deck-visual {
  background:
    radial-gradient(circle at 82% 18%, rgba(30,104,255,.44), transparent 9rem),
    linear-gradient(135deg, rgba(45,20,95,.92), rgba(17,39,91,.96));
}
html.havin-v073 .watch-filter-bar,
html.havin-v073 .filter-bar {
  border-color: rgba(118,80,221,.16);
  background: linear-gradient(135deg, rgba(45,20,95,.12), rgba(9,15,31,.68) 44%, rgba(38,63,159,.055));
}
html.havin-v073 .watch-perspective-toggle {
  border-color: rgba(118,80,221,.22);
  background: rgba(7,11,27,.72);
}
html.havin-v073 .watch-perspective-toggle button {
  color: var(--havin-text-secondary);
}
html.havin-v073 .watch-perspective-toggle button.active {
  border: 1px solid rgba(118,80,221,.24);
  background: linear-gradient(135deg, rgba(45,20,95,.82), rgba(30,104,255,.17));
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

/* Critical contrast correction: retained legacy components used --deep as text.
   In the dark product shell those values were nearly black on navy. */
html.havin-v073 .health-inline strong,
html.havin-v073 .asset-list-row strong,
html.havin-v073 .maintenance-table.row strong,
html.havin-v073 .access-row strong,
html.havin-v073 .summary-card strong,
html.havin-v073 .maintenance-board-row strong,
html.havin-v073 .upload-drop strong,
html.havin-v073 .access-table.row strong,
html.havin-v073 .profile-settings strong,
html.havin-v073 .quiet-state strong,
html.havin-v073 .empty-property strong,
html.havin-v073 .empty-asset-pulse strong,
html.havin-v073 .notification-panel > button strong,
html.havin-v073 .next-step-list strong,
html.havin-v073 .watch-summary strong,
html.havin-v073 .records-inbox-summary strong,
html.havin-v073 .records-inbox-summary button > span:not(.summary-icon),
html.havin-v073 .asset-ownership-line span,
html.havin-v073 .asset-access-context > div strong,
html.havin-v073 .people-view-tabs button span,
html.havin-v073 .incoming-scope-name,
html.havin-v073 .permission-preview > strong,
html.havin-v073 .security-event-list strong,
html.havin-v073 .invite-acceptance-details strong,
html.havin-v073 .visible-owner-work strong,
html.havin-v073 .bulk-action-bar strong,
html.havin-v073 .asset-table-row a strong,
html.havin-v073 .asset-table-row > span strong,
html.havin-v073 .usage-card > strong,
html.havin-v073 .security-control strong,
html.havin-v073 .security-subheading strong,
html.havin-v073 .device-row strong,
html.havin-v073 .security-stat-row strong,
html.havin-v073 .preference-row strong,
html.havin-v073 .mfa-secret code,
html.havin-v073 .transfer-scope-toggle strong,
html.havin-v073 .transfer-destination-toggle strong,
html.havin-v073 .transfer-summary-card dd,
html.havin-v073 .transfer-manifest-grid strong,
html.havin-v073 .transfer-list-copy strong,
html.havin-v073 .mfa-transfer-state strong,
html.havin-v073 .buyer-duration-fieldset legend,
html.havin-v073 .buyer-preview-list > strong {
  color: var(--havin-text-primary);
}

html.havin-v073 .asset-access-badge,
html.havin-v073 .inline-role-badge,
html.havin-v073 .record-role {
  border-color: rgba(118,80,221,.22);
  background: rgba(45,20,95,.22);
  color: #dcd1ff;
}
html.havin-v073 .settings-nav a:hover,
html.havin-v073 .settings-nav a.active {
  background: rgba(45,20,95,.28);
  color: var(--havin-text-primary);
}

/* Watch summary cards: make values readable and the palette purposeful. */
html.havin-v073 .watch-summary {
  position: relative;
  overflow: hidden;
  border-color: rgba(198,204,214,.14);
  background: linear-gradient(145deg, rgba(15,26,48,.96), rgba(10,18,36,.96));
}
html.havin-v073 .watch-summary::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  opacity: .66;
  background: var(--havin-aviator-blue);
}
html.havin-v073 .watch-summary.critical::after { background: var(--critical); }
html.havin-v073 .watch-summary.important::after { background: var(--havin-aviator-gold); }
html.havin-v073 .watch-summary.routine::after { background: var(--havin-aviator-blue); }
html.havin-v073 .watch-summary.scan::after { background: linear-gradient(90deg, var(--havin-royal-purple-bright), var(--havin-electric-blue)); }
html.havin-v073 .watch-summary.scan > span {
  background: rgba(45,20,95,.40);
  color: #8ebcff;
  box-shadow: inset 0 0 0 1px rgba(118,80,221,.15);
}
html.havin-v073 .watch-summary strong {
  color: var(--havin-text-primary);
  font-weight: 620;
  letter-spacing: -.02em;
}
html.havin-v073 .watch-summary small {
  color: var(--havin-text-secondary);
}

/* Keep small blue text accessible: Electric Blue is action/decorative; light blue is copy. */
html.havin-v073 .text-button,
html.havin-v073 .text-link,
html.havin-v073 .inline-link,
html.havin-v073 .command-text-link,
html.havin-v073 .ownership-action-meta > span {
  color: #8fc0ff;
}

/* Inputs and selects need explicit legible option text in Safari/iOS. */
html.havin-v073 .select-control,
html.havin-v073 .select-control select,
html.havin-v073 .page-search,
html.havin-v073 .page-search input,
html.havin-v073 .field input,
html.havin-v073 .field select,
html.havin-v073 .field textarea {
  color: #eef3fa;
}
html.havin-v073 .select-control select option {
  background: #0a1224;
  color: #eef3fa;
}

/* Refine mobile chrome and density without changing navigation behavior. */
@media (max-width: 900px) {
  html.havin-v073 .topbar {
    background:
      linear-gradient(90deg, rgba(45,20,95,.12), transparent 38%),
      rgba(7,11,27,.95);
  }
  html.havin-v073 .mobile-drawer {
    background:
      radial-gradient(circle at 10% 10%, rgba(45,20,95,.32), transparent 18rem),
      linear-gradient(180deg, #090f20, #070b18);
  }
  html.havin-v073 .mobile-drawer-link.active {
    background: linear-gradient(90deg, rgba(45,20,95,.42), rgba(30,104,255,.12));
  }
  html.havin-v073 .mobile-nav {
    border: 1px solid rgba(198,204,214,.17);
    background: rgba(7,11,27,.96);
    box-shadow: 0 -12px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.025);
  }
  html.havin-v073 .mobile-link.active {
    color: #83b9ff;
    text-shadow: 0 0 14px rgba(30,104,255,.16);
  }
}

@media (max-width: 620px) {
  html.havin-v073 .watch-summary-grid { gap: 10px; }
  html.havin-v073 .watch-summary {
    min-height: 118px;
    padding: 14px 13px;
    column-gap: 10px;
  }
  html.havin-v073 .watch-summary > span {
    width: 36px;
    height: 36px;
  }
  html.havin-v073 .watch-summary strong {
    font-size: 1.42rem;
  }
  html.havin-v073 .watch-summary small {
    font-size: .68rem;
  }
  html.havin-v073 .watch-filter-bar {
    padding: 12px;
  }
}

/* Remaining legacy legal/transfer copy must stay readable on the gold-tinted dark callout. */
html.havin-v073 .transfer-platform-disclaimer {
  border-color: rgba(212,175,55,.22);
  background: rgba(212,175,55,.075);
  color: #e4d39a;
}
html.havin-v073 .transfer-platform-disclaimer strong { color: var(--havin-aviator-gold-soft); }

/* The trust card is a natural home for the purple/blue intelligence pairing. */
html.havin-v073 .watch-principle-card,
html.havin-v073 .records-automation-card {
  border: 1px solid rgba(118,80,221,.18);
  background:
    radial-gradient(circle at 88% 4%, rgba(30,104,255,.20), transparent 14rem),
    linear-gradient(145deg, rgba(45,20,95,.54), rgba(10,18,36,.98));
}
html.havin-v073 .watch-principle-card > svg,
html.havin-v073 .records-automation-card > svg { color: #9d86ef; }
/* Hāvin v0.7.4 — critics audit, interaction hardening, and locked identity. */
:root {
  --havin-deep-purple: #4b2a72;
  --havin-midnight-navy: #0d1426;
  --havin-experimental-blue: #1e3a8a;
  --havin-sky-blue: #3fa7e1;
  --havin-aviator-gold: #d4af37;
  --havin-white: #ffffff;

  --havin-indigo-1000: #080d1a;
  --havin-indigo-950: var(--havin-midnight-navy);
  --havin-indigo-900: #111b33;
  --havin-indigo-850: #15213d;
  --havin-indigo-800: #1a294a;
  --havin-purple: var(--havin-deep-purple);
  --havin-purple-bright: #7650a1;
  --havin-aviator-blue: var(--havin-experimental-blue);
  --havin-electric-blue: var(--havin-sky-blue);
  --havin-electric-blue-bright: #6bc4f1;
  --havin-plane-blue: #8bcdf0;
  --deep: var(--havin-midnight-navy);
  --deep-2: #15213d;
  --teal: var(--havin-sky-blue);
  --teal-dark: #2f8fc5;
  --teal-soft: rgba(63, 167, 225, .14);
  --ivory: var(--havin-midnight-navy);
  --paper: #15213d;
  --line: rgba(255, 255, 255, .14);
  --line-strong: rgba(255, 255, 255, .25);
  --hv60-navy: var(--havin-midnight-navy);
  --hv60-teal: var(--havin-sky-blue);
  --hv60-teal-dark: #78cef7;
  --hv60-teal-light: rgba(63, 167, 225, .14);
  --hv60-off-white: var(--havin-midnight-navy);
  --hv60-white: #15213d;
  --hv60-border: rgba(255, 255, 255, .14);
}

html.havin-v074,
html.havin-v074 body,
html.havin-v074 #root {
  background: var(--havin-midnight-navy);
}

html.havin-v074 body {
  background:
    radial-gradient(circle at 8% 2%, rgba(75, 42, 114, .28), transparent 31rem),
    radial-gradient(circle at 95% -5%, rgba(30, 58, 138, .22), transparent 34rem),
    var(--havin-midnight-navy);
}

html.havin-v074 :focus-visible {
  outline: 3px solid rgba(63, 167, 225, .72);
  outline-offset: 3px;
}

html.havin-v074 .button-primary {
  border-color: rgba(107, 196, 241, .25);
  background: linear-gradient(135deg, var(--havin-experimental-blue), var(--havin-sky-blue));
  color: var(--havin-white);
  box-shadow: 0 10px 28px rgba(30, 58, 138, .34), inset 0 1px 0 rgba(255, 255, 255, .16);
}

html.havin-v074 .button-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #264ba8, #53b5ea);
}

html.havin-v074 .desktop-rail {
  background:
    radial-gradient(circle at 0 8%, rgba(75, 42, 114, .42), transparent 16rem),
    linear-gradient(180deg, #10182b, var(--havin-midnight-navy));
}

html.havin-v074 .rail-link.active,
html.havin-v074 .mobile-drawer-link.active {
  background: linear-gradient(90deg, rgba(75, 42, 114, .66), rgba(30, 58, 138, .34));
  box-shadow: inset 2px 0 0 var(--havin-sky-blue);
}

html.havin-v074 .brand-logo {
  object-fit: contain;
}

html.havin-v074 .brand-compact .brand-logo {
  border: 0;
  border-radius: 10px;
  box-shadow: none;
}

html.havin-v074 .auth-story {
  padding-top: 48px;
  background:
    radial-gradient(circle at 18% 82%, rgba(75, 42, 114, .44), transparent 30rem),
    radial-gradient(circle at 92% 14%, rgba(30, 58, 138, .34), transparent 30rem),
    var(--havin-midnight-navy);
}

html.havin-v074 .auth-copy {
  max-width: 720px;
}

html.havin-v074 .auth-feature-grid {
  grid-template-columns: 1fr;
  max-width: 620px;
  margin-top: 32px;
  gap: 10px;
}

html.havin-v074 .auth-feature-grid > div {
  min-height: 0;
  padding: 13px 15px;
}

html.havin-v074 .auth-card .success-banner,
html.havin-v074 .auth-card .form-error {
  margin: 0 0 14px;
}

html.havin-v074 .auth-recovery-page {
  min-height: 100dvh;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 28px;
  padding: max(28px, env(safe-area-inset-top)) 22px max(28px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 15% 15%, rgba(75, 42, 114, .42), transparent 28rem),
    radial-gradient(circle at 90% 10%, rgba(30, 58, 138, .30), transparent 30rem),
    var(--havin-midnight-navy);
}

html.havin-v074 .auth-recovery-page > .brand {
  align-items: center;
}

html.havin-v074 .auth-recovery-card {
  max-width: 480px;
  padding: clamp(24px, 5vw, 38px);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(21, 33, 61, .94);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .34);
}

html.havin-v074 .auth-recovery-card h1 {
  font-size: clamp(1.9rem, 6vw, 2.6rem);
}

html.havin-v074 .auth-recovery-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(63, 167, 225, .14);
  color: var(--havin-sky-blue);
}

html.havin-v074 .auth-recovery-link {
  width: fit-content;
  margin: 18px auto 0;
}

html.havin-v074 .deep-link-target {
  border-color: rgba(63, 167, 225, .72) !important;
  box-shadow: 0 0 0 3px rgba(63, 167, 225, .14), 0 18px 42px rgba(0, 0, 0, .2);
}

html.havin-v074 .profile-identity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0 0;
}

html.havin-v074 .profile-identity-grid > div {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(13, 20, 38, .45);
}

html.havin-v074 .profile-identity-grid dt {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html.havin-v074 .profile-identity-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--graphite);
}

html.havin-v074 .compact-empty {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
}

html.havin-v074 .hv60-onboarding-forward-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

html.havin-v074 .hv60-onboarding-content {
  min-height: 320px;
}

html.havin-v074 .records-side {
  align-self: start;
}

html.havin-v074 .records-automation-card {
  min-height: 0;
  padding: 22px;
}

html.havin-v074 .records-automation-card h2 {
  font-size: 1.25rem;
}

html.havin-v074 [aria-pressed="true"] {
  cursor: default;
}

@media (max-width: 650px) {
  html.havin-v074 .profile-identity-grid { grid-template-columns: 1fr; }
  html.havin-v074 .hv60-onboarding-forward-actions { gap: 10px; }
  html.havin-v074 .hv60-onboarding-actions { align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v074 *,
  html.havin-v074 *::before,
  html.havin-v074 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Hāvin v0.8.0 — calm ownership architecture, components, Watch, and entitlements. */
html.havin-v080 .havin-home-heading-v080 { align-items: flex-end; }
html.havin-v080 .havin-home-v080 { gap: 24px; }

html.havin-v080 .home-attention-v080,
html.havin-v080 .asset-status-overview-v080,
html.havin-v080 .watch-context-bar-v080,
html.havin-v080 .plan-capacity-callout-v080 {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(75,42,114,.15), rgba(21,33,61,.88) 52%, rgba(30,58,138,.08));
  box-shadow: 0 16px 42px rgba(0,0,0,.16);
}
html.havin-v080 .home-attention-v080 { padding: 24px; }
html.havin-v080 .home-attention-list-v080 { display: grid; gap: 10px; margin-top: 18px; }
html.havin-v080 .home-attention-row-v080 {
  display: grid;
  grid-template-columns: 4px minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
html.havin-v080 .home-attention-row-v080:first-child { border-top: 0; padding-top: 4px; }
html.havin-v080 .home-attention-copy-v080 { min-width: 0; }
html.havin-v080 .home-attention-copy-v080 > span,
html.havin-v080 .automation-context-v080,
html.havin-v080 .activity-context-v080 {
  display: block;
  margin-bottom: 4px;
  color: var(--havin-sky-blue);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .015em;
}
html.havin-v080 .home-attention-copy-v080 > strong { display:block; color:#f3f7fb; font-size:1rem; }
html.havin-v080 .home-attention-copy-v080 p { margin: 5px 0; color:#9daabd; line-height:1.45; }
html.havin-v080 .home-attention-copy-v080 small { color:#7f8ea5; }
html.havin-v080 .home-attention-actions-v080 { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
html.havin-v080 .home-owner-controlled-v080 { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08); color:#98a6b9; font-size:.82rem; }

html.havin-v080 .home-coming-up-v080 { padding: 20px 22px; }
html.havin-v080 .home-coming-list-v080 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
html.havin-v080 .home-coming-list-v080 button { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:13px 14px; background:rgba(255,255,255,.02); color:inherit; text-align:left; cursor:pointer; }
html.havin-v080 .home-coming-list-v080 button:hover { border-color:rgba(63,167,225,.34); background:rgba(63,167,225,.05); }
html.havin-v080 .home-coming-list-v080 span { display:block; color:#8090a6; font-size:.72rem; }
html.havin-v080 .home-coming-list-v080 strong { display:block; margin-top:3px; color:#eef4fa; }
html.havin-v080 .home-coming-list-v080 small { color:#9facc0; white-space:nowrap; }
html.havin-v080 .home-lower-grid-v080 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
html.havin-v080 .home-havin-handled-v080,
html.havin-v080 .home-activity-v080 { min-width:0; }
html.havin-v080 .havin-outcomes-v080 article p { display:none; }
html.havin-v080 .havin-outcomes-v080 article { min-height:58px; }
html.havin-v080 .home-activity-v080 .activity-row > div { min-width:0; }

html.havin-v080 .watch-view-tabs-v080 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
html.havin-v080 .watch-view-tabs-v080 button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 14px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); color:#98a6b9; font-weight:800; cursor:pointer; }
html.havin-v080 .watch-view-tabs-v080 button:hover { color:#e8f2fb; border-color:rgba(63,167,225,.28); }
html.havin-v080 .watch-view-tabs-v080 button.active { color:#fff; border-color:rgba(63,167,225,.36); background:linear-gradient(135deg,rgba(75,42,114,.56),rgba(30,58,138,.30)); box-shadow:inset 0 -2px 0 var(--havin-sky-blue); }
html.havin-v080 .watch-view-tabs-v080 small { display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:rgba(255,255,255,.08); font-size:.7rem; }
html.havin-v080 .watch-context-bar-v080 { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 18px; }
html.havin-v080 .watch-context-bar-v080 > div strong { display:block; color:#f0f5fa; }
html.havin-v080 .watch-context-bar-v080 > div span { display:block; margin-top:3px; color:#8e9cb0; font-size:.8rem; }
html.havin-v080 .watch-context-bar-v080 .page-search { min-width:260px; max-width:360px; }
html.havin-v080 .watch-workspace-v080 { align-items:start; }
html.havin-v080 .watch-monitor-card-v080 > p { margin:0 0 16px; color:#91a0b4; line-height:1.55; }
html.havin-v080 .watch-monitor-status-v080 { display:flex; gap:11px; align-items:center; padding:12px; border:1px solid rgba(63,167,225,.14); border-radius:12px; background:rgba(63,167,225,.045); }
html.havin-v080 .watch-monitor-status-v080 > span { color:var(--havin-sky-blue); }
html.havin-v080 .watch-monitor-status-v080 strong,
html.havin-v080 .watch-monitor-status-v080 small { display:block; }
html.havin-v080 .watch-monitor-status-v080 strong { color:#edf4fa; }
html.havin-v080 .watch-monitor-status-v080 small { margin-top:3px; color:#8493a8; }
html.havin-v080 .compact-automation-history-v080 article p { display:none; }

html.havin-v080 .asset-status-summary-v080 { display:flex; align-items:center; gap:12px; margin-top:16px; padding:13px 14px; border:1px solid rgba(255,255,255,.09); border-radius:13px; background:rgba(255,255,255,.025); }
html.havin-v080 .asset-status-summary-v080 > span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; }
html.havin-v080 .asset-status-summary-v080 > span.current { color:#b9e4c7; background:rgba(74,166,105,.12); }
html.havin-v080 .asset-status-summary-v080 > span.attention { color:#f0cb64; background:rgba(212,175,55,.12); }
html.havin-v080 .asset-status-summary-v080 .eyebrow { margin-bottom:2px; }
html.havin-v080 .asset-status-summary-v080 strong { display:block; color:#f1f5fa; }
html.havin-v080 .asset-status-summary-v080 p { margin:3px 0 0; color:#8e9db1; font-size:.8rem; }
html.havin-v080 .asset-status-overview-v080 { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr); gap:20px; align-items:center; padding:20px 22px; }
html.havin-v080 .asset-status-overview-v080 h2 { margin:4px 0 6px; color:#f2f6fb; }
html.havin-v080 .asset-status-overview-v080 p { margin:0; color:#95a3b6; line-height:1.5; }
html.havin-v080 .asset-status-counters-v080 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
html.havin-v080 .asset-status-counters-v080 > * { border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:11px 9px; background:rgba(255,255,255,.022); color:inherit; text-align:left; }
html.havin-v080 .asset-status-counters-v080 button { cursor:pointer; }
html.havin-v080 .asset-status-counters-v080 button:hover { border-color:rgba(63,167,225,.28); }
html.havin-v080 .asset-status-counters-v080 strong,
html.havin-v080 .asset-status-counters-v080 span { display:block; }
html.havin-v080 .asset-status-counters-v080 strong { color:#f0f5fa; font-size:1.15rem; }
html.havin-v080 .asset-status-counters-v080 span { margin-top:3px; color:#8291a6; font-size:.68rem; }

html.havin-v080 .plan-capacity-callout-v080 { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:16px; padding:15px 17px; border-color:rgba(212,175,55,.28); }
html.havin-v080 .plan-capacity-callout-v080 strong { color:#f5e4a3; }
html.havin-v080 .plan-capacity-callout-v080 p { margin:4px 0 0; color:#a6b1c1; line-height:1.45; }
html.havin-v080 .havin-plan-grid-v080 { grid-template-columns:repeat(3,minmax(0,1fr)); }
html.havin-v080 .havin-trial-note-v080 { display:block; color:#8d9caf; text-align:center; }
html.havin-v080 .havin-business-callout-v080 { margin-top:0; }

@media (max-width: 1180px) {
  html.havin-v080 .home-lower-grid-v080 { grid-template-columns:1fr; }
  html.havin-v080 .asset-status-overview-v080 { grid-template-columns:1fr; }
  html.havin-v080 .havin-plan-grid-v080 { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
  html.havin-v080 .watch-view-tabs-v080 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v080 .watch-context-bar-v080 { align-items:stretch; flex-direction:column; }
  html.havin-v080 .watch-context-bar-v080 .page-search { min-width:0; max-width:none; width:100%; }
  html.havin-v080 .home-coming-list-v080 { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
  html.havin-v080 .home-attention-v080 { padding:18px; }
  html.havin-v080 .home-attention-row-v080 { grid-template-columns:4px minmax(0,1fr); gap:12px; }
  html.havin-v080 .home-attention-actions-v080 { grid-column:2; justify-content:flex-start; }
  html.havin-v080 .home-owner-controlled-v080 { align-items:flex-start; flex-direction:column; }
  html.havin-v080 .watch-view-tabs-v080 button { justify-content:flex-start; }
  html.havin-v080 .asset-status-counters-v080 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v080 .plan-capacity-callout-v080 { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  html.havin-v080 *, html.havin-v080 *::before, html.havin-v080 *::after { scroll-behavior:auto !important; transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}

html.havin-v080 .restricted-record-banner-v080 {
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(212,175,55,.28);
  border-radius:14px;
  background:rgba(212,175,55,.055);
}
html.havin-v080 .restricted-record-banner-v080 > svg { flex:0 0 auto; color:var(--havin-gold, #D4AF37); }
html.havin-v080 .restricted-record-banner-v080 > div { min-width:0; flex:1; }
html.havin-v080 .restricted-record-banner-v080 strong { color:#f4e4aa; }
html.havin-v080 .restricted-record-banner-v080 p { margin:3px 0 0; color:#9da9b9; line-height:1.45; }
html.havin-v080 .restricted-record-v080 { border-color:rgba(212,175,55,.18) !important; }
html.havin-v080 .restricted-record-v080 .asset-card-image::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(13,20,38,.32));
}
html.havin-v080 .asset-access-badge.restricted,
html.havin-v080 .inline-role.restricted { color:#f0d57d; border-color:rgba(212,175,55,.28); background:rgba(212,175,55,.10); }

@media (max-width: 680px) {
  html.havin-v080 .restricted-record-banner-v080 { align-items:flex-start; flex-wrap:wrap; }
  html.havin-v080 .restricted-record-banner-v080 .button { margin-left:34px; }
}

html.havin-v080 .entitlement-selection-v080 { display:grid; gap:18px; }
html.havin-v080 .entitlement-selection-heading-v080 { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
html.havin-v080 .entitlement-selection-heading-v080 h3 { margin:4px 0 6px; color:#f2f6fb; }
html.havin-v080 .entitlement-selection-heading-v080 p { margin:0; max-width:760px; color:#95a3b6; line-height:1.5; }
html.havin-v080 .entitlement-selection-grid-v080 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
html.havin-v080 .entitlement-selection-grid-v080 > div > strong { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; color:#edf4fa; }
html.havin-v080 .entitlement-selection-grid-v080 > div > strong small { color:#8fa0b6; font-weight:700; }
html.havin-v080 .entitlement-choice-list-v080 { display:grid; gap:8px; }
html.havin-v080 .entitlement-choice-list-v080.record-list { max-height:390px; overflow:auto; padding-right:4px; }
html.havin-v080 .entitlement-choice-list-v080 label { display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; align-items:center; min-height:54px; padding:10px 12px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.022); cursor:pointer; }
html.havin-v080 .entitlement-choice-list-v080 label:hover { border-color:rgba(63,167,225,.26); }
html.havin-v080 .entitlement-choice-list-v080 label:focus-within { outline:2px solid rgba(63,167,225,.62); outline-offset:2px; }
html.havin-v080 .entitlement-choice-list-v080 input { width:18px; height:18px; accent-color:var(--havin-sky-blue); }
html.havin-v080 .entitlement-choice-list-v080 span,
html.havin-v080 .entitlement-choice-list-v080 b,
html.havin-v080 .entitlement-choice-list-v080 small { display:block; min-width:0; }
html.havin-v080 .entitlement-choice-list-v080 b { color:#edf4fa; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html.havin-v080 .entitlement-choice-list-v080 small { margin-top:3px; color:#8291a6; }
html.havin-v080 .entitlement-choice-list-v080 .component-choice { margin-left:18px; border-left-color:rgba(63,167,225,.22); }
html.havin-v080 .entitlement-unlimited-note-v080 { display:flex; align-items:flex-start; gap:12px; min-height:120px; padding:16px; border:1px solid rgba(63,167,225,.16); border-radius:14px; background:rgba(63,167,225,.045); }
html.havin-v080 .entitlement-unlimited-note-v080 > svg { flex:0 0 auto; color:var(--havin-sky-blue); }
html.havin-v080 .entitlement-unlimited-note-v080 strong { color:#edf4fa; }
html.havin-v080 .entitlement-unlimited-note-v080 p { margin:4px 0 0; color:#8fa0b5; line-height:1.45; }

@media (max-width: 900px) {
  html.havin-v080 .entitlement-selection-grid-v080 { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
  html.havin-v080 .entitlement-selection-heading-v080 { flex-direction:column; }
  html.havin-v080 .entitlement-selection-heading-v080 .button { width:100%; }
  html.havin-v080 .entitlement-choice-list-v080 .component-choice { margin-left:10px; }
}
/* Hāvin v0.8.1 — consumer UX reduction pass
   The ownership graph stays deep; the default surface stays calm. */

html.havin-v081 .page-content { max-width: 1540px; }
html.havin-v081 .page-stack { gap: 18px; }
html.havin-v081 .page-header p { max-width: 640px; }

/* ---------- Assets: assets first, controls second ---------- */
html.havin-v081 .assets-page-v081 { gap: 14px; }
html.havin-v081 .assets-page-v081 .page-header { margin-bottom: 0; }
html.havin-v081 .assets-plan-note-v081,
html.havin-v081 .assets-capacity-note-v081 {
  display:flex; align-items:center; gap:11px; padding:10px 13px;
  border:1px solid rgba(212,175,55,.22); border-radius:12px;
  background:rgba(212,175,55,.055); color:#a8b4c5;
}
html.havin-v081 .assets-plan-note-v081 > svg { flex:0 0 auto; color:#D4AF37; }
html.havin-v081 .assets-plan-note-v081 > div { min-width:0; flex:1; }
html.havin-v081 .assets-plan-note-v081 strong { display:block; color:#f1dda0; font-size:.8rem; }
html.havin-v081 .assets-plan-note-v081 span { display:block; margin-top:2px; font-size:.72rem; line-height:1.4; }
html.havin-v081 .assets-plan-note-v081 a,
html.havin-v081 .assets-capacity-note-v081 a { flex:0 0 auto; color:#9edcff; font-size:.75rem; font-weight:750; }
html.havin-v081 .assets-capacity-note-v081 { justify-content:space-between; color:#c5cfdb; }
html.havin-v081 .assets-capacity-note-v081 span { font-size:.76rem; font-weight:700; }

html.havin-v081 .assets-command-v081 {
  display:grid; grid-template-columns:minmax(300px,1fr) minmax(180px,260px) auto auto;
  gap:9px; align-items:center;
}
html.havin-v081 .assets-search-v081,
html.havin-v081 .assets-portfolio-v081 {
  min-height:46px; display:flex; align-items:center; gap:10px;
  padding:0 13px; border:1px solid rgba(198,204,214,.12); border-radius:12px;
  background:#0b1428;
}
html.havin-v081 .assets-search-v081:focus-within,
html.havin-v081 .assets-portfolio-v081:focus-within { border-color:rgba(63,167,225,.52); box-shadow:0 0 0 3px rgba(63,167,225,.08); }
html.havin-v081 .assets-search-v081 svg,
html.havin-v081 .assets-portfolio-v081 svg { flex:0 0 auto; color:#71849e; }
html.havin-v081 .assets-search-v081 input,
html.havin-v081 .assets-portfolio-v081 select { width:100%; min-width:0; border:0; outline:0; background:transparent; color:#eef4fa; font:inherit; }
html.havin-v081 .assets-search-v081 input::placeholder { color:#6f7f96; }
html.havin-v081 .assets-portfolio-v081 { position:relative; }
html.havin-v081 .assets-portfolio-v081 select { appearance:none; padding-right:22px; cursor:pointer; font-size:.79rem; font-weight:700; }
html.havin-v081 .assets-portfolio-v081 svg { position:absolute; right:12px; pointer-events:none; }
html.havin-v081 .assets-filter-button-v081 { min-height:46px; position:relative; }
html.havin-v081 .assets-filter-button-v081.active { border-color:rgba(63,167,225,.45); background:rgba(63,167,225,.08); }
html.havin-v081 .assets-filter-button-v081 small,
html.havin-v081 .filter-count-v081 { display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border-radius:99px; background:rgba(63,167,225,.18); color:#a8ddfb; font-size:.65rem; }
html.havin-v081 .assets-manage-button-v081 { width:46px; height:46px; }
html.havin-v081 .assets-manage-button-v081.active { border-color:rgba(63,167,225,.42); background:rgba(63,167,225,.10); }

html.havin-v081 .asset-category-chips-v081 { display:flex; gap:7px; overflow-x:auto; padding:1px 0 4px; scrollbar-width:none; }
html.havin-v081 .asset-category-chips-v081::-webkit-scrollbar { display:none; }
html.havin-v081 .asset-category-chips-v081 button {
  flex:0 0 auto; min-height:34px; padding:0 12px; border:1px solid rgba(198,204,214,.10); border-radius:999px;
  background:rgba(255,255,255,.018); color:#8f9eb2; font-size:.72rem; font-weight:750; cursor:pointer;
}
html.havin-v081 .asset-category-chips-v081 button span { margin-left:4px; color:#7889a0; font-size:.65rem; }
html.havin-v081 .asset-category-chips-v081 button.active { border-color:rgba(63,167,225,.35); background:rgba(63,167,225,.095); color:#eaf6fd; }
html.havin-v081 .asset-category-chips-v081 button.active span { color:#8ed6fb; }

html.havin-v081 .assets-filter-panel-v081 {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:9px; align-items:end;
  padding:12px; border:1px solid rgba(198,204,214,.10); border-radius:13px; background:rgba(9,17,34,.64);
}
html.havin-v081 .assets-filter-panel-v081 label { position:relative; display:grid; gap:5px; }
html.havin-v081 .assets-filter-panel-v081 label > span { color:#718198; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
html.havin-v081 .assets-filter-panel-v081 select { width:100%; height:39px; appearance:none; border:1px solid rgba(198,204,214,.10); border-radius:9px; padding:0 30px 0 10px; background:#0b1428; color:#dbe5ef; font-size:.75rem; }
html.havin-v081 .assets-filter-panel-v081 label > svg { position:absolute; right:9px; bottom:12px; color:#708098; pointer-events:none; }
html.havin-v081 .assets-demo-note-v081 { display:flex; align-items:center; gap:7px; margin:0; color:#7889a0; font-size:.72rem; }

html.havin-v081 .assets-manage-bar-v081 { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 13px; border:1px solid rgba(75,42,114,.34); border-radius:12px; background:rgba(75,42,114,.09); }
html.havin-v081 .assets-manage-bar-v081 > div:first-child strong,
html.havin-v081 .assets-manage-bar-v081 > div:first-child span { display:block; }
html.havin-v081 .assets-manage-bar-v081 > div:first-child strong { color:#e8eef6; font-size:.8rem; }
html.havin-v081 .assets-manage-bar-v081 > div:first-child span { margin-top:2px; color:#7f8da2; font-size:.68rem; }
html.havin-v081 .assets-manage-bar-v081 > div:last-child { display:flex; align-items:center; gap:8px; }

html.havin-v081 .asset-card-grid-v081 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
html.havin-v081 .asset-card-v081 { position:relative; border-color:rgba(198,204,214,.105); border-radius:15px; background:#0d172c; box-shadow:0 8px 26px rgba(0,0,0,.16); }
html.havin-v081 .asset-card-v081:hover { transform:translateY(-2px); border-color:rgba(63,167,225,.25); box-shadow:0 14px 38px rgba(0,0,0,.24); }
html.havin-v081 .asset-card-v081 > a { display:block; color:inherit; }
html.havin-v081 .asset-card-image-v081 { height:168px; background:#101b31; }
html.havin-v081 .asset-card-image-v081::after { inset:55% 0 0; background:linear-gradient(transparent,rgba(10,18,34,.42)); }
html.havin-v081 .asset-card-image-v081 img { width:100%; height:100%; object-fit:cover; }
html.havin-v081 .asset-card-placeholder-v081 { display:flex; flex-direction:column; gap:8px; background:linear-gradient(145deg,#111c35,#1b1644); color:#66bdf0; }
html.havin-v081 .asset-card-placeholder-v081 span { color:#7889a0; font-size:.68rem; font-weight:700; }
html.havin-v081 .asset-category-v081 { left:12px; bottom:11px; right:auto; top:auto; z-index:3; padding:5px 8px; border:1px solid rgba(255,255,255,.06); border-radius:999px; background:rgba(7,14,28,.76); backdrop-filter:blur(8px); color:#e9f2f9; font-size:.63rem; }
html.havin-v081 .asset-shared-badge-v081 { position:absolute; z-index:3; top:11px; right:11px; display:flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid rgba(63,167,225,.22); border-radius:999px; background:rgba(7,14,28,.82); color:#acdfff; font-size:.62rem; font-weight:800; text-transform:capitalize; }
html.havin-v081 .asset-card-body-v081 { padding:14px 15px 13px; }
html.havin-v081 .asset-card-heading-v081 { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
html.havin-v081 .asset-card-heading-v081 h3 { margin:0; color:#f1f5fa; font-size:1rem; line-height:1.25; }
html.havin-v081 .asset-card-heading-v081 p { margin:4px 0 0; color:#8595aa; font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.havin-v081 .asset-card-status-v081 { display:flex; align-items:center; gap:7px; margin-top:12px; min-height:28px; color:#8e9eb2; font-size:.69rem; font-weight:700; }
html.havin-v081 .asset-card-status-v081.current { color:#92cfa9; }
html.havin-v081 .asset-card-status-v081.attention { color:#efcc69; }
html.havin-v081 .asset-card-status-v081.paused { color:#d8c47a; }
html.havin-v081 .status-dot-v081 { width:7px; height:7px; border-radius:50%; background:#D4AF37; box-shadow:0 0 0 4px rgba(212,175,55,.08); }
html.havin-v081 .asset-card-context-v081 { display:flex; gap:8px; flex-wrap:wrap; margin-top:7px; color:#7889a0; font-size:.64rem; }
html.havin-v081 .asset-card-context-v081 span + span::before { content:'·'; margin-right:8px; color:#718198; }
html.havin-v081 .restricted-record-v081 { border-color:rgba(212,175,55,.18) !important; }
html.havin-v081 .asset-card-v081 .asset-select { top:10px; left:10px; }

/* ---------- Asset detail: mini ownership hub ---------- */
html.havin-v081 .asset-detail-page { gap:15px; }
html.havin-v081 .asset-detail-hero { grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); min-height:300px; }
html.havin-v081 .asset-detail-image { min-height:300px; }
html.havin-v081 .asset-detail-summary { padding:25px 27px; }
html.havin-v081 .asset-detail-title-row { align-items:flex-start; }
html.havin-v081 .asset-detail-title-row h1 { font-size:clamp(1.8rem,3vw,2.65rem); letter-spacing:-.035em; }
html.havin-v081 .asset-detail-actions-v081 { flex-wrap:nowrap; align-items:center; }
html.havin-v081 .asset-more-v081 { position:relative; }
html.havin-v081 .asset-more-v081 > summary { list-style:none; display:grid; place-items:center; cursor:pointer; }
html.havin-v081 .asset-more-v081 > summary::-webkit-details-marker { display:none; }
html.havin-v081 .asset-more-menu-v081 { position:absolute; z-index:30; top:calc(100% + 7px); right:0; width:210px; padding:7px; border:1px solid rgba(198,204,214,.13); border-radius:12px; background:#0c162b; box-shadow:0 18px 50px rgba(0,0,0,.42); }
html.havin-v081 .asset-more-menu-v081 button { width:100%; display:flex; align-items:center; gap:9px; min-height:39px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:#cad5e1; font:inherit; font-size:.74rem; text-align:left; cursor:pointer; }
html.havin-v081 .asset-more-menu-v081 button:hover { background:rgba(63,167,225,.08); color:#fff; }
html.havin-v081 .asset-key-strip-v081 { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
html.havin-v081 .asset-key-strip-v081 span { display:flex; align-items:center; gap:6px; min-height:30px; padding:0 9px; border:1px solid rgba(198,204,214,.08); border-radius:999px; background:rgba(255,255,255,.018); color:#8393a8; font-size:.68rem; font-weight:700; }
html.havin-v081 .asset-key-strip-v081 svg { color:#68b9e8; }
html.havin-v081 .detail-tabs { width:max-content; max-width:100%; padding:4px; gap:3px; border-radius:12px; }
html.havin-v081 .detail-tabs button { min-width:90px; padding:9px 13px; }

html.havin-v081 .asset-overview-v081 { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr); gap:16px; align-items:start; }
html.havin-v081 .asset-overview-main-v081,
html.havin-v081 .asset-overview-side-v081 { display:grid; gap:14px; }
html.havin-v081 .asset-next-card-v081 { padding:20px; }
html.havin-v081 .component-grid-v081 { grid-template-columns:repeat(2,minmax(0,1fr)); }
html.havin-v081 .component-card-v081 { min-height:70px; }
html.havin-v081 .identity-compact-v081 { margin:0; display:grid; gap:0; }
html.havin-v081 .identity-compact-v081 > div { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid rgba(198,204,214,.07); }
html.havin-v081 .identity-compact-v081 > div:last-child { border-bottom:0; }
html.havin-v081 .identity-compact-v081 dt { color:#74859b; font-size:.67rem; }
html.havin-v081 .identity-compact-v081 dd { margin:0; color:#dbe4ee; font-size:.72rem; font-weight:700; text-align:right; overflow-wrap:anywhere; }
html.havin-v081 .progressive-details-v081 { margin-top:7px; border-top:1px solid rgba(198,204,214,.07); }
html.havin-v081 .progressive-details-v081 > summary { padding:11px 0 3px; color:#82cfff; font-size:.68rem; font-weight:800; cursor:pointer; }
html.havin-v081 .identity-compact-v081.progressive { padding-top:6px; }
html.havin-v081 .timeline-compact-v081 .timeline-row { grid-template-columns:30px minmax(0,1fr) auto; padding:10px 0; }
html.havin-v081 .warranty-mini-v081 { display:flex; align-items:flex-start; gap:10px; }
html.havin-v081 .warranty-mini-v081 > svg { flex:0 0 auto; color:#D4AF37; }
html.havin-v081 .warranty-mini-v081 strong,
html.havin-v081 .warranty-mini-v081 span { display:block; }
html.havin-v081 .warranty-mini-v081 strong { color:#e7edf5; font-size:.75rem; }
html.havin-v081 .warranty-mini-v081 span { margin-top:3px; color:#7f8ea3; font-size:.68rem; line-height:1.4; }
html.havin-v081 .technical-details-v081 { padding:0 !important; overflow:hidden; }
html.havin-v081 .technical-details-v081 > summary { display:flex; align-items:center; gap:8px; padding:14px 16px; color:#8da0b6; font-size:.7rem; font-weight:800; cursor:pointer; list-style:none; }
html.havin-v081 .technical-details-v081 > summary::-webkit-details-marker { display:none; }
html.havin-v081 .technical-details-v081 > div { padding:0 16px 14px; }
html.havin-v081 .role-capability-panel-v081 { padding:14px 16px; }

/* ---------- Watch: horizontal attention modes on mobile ---------- */
html.havin-v081 .watch-view-tabs-v080 { display:flex; overflow-x:auto; gap:6px; padding:5px; scrollbar-width:none; }
html.havin-v081 .watch-view-tabs-v080::-webkit-scrollbar { display:none; }
html.havin-v081 .watch-view-tabs-v080 button { flex:1 0 150px; min-height:42px; justify-content:center; border-radius:9px; }
html.havin-v081 .watch-context-bar-v080 { padding:12px 14px; }
html.havin-v081 .watch-asset-group { border-radius:14px; }

/* ---------- Vault: find first, filing mechanics second ---------- */
html.havin-v081 .records-page { gap:14px; }
html.havin-v081 .records-view-tabs-v081 { display:flex; gap:6px; overflow-x:auto; padding:4px; border:1px solid rgba(198,204,214,.10); border-radius:12px; background:rgba(8,16,31,.6); scrollbar-width:none; }
html.havin-v081 .records-view-tabs-v081::-webkit-scrollbar { display:none; }
html.havin-v081 .records-view-tabs-v081 button { flex:1 0 135px; display:flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:0 11px; border:0; border-radius:9px; background:transparent; color:#7f8fa5; font:inherit; font-size:.7rem; font-weight:800; cursor:pointer; }
html.havin-v081 .records-view-tabs-v081 button.active { background:linear-gradient(135deg,rgba(75,42,114,.45),rgba(30,58,138,.28)); color:#eef5fb; box-shadow:inset 0 -2px 0 #3FA7E1; }
html.havin-v081 .records-view-tabs-v081 small { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:99px; background:rgba(255,255,255,.07); font-size:.62rem; }
html.havin-v081 .records-command-v081 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-bottom:9px; }
html.havin-v081 .records-command-v081 .page-search { min-height:44px; }
html.havin-v081 .records-filter-panel-v081 { display:flex; gap:8px; align-items:center; padding:10px; margin-bottom:10px; border:1px solid rgba(198,204,214,.08); border-radius:11px; background:rgba(9,17,34,.62); }
html.havin-v081 .records-filter-panel-v081 .select-control { flex:1; }
html.havin-v081 .records-side { gap:12px; }
html.havin-v081 .records-automation-card { padding:18px; }

/* ---------- Shell reduction ---------- */
html.havin-v081 .mobile-ask-shortcut-v081 { width:100%; display:flex; align-items:center; gap:10px; margin-top:10px; padding:11px 12px; border:1px solid rgba(63,167,225,.16); border-radius:11px; background:rgba(63,167,225,.055); color:#9edcff; text-align:left; }
html.havin-v081 .mobile-ask-shortcut-v081 span,
html.havin-v081 .mobile-ask-shortcut-v081 strong,
html.havin-v081 .mobile-ask-shortcut-v081 small { display:block; }
html.havin-v081 .mobile-ask-shortcut-v081 strong { color:#e8f4fb; font-size:.75rem; }
html.havin-v081 .mobile-ask-shortcut-v081 small { margin-top:2px; color:#75879d; font-size:.64rem; }

@media (max-width: 1320px) {
  html.havin-v081 .asset-card-grid-v081 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1080px) {
  html.havin-v081 .asset-card-grid-v081 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v081 .assets-filter-panel-v081 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v081 .asset-overview-v081 { grid-template-columns:1fr; }
  html.havin-v081 .asset-overview-side-v081 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v081 .technical-details-v081 { grid-column:1 / -1; }
}
@media (max-width: 900px) {
  html.havin-v081 .assets-command-v081 { grid-template-columns:minmax(0,1fr) auto auto; }
  html.havin-v081 .assets-search-v081 { grid-column:1 / -1; }
  html.havin-v081 .assets-portfolio-v081 { min-width:0; }
  html.havin-v081 .asset-detail-hero { grid-template-columns:1fr; }
  html.havin-v081 .asset-detail-image { min-height:250px; height:250px; }
  html.havin-v081 .asset-overview-side-v081 { grid-template-columns:1fr; }
  html.havin-v081 .records-side { display:none; }
}
@media (max-width: 680px) {
  html.havin-v081 .page-stack { gap:12px; }
  html.havin-v081 .assets-page-v081 .page-header { align-items:flex-start; gap:9px; }
  html.havin-v081 .assets-page-v081 .page-header p { display:none; }
  html.havin-v081 .assets-page-v081 .page-header h1 { font-size:1.55rem; }
  html.havin-v081 .assets-page-v081 .page-header .button { min-height:44px; padding:0 12px; }
  html.havin-v081 .assets-plan-note-v081 { align-items:flex-start; padding:9px 10px; }
  html.havin-v081 .assets-plan-note-v081 span { display:none; }
  html.havin-v081 .assets-plan-note-v081 a { margin-left:auto; white-space:nowrap; }
  html.havin-v081 .assets-command-v081 { grid-template-columns:minmax(0,1fr) auto auto; gap:7px; }
  html.havin-v081 .assets-search-v081 { min-height:44px; padding:0 11px; }
  html.havin-v081 .assets-portfolio-v081 { min-height:44px; padding-left:10px; }
  html.havin-v081 .assets-filter-button-v081 { min-height:44px; width:44px; padding:0; justify-content:center; font-size:0; }
  html.havin-v081 .assets-filter-button-v081 small { position:absolute; top:-5px; right:-4px; font-size:.6rem; }
  html.havin-v081 .assets-manage-button-v081 { width:44px; height:44px; }
  html.havin-v081 .asset-category-chips-v081 button { min-height:44px; padding:0 12px; font-size:.7rem; }
  html.havin-v081 .assets-filter-panel-v081 { grid-template-columns:1fr; padding:10px; }
  html.havin-v081 .assets-filter-panel-v081 select { height:44px; }
  html.havin-v081 .assets-filter-panel-v081 .text-button { justify-self:start; }
  html.havin-v081 .assets-manage-bar-v081 { align-items:flex-start; flex-direction:column; }
  html.havin-v081 .assets-manage-bar-v081 > div:last-child { width:100%; flex-wrap:wrap; }
  html.havin-v081 .asset-card-grid-v081 { grid-template-columns:1fr; gap:11px; }
  html.havin-v081 .asset-card-image-v081 { height:158px; }
  html.havin-v081 .asset-card-body-v081 { padding:12px 13px; }
  html.havin-v081 .asset-card-heading-v081 h3 { font-size:1rem; }
  html.havin-v081 .asset-card-status-v081 { margin-top:9px; }

  html.havin-v081 .asset-detail-page .back-link { margin-bottom:0; }
  html.havin-v081 .asset-detail-image { min-height:210px; height:210px; }
  html.havin-v081 .asset-detail-summary { padding:17px; }
  html.havin-v081 .asset-detail-title-row { gap:14px; }
  html.havin-v081 .asset-detail-title-row h1 { font-size:1.72rem; }
  html.havin-v081 .asset-detail-actions-v081 { width:100%; }
  html.havin-v081 .asset-detail-actions-v081 > .button-primary { flex:1; }
  html.havin-v081 .asset-detail-actions-v081 > .button-secondary { padding:0 11px; }
  html.havin-v081 .asset-status-summary-v080 { margin-top:12px; padding:10px 11px; }
  html.havin-v081 .asset-status-summary-v080 p { display:none; }
  html.havin-v081 .asset-key-strip-v081 { margin-top:10px; }
  html.havin-v081 .detail-tabs { width:100%; overflow-x:auto; padding:4px; scrollbar-width:none; }
  html.havin-v081 .detail-tabs::-webkit-scrollbar { display:none; }
  html.havin-v081 .detail-tabs button { flex:1 0 86px; min-width:86px; padding:8px 10px; }
  html.havin-v081 .asset-next-card-v081 { padding:15px; }
  html.havin-v081 .component-grid-v081 { grid-template-columns:1fr; }

  html.havin-v081 .watch-view-tabs-v080 { margin:0 -2px; }
  html.havin-v081 .watch-view-tabs-v080 button { flex:0 0 auto; min-width:132px; min-height:44px; justify-content:flex-start; }
  html.havin-v081 .watch-context-bar-v080 { padding:10px 11px; }
  html.havin-v081 .watch-context-bar-v080 > div span { display:none; }

  html.havin-v081 .records-page .page-header p { display:none; }
  html.havin-v081 .records-view-tabs-v081 button { flex:0 0 auto; min-width:112px; min-height:44px; }
  html.havin-v081 .records-command-v081 { grid-template-columns:minmax(0,1fr) auto; }
  html.havin-v081 .records-command-v081 .button { width:42px; padding:0; font-size:0; justify-content:center; }
  html.havin-v081 .records-filter-panel-v081 { align-items:stretch; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v081 *, html.havin-v081 *::before, html.havin-v081 *::after { transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}

/* Home — v0.8.1: decisions first, dashboard furniture last. */
.havin-home-v081{max-width:1180px;margin:0 auto;width:100%;gap:22px}.home-hero-v081{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 2px 2px}.home-hero-v081 h1{margin:4px 0 6px;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.045em;line-height:1}.home-hero-v081 p{margin:0;color:var(--text-secondary);font-size:1.03rem}.home-hero-actions-v081{display:flex;gap:9px}.home-section-title-v081{display:flex;align-items:end;justify-content:space-between;gap:14px}.home-section-title-v081 h2{margin:2px 0 0;font-size:1.22rem;letter-spacing:-.02em}.home-attention-v081,.home-your-stuff-v081,.home-coming-v081{display:grid;gap:12px}.home-action-list-v081{display:grid;gap:8px}.home-action-v081{border:1px solid var(--border-soft);border-radius:18px;background:var(--surface-raised);overflow:hidden}.home-action-main-v081{width:100%;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:13px;text-align:left;padding:14px 16px;border:0;background:none;color:inherit;cursor:pointer}.home-action-marker-v081{width:8px;height:34px;border-radius:99px;background:var(--gold)}.home-action-v081.severity-critical .home-action-marker-v081{background:#ef6b65}.home-action-copy-v081{display:grid;gap:2px;min-width:0}.home-action-copy-v081 small,.home-action-copy-v081 span{color:var(--text-secondary);font-size:.79rem}.home-action-copy-v081 strong{font-size:.98rem}.home-action-secondary-v081{display:flex;justify-content:flex-end;gap:8px;padding:0 16px 10px}.home-action-secondary-v081 button{border:0;background:none;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.home-caught-up-v081{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--border-soft);border-radius:18px;background:linear-gradient(135deg,rgba(30,58,138,.12),rgba(63,167,225,.045))}.home-caught-up-v081>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(63,167,225,.12);color:var(--sky)}.home-caught-up-v081 strong{display:block}.home-caught-up-v081 p{margin:2px 0 0;color:var(--text-secondary);font-size:.84rem}.home-shared-context-v081{margin:0;color:var(--text-secondary);font-size:.79rem}.home-shared-context-v081 a{color:var(--sky)}.home-assets-track-v081{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.home-asset-v081{display:grid;gap:7px;color:inherit;text-decoration:none;min-width:0}.home-asset-image-v081{position:relative;aspect-ratio:1.55;border:1px solid var(--border-soft);border-radius:17px;background:linear-gradient(145deg,rgba(30,58,138,.22),rgba(75,42,114,.22));background-size:cover;background-position:center;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.home-asset-image-v081>span{font-size:.79rem}.home-asset-image-v081 small{position:absolute;left:9px;bottom:9px;padding:5px 8px;border-radius:999px;background:rgba(13,20,38,.86);backdrop-filter:blur(8px);font-size:.68rem;color:#fff}.home-asset-image-v081 small.current{display:flex;align-items:center;gap:4px}.home-asset-v081>strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-asset-v081>span{color:var(--text-secondary);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-coming-list-v081{display:grid;border:1px solid var(--border-soft);border-radius:18px;overflow:hidden}.home-coming-list-v081 button{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding:12px 15px;border:0;border-bottom:1px solid var(--border-soft);background:var(--surface-raised);color:inherit;text-align:left;cursor:pointer}.home-coming-list-v081 button:last-child{border-bottom:0}.home-coming-list-v081 button div{display:grid}.home-coming-list-v081 small,.home-coming-list-v081 button>span{color:var(--text-secondary);font-size:.75rem}.home-secondary-v081{display:grid;gap:9px}.home-details-v081,.home-review-v081{border:1px solid var(--border-soft);border-radius:16px;background:var(--surface-raised)}.home-details-v081>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px;list-style:none}.home-details-v081>summary::-webkit-details-marker{display:none}.home-details-v081>summary span{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.84rem}.home-details-v081[open]>summary svg:last-child{transform:rotate(90deg)}.home-details-v081>div{display:grid;gap:0;padding:0 14px 10px}.home-details-v081 article{display:grid;grid-template-columns:minmax(110px,.6fr) 1fr auto;gap:10px;padding:9px 0;border-top:1px solid var(--border-soft);font-size:.77rem}.home-details-v081 article span,.home-details-v081 article small{color:var(--text-secondary)}.home-details-v081>a{display:inline-flex;margin:0 14px 12px;color:var(--sky);font-size:.77rem}.home-review-v081{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;color:inherit;text-decoration:none}.home-review-v081 div{display:grid}.home-review-v081 span{color:var(--text-secondary);font-size:.77rem}.home-portfolio-links-v081{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:7px!important;padding-top:0!important}.home-portfolio-links-v081 a{padding:8px 10px;border:1px solid var(--border-soft);border-radius:11px;color:inherit;text-decoration:none;font-size:.78rem}.home-refresh-v081{justify-self:center;display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--text-secondary);font-size:.76rem;cursor:pointer;padding:6px 10px}
@media(max-width:900px){.home-assets-track-v081{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero-v081{align-items:center}.home-details-v081 article{grid-template-columns:1fr}.home-details-v081 article strong{grid-row:1}.home-details-v081 article span,.home-details-v081 article small{font-size:.72rem}}
@media(max-width:680px){.havin-home-v081{gap:18px}.home-hero-v081{align-items:flex-start;padding-top:0}.home-hero-v081 .eyebrow{display:none}.home-hero-v081 h1{font-size:1.72rem;margin:0 0 5px}.home-hero-v081 p{font-size:.88rem}.home-hero-actions-v081 .button-secondary{display:none}.home-hero-actions-v081 .button{min-height:44px;padding:0 13px}.home-assets-track-v081{display:flex;overflow-x:auto;gap:10px;margin-inline:-2px;padding:1px 2px 7px;scroll-snap-type:x proximity}.home-asset-v081{flex:0 0 148px;scroll-snap-align:start}.home-asset-image-v081{aspect-ratio:1.38}.home-action-main-v081{padding:12px 13px}.home-coming-list-v081 button{padding:11px 13px}.home-section-title-v081 h2{font-size:1.1rem}.home-secondary-v081{gap:7px}}

/* Watch — keep the attention center focused; background machinery appears only in Monitoring. */
.havin-v081 .watch-workspace-v080{grid-template-columns:minmax(0,1fr)}.havin-v081 .watch-workspace-v080:has(.watch-sidebar){grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.havin-v081 .watch-asset-group{border-radius:18px}.havin-v081 .watch-context-bar-v080{padding:10px 12px}.havin-v081 .watch-context-bar-v080>div span{font-size:.78rem}.havin-v081 .watch-view-tabs-v080 button{min-height:42px}
@media(max-width:680px){.havin-v081 .watch-page-v080 .page-header .page-tagline{display:none}.havin-v081 .watch-page-v080 .page-header{margin-bottom:-4px}.havin-v081 .watch-context-bar-v080>div span{display:none}.havin-v081 .watch-context-bar-v080{display:grid;gap:8px;padding:0;background:transparent;border:0}.havin-v081 .watch-context-bar-v080 .page-search{min-height:44px}.havin-v081 .watch-asset-header{grid-template-columns:44px 1fr auto;padding:12px}.havin-v081 .watch-asset-visual{width:44px;height:44px}.havin-v081 .watch-view-asset{display:none}.havin-v081 .watch-item-row{padding:12px}.havin-v081 .watch-item-copy p{font-size:.8rem}.havin-v081 .watch-item-actions{gap:6px}.havin-v081 .watch-item-actions .button{min-height:44px}}
.havin-v081 .warranty-details-v081{margin-top:10px}.havin-v081 .warranty-details-v081>.warranty-list{display:grid;gap:10px;padding-top:10px}.havin-v081 .warranty-mini-v081 .text-link,.havin-v081 .warranty-mini-v081 .text-button{margin-left:auto;white-space:nowrap}
/* Hāvin v0.8.3 — premium consumer ownership companion.
   Semantic tokens are intentionally theme-ready. Dark is the only exposed theme in v0.8.3. */
:root {
  --hv-brand-purple:#4B2A72;
  --hv-brand-navy:#0D1426;
  --hv-brand-blue:#1E3A8A;
  --hv-brand-sky:#3FA7E1;
  --hv-brand-gold:#D4AF37;

  --hv-bg:#070b15;
  --hv-bg-elevated:#0b1120;
  --hv-surface:#0f1729;
  --hv-surface-2:#121d33;
  --hv-surface-soft:rgba(17,27,47,.72);
  --hv-surface-glass:rgba(10,16,30,.78);
  --hv-border:rgba(198,210,229,.105);
  --hv-border-strong:rgba(198,210,229,.18);
  --hv-text:#f7f9fc;
  --hv-text-2:#a9b4c7;
  --hv-text-3:#7d899e;
  --hv-action:#62b8eb;
  --hv-accent:#62b8eb;
  --hv-gold:#D4AF37;
  --hv-action-strong:#3FA7E1;
  --hv-focus:rgba(63,167,225,.44);
  --hv-good:#8bd5aa;
  --hv-warn:#e8c760;
  --hv-danger:#f0837d;
  --hv-shadow:0 24px 70px rgba(0,0,0,.28);
  --hv-shadow-soft:0 12px 36px rgba(0,0,0,.18);
  --hv-radius-s:14px;
  --hv-radius-m:20px;
  --hv-radius-l:28px;
  --hv-radius-xl:36px;
}

/* Light tokens are defined now so future light mode is a token swap, not a component rewrite. */
html[data-havin-theme="light"] {
  --hv-bg:#f5f7fb;
  --hv-bg-elevated:#ffffff;
  --hv-surface:#ffffff;
  --hv-surface-2:#eef3f9;
  --hv-surface-soft:rgba(255,255,255,.78);
  --hv-surface-glass:rgba(255,255,255,.78);
  --hv-border:rgba(13,20,38,.10);
  --hv-border-strong:rgba(13,20,38,.18);
  --hv-text:#0D1426;
  --hv-text-2:#536176;
  --hv-text-3:#7d8997;
  --hv-action:#1E6FA9;
  --hv-accent:#1E6FA9;
  --hv-gold:#9A7720;
  --hv-focus:rgba(30,58,138,.28);
  --hv-shadow:0 24px 70px rgba(24,43,73,.12);
  --hv-shadow-soft:0 12px 32px rgba(24,43,73,.08);
}

html.havin-v083 body {
  background:
    radial-gradient(circle at 78% -12%, rgba(30,58,138,.22), transparent 34rem),
    radial-gradient(circle at 4% 28%, rgba(75,42,114,.18), transparent 30rem),
    var(--hv-bg);
  color:var(--hv-text);
}
html.havin-v083 h1,html.havin-v083 h2,html.havin-v083 h3{color:var(--hv-text)}
html.havin-v083 p{color:var(--hv-text-2)}
html.havin-v083 :focus-visible{outline:2px solid var(--hv-action);outline-offset:3px}
html.havin-v083 .eyebrow{color:#82c8ef;font-size:.66rem;letter-spacing:.14em;margin-bottom:6px}
html.havin-v083 .text-link,html.havin-v083 .text-button,html.havin-v083 .inline-link{color:#82c8ef}

/* ---------- Shell: calm, compact, consumer-first ---------- */
html.havin-v083 .app-shell{grid-template-columns:196px minmax(0,1fr);background:transparent}
html.havin-v083 .desktop-rail{
  width:196px;padding:21px 14px 16px;
  background:linear-gradient(180deg,rgba(10,16,30,.96),rgba(7,11,21,.98));
  border-right:1px solid var(--hv-border);box-shadow:none;
}
html.havin-v083 .rail-top{padding:0 8px 20px;border-bottom:0}
html.havin-v083 .rail-top .brand-logo{width:132px}
html.havin-v083 .rail-brand-line{display:none}
html.havin-v083 .rail-nav{padding-top:10px;gap:3px}
html.havin-v083 .rail-link{height:45px;border-radius:14px;padding:0 12px;color:#8996aa;font-size:.82rem;font-weight:680;gap:11px}
html.havin-v083 .rail-link svg{opacity:.88}
html.havin-v083 .rail-link:hover{background:rgba(255,255,255,.035);color:#e9eef6}
html.havin-v083 .rail-link.active{background:linear-gradient(100deg,rgba(75,42,114,.38),rgba(30,58,138,.20));color:#fff;box-shadow:inset 0 0 0 1px rgba(98,184,235,.12)}
html.havin-v083 .rail-link.active svg{color:#76c4ef}
html.havin-v083 .rail-automation-note{display:none}
html.havin-v083 .rail-bottom{gap:8px}
html.havin-v083 .profile-chip{padding:14px 5px 0;border-top:1px solid var(--hv-border);gap:8px}
html.havin-v083 .profile-chip .avatar{width:32px;height:32px;background:linear-gradient(145deg,#203c87,#4b2a72);color:white}
html.havin-v083 .profile-chip strong{font-size:.73rem}
html.havin-v083 .profile-chip span:not(.avatar){font-size:.62rem}
html.havin-v083 .main-column{grid-column:2}
html.havin-v083 .topbar{
  height:66px;padding:0 28px;border-bottom:1px solid var(--hv-border);
  background:rgba(7,11,21,.68);backdrop-filter:blur(22px) saturate(130%);
}
html.havin-v083 .global-search-wrap{max-width:520px;flex:1}
html.havin-v083 .global-search{height:40px;border-color:var(--hv-border);border-radius:14px;background:rgba(255,255,255,.035);color:var(--hv-text-3)}
html.havin-v083 .global-search input{color:var(--hv-text);font-size:.81rem}
html.havin-v083 .global-search input::placeholder{color:#69758a}
html.havin-v083 .icon-button{border-color:var(--hv-border);border-radius:14px;background:rgba(255,255,255,.035);color:#8f9cb0}
html.havin-v083 .icon-button:hover{background:rgba(255,255,255,.07);border-color:var(--hv-border-strong);color:#fff}
html.havin-v083 .button{border-radius:14px;font-weight:730;letter-spacing:-.005em}
html.havin-v083 .button-primary{background:linear-gradient(135deg,#2f78dc,#3fa7e1);color:#fff;box-shadow:0 10px 26px rgba(30,104,255,.18)}
html.havin-v083 .button-primary:hover:not(:disabled){background:linear-gradient(135deg,#357fe4,#52b5ec);box-shadow:0 12px 30px rgba(30,104,255,.25)}
html.havin-v083 .button-secondary{background:rgba(255,255,255,.04);border-color:var(--hv-border);color:#edf3fa}
html.havin-v083 .button-secondary:hover:not(:disabled){background:rgba(255,255,255,.07);border-color:var(--hv-border-strong)}
html.havin-v083 .page-content{max-width:1420px;padding:32px clamp(20px,3vw,44px) 84px}
html.havin-v083 .page-stack{gap:20px}
html.havin-v083 .page-header{margin-bottom:2px}
html.havin-v083 .page-header h1{font-weight:620;letter-spacing:-.045em}
html.havin-v083 .page-header p{color:var(--hv-text-2)}

/* ---------- Home ---------- */
html.havin-v083 .home-v083{max-width:1240px;margin:0 auto;width:100%;gap:22px}
html.havin-v083 .home-welcome-v083{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 2px 0}
html.havin-v083 .home-date-v083{display:block;margin-bottom:8px;color:#7f8da4;font-size:.73rem;font-weight:670;letter-spacing:.02em}
html.havin-v083 .home-welcome-v083 h1{margin:0 0 7px;font-size:clamp(2.25rem,4.2vw,4rem);font-weight:540;letter-spacing:-.055em;line-height:.98}
html.havin-v083 .home-welcome-v083 p{margin:0;font-size:1rem;color:#aeb9ca}
html.havin-v083 .home-round-action-v083{width:46px;height:46px;border:1px solid var(--hv-border);border-radius:50%;background:rgba(255,255,255,.045);color:#dbe6f2;display:grid;place-items:center;cursor:pointer;transition:.18s ease}
html.havin-v083 .home-round-action-v083:hover{transform:translateY(-1px);background:rgba(63,167,225,.11);border-color:rgba(63,167,225,.26)}
html.havin-v083 .home-ask-v083{
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;
  padding:15px 17px;border:1px solid rgba(98,184,235,.18);border-radius:22px;
  background:linear-gradient(120deg,rgba(75,42,114,.24),rgba(18,29,51,.92) 45%,rgba(30,58,138,.19));
  box-shadow:var(--hv-shadow-soft);color:inherit;text-align:left;cursor:pointer;overflow:hidden;position:relative;
}
html.havin-v083 .home-ask-v083::after{content:"";position:absolute;width:220px;height:220px;right:-110px;top:-150px;border-radius:50%;background:rgba(63,167,225,.14);filter:blur(24px);pointer-events:none}
html.havin-v083 .home-ask-v083:hover{border-color:rgba(98,184,235,.3);transform:translateY(-1px)}
html.havin-v083 .home-ask-icon-v083{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,rgba(75,42,114,.8),rgba(30,104,255,.55));color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.25)}
html.havin-v083 .home-ask-copy-v083{display:grid;gap:2px;min-width:0}
html.havin-v083 .home-ask-copy-v083 strong{font-size:.92rem;color:#f7f9fc}
html.havin-v083 .home-ask-copy-v083 small{color:#9ba9bd;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-ask-hint-v083{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--hv-border);border-radius:999px;color:#aab6c8;font-size:.74rem;background:rgba(5,9,17,.28)}
html.havin-v083 .home-focus-grid-v083{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px;align-items:start}
html.havin-v083 .home-today-v083,html.havin-v083 .home-glance-v083{
  border:1px solid var(--hv-border);border-radius:26px;background:linear-gradient(150deg,rgba(17,27,47,.94),rgba(11,17,32,.94));box-shadow:var(--hv-shadow-soft)
}
html.havin-v083 .home-today-v083{padding:20px}
html.havin-v083 .home-glance-v083{padding:20px}
html.havin-v083 .home-card-heading-v083{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:15px}
html.havin-v083 .home-card-heading-v083 h2{margin:0;font-size:1.22rem;font-weight:690;letter-spacing:-.03em}
html.havin-v083 .home-card-heading-v083 a{display:flex;align-items:center;gap:2px;color:#85c9ef;font-size:.74rem;font-weight:720}
html.havin-v083 .home-priority-list-v083{display:grid;gap:8px}
html.havin-v083 .home-priority-v083{border:1px solid var(--hv-border);border-radius:18px;background:rgba(255,255,255,.024);overflow:hidden}
html.havin-v083 .home-priority-main-v083{width:100%;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
html.havin-v083 .home-priority-status-v083{width:7px;height:38px;border-radius:99px;background:var(--hv-warn)}
html.havin-v083 .severity-critical .home-priority-status-v083{background:var(--hv-danger)}
html.havin-v083 .home-priority-copy-v083{display:grid;gap:2px;min-width:0}
html.havin-v083 .home-priority-copy-v083 small{color:#7ebce3;font-size:.71rem;font-weight:700}
html.havin-v083 .home-priority-copy-v083 strong{color:#f4f7fb;font-size:.91rem;line-height:1.28}
html.havin-v083 .home-priority-copy-v083 span{color:#8491a6;font-size:.72rem}
html.havin-v083 .home-priority-actions-v083{display:flex;justify-content:flex-end;gap:8px;padding:0 13px 9px}
html.havin-v083 .home-priority-actions-v083 button{border:0;background:none;color:#8491a6;font-size:.7rem;cursor:pointer}
html.havin-v083 .home-clear-state-v083{display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px solid rgba(139,213,170,.13);border-radius:19px;background:linear-gradient(135deg,rgba(139,213,170,.055),rgba(63,167,225,.04))}
html.havin-v083 .home-clear-state-v083>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:rgba(139,213,170,.08);color:var(--hv-good)}
html.havin-v083 .home-clear-state-v083 strong{display:block;color:#f1f6f8;font-size:.94rem}
html.havin-v083 .home-clear-state-v083 p{margin:4px 0 0;font-size:.78rem;line-height:1.5;color:#8997aa}
html.havin-v083 .home-next-v083{margin-top:16px;padding-top:14px;border-top:1px solid var(--hv-border)}
html.havin-v083 .home-subheading-v083{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#9aa8bb;font-size:.72rem}
html.havin-v083 .home-subheading-v083>span{display:flex;align-items:center;gap:6px;font-weight:720}
html.havin-v083 .home-next-v083>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 4px;border:0;border-top:1px solid rgba(255,255,255,.045);background:none;color:inherit;text-align:left;cursor:pointer}
html.havin-v083 .home-next-v083>button:first-of-type{border-top:0}
html.havin-v083 .home-next-v083>button>span{display:grid;gap:2px;min-width:0}
html.havin-v083 .home-next-v083 small{color:#8090a5;font-size:.67rem}
html.havin-v083 .home-next-v083 strong{color:#dce4ee;font-size:.79rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-next-v083 em{font-style:normal;color:#8d9aab;font-size:.69rem;white-space:nowrap}
html.havin-v083 .home-shared-note-v083{margin:12px 2px 0;color:#7f8da1;font-size:.72rem}
html.havin-v083 .home-shared-note-v083 a{color:#83c9f0}
html.havin-v083 .home-glance-assets-v083{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
html.havin-v083 .home-glance-asset-v083{display:grid;gap:6px;min-width:0;color:inherit;text-decoration:none}
html.havin-v083 .home-glance-image-v083{position:relative;aspect-ratio:1.42;border-radius:18px;border:1px solid var(--hv-border);background:linear-gradient(145deg,rgba(75,42,114,.34),rgba(30,58,138,.28));background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#8d9bb0}
html.havin-v083 .home-glance-image-v083.has-image::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,8,16,.74));pointer-events:none}
html.havin-v083 .home-glance-image-v083>span{font-size:.7rem}
html.havin-v083 .home-glance-image-v083 small{position:absolute;z-index:1;left:8px;bottom:8px;padding:4px 7px;border-radius:999px;background:rgba(8,13,24,.8);backdrop-filter:blur(8px);color:#f0cf70;font-size:.61rem}
html.havin-v083 .home-glance-image-v083 small.current{display:flex;align-items:center;gap:4px;color:#a9ddb9}
html.havin-v083 .home-glance-asset-v083>strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#edf2f8}
html.havin-v083 .home-glance-asset-v083>span{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#76849a}
html.havin-v083 .home-more-assets-v083{margin-top:13px;display:flex;align-items:center;gap:6px;color:#86c9ef;font-size:.71rem;font-weight:700}
html.havin-v083 .home-quiet-row-v083{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px}
html.havin-v083 .home-quiet-item-v083{min-width:0;border:1px solid var(--hv-border);border-radius:17px;background:rgba(255,255,255,.022);color:inherit;text-decoration:none}
html.havin-v083 a.home-quiet-item-v083,html.havin-v083 .home-quiet-item-v083>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;list-style:none;cursor:pointer}
html.havin-v083 .home-quiet-item-v083>summary::-webkit-details-marker{display:none}
html.havin-v083 .home-quiet-item-v083 svg:first-child{color:#72bce9}
html.havin-v083 .home-quiet-item-v083 span{display:grid;gap:2px;min-width:0}
html.havin-v083 .home-quiet-item-v083 strong{font-size:.75rem;color:#dbe4ef}
html.havin-v083 .home-quiet-item-v083 small{font-size:.66rem;color:#748198;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-quiet-item-v083.needs-input{border-color:rgba(212,175,55,.15)}
html.havin-v083 .home-quiet-item-v083.needs-input svg:first-child{color:#dcc05d}
html.havin-v083 .home-automation-details-v083{padding:0 13px 11px;display:grid;gap:0}
html.havin-v083 .home-automation-details-v083 article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:7px 0;border-top:1px solid var(--hv-border);font-size:.66rem}
html.havin-v083 .home-automation-details-v083 article span,html.havin-v083 .home-automation-details-v083 article small{color:#748298}
html.havin-v083 .home-automation-details-v083 article strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-refresh-v083{align-self:center;display:flex;align-items:center;gap:6px;padding:6px 10px;border:0;background:none;color:#657187;font-size:.68rem;cursor:pointer}

/* ---------- Assets: gallery, not inventory ---------- */
html.havin-v083 .assets-page-v081{max-width:1240px;margin:0 auto;width:100%;gap:15px}
html.havin-v083 .assets-command-v081{border:0;background:transparent;padding:0;box-shadow:none;grid-template-columns:minmax(300px,1fr) minmax(180px,250px) auto auto;gap:8px}
html.havin-v083 .assets-search-v081,html.havin-v083 .assets-portfolio-v081{border:1px solid var(--hv-border);background:rgba(255,255,255,.035);border-radius:15px;min-height:44px}
html.havin-v083 .assets-search-v081 input,html.havin-v083 .assets-portfolio-v081 select{color:#edf3fa}
html.havin-v083 .asset-category-chips-v081{gap:6px;padding-bottom:2px}
html.havin-v083 .asset-category-chips-v081 button{min-height:34px;border-radius:999px;border:1px solid var(--hv-border);background:rgba(255,255,255,.024);color:#8491a6;font-size:.7rem}
html.havin-v083 .asset-category-chips-v081 button.active{background:rgba(63,167,225,.1);border-color:rgba(63,167,225,.22);color:#bfe5fa}
html.havin-v083 .asset-card-grid-v081{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
html.havin-v083 .asset-card-v081{border:1px solid var(--hv-border);border-radius:23px;background:rgba(15,23,41,.82);box-shadow:var(--hv-shadow-soft);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
html.havin-v083 .asset-card-v081:hover{transform:translateY(-3px);border-color:rgba(98,184,235,.22);box-shadow:0 18px 44px rgba(0,0,0,.26)}
html.havin-v083 .asset-card-image-v081{aspect-ratio:1.38;border-radius:0;background:linear-gradient(145deg,rgba(75,42,114,.38),rgba(30,58,138,.26));border:0}
html.havin-v083 .asset-card-image-v081 img{width:100%;height:100%;object-fit:cover}
html.havin-v083 .asset-card-image-v081::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(8,12,23,.56));pointer-events:none}
html.havin-v083 .asset-category-v081,html.havin-v083 .asset-shared-badge-v081{z-index:1;background:rgba(7,11,21,.70);backdrop-filter:blur(10px);border-color:rgba(255,255,255,.12)}
html.havin-v083 .asset-card-body-v081{padding:14px 15px 15px;gap:9px}
html.havin-v083 .asset-card-heading-v081 h3{font-size:.94rem;letter-spacing:-.02em}
html.havin-v083 .asset-card-heading-v081 p{font-size:.71rem;color:#7f8ca0}
html.havin-v083 .asset-card-status-v081{min-height:auto;border:0;background:none;padding:0;font-size:.68rem}
html.havin-v083 .asset-card-status-v081.current{color:#93cba6}
html.havin-v083 .asset-card-status-v081.attention{color:#ddc15d}
html.havin-v083 .asset-card-context-v081{border-top:1px solid var(--hv-border);padding-top:8px;color:#6f7d92;font-size:.65rem}
html.havin-v083 .asset-card-placeholder-v081{border:0;background:transparent;color:#6f7d92}
html.havin-v083 .assets-plan-note-v081,html.havin-v083 .assets-capacity-note-v081{border-radius:16px;background:rgba(212,175,55,.045);border-color:rgba(212,175,55,.14)}
html.havin-v083 .assets-filter-panel-v081{border-radius:18px;border-color:var(--hv-border);background:var(--hv-surface)}

/* ---------- Asset detail: digital twin ---------- */
html.havin-v083 .asset-detail-page-v081{max-width:1240px;margin:0 auto;width:100%}
html.havin-v083 .asset-detail-hero,html.havin-v083 .asset-detail-hero-v081{border-radius:30px;border:1px solid var(--hv-border);background:linear-gradient(145deg,rgba(17,27,47,.97),rgba(10,16,29,.98));box-shadow:var(--hv-shadow);overflow:hidden}
html.havin-v083 .asset-detail-photo,html.havin-v083 .asset-detail-photo-v081{border-radius:22px;overflow:hidden}
html.havin-v083 .asset-status-summary-v080{border-radius:15px;border-color:var(--hv-border);background:rgba(255,255,255,.025)}
html.havin-v083 .asset-key-strip-v081>span{border-color:var(--hv-border);background:rgba(255,255,255,.024);border-radius:13px}
html.havin-v083 .detail-tabs{padding:5px;border:1px solid var(--hv-border);background:rgba(255,255,255,.025);border-radius:16px}
html.havin-v083 .detail-tabs button{border-radius:12px;color:#8290a5}
html.havin-v083 .detail-tabs button.active{background:rgba(63,167,225,.12);color:#d8f1ff;box-shadow:none}
html.havin-v083 .content-card,html.havin-v083 .panel-block{border-color:var(--hv-border);border-radius:22px;background:rgba(15,23,41,.82);box-shadow:var(--hv-shadow-soft)}
html.havin-v083 .asset-next-card-v081{border-radius:20px;background:linear-gradient(135deg,rgba(75,42,114,.17),rgba(30,58,138,.10));border-color:rgba(98,184,235,.13)}
html.havin-v083 .component-card-v081{border-radius:18px;border-color:var(--hv-border);background:rgba(255,255,255,.025)}

/* ---------- Watch: attention center, not task manager ---------- */
html.havin-v083 .watch-page-v080{max-width:1240px;margin:0 auto;width:100%}
html.havin-v083 .watch-view-tabs-v080{display:flex;gap:5px;padding:5px;border:1px solid var(--hv-border);border-radius:16px;background:rgba(255,255,255,.025);overflow-x:auto}
html.havin-v083 .watch-view-tabs-v080 button{min-width:0;min-height:39px;border:0;border-radius:12px;background:transparent;box-shadow:none;color:#7f8da2;font-size:.76rem}
html.havin-v083 .watch-view-tabs-v080 button.active{background:rgba(63,167,225,.11);color:#e6f5fd;box-shadow:none;border:0}
html.havin-v083 .watch-view-tabs-v080 small{background:rgba(255,255,255,.06);font-size:.63rem}
html.havin-v083 .watch-context-bar-v080{border:0;background:transparent;box-shadow:none;padding:0}
html.havin-v083 .watch-context-bar-v080>div span{color:#7d899d}
html.havin-v083 .watch-context-bar-v080 .page-search{border-color:var(--hv-border);border-radius:14px;background:rgba(255,255,255,.035)}
html.havin-v083 .watch-asset-group{border:1px solid var(--hv-border);border-radius:22px;background:rgba(15,23,41,.82);box-shadow:var(--hv-shadow-soft);overflow:hidden}
html.havin-v083 .watch-asset-header{background:rgba(255,255,255,.018);border-bottom-color:var(--hv-border)}
html.havin-v083 .watch-item-row{border-bottom-color:var(--hv-border)}
html.havin-v083 .watch-item-row:last-child{border-bottom:0}
html.havin-v083 .watch-item-copy strong{color:#edf3f8}
html.havin-v083 .watch-item-copy p{color:#8390a4}
html.havin-v083 .watch-sidebar .content-card{box-shadow:none}

/* ---------- Vault / People / Settings: soften management chrome ---------- */
html.havin-v083 .records-command-v081,html.havin-v083 .records-filter-panel-v081,html.havin-v083 .people-command-bar,html.havin-v083 .settings-nav{border-color:var(--hv-border);background:rgba(255,255,255,.024);border-radius:18px}
html.havin-v083 .document-card,html.havin-v083 .access-row,html.havin-v083 .settings-card,html.havin-v083 .security-control,html.havin-v083 .platform-tool{border-color:var(--hv-border);background:rgba(15,23,41,.82);border-radius:19px}
html.havin-v083 .field input,html.havin-v083 .field select,html.havin-v083 .field textarea,html.havin-v083 .select-control,html.havin-v083 .select-control select{border-color:var(--hv-border);background:rgba(255,255,255,.035);color:#edf3fa;border-radius:13px}

/* ---------- SMS settings foundation ---------- */
html.havin-v083 .sms-settings-v083{display:grid;gap:14px}
html.havin-v083 .sms-hero-v083{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:1px solid rgba(98,184,235,.15);border-radius:22px;background:linear-gradient(135deg,rgba(75,42,114,.15),rgba(30,58,138,.10))}
html.havin-v083 .sms-icon-v083{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:rgba(63,167,225,.10);color:#82c9f0}
html.havin-v083 .sms-hero-v083 strong{display:block;color:#f2f6fb}
html.havin-v083 .sms-hero-v083 p{margin:3px 0 0;font-size:.78rem;line-height:1.5}
html.havin-v083 .sms-status-v083{padding:6px 9px;border-radius:999px;border:1px solid var(--hv-border);color:#8c99ad;font-size:.66rem;font-weight:750;white-space:nowrap}
html.havin-v083 .sms-status-v083.ready{color:#a9ddb9;border-color:rgba(139,213,170,.16);background:rgba(139,213,170,.05)}
html.havin-v083 .sms-preferences-v083{display:grid;gap:0;border:1px solid var(--hv-border);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.018)}
html.havin-v083 .sms-preference-v083{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--hv-border)}
html.havin-v083 .sms-preference-v083:first-child{border-top:0}
html.havin-v083 .sms-preference-v083 strong{display:block;font-size:.82rem;color:#e8eef6}
html.havin-v083 .sms-preference-v083 span{display:block;margin-top:3px;font-size:.7rem;color:#778499}
html.havin-v083 .sms-switch-v083{position:relative;width:42px;height:24px;border:0;border-radius:99px;background:#283348;cursor:pointer;transition:.16s ease}
html.havin-v083 .sms-switch-v083::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#91a0b5;transition:.16s ease}
html.havin-v083 .sms-switch-v083.on{background:#2d77aa}
html.havin-v083 .sms-switch-v083.on::after{transform:translateX(18px);background:#fff}
html.havin-v083 .sms-switch-v083:disabled{opacity:.45;cursor:not-allowed}
html.havin-v083 .sms-note-v083{margin:0;padding:0 2px;color:#727f93;font-size:.69rem;line-height:1.5}

/* ---------- Mobile: native-feeling floating chrome ---------- */
@media(max-width:1100px){
  html.havin-v083 .asset-card-grid-v081{grid-template-columns:repeat(3,minmax(0,1fr))}
  html.havin-v083 .home-focus-grid-v083{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}
}
@media(max-width:900px){
  html.havin-v083 .app-shell{display:block}
  html.havin-v083 .desktop-rail{display:none}
  html.havin-v083 .main-column{grid-column:auto;padding-bottom:102px}
  html.havin-v083 .topbar{height:58px;padding:0 17px;background:rgba(7,11,21,.82);border-bottom-color:rgba(198,210,229,.07)}
  html.havin-v083 .mobile-brand{display:flex}
  html.havin-v083 .mobile-brand .brand-logo{width:108px}
  html.havin-v083 .page-content{padding:22px 18px 36px}
  html.havin-v083 .home-focus-grid-v083{grid-template-columns:1fr}
  html.havin-v083 .home-glance-assets-v083{grid-template-columns:repeat(4,minmax(0,1fr))}
  html.havin-v083 .asset-card-grid-v081{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.havin-v083 .mobile-nav{
    display:grid;position:fixed;z-index:30;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));height:74px;
    grid-template-columns:1fr 1fr 74px 1fr 1fr;align-items:center;padding:7px 9px;
    border:1px solid rgba(198,210,229,.15);border-radius:26px;background:rgba(7,11,21,.88);
    backdrop-filter:blur(24px) saturate(145%);box-shadow:0 18px 46px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035)
  }
  html.havin-v083 .mobile-link{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#6e7b90;font-size:.61rem;font-weight:720;border-radius:17px}
  html.havin-v083 .mobile-link.active{color:#81c8f0;background:transparent}
  html.havin-v083 .mobile-link.active svg{filter:drop-shadow(0 0 11px rgba(63,167,225,.25))}
  html.havin-v083 .mobile-add{width:58px;height:58px;margin:auto;border:1px solid rgba(255,255,255,.15);border-radius:19px;background:linear-gradient(145deg,#286fd6,#40abe5);color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(30,104,255,.32);transform:translateY(-7px)}
  html.havin-v083 .mobile-drawer{border-radius:0 28px 28px 0;background:linear-gradient(180deg,#0b1120,#070b15)}
  html.havin-v083 .mobile-search-sheet{border-radius:0 0 24px 24px;background:rgba(9,14,26,.97);border-color:var(--hv-border)}
}
@media(max-width:680px){
  html.havin-v083 .page-content{padding:18px 15px 28px}
  html.havin-v083 .page-stack{gap:17px}
  html.havin-v083 .home-v083{gap:17px}
  html.havin-v083 .home-welcome-v083{padding:0 1px}
  html.havin-v083 .home-date-v083{font-size:.67rem;margin-bottom:5px}
  html.havin-v083 .home-welcome-v083 h1{font-size:1.85rem;margin-bottom:5px}
  html.havin-v083 .home-welcome-v083 p{font-size:.82rem}
  html.havin-v083 .home-round-action-v083{width:42px;height:42px}
  html.havin-v083 .home-ask-v083{grid-template-columns:auto minmax(0,1fr) auto;padding:13px 14px;border-radius:19px}
  html.havin-v083 .home-ask-hint-v083{display:none}
  html.havin-v083 .home-ask-icon-v083{width:39px;height:39px;border-radius:13px}
  html.havin-v083 .home-ask-copy-v083 small{font-size:.69rem}
  html.havin-v083 .home-today-v083,html.havin-v083 .home-glance-v083{padding:16px;border-radius:22px}
  html.havin-v083 .home-card-heading-v083{margin-bottom:12px}
  html.havin-v083 .home-card-heading-v083 h2{font-size:1.08rem}
  html.havin-v083 .home-glance-assets-v083{display:flex;overflow-x:auto;gap:10px;margin:0 -2px;padding:0 2px 6px;scroll-snap-type:x proximity}
  html.havin-v083 .home-glance-asset-v083{flex:0 0 145px;scroll-snap-align:start}
  html.havin-v083 .home-glance-image-v083{aspect-ratio:1.32}
  html.havin-v083 .home-quiet-row-v083{grid-template-columns:1fr}
  html.havin-v083 .assets-command-v081{grid-template-columns:minmax(0,1fr) auto auto}
  html.havin-v083 .assets-portfolio-v081{grid-column:1/-1;grid-row:2}
  html.havin-v083 .asset-card-grid-v081{grid-template-columns:1fr;gap:12px}
  html.havin-v083 .asset-card-v081{display:grid;grid-template-columns:126px minmax(0,1fr);border-radius:19px}
  html.havin-v083 .asset-card-v081>a{display:contents}
  html.havin-v083 .asset-card-image-v081{aspect-ratio:auto;min-height:132px}
  html.havin-v083 .asset-card-body-v081{padding:13px 13px;align-self:center}
  html.havin-v083 .asset-category-v081{display:none}
  html.havin-v083 .asset-card-image-v081::after{background:linear-gradient(90deg,transparent,rgba(8,12,23,.16))}
  html.havin-v083 .asset-card-context-v081{display:none}
  html.havin-v083 .asset-card-status-v081{font-size:.64rem}
  html.havin-v083 .watch-view-tabs-v080{margin:0;scrollbar-width:none}
  html.havin-v083 .watch-view-tabs-v080::-webkit-scrollbar{display:none}
  html.havin-v083 .watch-view-tabs-v080 button{flex:0 0 auto;min-width:108px}
  html.havin-v083 .sms-hero-v083{grid-template-columns:auto minmax(0,1fr);padding:15px}
  html.havin-v083 .sms-status-v083{grid-column:2;justify-self:start}
}
@media (prefers-reduced-motion: reduce){
  html.havin-v083 *,html.havin-v083 *::before,html.havin-v083 *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
html.havin-v083 .sms-verify-controls-v083{display:flex;align-items:center;gap:8px;min-width:280px}
html.havin-v083 .sms-verify-controls-v083 input{min-width:0;width:180px;height:38px;padding:0 10px;border:1px solid var(--hv-border);border-radius:11px;background:rgba(255,255,255,.035);color:#edf3fa;outline:0}
html.havin-v083 .sms-verify-controls-v083 input:focus{border-color:rgba(63,167,225,.44);box-shadow:0 0 0 3px rgba(63,167,225,.08)}
@media(max-width:680px){html.havin-v083 .sms-verify-controls-v083{min-width:0;flex-wrap:wrap;justify-content:flex-end}html.havin-v083 .sms-verify-controls-v083 input{width:150px}}

/* ========================================================================== */
/* v0.8.3 RC2 — consumer experience pass                                      */
/* Calm on the surface; deep capability stays one layer down.                 */
/* ========================================================================== */

html.havin-v083 .ask-havin-pill-v083{
  height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(98,184,235,.16);
  border-radius:13px;background:linear-gradient(120deg,rgba(75,42,114,.20),rgba(30,58,138,.13));color:var(--hv-text);
  font:inherit;font-size:.76rem;font-weight:760;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease
}
html.havin-v083 .ask-havin-pill-v083:hover{transform:translateY(-1px);border-color:rgba(98,184,235,.32);background:linear-gradient(120deg,rgba(75,42,114,.29),rgba(30,58,138,.20))}
html.havin-v083 .notification-context-v083{display:block!important;margin-bottom:2px!important;color:#77bce5!important;font-size:.62rem!important;font-weight:760!important;letter-spacing:.01em}

/* Home — editorial hierarchy instead of dashboard chrome. */
html.havin-v083 .home-rc2-v083{max-width:1180px;gap:28px}
html.havin-v083 .home-stage-v083{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:10px 2px 0}
html.havin-v083 .home-stage-v083 h1{margin:0 0 8px;font-size:clamp(2.45rem,5vw,4.45rem);line-height:.96;letter-spacing:-.058em;font-weight:545}
html.havin-v083 .home-stage-v083 p{margin:0;color:var(--hv-text-2);font-size:1rem;line-height:1.45}
html.havin-v083 .home-command-v083{
  width:100%;position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;
  min-height:74px;padding:13px 15px;border:1px solid rgba(98,184,235,.17);border-radius:24px;
  background:linear-gradient(112deg,rgba(75,42,114,.27),rgba(15,23,41,.92) 42%,rgba(30,58,138,.23));color:var(--hv-text);
  box-shadow:0 16px 44px rgba(0,0,0,.16);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
html.havin-v083 .home-command-v083::before{content:"";position:absolute;inset:auto -80px -145px auto;width:260px;height:260px;border-radius:50%;background:rgba(63,167,225,.13);filter:blur(32px);pointer-events:none}
html.havin-v083 .home-command-v083:hover{transform:translateY(-2px);border-color:rgba(98,184,235,.32);box-shadow:0 20px 52px rgba(0,0,0,.22)}
html.havin-v083 .home-command-icon-v083{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,rgba(75,42,114,.95),rgba(30,104,255,.60));box-shadow:0 10px 28px rgba(0,0,0,.24);color:#fff}
html.havin-v083 .home-command-copy-v083{min-width:0;display:grid;gap:3px}
html.havin-v083 .home-command-copy-v083 strong{font-size:.94rem;color:var(--hv-text)}
html.havin-v083 .home-command-copy-v083 small{color:var(--hv-text-2);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-command-search-v083{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--hv-border);border-radius:999px;background:rgba(0,0,0,.13);color:var(--hv-text-2);font-size:.72rem;font-weight:680}
html.havin-v083 .home-section-heading-v083{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
html.havin-v083 .home-section-heading-v083 h2{margin:0;font-size:1.28rem;font-weight:680;letter-spacing:-.035em}
html.havin-v083 .home-section-heading-v083>a{display:inline-flex;align-items:center;gap:2px;color:var(--hv-action);font-size:.73rem;font-weight:740}
html.havin-v083 .home-now-v083{padding:20px 21px;border:1px solid var(--hv-border);border-radius:26px;background:linear-gradient(145deg,rgba(15,23,41,.84),rgba(10,16,30,.67));box-shadow:var(--hv-shadow-soft)}
html.havin-v083 .home-now-list-v083{display:grid;gap:2px}
html.havin-v083 .home-now-item-v083{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--hv-border)}
html.havin-v083 .home-now-item-v083:first-child{border-top:0}
html.havin-v083 .home-now-main-v083{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:13px;align-items:center;width:100%;padding:14px 4px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
html.havin-v083 .home-now-main-v083:hover .home-now-copy-v083 strong{color:#fff}
html.havin-v083 .home-now-marker-v083{width:7px;height:7px;border-radius:50%;background:var(--hv-warn);box-shadow:0 0 0 5px rgba(232,199,96,.08)}
html.havin-v083 .home-now-item-v083.severity-critical .home-now-marker-v083{background:var(--hv-danger);box-shadow:0 0 0 5px rgba(240,131,125,.08)}
html.havin-v083 .home-now-copy-v083{min-width:0;display:grid;gap:2px}
html.havin-v083 .home-now-copy-v083 small{color:#78bce4;font-size:.65rem;font-weight:760}
html.havin-v083 .home-now-copy-v083 strong{color:var(--hv-text);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}
html.havin-v083 .home-now-copy-v083>span{color:var(--hv-text-3);font-size:.69rem}
html.havin-v083 .home-now-actions-v083{display:flex;gap:5px;padding-left:10px}
html.havin-v083 .home-now-actions-v083 button{border:0;background:transparent;color:var(--hv-text-3);font:inherit;font-size:.67rem;font-weight:720;cursor:pointer;padding:7px}
html.havin-v083 .home-now-actions-v083 button:hover{color:var(--hv-action)}
html.havin-v083 .home-clear-v083{display:flex;align-items:center;gap:13px;padding:8px 3px 3px}
html.havin-v083 .home-clear-v083>span{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:rgba(139,213,170,.08);color:var(--hv-good)}
html.havin-v083 .home-clear-v083 strong{display:block;color:var(--hv-text);font-size:.88rem}
html.havin-v083 .home-clear-v083 p{margin:3px 0 0;font-size:.74rem;line-height:1.5}
html.havin-v083 .home-shared-note-v083{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--hv-border);font-size:.69rem;color:var(--hv-text-3)}
html.havin-v083 .home-shared-note-v083 a{color:var(--hv-action);font-weight:720}
html.havin-v083 .home-assets-v083{padding:2px 0}
html.havin-v083 .home-asset-gallery-v083{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
html.havin-v083 .home-gallery-asset-v083{min-width:0;display:grid;gap:9px;color:inherit;text-decoration:none}
html.havin-v083 .home-gallery-image-v083{position:relative;aspect-ratio:1.48;border:1px solid var(--hv-border);border-radius:21px;background:linear-gradient(145deg,var(--hv-surface-2),rgba(75,42,114,.20));background-position:center;background-size:cover;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.13);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
html.havin-v083 .home-gallery-image-v083::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(4,8,16,.48));pointer-events:none}
html.havin-v083 .home-gallery-image-v083>span{position:absolute;left:14px;bottom:13px;z-index:1;color:var(--hv-text-2);font-size:.68rem;font-weight:760;text-transform:capitalize}
html.havin-v083 .home-gallery-asset-v083:hover .home-gallery-image-v083{transform:translateY(-2px);border-color:rgba(98,184,235,.24);box-shadow:0 16px 36px rgba(0,0,0,.20)}
html.havin-v083 .home-gallery-image-v083 .needs-attention{position:absolute;z-index:2;right:10px;top:10px;padding:5px 8px;border-radius:999px;background:rgba(8,12,21,.82);border:1px solid rgba(232,199,96,.20);color:#f0d77b;font-size:.6rem;font-weight:790}
html.havin-v083 .home-gallery-copy-v083{display:grid;gap:2px;padding:0 3px}
html.havin-v083 .home-gallery-copy-v083 strong{font-size:.83rem;color:var(--hv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-gallery-copy-v083 span{font-size:.67rem;color:var(--hv-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-upcoming-v083{padding-top:3px}
html.havin-v083 .home-upcoming-list-v083{display:grid;border-top:1px solid var(--hv-border)}
html.havin-v083 .home-upcoming-list-v083 button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:15px;align-items:center;padding:13px 3px;border:0;border-bottom:1px solid var(--hv-border);background:transparent;color:inherit;text-align:left;cursor:pointer}
html.havin-v083 .home-upcoming-list-v083 button:hover{background:linear-gradient(90deg,transparent,rgba(255,255,255,.018),transparent)}
html.havin-v083 .home-upcoming-list-v083 button div{display:grid;gap:2px;min-width:0}
html.havin-v083 .home-upcoming-list-v083 small{color:#78bce4;font-size:.62rem;font-weight:730}
html.havin-v083 .home-upcoming-list-v083 strong{color:var(--hv-text);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .home-upcoming-list-v083>button>span{font-size:.69rem;color:var(--hv-text-3);white-space:nowrap}
html.havin-v083 .home-background-v083{display:grid;gap:7px;padding-top:4px}
html.havin-v083 .home-background-item-v083{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 13px;border:1px solid transparent;border-radius:16px;background:rgba(255,255,255,.018);color:inherit;text-decoration:none}
html.havin-v083 .home-background-item-v083.needs-input{border-color:rgba(98,184,235,.11)}
html.havin-v083 details.home-background-item-v083{padding:0}
html.havin-v083 details.home-background-item-v083>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 13px;cursor:pointer}
html.havin-v083 details.home-background-item-v083>summary::-webkit-details-marker{display:none}
html.havin-v083 .home-background-item-v083>span,html.havin-v083 .home-background-item-v083 summary>span{display:grid;gap:1px;min-width:0}
html.havin-v083 .home-background-item-v083 strong{color:var(--hv-text-2);font-size:.74rem}
html.havin-v083 .home-background-item-v083 small{color:var(--hv-text-3);font-size:.65rem}
html.havin-v083 .home-automation-details-v083{display:grid;padding:0 13px 10px 41px}
html.havin-v083 .home-automation-details-v083 article{display:grid;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr) auto;gap:9px;padding:9px 0;border-top:1px solid var(--hv-border);font-size:.65rem}
html.havin-v083 .home-automation-details-v083 article>span{color:#78bce4}.home-automation-details-v083 article>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-automation-details-v083 article>small{color:var(--hv-text-3)}
html.havin-v083 .home-refresh-v083{justify-self:center;border:0;background:transparent;color:var(--hv-text-3);display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.65rem;font-weight:690;cursor:pointer;padding:4px 8px}
html.havin-v083 .home-refresh-v083:hover{color:var(--hv-action)}

/* Assets — visual collection first, management controls second. */
html.havin-v083 .assets-page-v083{max-width:1250px;margin:0 auto;width:100%}
html.havin-v083 .assets-page-v083 .assets-command-v081{padding:8px;border:0;background:rgba(255,255,255,.018);box-shadow:inset 0 0 0 1px var(--hv-border)}
html.havin-v083 .assets-page-v083 .asset-card-grid-v081{gap:16px}
html.havin-v083 .assets-page-v083 .asset-card-v081{border:0;background:transparent;box-shadow:none;overflow:visible;transition:transform .18s ease}
html.havin-v083 .assets-page-v083 .asset-card-v081:hover{transform:translateY(-2px)}
html.havin-v083 .assets-page-v083 .asset-card-image-v081{border:1px solid var(--hv-border);border-radius:21px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.14);transition:border-color .18s ease,box-shadow .18s ease}
html.havin-v083 .assets-page-v083 .asset-card-v081:hover .asset-card-image-v081{border-color:rgba(98,184,235,.25);box-shadow:0 16px 34px rgba(0,0,0,.21)}
html.havin-v083 .assets-page-v083 .asset-card-body-v081{padding:10px 4px 4px;background:transparent}
html.havin-v083 .assets-page-v083 .asset-card-body-v081 h2{font-size:.88rem;letter-spacing:-.02em}
html.havin-v083 .assets-page-v083 .asset-card-body-v081 p{font-size:.68rem;color:var(--hv-text-3)}
html.havin-v083 .assets-page-v083 .asset-card-status-v081{margin-top:6px;border:0;background:transparent;padding:0;color:var(--hv-warn)}
html.havin-v083 .assets-page-v083 .asset-card-status-v081.restricted{color:var(--hv-text-3)}

/* Asset detail — digital twin, not record editor. */
html.havin-v083 .asset-detail-page-v083{max-width:1250px;margin:0 auto;width:100%;gap:18px}
html.havin-v083 .asset-detail-page-v083 .back-link{margin-bottom:0;color:var(--hv-text-3)}
html.havin-v083 .asset-detail-page-v083 .asset-detail-hero{border:1px solid var(--hv-border);border-radius:30px;background:linear-gradient(145deg,rgba(15,23,41,.91),rgba(10,16,30,.72));box-shadow:var(--hv-shadow);overflow:hidden}
html.havin-v083 .asset-detail-page-v083 .asset-detail-image{min-height:390px;background:var(--hv-surface-2)}
html.havin-v083 .asset-detail-page-v083 .asset-detail-image img{width:100%;height:100%;object-fit:cover}
html.havin-v083 .asset-detail-page-v083 .asset-detail-summary{padding:clamp(22px,3vw,34px)}
html.havin-v083 .asset-detail-page-v083 .asset-detail-summary h1{font-size:clamp(2rem,3.4vw,3.35rem);font-weight:570;letter-spacing:-.052em;line-height:1}
html.havin-v083 .asset-detail-page-v083 .asset-detail-summary>div>p{font-size:.84rem;color:var(--hv-text-2)}
html.havin-v083 .asset-detail-page-v083 .asset-status-summary-v080{margin-top:20px;padding:13px 0;border:0;border-top:1px solid var(--hv-border);border-bottom:1px solid var(--hv-border);background:transparent;border-radius:0}
html.havin-v083 .asset-detail-page-v083 .asset-status-summary-v080 .eyebrow{display:none}
html.havin-v083 .asset-detail-page-v083 .asset-status-summary-v080 strong{font-size:.82rem}
html.havin-v083 .asset-detail-page-v083 .asset-status-summary-v080 p{margin-top:2px;font-size:.68rem;color:var(--hv-text-3)}
html.havin-v083 .asset-detail-page-v083 .asset-key-strip-v081{margin-top:13px;border:0;background:transparent;padding:0;gap:13px}
html.havin-v083 .asset-detail-page-v083 .asset-key-strip-v081 span{color:var(--hv-text-3);font-size:.68rem}
html.havin-v083 .asset-quick-actions-v083{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
html.havin-v083 .asset-quick-actions-v083 button{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--hv-border);border-radius:15px;background:rgba(255,255,255,.025);color:var(--hv-text);text-align:left;cursor:pointer;transition:background .17s ease,border-color .17s ease,transform .17s ease}
html.havin-v083 .asset-quick-actions-v083 button:hover{transform:translateY(-1px);background:rgba(255,255,255,.05);border-color:rgba(98,184,235,.22)}
html.havin-v083 .asset-quick-actions-v083 button>svg{color:var(--hv-action)}
html.havin-v083 .asset-quick-actions-v083 button span{display:grid;gap:1px;min-width:0}
html.havin-v083 .asset-quick-actions-v083 button strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .asset-quick-actions-v083 button small{font-size:.61rem;color:var(--hv-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .asset-detail-page-v083 .detail-tabs{align-self:flex-start;padding:4px;border:1px solid var(--hv-border);border-radius:17px;background:rgba(255,255,255,.018)}
html.havin-v083 .asset-detail-page-v083 .detail-tabs button{border-radius:12px;padding:8px 15px;color:var(--hv-text-3);font-size:.72rem;font-weight:720}
html.havin-v083 .asset-detail-page-v083 .detail-tabs button.active{background:rgba(63,167,225,.10);color:#ccecff;box-shadow:inset 0 0 0 1px rgba(63,167,225,.12)}
html.havin-v083 .asset-detail-page-v083 .asset-overview-v081{gap:15px}
html.havin-v083 .asset-detail-page-v083 .content-card{border-color:var(--hv-border);background:rgba(15,23,41,.72);border-radius:22px;box-shadow:none}
html.havin-v083 .component-grid-v081{gap:9px}
html.havin-v083 .component-card-v083{grid-template-columns:54px minmax(0,1fr) auto!important;min-height:66px;border-radius:17px!important;background:rgba(255,255,255,.023)!important}
html.havin-v083 .component-photo-v083{width:54px;height:54px;border-radius:13px;overflow:hidden;background:var(--hv-surface-2)}
html.havin-v083 .component-photo-v083 img{width:100%;height:100%;object-fit:cover}
html.havin-v083 .asset-service-v083{padding:clamp(18px,2.5vw,28px)}
html.havin-v083 .asset-service-heading-v083{align-items:flex-end}
html.havin-v083 .asset-service-heading-v083 p{max-width:620px}
html.havin-v083 .service-plan-v083{display:grid;gap:8px;margin-top:6px}
html.havin-v083 .service-task-v083{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 15px;border:1px solid var(--hv-border);border-radius:18px;background:rgba(255,255,255,.018)}
html.havin-v083 .service-task-icon-v083{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(98,184,235,.07);color:var(--hv-action)}
html.havin-v083 .service-task-icon-v083.overdue,html.havin-v083 .service-task-icon-v083.due{background:rgba(240,131,125,.08);color:var(--hv-danger)}
html.havin-v083 .service-task-icon-v083.soon{background:rgba(232,199,96,.08);color:var(--hv-warn)}
html.havin-v083 .service-task-copy-v083{min-width:0;display:grid;gap:2px}
html.havin-v083 .service-task-copy-v083>small{color:var(--hv-text-3);font-size:.61rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .service-task-copy-v083 h3{margin:0;font-size:.84rem;font-weight:690}
html.havin-v083 .service-task-copy-v083 p{margin:1px 0;font-size:.7rem;line-height:1.4;color:var(--hv-text-2)}
html.havin-v083 .service-task-copy-v083>div{display:flex;flex-wrap:wrap;gap:10px;color:var(--hv-text-3);font-size:.62rem}
html.havin-v083 .service-task-state-v083{display:flex;align-items:center;justify-content:flex-end;gap:8px}
html.havin-v083 .service-history-v083{margin-top:14px;border-top:1px solid var(--hv-border)}
html.havin-v083 .service-history-v083>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 2px 5px;cursor:pointer;color:var(--hv-text-2)}
html.havin-v083 .service-history-v083>summary::-webkit-details-marker{display:none}
html.havin-v083 .service-history-v083>summary>span{display:flex;align-items:center;gap:7px}
html.havin-v083 .service-history-v083>summary strong{font-size:.74rem}.service-history-v083>summary small{font-size:.63rem;color:var(--hv-text-3)}

/* Watch — urgency without task-manager theater. */
html.havin-v083 .watch-page-rc2-v083{max-width:1120px;margin:0 auto;width:100%;gap:16px}
html.havin-v083 .watch-refresh-v083{min-height:38px}
html.havin-v083 .watch-tabs-rc2-v083{width:max-content;max-width:100%;padding:4px;border:1px solid var(--hv-border);border-radius:17px;background:rgba(255,255,255,.018);overflow:auto}
html.havin-v083 .watch-tabs-rc2-v083 button{min-height:38px;border-radius:12px;border:0;background:transparent;color:var(--hv-text-3);gap:6px;padding:0 12px;font-size:.7rem}
html.havin-v083 .watch-tabs-rc2-v083 button.active{background:rgba(63,167,225,.10);color:#ccecff;box-shadow:inset 0 0 0 1px rgba(63,167,225,.12)}
html.havin-v083 .watch-tabs-rc2-v083 button small{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.05);font-size:.58rem}
html.havin-v083 .watch-context-rc2-v083{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:18px;align-items:end;padding:9px 2px 2px}
html.havin-v083 .watch-context-rc2-v083>div{display:grid;gap:3px}
html.havin-v083 .watch-context-rc2-v083 strong{font-size:.9rem;color:var(--hv-text)}
html.havin-v083 .watch-context-rc2-v083 span{font-size:.7rem;color:var(--hv-text-3)}
html.havin-v083 .watch-search-rc2-v083{min-height:39px;background:rgba(255,255,255,.025)}
html.havin-v083 .watch-workspace-rc2-v083{grid-template-columns:1fr!important}
html.havin-v083 .watch-asset-list-rc2-v083{display:grid;gap:12px}
html.havin-v083 .watch-asset-group-rc2-v083{border:1px solid var(--hv-border);border-radius:23px;background:linear-gradient(145deg,rgba(15,23,41,.80),rgba(10,16,30,.65));box-shadow:0 12px 34px rgba(0,0,0,.13);overflow:hidden}
html.havin-v083 .watch-asset-header-rc2-v083{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--hv-border);background:rgba(255,255,255,.014)}
html.havin-v083 .watch-asset-visual-rc2-v083{width:52px;height:52px;border-radius:15px;overflow:hidden;background:var(--hv-surface-2);display:grid;place-items:center;color:var(--hv-action)}
html.havin-v083 .watch-asset-visual-rc2-v083 img{width:100%;height:100%;object-fit:cover}
html.havin-v083 .watch-asset-identity-rc2-v083{min-width:0}
html.havin-v083 .watch-asset-identity-rc2-v083>span{display:block;color:#78bce4;font-size:.59rem;font-weight:760;margin-bottom:2px}
html.havin-v083 .watch-asset-identity-rc2-v083 h2{margin:0;font-size:.88rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .watch-asset-identity-rc2-v083 p{margin:2px 0 0;font-size:.65rem;color:var(--hv-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.havin-v083 .watch-group-count-rc2-v083{font-size:.62rem;color:var(--hv-text-3);white-space:nowrap}
html.havin-v083 .watch-item-row-rc2-v083{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--hv-border)}
html.havin-v083 .watch-item-row-rc2-v083:last-child{border-bottom:0}
html.havin-v083 .watch-signal-rc2-v083{width:7px;height:7px;border-radius:50%;background:var(--hv-text-3)}
html.havin-v083 .watch-signal-rc2-v083.critical{background:var(--hv-danger);box-shadow:0 0 0 5px rgba(240,131,125,.07)}
html.havin-v083 .watch-signal-rc2-v083.important{background:var(--hv-warn);box-shadow:0 0 0 5px rgba(232,199,96,.07)}
html.havin-v083 .watch-signal-rc2-v083.routine{background:var(--hv-action);box-shadow:0 0 0 5px rgba(98,184,235,.06)}
html.havin-v083 .watch-item-copy-rc2-v083{min-width:0;display:grid;gap:3px}
html.havin-v083 .watch-item-kicker-rc2-v083{display:flex;flex-wrap:wrap;gap:7px;color:#78bce4;font-size:.59rem;font-weight:720}
html.havin-v083 .watch-item-kicker-rc2-v083 span+span::before{content:"·";margin-right:7px;color:var(--hv-text-3)}
html.havin-v083 .watch-item-copy-rc2-v083 h3{margin:0;color:var(--hv-text);font-size:.84rem;font-weight:700}
html.havin-v083 .watch-item-copy-rc2-v083 p{margin:0;max-width:720px;color:var(--hv-text-2);font-size:.68rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.havin-v083 .watch-next-rc2-v083{margin-top:3px;color:var(--hv-text-2);font-size:.65rem}
html.havin-v083 .watch-next-rc2-v083 span{margin-right:6px;color:var(--hv-action);font-size:.58rem;font-weight:780;text-transform:uppercase;letter-spacing:.08em}
html.havin-v083 .watch-passive-rc2-v083{display:flex;align-items:center;gap:5px;color:var(--hv-text-3);font-size:.62rem}
html.havin-v083 .watch-item-actions-rc2-v083{display:flex;align-items:center;gap:6px}
html.havin-v083 .watch-item-actions-rc2-v083 .text-button{font-size:.64rem}
html.havin-v083 .watch-item-actions-rc2-v083 .text-button.quiet{color:var(--hv-text-3)}
html.havin-v083 .empty-watch-rc2-v083{min-height:260px;border:1px dashed var(--hv-border);border-radius:24px;background:rgba(255,255,255,.012)}
html.havin-v083 .watch-background-rc2-v083{border:1px solid var(--hv-border);border-radius:18px;background:rgba(255,255,255,.015);overflow:hidden}
html.havin-v083 .watch-background-rc2-v083>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer}
html.havin-v083 .watch-background-rc2-v083>summary::-webkit-details-marker{display:none}
html.havin-v083 .watch-background-icon-v083{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:rgba(63,167,225,.07);color:var(--hv-action)}
html.havin-v083 .watch-background-rc2-v083>summary>span:nth-child(2){display:grid;gap:1px}
html.havin-v083 .watch-background-rc2-v083 strong{font-size:.73rem;color:var(--hv-text-2)}
html.havin-v083 .watch-background-rc2-v083 small{font-size:.61rem;color:var(--hv-text-3)}
html.havin-v083 .watch-background-body-v083{padding:0 14px 13px 58px}
html.havin-v083 .watch-background-body-v083>p{margin:0 0 8px;font-size:.66rem}
html.havin-v083 .watch-background-runs-v083{display:grid}
html.havin-v083 .watch-background-runs-v083 article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 0;border-top:1px solid var(--hv-border)}
html.havin-v083 .watch-background-runs-v083 article div{display:grid;gap:1px}.watch-background-runs-v083 article strong{font-size:.67rem}.watch-background-runs-v083 article small{font-size:.59rem;color:var(--hv-text-3)}

/* Vault — documents feel like belongings, processing internals stay optional. */
html.havin-v083 .records-page-rc2-v083{max-width:1120px;margin:0 auto;width:100%;gap:16px}
html.havin-v083 .records-tabs-rc2-v083{width:max-content;max-width:100%;padding:4px;border:1px solid var(--hv-border);border-radius:17px;background:rgba(255,255,255,.018);overflow:auto}
html.havin-v083 .records-tabs-rc2-v083 button{min-height:38px;border-radius:12px;border:0;background:transparent;color:var(--hv-text-3);font-size:.69rem}
html.havin-v083 .records-tabs-rc2-v083 button.active{background:rgba(63,167,225,.10);color:#ccecff;box-shadow:inset 0 0 0 1px rgba(63,167,225,.12)}
html.havin-v083 .records-workspace-rc2-v083{grid-template-columns:1fr}
html.havin-v083 .records-command-rc2-v083{padding:7px;border:0!important;background:rgba(255,255,255,.018)!important;box-shadow:inset 0 0 0 1px var(--hv-border)}
html.havin-v083 .smart-record-list-rc2-v083{display:grid;gap:9px}
html.havin-v083 .record-card-rc2-v083{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:start;padding:14px;border:1px solid var(--hv-border);border-radius:20px;background:rgba(15,23,41,.67);box-shadow:none}
html.havin-v083 .record-file-icon-rc2-v083{width:52px;height:60px;border:1px solid var(--hv-border);border-radius:14px;background:linear-gradient(145deg,rgba(30,58,138,.16),rgba(75,42,114,.13));display:grid;place-items:center;color:var(--hv-action);align-content:center;gap:2px}
html.havin-v083 .record-file-icon-rc2-v083 span{font-size:.52rem;color:var(--hv-text-3);font-weight:800;letter-spacing:.08em}
html.havin-v083 .record-body-rc2-v083{min-width:0}
html.havin-v083 .record-kicker-rc2-v083{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:3px;color:#78bce4;font-size:.58rem;font-weight:740}
html.havin-v083 .record-kicker-rc2-v083>span+span::before{content:"·";margin-right:7px;color:var(--hv-text-3)}
html.havin-v083 .record-body-rc2-v083 h2{margin:0;font-size:.86rem;font-weight:700}
html.havin-v083 .record-summary-rc2-v083{margin:4px 0 0;font-size:.68rem;line-height:1.45;color:var(--hv-text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.havin-v083 .record-context-rc2-v083{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;color:var(--hv-text-3);font-size:.61rem}
html.havin-v083 .record-context-rc2-v083 span+span::before{content:"·";margin-right:8px}
html.havin-v083 .record-details-rc2-v083{margin-top:7px;width:max-content;max-width:100%}
html.havin-v083 .record-details-rc2-v083>summary{list-style:none;color:var(--hv-text-3);font-size:.6rem;font-weight:690;cursor:pointer}
html.havin-v083 .record-details-rc2-v083>summary::-webkit-details-marker{display:none}
html.havin-v083 .record-details-rc2-v083[open]>summary{color:var(--hv-action)}
html.havin-v083 .record-details-rc2-v083>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px;padding:8px 9px;border:1px solid var(--hv-border);border-radius:11px;background:rgba(255,255,255,.018);font-size:.58rem;color:var(--hv-text-3)}
html.havin-v083 .record-details-rc2-v083>div span{display:inline-flex;align-items:center;gap:4px}
html.havin-v083 .record-actions-rc2-v083{align-self:center;min-width:112px}
html.havin-v083 .vault-trust-rc2-v083{border:1px solid var(--hv-border);border-radius:16px;background:rgba(255,255,255,.012)}
html.havin-v083 .vault-trust-rc2-v083>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 13px;cursor:pointer;color:var(--hv-text-3)}
html.havin-v083 .vault-trust-rc2-v083>summary::-webkit-details-marker{display:none}
html.havin-v083 .vault-trust-rc2-v083>summary>span{display:grid;gap:1px}.vault-trust-rc2-v083>summary strong{font-size:.68rem;color:var(--hv-text-2)}.vault-trust-rc2-v083>summary small{font-size:.58rem}
html.havin-v083 .vault-trust-rc2-v083>div{padding:0 38px 11px}.vault-trust-rc2-v083 p{margin:0;font-size:.63rem;line-height:1.5}

/* Asset intake — three human stages; system analysis is not presented as user work. */
html.havin-v083 .add-asset-page-rc2-v083{background:transparent}
html.havin-v083 .add-asset-page-rc2-v083 .onboarding-header{border-bottom-color:var(--hv-border);background:rgba(7,11,21,.78);backdrop-filter:blur(20px)}
html.havin-v083 .add-asset-page-rc2-v083 .onboarding-header h1{font-weight:620;letter-spacing:-.035em}
html.havin-v083 .asset-flow-progress-v083{width:min(420px,calc(100% - 36px));margin:15px auto 0;display:grid;gap:7px}
html.havin-v083 .asset-flow-progress-v083>div{display:flex;justify-content:space-between;align-items:center;color:var(--hv-text-3);font-size:.62rem}
html.havin-v083 .asset-flow-progress-v083 strong{color:var(--hv-text-2);font-size:.68rem}
html.havin-v083 .asset-flow-progress-track-v083{height:3px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
html.havin-v083 .asset-flow-progress-track-v083 i{display:block;height:100%;width:33.333%;border-radius:inherit;background:linear-gradient(90deg,var(--hv-brand-purple),var(--hv-brand-sky));transition:width .3s cubic-bezier(.2,.7,.2,1)}
html.havin-v083 .asset-flow-progress-v083[data-stage="2"] i{width:66.666%}
html.havin-v083 .asset-flow-progress-v083[data-stage="3"] i{width:100%}
html.havin-v083 .add-asset-page-rc2-v083 .onboarding-content{padding-top:20px}
html.havin-v083 .add-asset-page-rc2-v083 .capture-panel{border-radius:27px;border-color:var(--hv-border);background:linear-gradient(145deg,rgba(15,23,41,.82),rgba(10,16,30,.67));box-shadow:var(--hv-shadow-soft)}
html.havin-v083 .add-asset-page-rc2-v083 .capture-heading-row h2{font-size:1.35rem;letter-spacing:-.035em}
html.havin-v083 .add-asset-page-rc2-v083 .capture-heading-row p{font-size:.75rem;max-width:600px}
html.havin-v083 .add-asset-page-rc2-v083 .capture-photo-card{border-radius:21px;border-color:var(--hv-border);background:rgba(255,255,255,.025);transition:transform .18s ease,border-color .18s ease,background .18s ease}
html.havin-v083 .add-asset-page-rc2-v083 .capture-photo-card:hover{transform:translateY(-2px);border-color:rgba(98,184,235,.28);background:rgba(255,255,255,.04)}
html.havin-v083 .add-asset-page-rc2-v083 .capture-photo-card.has-image{border-color:rgba(98,184,235,.22)}
html.havin-v083 .add-asset-page-rc2-v083 .camera-target{background:rgba(63,167,225,.07);color:var(--hv-action)}
html.havin-v083 .add-asset-page-rc2-v083 .candidate-banner{border-radius:22px;border-color:var(--hv-border);background:rgba(255,255,255,.02)}
html.havin-v083 .add-asset-page-rc2-v083 .compact-asset-form{border-radius:22px;border-color:var(--hv-border);background:rgba(15,23,41,.66)}

/* Login gets consumer language and a quieter premium frame. */
html.havin-v083 .auth-page{background:var(--hv-bg)}
html.havin-v083 .auth-story{background:radial-gradient(circle at 20% 18%,rgba(63,167,225,.12),transparent 28rem),linear-gradient(145deg,#0D1426,#10162a 55%,#23163a)}
html.havin-v083 .auth-story h1{letter-spacing:-.055em;font-weight:560}
html.havin-v083 .auth-panel{background:linear-gradient(180deg,rgba(11,17,32,.98),rgba(7,11,21,.98))}
html.havin-v083 .auth-card{border-color:var(--hv-border);border-radius:26px;background:rgba(15,23,41,.74);box-shadow:var(--hv-shadow)}

/* New RC2 surfaces use semantic tokens so a future light-mode pass is token-led. */
html[data-havin-theme="light"].havin-v083 .home-command-v083,
html[data-havin-theme="light"].havin-v083 .home-now-v083,
html[data-havin-theme="light"].havin-v083 .asset-detail-page-v083 .asset-detail-hero,
html[data-havin-theme="light"].havin-v083 .watch-asset-group-rc2-v083,
html[data-havin-theme="light"].havin-v083 .record-card-rc2-v083,
html[data-havin-theme="light"].havin-v083 .add-asset-page-rc2-v083 .capture-panel{background:var(--hv-surface-glass)}
html[data-havin-theme="light"].havin-v083 .home-gallery-image-v083::after{background:linear-gradient(transparent,rgba(13,20,38,.20))}

@media(max-width:1050px){
  html.havin-v083 .home-asset-gallery-v083{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.havin-v083 .asset-quick-actions-v083{grid-template-columns:1fr}
}
@media(max-width:900px){
  html.havin-v083 .home-rc2-v083{gap:23px}
  html.havin-v083 .home-stage-v083{padding-top:5px}
  html.havin-v083 .asset-detail-page-v083 .asset-detail-image{min-height:330px}
  html.havin-v083 .watch-context-rc2-v083{grid-template-columns:1fr}
  html.havin-v083 .watch-search-rc2-v083{max-width:100%}
  html.havin-v083 .record-card-rc2-v083{grid-template-columns:48px minmax(0,1fr);}
  html.havin-v083 .record-file-icon-rc2-v083{width:48px;height:56px}
  html.havin-v083 .record-actions-rc2-v083{grid-column:2;justify-self:start;display:flex;flex-wrap:wrap;min-width:0}
}
@media(max-width:680px){
  html.havin-v083 .home-rc2-v083{gap:20px}
  html.havin-v083 .home-stage-v083{align-items:center}
  html.havin-v083 .home-stage-v083 h1{font-size:2.15rem;margin-bottom:6px}
  html.havin-v083 .home-stage-v083 p{font-size:.79rem}
  html.havin-v083 .home-command-v083{grid-template-columns:auto minmax(0,1fr) auto;min-height:68px;padding:11px 12px;border-radius:21px}
  html.havin-v083 .home-command-icon-v083{width:42px;height:42px;border-radius:14px}
  html.havin-v083 .home-command-copy-v083 small{font-size:.67rem}
  html.havin-v083 .home-command-search-v083{display:none}
  html.havin-v083 .home-now-v083{padding:16px 15px;border-radius:22px}
  html.havin-v083 .home-section-heading-v083{margin-bottom:11px}
  html.havin-v083 .home-section-heading-v083 h2{font-size:1.08rem}
  html.havin-v083 .home-now-item-v083{grid-template-columns:1fr}
  html.havin-v083 .home-now-main-v083{padding:12px 1px}
  html.havin-v083 .home-now-actions-v083{padding:0 0 8px 20px;margin-top:-4px}
  html.havin-v083 .home-asset-gallery-v083{display:flex;overflow-x:auto;gap:11px;margin:0 -15px;padding:0 15px 7px;scroll-snap-type:x proximity;scrollbar-width:none}
  html.havin-v083 .home-asset-gallery-v083::-webkit-scrollbar{display:none}
  html.havin-v083 .home-gallery-asset-v083{flex:0 0 72vw;max-width:280px;scroll-snap-align:start}
  html.havin-v083 .home-gallery-image-v083{aspect-ratio:1.55;border-radius:19px}
  html.havin-v083 .home-upcoming-list-v083 button{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  html.havin-v083 .home-upcoming-list-v083 button>svg{display:none}
  html.havin-v083 .home-background-item-v083{padding:10px}
  html.havin-v083 .home-automation-details-v083{padding-left:12px}.home-automation-details-v083 article{grid-template-columns:1fr auto}.home-automation-details-v083 article>span{grid-column:1/-1}
  html.havin-v083 .assets-page-v083 .asset-card-v081{grid-template-columns:118px minmax(0,1fr)}
  html.havin-v083 .assets-page-v083 .asset-card-image-v081{border-radius:18px;min-height:118px}
  html.havin-v083 .asset-detail-page-v083 .asset-detail-hero{border-radius:24px}
  html.havin-v083 .asset-detail-page-v083 .asset-detail-image{min-height:260px}
  html.havin-v083 .asset-detail-page-v083 .asset-detail-summary{padding:19px 17px 18px}
  html.havin-v083 .asset-detail-page-v083 .asset-detail-summary h1{font-size:2rem}
  html.havin-v083 .asset-quick-actions-v083{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  html.havin-v083 .asset-quick-actions-v083 button{grid-template-columns:1fr;justify-items:center;text-align:center;padding:10px 6px;gap:5px}
  html.havin-v083 .asset-quick-actions-v083 button small{display:none}
  html.havin-v083 .asset-detail-page-v083 .detail-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}
  html.havin-v083 .asset-detail-page-v083 .detail-tabs button{padding:8px 5px;font-size:.66rem}
  html.havin-v083 .service-task-v083{grid-template-columns:auto minmax(0,1fr);padding:13px 12px}
  html.havin-v083 .service-task-state-v083{grid-column:2;justify-content:flex-start;margin-top:4px}
  html.havin-v083 .watch-tabs-rc2-v083,html.havin-v083 .records-tabs-rc2-v083{width:100%;display:flex;scrollbar-width:none}
  html.havin-v083 .watch-tabs-rc2-v083::-webkit-scrollbar,html.havin-v083 .records-tabs-rc2-v083::-webkit-scrollbar{display:none}
  html.havin-v083 .watch-tabs-rc2-v083 button,html.havin-v083 .records-tabs-rc2-v083 button{flex:0 0 auto;min-width:auto!important;padding:0 10px}
  html.havin-v083 .watch-context-rc2-v083>div span{display:none}
  html.havin-v083 .watch-asset-header-rc2-v083{grid-template-columns:46px minmax(0,1fr) auto;padding:11px 12px}
  html.havin-v083 .watch-asset-visual-rc2-v083{width:46px;height:46px;border-radius:13px}
  html.havin-v083 .watch-group-count-rc2-v083{display:none}
  html.havin-v083 .watch-view-asset{display:none}
  html.havin-v083 .watch-item-row-rc2-v083{grid-template-columns:7px minmax(0,1fr);padding:13px 12px}
  html.havin-v083 .watch-item-actions-rc2-v083{grid-column:2;justify-content:flex-start;margin-top:4px}
  html.havin-v083 .watch-background-body-v083{padding-left:13px}
  html.havin-v083 .record-card-rc2-v083{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px}
  html.havin-v083 .record-file-icon-rc2-v083{width:42px;height:49px;border-radius:12px}
  html.havin-v083 .record-summary-rc2-v083{-webkit-line-clamp:1}
  html.havin-v083 .record-actions-rc2-v083{grid-column:2}
  html.havin-v083 .asset-flow-progress-v083{margin-top:12px}
  html.havin-v083 .add-asset-page-rc2-v083 .capture-panel{border-radius:22px}
}

/* RC2.1 — first-use and Free-plan Home remain useful rather than presenting a locked paid feature as the primary action. */
html.havin-v083 .home-command-free-v083{border-color:var(--hv-border);background:linear-gradient(120deg,rgba(18,29,51,.88),rgba(13,20,38,.78))}
html.havin-v083 .home-command-free-v083 .home-command-icon-v083{background:linear-gradient(145deg,rgba(30,58,138,.72),rgba(75,42,114,.54))}
html.havin-v083 .home-first-asset-v083{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 24px;border:1px solid rgba(98,184,235,.16);border-radius:26px;background:linear-gradient(125deg,rgba(75,42,114,.15),rgba(15,23,41,.82) 42%,rgba(30,58,138,.12));box-shadow:var(--hv-shadow-soft)}
html.havin-v083 .home-first-icon-v083{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,rgba(75,42,114,.62),rgba(30,104,255,.38));color:#eef8ff;border:1px solid rgba(98,184,235,.15)}
html.havin-v083 .home-first-asset-v083 h2{margin:0;font-size:1.28rem;letter-spacing:-.03em}
html.havin-v083 .home-first-asset-v083 p{margin:5px 0 7px;max-width:670px;font-size:.79rem;line-height:1.5;color:var(--hv-text-2)}
html.havin-v083 .home-first-asset-v083 small{color:var(--hv-text-3);font-size:.69rem}
html[data-havin-theme="light"].havin-v083 .home-command-free-v083,html[data-havin-theme="light"].havin-v083 .home-first-asset-v083{background:linear-gradient(125deg,rgba(75,42,114,.045),rgba(255,255,255,.94) 42%,rgba(30,58,138,.04))}
@media(max-width:680px){
  html.havin-v083 .home-first-asset-v083{grid-template-columns:auto minmax(0,1fr);padding:17px 16px;gap:13px;border-radius:22px}
  html.havin-v083 .home-first-asset-v083 .button{grid-column:1/-1;width:100%}
  html.havin-v083 .home-first-icon-v083{width:46px;height:46px;border-radius:16px}
}

/* RC2.2 — unify legacy foundation/account surfaces with the consumer v0.8.3 design system.
   These pages keep stable logic, but the visual language no longer creates a second enterprise-style sidebar. */
html.havin-v083{
  --hv60-navy:var(--hv-text);
  --hv60-teal:var(--hv-action);
  --hv60-teal-dark:#8bd1f4;
  --hv60-teal-light:rgba(63,167,225,.085);
  --hv60-off-white:var(--hv-surface-2);
  --hv60-white:var(--hv-surface);
  --hv60-slate:var(--hv-text-2);
  --hv60-border:var(--hv-border);
  --hv60-danger:var(--hv-danger);
  --hv60-shadow:var(--hv-shadow);
}
html.havin-v083 .hv60-platform-page{gap:18px;color:var(--hv-text)}
html.havin-v083 .hv60-platform-header{align-items:flex-start;padding:1px 0 2px;border-bottom:0}
html.havin-v083 .hv60-platform-header>div{max-width:820px}
html.havin-v083 .hv60-platform-header h1{margin:0;font-size:clamp(2rem,3.6vw,3rem);font-weight:570;letter-spacing:-.05em;color:var(--hv-text)}
html.havin-v083 .hv60-platform-header p{max-width:720px;margin:7px 0 0;color:var(--hv-text-2);font-size:.82rem;line-height:1.52}
html.havin-v083 .hv60-platform-layout{grid-template-columns:minmax(0,1fr);gap:15px}
html.havin-v083 .hv60-platform-nav{
  position:static;display:flex;align-items:center;gap:4px;width:fit-content;max-width:100%;overflow-x:auto;padding:4px;
  border:1px solid var(--hv-border);border-radius:15px;background:rgba(255,255,255,.025);box-shadow:none;scrollbar-width:none;
}
html.havin-v083 .hv60-platform-nav::-webkit-scrollbar{display:none}
html.havin-v083 .hv60-platform-nav>p{display:none}
html.havin-v083 .hv60-platform-nav a{flex:0 0 auto;min-height:36px;padding:7px 10px;border-radius:11px;color:var(--hv-text-3);font-size:.7rem;font-weight:690;gap:7px;white-space:nowrap}
html.havin-v083 .hv60-platform-nav a svg{width:15px;height:15px}
html.havin-v083 .hv60-platform-nav a:hover{background:rgba(255,255,255,.045);color:var(--hv-text)}
html.havin-v083 .hv60-platform-nav a.active{background:linear-gradient(110deg,rgba(75,42,114,.32),rgba(30,58,138,.2));color:#f4f8fc;box-shadow:inset 0 0 0 1px rgba(98,184,235,.12)}
html.havin-v083 .hv60-platform-content{padding-bottom:18px}
html.havin-v083 .hv60-stack{gap:16px}
html.havin-v083 .hv60-eyebrow{color:#82c8ef;font-size:.64rem;letter-spacing:.13em}
html.havin-v083 .hv60-disclaimer{color:var(--hv-text-3);font-size:.67rem;line-height:1.52}

html.havin-v083 .hv60-card,
html.havin-v083 .hv60-plan-card,
html.havin-v083 .hv60-answer,
html.havin-v083 .hv60-danger-zone,
html.havin-v083 .hv60-plan-status,
html.havin-v083 .hv60-ask,
html.havin-v083 .hv60-chat-preview,
html.havin-v083 .hv60-comparison>article,
html.havin-v083 .hv60-plus-feature-grid article,
html.havin-v083 .hv60-preferences label,
html.havin-v083 .hv60-legal-copy{
  border-color:var(--hv-border);background:linear-gradient(150deg,rgba(17,27,47,.88),rgba(11,17,32,.88));color:var(--hv-text);box-shadow:var(--hv-shadow-soft)
}
html.havin-v083 .hv60-card,
html.havin-v083 .hv60-plan-card,
html.havin-v083 .hv60-answer,
html.havin-v083 .hv60-danger-zone,
html.havin-v083 .hv60-plan-status{border-radius:21px}
html.havin-v083 .hv60-card p,
html.havin-v083 .hv60-callout p,
html.havin-v083 .hv60-plan-card>p,
html.havin-v083 .hv60-upgrade-hero p,
html.havin-v083 .hv60-plus-feature-grid p,
html.havin-v083 .hv60-example-basic p,
html.havin-v083 .hv60-ask small,
html.havin-v083 .hv60-preferences small{color:var(--hv-text-2)}
html.havin-v083 .hv60-callout{padding:18px 20px;border:1px solid rgba(98,184,235,.14);border-radius:20px;background:linear-gradient(120deg,rgba(75,42,114,.14),rgba(30,58,138,.10));color:var(--hv-text)}
html.havin-v083 .hv60-callout strong{color:var(--hv-text)}

/* Plans: calm capacity choices, not enterprise pricing tiles. */
html.havin-v083 .hv60-plan-status{grid-template-columns:auto minmax(0,1fr) auto auto;padding:14px 17px;background:rgba(255,255,255,.025);box-shadow:none}
html.havin-v083 .hv60-plan-status span{color:var(--hv-text-3);font-size:.62rem}
html.havin-v083 .hv60-plan-status em{color:var(--hv-text-3);font-size:.7rem}
html.havin-v083 .hv60-plan-card{padding:22px;border-radius:24px;box-shadow:none}
html.havin-v083 .hv60-plan-card.highlighted{border:1px solid rgba(98,184,235,.28);background:linear-gradient(145deg,rgba(30,58,138,.19),rgba(15,23,41,.94) 55%,rgba(75,42,114,.14));box-shadow:0 18px 50px rgba(0,0,0,.18)}
html.havin-v083 .hv60-plan-card-heading>span{font-size:1.12rem;color:var(--hv-text)}
html.havin-v083 .hv60-plan-card-heading em{background:rgba(98,184,235,.1);color:#91d1f3}
html.havin-v083 .hv60-price{margin:13px 0 7px;font-size:clamp(1.45rem,2.5vw,2rem);font-weight:660;color:var(--hv-text)}
html.havin-v083 .hv60-plan-card ul{gap:8px;color:var(--hv-text-2);font-size:.77rem}
html.havin-v083 .hv60-plan-card li::before{color:var(--hv-good)}

/* Upgrade + Ask: one calm conversation surface rather than a sales/console page. */
html.havin-v083 .hv60-upgrade-page{gap:21px}
html.havin-v083 .hv60-upgrade-hero{
  gap:20px;padding:clamp(23px,3.5vw,38px);border:1px solid rgba(98,184,235,.15);border-radius:28px;
  background:radial-gradient(circle at 88% 8%,rgba(63,167,225,.15),transparent 22rem),linear-gradient(135deg,rgba(75,42,114,.18),rgba(15,23,41,.92) 52%,rgba(30,58,138,.13));box-shadow:var(--hv-shadow-soft)
}
html.havin-v083 .hv60-upgrade-hero h2,html.havin-v083 .hv60-section-heading h2{color:var(--hv-text)}
html.havin-v083 .hv60-upgrade-hero h2{font-weight:560;letter-spacing:-.045em}
html.havin-v083 .hv60-upgrade-value{padding:20px;border-color:var(--hv-border);border-radius:20px;background:rgba(7,11,21,.42);color:var(--hv-text)}
html.havin-v083 .hv60-upgrade-value>span{color:var(--hv-text-2);font-size:.78rem}
html.havin-v083 .hv60-upgrade-value svg{color:var(--hv-action)}
html.havin-v083 .hv60-section-heading{margin-bottom:10px}
html.havin-v083 .hv60-section-heading h2{font-weight:590;letter-spacing:-.035em}
html.havin-v083 .hv60-chat-preview{padding:20px;border-radius:24px;box-shadow:none}
html.havin-v083 .hv60-chat-user,html.havin-v083 .hv60-chat-havin{border-radius:18px;color:var(--hv-text)}
html.havin-v083 .hv60-chat-user{background:rgba(255,255,255,.05)}
html.havin-v083 .hv60-chat-havin{border-color:rgba(98,184,235,.15);background:linear-gradient(125deg,rgba(75,42,114,.16),rgba(30,58,138,.13))}
html.havin-v083 .hv60-chat-user>span,html.havin-v083 .hv60-chat-havin>span{color:#8bcdf0;font-size:.62rem}
html.havin-v083 .hv60-chat-sources strong{color:var(--hv-text-3)}
html.havin-v083 .hv60-chat-sources span{border-color:var(--hv-border);background:rgba(255,255,255,.035);color:var(--hv-text-3)}
html.havin-v083 .hv60-plus-feature-grid article{padding:18px;border-radius:20px;box-shadow:none}
html.havin-v083 .hv60-plus-feature-grid article>span{background:rgba(63,167,225,.08);color:var(--hv-action)}
html.havin-v083 .hv60-comparison>article{padding:19px;border-radius:21px;box-shadow:none}
html.havin-v083 .hv60-comparison>article.plus{border:1px solid rgba(98,184,235,.25)}
html.havin-v083 .hv60-example-basic{background:rgba(255,255,255,.035);color:var(--hv-text)}
html.havin-v083 .hv60-example-plus{background:linear-gradient(125deg,rgba(75,42,114,.13),rgba(30,58,138,.13));color:var(--hv-text)}
html.havin-v083 .hv60-example-plus dl>div{border-bottom-color:var(--hv-border)}
html.havin-v083 .hv60-example-plus dt{color:var(--hv-text-3)}
html.havin-v083 .hv60-ask{gap:13px;padding:20px;border-radius:24px;box-shadow:none}
html.havin-v083 .hv60-ask label{font-size:.78rem;color:var(--hv-text-2)}
html.havin-v083 .hv60-ask textarea,html.havin-v083 .hv60-deletion-confirm textarea{
  min-height:112px;padding:15px;border-color:var(--hv-border);border-radius:16px;background:rgba(5,9,17,.48);color:var(--hv-text);font-size:.9rem;line-height:1.55
}
html.havin-v083 .hv60-ask textarea::placeholder,html.havin-v083 .hv60-deletion-confirm textarea::placeholder{color:var(--hv-text-3)}
html.havin-v083 .hv60-answer{padding:21px;box-shadow:none}
html.havin-v083 .hv60-answer-content{color:var(--hv-text-2);line-height:1.68;white-space:pre-wrap}
html.havin-v083 .hv60-sources{padding-top:14px;border-top:1px solid var(--hv-border)}
html.havin-v083 .hv60-sources strong{color:var(--hv-text-2);font-size:.72rem}
html.havin-v083 .hv60-sources a{color:#89cdf1}
html.havin-v083 .hv60-ask-locked{padding:22px;grid-template-columns:auto minmax(0,1fr);border:1px solid rgba(98,184,235,.15);border-radius:24px;background:linear-gradient(125deg,rgba(75,42,114,.16),rgba(15,23,41,.90) 54%,rgba(30,58,138,.12));color:var(--hv-text)}
html.havin-v083 .hv60-ask-lock{border-radius:16px;background:linear-gradient(145deg,rgba(75,42,114,.75),rgba(30,104,255,.48));color:#fff}
html.havin-v083 .hv60-ask-locked h2{color:var(--hv-text)}
html.havin-v083 .hv60-ask-locked p{color:var(--hv-text-2)}
html.havin-v083 .hv60-ask-plus-summary{color:var(--hv-text-2)}
html.havin-v083 .hv60-ask-plus-heading{color:#8bcdf0}

/* Trust/account: readable and trustworthy without looking like admin software. */
html.havin-v083 .hv60-trust-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}
html.havin-v083 .hv60-trust-layout>nav{gap:5px}
html.havin-v083 .hv60-trust-layout>nav button{padding:11px;border-color:var(--hv-border);border-radius:13px;background:rgba(255,255,255,.025);color:var(--hv-text)}
html.havin-v083 .hv60-trust-layout>nav button span{color:var(--hv-text-3)}
html.havin-v083 .hv60-trust-layout>nav button.active{border-color:rgba(98,184,235,.22);background:linear-gradient(110deg,rgba(75,42,114,.2),rgba(30,58,138,.14))}
html.havin-v083 .hv60-legal-copy{max-width:830px;padding:clamp(20px,3vw,30px);border-radius:24px;box-shadow:none}
html.havin-v083 .hv60-legal-copy h1{font-weight:570;letter-spacing:-.04em}
html.havin-v083 .hv60-legal-summary{color:var(--hv-text-2)}
html.havin-v083 .hv60-legal-copy p{color:var(--hv-text-2)}
html.havin-v083 .hv60-legal-copy footer{background:rgba(212,175,55,.07);border:1px solid rgba(212,175,55,.13)}
html.havin-v083 .hv60-preferences label{padding:13px 15px;border-radius:16px;box-shadow:none}
html.havin-v083 .hv60-preferences input{accent-color:var(--hv-action)}
html.havin-v083 .hv60-danger-zone{border-color:rgba(240,131,125,.20);box-shadow:none}
html.havin-v083 .hv60-danger-zone h3{color:var(--hv-danger)}
html.havin-v083 .hv60-danger-zone p{color:var(--hv-text-2)}
html.havin-v083 .hv60-success{background:rgba(139,213,170,.08);color:var(--hv-good)}

/* First-run dialog shares the same dark semantic surface and leaves light-mode structurally tokenized. */
html.havin-v083 .hv60-onboarding-backdrop{background:rgba(3,6,12,.78);backdrop-filter:blur(10px)}
html.havin-v083 .hv60-onboarding{border:1px solid var(--hv-border);border-radius:30px;background:linear-gradient(155deg,rgba(17,27,47,.98),rgba(7,11,21,.99));color:var(--hv-text);box-shadow:0 30px 90px rgba(0,0,0,.48)}
html.havin-v083 .hv60-onboarding-brand{border-bottom:0}
html.havin-v083 .hv60-onboarding-brand span{color:var(--hv-text-3)}
html.havin-v083 .hv60-progress{background:rgba(255,255,255,.045)}
html.havin-v083 .hv60-progress span{background:linear-gradient(90deg,var(--hv-brand-purple),var(--hv-brand-sky))}
html.havin-v083 .hv60-onboarding-content h1{color:var(--hv-text);font-weight:560;letter-spacing:-.045em}
html.havin-v083 .hv60-onboarding-content>p,html.havin-v083 .hv60-onboarding-content li{color:var(--hv-text-2)}
html.havin-v083 .hv60-onboarding li::before{color:var(--hv-good)}
html.havin-v083 .hv60-consent{border-color:var(--hv-border);background:rgba(255,255,255,.025);color:var(--hv-text-2)}
html.havin-v083 .hv60-onboarding-actions{border-top-color:var(--hv-border);background:rgba(7,11,21,.90)}
html.havin-v083 .hv60-toast{border-color:var(--hv-border);background:rgba(15,23,41,.96);color:var(--hv-text);box-shadow:var(--hv-shadow)}
html.havin-v083 .hv60-toast button{color:var(--hv-text-2)}

/* Public trust pages also inherit the future theme tokens rather than carrying a white-only island. */
html.havin-v083 .hv60-public-trust-page{background:var(--hv-bg);color:var(--hv-text)}
html.havin-v083 .hv60-public-trust-header{border-bottom-color:var(--hv-border);background:rgba(7,11,21,.78);backdrop-filter:blur(18px)}
html.havin-v083 .hv60-public-trust-intro p,html.havin-v083 .hv60-public-trust-footer{color:var(--hv-text-2)}
html.havin-v083 .hv60-public-trust-footer{border-top-color:var(--hv-border)}

html[data-havin-theme="light"].havin-v083 .hv60-platform-nav,
html[data-havin-theme="light"].havin-v083 .hv60-plan-status,
html[data-havin-theme="light"].havin-v083 .hv60-card,
html[data-havin-theme="light"].havin-v083 .hv60-plan-card,
html[data-havin-theme="light"].havin-v083 .hv60-answer,
html[data-havin-theme="light"].havin-v083 .hv60-danger-zone,
html[data-havin-theme="light"].havin-v083 .hv60-ask,
html[data-havin-theme="light"].havin-v083 .hv60-chat-preview,
html[data-havin-theme="light"].havin-v083 .hv60-comparison>article,
html[data-havin-theme="light"].havin-v083 .hv60-plus-feature-grid article,
html[data-havin-theme="light"].havin-v083 .hv60-preferences label,
html[data-havin-theme="light"].havin-v083 .hv60-legal-copy,
html[data-havin-theme="light"].havin-v083 .hv60-onboarding{background:var(--hv-surface-glass)}
html[data-havin-theme="light"].havin-v083 .hv60-ask textarea,html[data-havin-theme="light"].havin-v083 .hv60-deletion-confirm textarea{background:var(--hv-surface-2)}

@media(max-width:900px){
  html.havin-v083 .hv60-platform-header h1{font-size:2rem}
  html.havin-v083 .hv60-trust-layout{grid-template-columns:1fr}
  html.havin-v083 .hv60-trust-layout>nav{position:static;display:flex;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  html.havin-v083 .hv60-trust-layout>nav::-webkit-scrollbar{display:none}
  html.havin-v083 .hv60-trust-layout>nav button{flex:0 0 180px}
  html.havin-v083 .hv60-plan-status{grid-template-columns:1fr auto}
  html.havin-v083 .hv60-plan-status em{grid-column:1/-1}
}
@media(max-width:680px){
  html.havin-v083 .hv60-platform-page{gap:14px}
  html.havin-v083 .hv60-platform-header h1{font-size:1.78rem}
  html.havin-v083 .hv60-platform-header p{font-size:.76rem}
  html.havin-v083 .hv60-platform-nav{width:calc(100% + 30px);max-width:none;margin:0 -15px;padding:4px 15px;border-left:0;border-right:0;border-radius:0;background:transparent}
  html.havin-v083 .hv60-platform-nav a{min-height:34px;padding:6px 9px}
  html.havin-v083 .hv60-platform-nav a svg{display:none}
  html.havin-v083 .hv60-plan-status{grid-template-columns:1fr;padding:13px 14px}
  html.havin-v083 .hv60-plan-status em{grid-column:auto}
  html.havin-v083 .hv60-upgrade-hero{padding:20px 17px;border-radius:23px}
  html.havin-v083 .hv60-upgrade-value{padding:16px}
  html.havin-v083 .hv60-comparison{grid-template-columns:1fr}
  html.havin-v083 .hv60-plus-feature-grid{grid-template-columns:1fr}
  html.havin-v083 .hv60-chat-user,html.havin-v083 .hv60-chat-havin{max-width:94%}
  html.havin-v083 .hv60-ask-locked{grid-template-columns:1fr;padding:18px}
  html.havin-v083 .hv60-ask-actions{align-items:stretch;flex-direction:column}
  html.havin-v083 .hv60-ask-actions .button{width:100%}
  html.havin-v083 .hv60-legal-copy{padding:19px 16px;border-radius:21px}
  html.havin-v083 .hv60-onboarding{border-radius:0}
}

/* RC2.3 — secondary ownership workflows keep the same consumer visual rhythm. */
html.havin-v083 .create-portfolio-page,html.havin-v083 .edit-portfolio-page,html.havin-v083 .people-page,html.havin-v083 .transfers-page{max-width:1180px;margin:0 auto;width:100%}
html.havin-v083 .portfolio-template-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
html.havin-v083 .portfolio-template{min-height:154px;padding:16px;border:1px solid var(--hv-border);border-radius:20px;background:rgba(255,255,255,.024);color:var(--hv-text);box-shadow:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}
html.havin-v083 .portfolio-template:hover{transform:translateY(-2px);border-color:rgba(98,184,235,.22);background:rgba(255,255,255,.038)}
html.havin-v083 .portfolio-template.active{border-color:rgba(98,184,235,.30);background:linear-gradient(135deg,rgba(75,42,114,.18),rgba(30,58,138,.12));box-shadow:inset 0 0 0 1px rgba(98,184,235,.05)}
html.havin-v083 .portfolio-template>span{width:40px;height:40px;border-radius:13px;background:rgba(63,167,225,.08);color:#83caef}
html.havin-v083 .portfolio-template strong{font-size:.82rem;color:var(--hv-text)}
html.havin-v083 .portfolio-template p{color:var(--hv-text-3);font-size:.69rem;line-height:1.48}
html.havin-v083 .portfolio-create-form{padding:21px;border-radius:24px;box-shadow:none}
html.havin-v083 .portfolio-boundary-note{color:var(--hv-text-3);line-height:1.55}
html.havin-v083 .portfolio-edit-layout{gap:14px}
html.havin-v083 .portfolio-edit-summary{background:linear-gradient(145deg,rgba(75,42,114,.12),rgba(15,23,41,.82));box-shadow:none}
html.havin-v083 .portfolio-edit-summary dl>div{border-color:var(--hv-border)}
html.havin-v083 .portfolio-edit-summary dt{color:var(--hv-text-3)}
html.havin-v083 .portfolio-edit-summary dd{color:var(--hv-text)}

/* People / Hāvin Access — powerful sharing without an admin-console presentation. */
html.havin-v083 .people-view-tabs{display:flex;gap:4px;width:fit-content;max-width:100%;padding:4px;border:1px solid var(--hv-border);border-radius:15px;background:rgba(255,255,255,.022);overflow-x:auto;scrollbar-width:none}
html.havin-v083 .people-view-tabs::-webkit-scrollbar{display:none}
html.havin-v083 .people-view-tabs button{flex:0 0 auto;min-height:38px;padding:7px 10px;display:flex;grid-template-columns:none;gap:7px;border:0;border-radius:11px;background:transparent;color:var(--hv-text-3);box-shadow:none;white-space:nowrap}
html.havin-v083 .people-view-tabs button span{color:inherit;font-size:.72rem}
html.havin-v083 .people-view-tabs button strong{min-width:22px;height:22px;background:rgba(255,255,255,.05);color:var(--hv-text-2);font-size:.62rem}
html.havin-v083 .people-view-tabs button.active{border:0;background:linear-gradient(110deg,rgba(75,42,114,.28),rgba(30,58,138,.17));color:#e8f5fc}
html.havin-v083 .people-view-tabs button.active strong{background:rgba(98,184,235,.12);color:#a7dcf6}
html.havin-v083 .people-page .section-block{padding:0;border:0;background:transparent;box-shadow:none}
html.havin-v083 .invitation-list{gap:8px}
html.havin-v083 .invitation-card{padding:13px 14px;border:1px solid var(--hv-border);border-radius:18px;background:rgba(255,255,255,.024);color:var(--hv-text);box-shadow:none}
html.havin-v083 .invitation-card.incoming{border-color:rgba(98,184,235,.16);background:linear-gradient(120deg,rgba(30,58,138,.08),rgba(255,255,255,.02))}
html.havin-v083 .invitation-copy h3,html.havin-v083 .invitation-copy strong{color:var(--hv-text)}
html.havin-v083 .invitation-copy p{color:var(--hv-text-2)}
html.havin-v083 .invitation-copy small{color:var(--hv-text-3)}
html.havin-v083 .incoming-access-grid{gap:10px}
html.havin-v083 .incoming-access-card{min-height:0;padding:17px;border:1px solid var(--hv-border);border-top:1px solid rgba(98,184,235,.20);border-radius:21px;background:linear-gradient(145deg,rgba(17,27,47,.88),rgba(11,17,32,.88));box-shadow:none}
html.havin-v083 .incoming-access-heading h2,html.havin-v083 .incoming-scope-name{color:var(--hv-text)}
html.havin-v083 .incoming-access-card>p{color:var(--hv-text-2)}
html.havin-v083 .privacy-profile-chip{border-color:var(--hv-border);background:rgba(255,255,255,.025)}
html.havin-v083 .incoming-capabilities span{border-color:var(--hv-border);background:rgba(255,255,255,.025);color:var(--hv-text-2)}
html.havin-v083 .incoming-access-footer{border-top-color:var(--hv-border);color:var(--hv-text-3)}
html.havin-v083 .access-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--hv-border);border-radius:20px;background:rgba(255,255,255,.018);box-shadow:none}
html.havin-v083 .access-summary-grid>div{padding:14px 15px;border-right:1px solid var(--hv-border)}
html.havin-v083 .access-summary-grid strong{margin:3px 0 1px;font-size:1.22rem;color:var(--hv-text)}
html.havin-v083 .access-summary-grid span:not(.summary-icon){color:var(--hv-text-2);font-size:.68rem}
html.havin-v083 .access-summary-grid small{color:var(--hv-text-3)}
html.havin-v083 .access-summary-grid .summary-icon{display:none}
html.havin-v083 .access-principle{border-color:rgba(98,184,235,.13);background:linear-gradient(120deg,rgba(75,42,114,.10),rgba(30,58,138,.08));border-radius:18px}

/* Transfers stay deliberate and secure, but visually read as guided ownership handoff. */
html.havin-v083 .asset-workspace-nav{padding:4px;border-color:var(--hv-border);border-radius:15px;background:rgba(255,255,255,.022)}
html.havin-v083 .asset-workspace-nav a{border-radius:11px;color:var(--hv-text-3)}
html.havin-v083 .asset-workspace-nav a.active{background:linear-gradient(110deg,rgba(75,42,114,.26),rgba(30,58,138,.16));color:var(--hv-text)}
html.havin-v083 .transfer-platform-disclaimer{border-color:rgba(212,175,55,.14);border-radius:18px;background:rgba(212,175,55,.05);color:var(--hv-text-2)}
html.havin-v083 .transfer-platform-disclaimer strong{color:#e5ca72}
html.havin-v083 .transfer-list-card{box-shadow:none}
html.havin-v083 .transfer-list-row{border-color:var(--hv-border);background:rgba(255,255,255,.018)}
html.havin-v083 .transfer-list-copy strong{color:var(--hv-text)}
html.havin-v083 .transfer-list-copy span{color:var(--hv-text-2)}
html.havin-v083 .transfer-list-copy small{color:var(--hv-text-3)}

html[data-havin-theme="light"].havin-v083 .portfolio-template,
html[data-havin-theme="light"].havin-v083 .people-view-tabs,
html[data-havin-theme="light"].havin-v083 .invitation-card,
html[data-havin-theme="light"].havin-v083 .incoming-access-card,
html[data-havin-theme="light"].havin-v083 .access-summary-grid{background:var(--hv-surface-glass)}

@media(max-width:1000px){html.havin-v083 .portfolio-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  html.havin-v083 .portfolio-template-grid{display:flex;overflow-x:auto;gap:10px;margin:0 -15px;padding:0 15px 6px;scroll-snap-type:x proximity;scrollbar-width:none}
  html.havin-v083 .portfolio-template-grid::-webkit-scrollbar{display:none}
  html.havin-v083 .portfolio-template{flex:0 0 min(76vw,250px);min-height:142px;scroll-snap-align:start}
  html.havin-v083 .people-view-tabs{width:calc(100% + 30px);max-width:none;margin:0 -15px;padding:4px 15px;border-left:0;border-right:0;border-radius:0;background:transparent}
  html.havin-v083 .access-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.havin-v083 .access-summary-grid>div:nth-child(2){border-right:0}
  html.havin-v083 .access-summary-grid>div:nth-child(-n+2){border-bottom:1px solid var(--hv-border)}
  html.havin-v083 .invitation-card{grid-template-columns:38px minmax(0,1fr)}
  html.havin-v083 .invitation-actions{grid-column:2;justify-content:flex-start}
}

/* RC2.4 — Settings should feel like a personal preference surface, not an admin dashboard. */
html.havin-v083 .settings-page{max-width:1120px;margin:0 auto;width:100%}
html.havin-v083 .settings-layout{grid-template-columns:176px minmax(0,1fr);gap:18px;align-items:start}
html.havin-v083 .settings-nav{padding:5px;border:1px solid var(--hv-border);border-radius:18px;background:rgba(255,255,255,.02);box-shadow:none}
html.havin-v083 .settings-nav a{min-height:42px;padding:9px 10px;border-radius:13px;color:var(--hv-text-3)}
html.havin-v083 .settings-nav a:hover{background:rgba(255,255,255,.035);color:var(--hv-text-2)}
html.havin-v083 .settings-nav a.active{background:linear-gradient(110deg,rgba(75,42,114,.25),rgba(30,58,138,.15));color:var(--hv-text)}
html.havin-v083 .settings-content{gap:14px}
html.havin-v083 .settings-content>.content-card{padding:20px;border:1px solid var(--hv-border);border-radius:24px;background:linear-gradient(145deg,rgba(17,27,47,.88),rgba(11,17,32,.88));box-shadow:none}
html.havin-v083 .settings-content>.content-card .card-heading{gap:18px}
html.havin-v083 .settings-content>.content-card .card-heading h2{font-size:1.16rem;font-weight:680;letter-spacing:-.025em}
html.havin-v083 .settings-content>.content-card .card-heading p{max-width:680px;font-size:.76rem;line-height:1.55}
html.havin-v083 .security-state-v083{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--hv-border);border-radius:999px;background:rgba(255,255,255,.025);color:var(--hv-text-2);font-size:.69rem;font-weight:720;white-space:nowrap}
html.havin-v083 .security-state-v083.level-hardened,html.havin-v083 .security-state-v083.level-protected{color:var(--hv-good);border-color:rgba(139,213,170,.18);background:rgba(139,213,170,.06)}
html.havin-v083 .security-state-v083.level-improving{color:var(--hv-warn);border-color:rgba(232,199,96,.18);background:rgba(232,199,96,.06)}
html.havin-v083 .security-state-v083.level-exposed{color:var(--hv-danger);border-color:rgba(240,131,125,.18);background:rgba(240,131,125,.06)}
html.havin-v083 .security-control-grid{gap:8px}
html.havin-v083 .security-control{min-height:0;padding:12px 13px;background:rgba(255,255,255,.018);box-shadow:none}
html.havin-v083 .security-control strong{color:var(--hv-text);font-size:.76rem}
html.havin-v083 .security-control small{color:var(--hv-text-3);font-size:.67rem;line-height:1.45}
html.havin-v083 .settings-row{border-color:var(--hv-border);background:rgba(255,255,255,.018)}
html.havin-v083 .settings-more-v083{display:grid;gap:11px;margin-top:5px;padding-top:8px}
html.havin-v083 .settings-more-heading-v083 h2{margin:0;font-size:1.05rem;font-weight:660;letter-spacing:-.025em}
html.havin-v083 .settings-platform-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
html.havin-v083 .settings-platform-card{min-height:118px;padding:14px;border:1px solid var(--hv-border);border-radius:19px;background:rgba(255,255,255,.018);box-shadow:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}
html.havin-v083 .settings-platform-card:hover{transform:translateY(-1px);border-color:rgba(98,184,235,.20);background:rgba(255,255,255,.032)}
html.havin-v083 .settings-platform-card>span{width:35px;height:35px;border-radius:12px;background:rgba(63,167,225,.07);color:#82c8ef}
html.havin-v083 .settings-platform-card strong{color:var(--hv-text);font-size:.76rem}
html.havin-v083 .settings-platform-card p{color:var(--hv-text-3);font-size:.66rem;line-height:1.45}
html.havin-v083 .home-background-check-v083{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;margin:3px 0 1px;padding:7px 10px;border:1px solid var(--hv-border);border-radius:999px;background:rgba(255,255,255,.025);color:var(--hv-text-3);font-size:.67rem;font-weight:700;cursor:pointer}
html.havin-v083 .home-background-check-v083:hover:not(:disabled){background:rgba(255,255,255,.05);color:var(--hv-text-2)}
html.havin-v083 .home-background-check-v083:disabled{opacity:.6;cursor:default}

html[data-havin-theme="light"].havin-v083 .settings-nav,
html[data-havin-theme="light"].havin-v083 .settings-content>.content-card,
html[data-havin-theme="light"].havin-v083 .settings-platform-card{background:var(--hv-surface-glass)}

@media(max-width:900px){
  html.havin-v083 .settings-layout{grid-template-columns:1fr}
  html.havin-v083 .settings-nav{position:static;display:flex;overflow-x:auto;gap:3px;width:calc(100% + 30px);margin:0 -15px;padding:4px 15px;border-left:0;border-right:0;border-radius:0;background:transparent;scrollbar-width:none}
  html.havin-v083 .settings-nav::-webkit-scrollbar{display:none}
  html.havin-v083 .settings-nav a{flex:0 0 auto;min-height:36px;padding:7px 9px}
  html.havin-v083 .settings-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  html.havin-v083 .settings-content>.content-card{padding:17px 15px;border-radius:21px}
  html.havin-v083 .settings-content>.content-card .card-heading{align-items:flex-start}
  html.havin-v083 .security-state-v083{font-size:.64rem;padding:7px 9px}
  html.havin-v083 .settings-platform-grid{display:grid;grid-template-columns:1fr 1fr}
  html.havin-v083 .settings-platform-card{min-height:108px;padding:12px}
}


/* Halo SMS / Settings responsive polish — 2026-08-13 */

html.havin-v083 .sms-status-v083 {
  cursor: default;
  user-select: none;
}

@media (max-width: 560px) {
  html.havin-v083 .settings-page {
    padding-bottom: 44px;
  }

  html.havin-v083 .sms-verification-row-v083 {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
    align-items: start;
  }

  html.havin-v083 .sms-verification-row-v083 > div:first-child {
    min-width: 0;
  }

  html.havin-v083 .sms-verification-row-v083 > div:first-child > span {
    max-width: 32rem;
    line-height: 1.5;
  }

  html.havin-v083 .sms-verification-row-v083 .sms-verify-controls-v083 {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    justify-content: stretch;
  }

  html.havin-v083 .sms-verification-row-v083 .sms-verify-controls-v083 input {
    width: 100%;
    min-width: 0;
    height: 44px;
  }

  html.havin-v083 .sms-verification-row-v083 .sms-verify-controls-v083 .button {
    min-height: 44px;
    white-space: nowrap;
  }

  html.havin-v083 .sms-note-v083 {
    padding-bottom: 10px;
  }
}

@media (max-width: 390px) {
  html.havin-v083 .sms-verification-row-v083 .sms-verify-controls-v083 {
    grid-template-columns: minmax(0, 1fr);
  }

  html.havin-v083 .sms-verification-row-v083 .sms-verify-controls-v083 .button {
    width: 100%;
  }
}


/* ===== v0.8.3 RC7 Settings Architecture ===== */

html.havin-v083 .settings-hub-rc7{
  width:100%;
  max-width:980px;
  display:grid;
  gap:18px;
}

html.havin-v083 .settings-hub-heading-rc7{
  display:grid;
  gap:5px;
  padding:2px 2px 4px;
}

html.havin-v083 .settings-hub-heading-rc7 h2{
  margin:0;
  color:var(--hv-text);
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:-.025em;
}

html.havin-v083 .settings-hub-heading-rc7 p{
  max-width:700px;
  margin:0;
  color:var(--hv-text-3);
  font-size:.78rem;
  line-height:1.55;
}

html.havin-v083 .settings-hub-grid-rc7{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

html.havin-v083 .settings-hub-card-rc7,
html.havin-v083 .settings-hub-link-rc7{
  width:100%;
  min-width:0;
  min-height:86px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:15px;
  border:1px solid var(--hv-border);
  border-radius:20px;
  background:rgba(255,255,255,.018);
  color:var(--hv-text);
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:none;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

html.havin-v083 .settings-hub-card-rc7:hover,
html.havin-v083 .settings-hub-link-rc7:hover{
  border-color:rgba(98,184,235,.20);
  background:rgba(255,255,255,.032);
  transform:translateY(-1px);
}

html.havin-v083 .settings-hub-card-rc7>span:nth-child(2),
html.havin-v083 .settings-hub-link-rc7>span:nth-child(2){
  min-width:0;
  display:grid;
  gap:4px;
}

html.havin-v083 .settings-hub-card-rc7 strong,
html.havin-v083 .settings-hub-link-rc7 strong{
  color:var(--hv-text);
  font-size:.82rem;
  font-weight:730;
}

html.havin-v083 .settings-hub-card-rc7 small,
html.havin-v083 .settings-hub-link-rc7 small{
  color:var(--hv-text-3);
  font-size:.69rem;
  line-height:1.45;
}

html.havin-v083 .settings-hub-icon-rc7{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(75,42,114,.23),rgba(30,58,138,.18));
  color:#82c9f0;
}

html.havin-v083 .settings-chevron-rc7{
  color:var(--hv-text-3);
  font-size:1.35rem;
  line-height:1;
}

html.havin-v083 .settings-hub-secondary-rc7{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding-top:6px;
}

html.havin-v083 .settings-hub-link-rc7{
  min-height:72px;
  border-radius:17px;
  padding:12px 14px;
  text-decoration:none;
}

html.havin-v083 .settings-hub-link-rc7 .settings-hub-icon-rc7{
  width:36px;
  height:36px;
  border-radius:12px;
}

html.havin-v083 .settings-layout-rc7{
  grid-template-columns:210px minmax(0,1fr) !important;
  align-items:start !important;
  gap:20px !important;
}

html.havin-v083 .settings-subnav-rc7{
  position:sticky;
  top:76px;
  align-self:start;
  display:grid;
  gap:7px;
  min-width:0;
}

html.havin-v083 .settings-back-rc7{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--hv-text-2);
  font:inherit;
  font-size:.73rem;
  font-weight:720;
  cursor:pointer;
  text-align:left;
}

html.havin-v083 .settings-back-rc7:hover{
  background:rgba(255,255,255,.03);
  color:var(--hv-text);
}

html.havin-v083 .settings-back-rc7>span:first-child{
  font-size:1.25rem;
  line-height:1;
}

html.havin-v083 .settings-category-list-rc7{
  display:grid;
  gap:3px;
  padding:5px;
  border:1px solid var(--hv-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}

html.havin-v083 .settings-category-list-rc7 button{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--hv-text-3);
  font:inherit;
  font-size:.72rem;
  font-weight:680;
  cursor:pointer;
  text-align:left;
}

html.havin-v083 .settings-category-list-rc7 button:hover{
  background:rgba(255,255,255,.03);
  color:var(--hv-text-2);
}

html.havin-v083 .settings-category-list-rc7 button.active{
  background:linear-gradient(110deg,rgba(75,42,114,.25),rgba(30,58,138,.15));
  color:var(--hv-text);
}

html.havin-v083 .sms-category-preferences-rc7:not(.is-enabled)>.sms-preference-v083:not(:first-child){
  display:none;
}

html.havin-v083 .sms-category-heading-rc7{
  display:grid;
  gap:3px;
  padding:12px 16px 10px;
  border-top:1px solid var(--hv-border);
  background:rgba(255,255,255,.012);
}

html.havin-v083 .sms-category-heading-rc7 strong{
  color:var(--hv-text-2);
  font-size:.72rem;
  font-weight:730;
}

html.havin-v083 .sms-category-heading-rc7 span{
  color:var(--hv-text-3);
  font-size:.67rem;
  line-height:1.45;
}

@media(max-width:900px){
  html.havin-v083 .settings-layout-rc7{
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
  }

  html.havin-v083 .settings-subnav-rc7{
    position:static;
  }

  html.havin-v083 .settings-category-list-rc7{
    display:none;
  }

  html.havin-v083 .settings-back-rc7{
    width:max-content;
    min-height:38px;
    margin-left:-5px;
    padding:0 8px;
  }

  html.havin-v083 .settings-hub-grid-rc7,
  html.havin-v083 .settings-hub-secondary-rc7{
    grid-template-columns:minmax(0,1fr);
  }
}

@media(max-width:560px){
  html.havin-v083 .settings-page{
    padding-bottom:48px;
  }

  html.havin-v083 .settings-hub-rc7{
    gap:13px;
  }

  html.havin-v083 .settings-hub-grid-rc7{
    gap:8px;
  }

  html.havin-v083 .settings-hub-card-rc7{
    min-height:78px;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;
    padding:12px;
    border-radius:18px;
  }

  html.havin-v083 .settings-hub-icon-rc7{
    width:38px;
    height:38px;
    border-radius:13px;
  }

  html.havin-v083 .settings-hub-card-rc7 small,
  html.havin-v083 .settings-hub-link-rc7 small{
    font-size:.67rem;
  }

  html.havin-v083 .sms-category-heading-rc7{
    padding:11px 14px 9px;
  }
}

@media(prefers-reduced-motion:reduce){
  html.havin-v083 .settings-hub-card-rc7,
  html.havin-v083 .settings-hub-link-rc7{
    transition:none;
  }
}


/* ===== v0.8.3 RC8 Ownership Navigation UX ===== */

/* Typography: readable without turning working pages into marketing pages. */
html.havin-v083 .page-header h1,
html.havin-v083 .hv60-platform-header h1{font-size:clamp(2rem,3.4vw,3.35rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;}
html.havin-v083 .page-header p,
html.havin-v083 .hv60-platform-header p{font-size:clamp(.95rem,1vw,1.05rem)!important;line-height:1.55!important;}
html.havin-v083 .page-content p,
html.havin-v083 .page-content label,
html.havin-v083 .page-content input,
html.havin-v083 .page-content textarea,
html.havin-v083 .page-content select{line-height:1.5;}
html.havin-v083 .page-content small{line-height:1.45;}

/* Halo: conversation first, no floating composer over conversation content. */
html.havin-v083 .halo-page-rc5{max-width:1220px;margin:0 auto;gap:18px!important;}
html.havin-v083 .halo-hero-rc5{min-height:0!important;padding:24px 28px!important;border-radius:28px!important;}
html.havin-v083 .halo-hero-rc5 h1{font-size:clamp(2.05rem,4vw,3.7rem)!important;line-height:1!important;letter-spacing:-.05em!important;}
html.havin-v083 .halo-hero-rc5 p{font-size:1rem!important;line-height:1.55!important;max-width:850px;}
html.havin-v083 .halo-prompt-row-rc5{margin-top:0!important;gap:8px!important;}
html.havin-v083 .halo-workspace-rc5{display:grid!important;gap:14px!important;min-height:0!important;padding-bottom:0!important;}
html.havin-v083 .halo-ready-rc5{min-height:0!important;margin:0!important;padding:20px 22px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;border-radius:22px!important;}
html.havin-v083 .halo-ready-rc5>div{max-width:760px;}
html.havin-v083 .halo-ready-rc5 strong{font-size:1.05rem!important;}
html.havin-v083 .halo-ready-rc5 p{margin:4px 0 0!important;font-size:.92rem!important;line-height:1.5!important;}
html.havin-v083 .halo-conversation-rc5{width:min(100%,920px);margin:0 auto;display:grid;gap:14px;padding:8px 0 4px!important;}
html.havin-v083 .halo-user-message-rc5{width:min(82%,720px);justify-self:end;}
html.havin-v083 .halo-answer-rc5{width:min(94%,820px);justify-self:start;}
html.havin-v083 .halo-composer-rc5{position:static!important;inset:auto!important;bottom:auto!important;z-index:auto!important;margin:0!important;padding:14px 16px!important;border-radius:22px!important;box-shadow:none!important;}
html.havin-v083 .halo-composer-rc5 textarea{min-height:76px!important;max-height:180px!important;font-size:1rem!important;line-height:1.55!important;}
html.havin-v083 .halo-composer-actions-rc5{margin-top:8px!important;}
html.havin-v083 .halo-disclaimer-rc5{margin:0!important;padding-bottom:4px!important;}

/* Assets: portfolio is navigation, category remains a secondary filter. */
html.havin-v083 .portfolio-browser-rc8{display:grid;gap:10px;margin:0 0 4px;}
html.havin-v083 .portfolio-browser-heading-rc8{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 2px;}
html.havin-v083 .portfolio-browser-heading-rc8>div{display:grid;gap:2px;}
html.havin-v083 .portfolio-browser-heading-rc8 strong{font-size:1.02rem;color:var(--hv-text);}
html.havin-v083 .portfolio-browser-rail-rc8{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,265px);gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin;}
html.havin-v083 .portfolio-browser-card-rc8{appearance:none;min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;padding:8px;border:1px solid var(--hv-border);border-radius:20px;background:rgba(255,255,255,.018);color:var(--hv-text);text-align:left;cursor:pointer;scroll-snap-align:start;transition:border-color .16s ease,background .16s ease,transform .16s ease;}
html.havin-v083 .portfolio-browser-card-rc8:hover{border-color:rgba(98,184,235,.26);background:rgba(255,255,255,.032);transform:translateY(-1px);}
html.havin-v083 .portfolio-browser-card-rc8.active{border-color:rgba(74,176,238,.48);background:linear-gradient(135deg,rgba(39,92,177,.18),rgba(34,190,217,.07));box-shadow:inset 0 0 0 1px rgba(70,169,238,.08);}
html.havin-v083 .portfolio-browser-image-rc8{position:relative;width:82px;height:64px;overflow:hidden;display:grid;place-items:center;border-radius:14px;background:rgba(20,45,72,.72);}
html.havin-v083 .portfolio-browser-image-rc8 img{width:100%;height:100%;object-fit:cover;}
html.havin-v083 .portfolio-browser-all-rc8{background:linear-gradient(145deg,rgba(52,65,150,.35),rgba(21,123,168,.32));}
html.havin-v083 .portfolio-browser-placeholder-rc8{display:grid;place-items:center;width:100%;height:100%;color:var(--hv-text-3);}
html.havin-v083 .portfolio-primary-badge-rc8{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;background:rgba(5,14,27,.84);font-size:.62rem;font-weight:800;color:var(--hv-text);backdrop-filter:blur(8px);}
html.havin-v083 .portfolio-browser-copy-rc8{min-width:0;display:grid;gap:4px;}
html.havin-v083 .portfolio-browser-copy-rc8 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;}
html.havin-v083 .portfolio-browser-copy-rc8 small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hv-text-3);font-size:.76rem;}
html.havin-v083 .assets-command-rc6{margin-top:2px;}
html.havin-v083 .asset-card-v081>a>strong,
html.havin-v083 .asset-card-v081>a h2{line-height:1.22;}
html.havin-v083 .asset-card-v081 .asset-identity-v081{line-height:1.42;}

/* Desktop list uses the available width as an ownership summary, not a cramped phone row. */
@media (min-width:900px){
  html.havin-v083 .asset-list-view{display:grid;gap:8px;}
  html.havin-v083 .asset-list-row{min-height:92px;border:1px solid var(--hv-border)!important;border-radius:18px!important;overflow:hidden;}
  html.havin-v083 .asset-list-row>a{min-height:92px!important;display:grid!important;grid-template-columns:76px minmax(210px,1.6fr) minmax(90px,.55fr) minmax(90px,.65fr) minmax(150px,.9fr) minmax(120px,.7fr)!important;align-items:center!important;column-gap:18px!important;padding:10px 18px!important;}
  html.havin-v083 .asset-list-row>a>img,html.havin-v083 .asset-list-row .list-thumb-placeholder{width:68px!important;height:68px!important;border-radius:13px!important;}
  html.havin-v083 .asset-list-row>a>div{display:grid;gap:4px;min-width:0;}
  html.havin-v083 .asset-list-row>a>div strong{font-size:1rem;line-height:1.25;}
  html.havin-v083 .asset-list-row>a>div span{font-size:.88rem;line-height:1.4;}
}

/* Vault: record type is a visible navigation dimension. */
html.havin-v083 .vault-kind-nav-rc8{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 8px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin;}
html.havin-v083 .vault-kind-nav-rc8 button{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--hv-border);border-radius:14px;background:rgba(255,255,255,.015);color:var(--hv-text-3);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;scroll-snap-align:start;}
html.havin-v083 .vault-kind-nav-rc8 button small{min-width:20px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.045);text-align:center;font-size:.68rem;}
html.havin-v083 .vault-kind-nav-rc8 button.active{color:var(--hv-text);border-color:rgba(71,172,237,.42);background:rgba(36,102,171,.16);}

/* Foundation subnav: make horizontal overflow read as intentional navigation on mobile. */
html.havin-v083 .hv60-platform-nav{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scroll-padding-inline:12px;gap:6px!important;}
html.havin-v083 .hv60-platform-nav>a{scroll-snap-align:start;min-height:42px;display:inline-flex;align-items:center;white-space:nowrap;}

@media (max-width:760px){
  html.havin-v083 .page-content{font-size:15.5px;}
  html.havin-v083 .page-content p{font-size:.96rem;line-height:1.58;}
  html.havin-v083 .page-content small{font-size:.78rem;line-height:1.5;}
  html.havin-v083 .page-header h1,html.havin-v083 .hv60-platform-header h1{font-size:clamp(1.85rem,9vw,2.55rem)!important;}
  html.havin-v083 .button,html.havin-v083 .icon-button,html.havin-v083 .text-button,html.havin-v083 button{min-height:44px;}
  html.havin-v083 .halo-page-rc5{gap:12px!important;}
  html.havin-v083 .halo-hero-rc5{padding:18px!important;border-radius:22px!important;}
  html.havin-v083 .halo-hero-rc5 h1{font-size:clamp(2rem,10vw,2.75rem)!important;}
  html.havin-v083 .halo-identity-rc5{align-items:flex-start!important;gap:12px!important;}
  html.havin-v083 .halo-prompt-row-rc5{display:flex!important;overflow-x:auto!important;padding-bottom:5px!important;scroll-snap-type:x proximity;}
  html.havin-v083 .halo-prompt-row-rc5 button{flex:0 0 auto;scroll-snap-align:start;}
  html.havin-v083 .halo-ready-rc5{padding:15px!important;border-radius:18px!important;align-items:flex-start!important;}
  html.havin-v083 .halo-user-message-rc5{width:92%;}
  html.havin-v083 .halo-answer-rc5{width:100%;}
  html.havin-v083 .halo-composer-rc5{padding:12px!important;border-radius:18px!important;}
  html.havin-v083 .halo-composer-actions-rc5{align-items:center!important;}
  html.havin-v083 .portfolio-browser-heading-rc8{align-items:center;}
  html.havin-v083 .portfolio-browser-rail-rc8{grid-auto-columns:minmax(205px,78vw);padding-right:36px;scrollbar-width:none;}
  html.havin-v083 .portfolio-browser-rail-rc8::-webkit-scrollbar{display:none;}
  html.havin-v083 .portfolio-browser-card-rc8{grid-template-columns:70px minmax(0,1fr);min-height:82px;}
  html.havin-v083 .portfolio-browser-image-rc8{width:70px;height:58px;}
  html.havin-v083 .asset-list-row>a{row-gap:5px!important;line-height:1.45!important;}
  html.havin-v083 .asset-list-row>a>div{gap:3px!important;}
  html.havin-v083 .vault-kind-nav-rc8{padding-right:36px;scrollbar-width:none;}
  html.havin-v083 .vault-kind-nav-rc8::-webkit-scrollbar{display:none;}
  html.havin-v083 .vault-kind-nav-rc8 button{min-height:44px;}
  html.havin-v083 .hv60-platform-nav{width:100%!important;max-width:100%!important;padding:3px 40px 8px 2px!important;overflow-x:auto!important;scrollbar-width:none!important;}
  html.havin-v083 .hv60-platform-nav::-webkit-scrollbar{display:none;}
  html.havin-v083 .hv60-platform-nav>a{min-height:44px!important;padding-inline:13px!important;}
}

@media (prefers-reduced-motion:reduce){
  html.havin-v083 .portfolio-browser-card-rc8{transition:none;}
}


/* v0.8.3 RC9 Halo Core / Value Engine */
html.havin-v083-rc3 .halo-shell-rc9{width:min(100%,980px);margin:0 auto;padding:clamp(10px,2vw,20px) clamp(12px,2.6vw,26px) 28px;display:grid;gap:14px}
html.havin-v083-rc3 .halo-topbar-rc9{min-height:0!important;padding:4px 0 10px!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
html.havin-v083-rc3 .halo-identity-rc9{display:flex;align-items:center;gap:10px;min-width:0}
html.havin-v083-rc3 .halo-topbar-mark-rc9{width:38px!important;height:38px!important;min-width:38px;display:grid;place-items:center}
html.havin-v083-rc3 .halo-identity-rc9 h1{font-size:clamp(1.35rem,3vw,1.7rem)!important;line-height:1.05!important;margin:1px 0 0!important}
html.havin-v083-rc3 .halo-identity-rc9 .eyebrow{font-size:.65rem!important;letter-spacing:.12em!important}
html.havin-v083-rc3 .halo-topbar-actions-rc9{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
html.havin-v083-rc3 .halo-context-chip-rc9{max-width:min(42vw,320px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(132,166,255,.18);background:rgba(17,27,59,.52);border-radius:999px;padding:7px 11px;font-size:.78rem;color:var(--rc3-text-muted,#aeb9d2)}
html.havin-v083-rc3 .halo-new-chat-rc9{min-height:36px!important;padding:7px 11px!important;white-space:nowrap}
html.havin-v083-rc3 .halo-loading-rc9{min-height:180px!important}
html.havin-v083-rc3 .halo-free-rc9{margin:0!important;min-height:0!important;align-items:stretch!important}
html.havin-v083-rc3 .halo-free-copy-rc9 h2{font-size:clamp(1.45rem,4vw,2.1rem)!important;max-width:22ch}
html.havin-v083-rc3 .halo-preview-rc9{align-self:stretch}
html.havin-v083-rc3 .halo-preview-prompt-rc9{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:var(--rc3-text,#f5f7ff);padding:10px 12px;border:1px solid rgba(132,166,255,.14);border-radius:11px;background:rgba(12,20,45,.58);transition:border-color .16s ease,background .16s ease,transform .16s ease}
html.havin-v083-rc3 .halo-preview-prompt-rc9:hover{border-color:rgba(134,201,255,.34);background:rgba(17,29,61,.72);transform:translateY(-1px)}
html.havin-v083-rc3 .halo-workspace-rc9{min-height:0!important;display:grid!important;gap:12px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html.havin-v083-rc3 .halo-session-note-rc9{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid rgba(132,166,255,.12);background:rgba(9,16,37,.42);border-radius:10px;color:var(--rc3-text-muted,#aeb9d2);font-size:.74rem}
html.havin-v083-rc3 .halo-session-note-rc9 strong{margin-left:auto;color:var(--rc3-sky,#86c9ff);font-size:.72rem}
html.havin-v083-rc3 .halo-empty-rc9{display:grid;gap:12px;padding:clamp(12px,3vw,22px) 0 4px}
html.havin-v083-rc3 .halo-ready-rc9{min-height:0!important;margin:0!important;padding:15px!important}
html.havin-v083-rc3 .halo-suggestions-rc9{margin:0!important;display:flex!important;gap:7px!important;overflow-x:auto!important;padding:0 0 4px!important;scrollbar-width:thin}
html.havin-v083-rc3 .halo-suggestions-rc9 button{flex:0 0 auto;max-width:min(78vw,360px)}
html.havin-v083-rc3 .halo-thread-rc9{display:grid;gap:12px;max-height:min(58vh,620px);overflow-y:auto;overscroll-behavior:contain;padding:8px 3px 10px;scrollbar-width:thin}
html.havin-v083-rc3 .halo-message-rc9{max-width:min(88%,760px)!important;margin:0!important;padding:12px 14px!important;border-radius:14px!important}
html.havin-v083-rc3 .halo-message-rc9.user{justify-self:end;background:rgba(40,70,139,.25)!important;border:1px solid rgba(129,161,255,.18)!important}
html.havin-v083-rc3 .halo-message-rc9.assistant{justify-self:start;background:rgba(12,20,45,.75)!important;border:1px solid rgba(132,166,255,.12)!important}
html.havin-v083-rc3 .halo-message-rc9 p{margin:4px 0 0;white-space:pre-wrap}
html.havin-v083-rc3 .halo-typing-rc9{display:flex;align-items:center;gap:8px;color:var(--rc3-text-muted,#aeb9d2);font-size:.82rem;padding:4px 2px}
html.havin-v083-rc3 .halo-composer-rc9{position:static!important;inset:auto!important;z-index:auto!important;margin:0!important;padding:10px!important;border:1px solid rgba(132,166,255,.18)!important;border-radius:14px!important;background:rgba(8,14,32,.94)!important;box-shadow:0 12px 32px rgba(0,0,0,.18)!important;backdrop-filter:none!important}
html.havin-v083-rc3 .halo-composer-rc9 textarea{min-height:56px!important;max-height:150px!important;resize:vertical!important;font-size:.95rem!important}
html.havin-v083-rc3 .halo-disclaimer-rc9{margin:0!important;padding:0 2px!important;font-size:.7rem!important;opacity:.72}
@media (max-width:700px){html.havin-v083-rc3 .halo-shell-rc9{padding:7px 10px 92px;gap:10px}html.havin-v083-rc3 .halo-topbar-rc9{align-items:flex-start!important}html.havin-v083-rc3 .halo-topbar-actions-rc9{flex-wrap:wrap;gap:6px}html.havin-v083-rc3 .halo-context-chip-rc9{order:2;max-width:62vw;padding:6px 9px}html.havin-v083-rc3 .halo-new-chat-rc9{min-height:34px!important}html.havin-v083-rc3 .halo-session-note-rc9{align-items:flex-start}html.havin-v083-rc3 .halo-session-note-rc9 strong{display:none}html.havin-v083-rc3 .halo-thread-rc9{max-height:none;overflow:visible;padding-top:4px}html.havin-v083-rc3 .halo-message-rc9{max-width:94%!important}html.havin-v083-rc3 .halo-composer-rc9{position:static!important}html.havin-v083-rc3 .halo-composer-actions-rc5 small{font-size:.68rem}}
@media (prefers-reduced-motion:reduce){html.havin-v083-rc3 .halo-shell-rc9 *,html.havin-v083-rc3 .halo-shell-rc9 *::before,html.havin-v083-rc3 .halo-shell-rc9 *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ================================================================
   Hāvin v0.8.3 RC10 — Intake integrity + asset profile reliability
   ================================================================ */
html.havin-v083 .asset-detail-page-v083 .asset-detail-image.missing-cover-rc10{
  min-height:230px;
  background:linear-gradient(145deg,rgba(17,27,47,.92),rgba(11,17,30,.96));
}
html.havin-v083 .asset-detail-page-v083 .missing-cover-rc10 .detail-image-placeholder{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  background:radial-gradient(circle at 50% 35%,rgba(63,167,225,.08),transparent 42%),linear-gradient(145deg,rgba(17,27,47,.92),rgba(11,17,30,.96));
  color:var(--hv-text-3);
}
html.havin-v083 .asset-detail-page-v083 .missing-cover-rc10 .detail-image-placeholder span{
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.01em;
}
html.havin-v083 .asset-detail-page-v083 .asset-status-summary-v080>span.setup{
  color:#8dd8ff;
  background:rgba(63,167,225,.12);
}
html.havin-v083 .asset-detail-page-v083 .asset-status-summary-rc10{
  position:relative;
}
html.havin-v083 .asset-detail-page-v083 .asset-status-link-rc10{
  margin-left:auto;
  flex:0 0 auto;
  white-space:nowrap;
}
html.havin-v083 .asset-detail-page-v083 .setup-state-rc10{
  align-items:flex-start;
}
html.havin-v083 .asset-detail-page-v083 .setup-state-rc10.review>span{
  color:#f0cb64;
  background:rgba(212,175,55,.10);
}
html.havin-v083 .asset-detail-page-v083 .setup-state-rc10 .text-button{
  margin-top:8px;
}
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row{
  position:relative;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:11px;
  padding:11px 0!important;
  min-height:0;
  align-items:start;
}
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row::before{
  display:none;
}
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-marker{
  position:static;
  width:32px;
  height:32px;
}
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row>div{
  min-width:0;
}
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row strong,
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row p,
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row small{
  overflow-wrap:anywhere;
}
html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row time{
  white-space:nowrap;
}

@media(max-width:680px){
  html.havin-v083 .asset-detail-page-v083{
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }
  html.havin-v083 .asset-detail-page-v083 .asset-detail-image.missing-cover-rc10,
  html.havin-v083 .asset-detail-page-v083 .missing-cover-rc10 .detail-image-placeholder{
    min-height:170px;
    height:170px;
  }
  html.havin-v083 .asset-detail-page-v083 .asset-status-summary-rc10{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  html.havin-v083 .asset-detail-page-v083 .asset-status-summary-rc10 p{
    display:block;
    line-height:1.45;
  }
  html.havin-v083 .asset-detail-page-v083 .asset-status-link-rc10{
    width:100%;
    margin:2px 0 0 48px;
    justify-content:flex-start;
  }
  html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row{
    grid-template-columns:34px minmax(0,1fr)!important;
    row-gap:4px;
  }
  html.havin-v083 .asset-detail-page-v083 .timeline-compact-rc10 .timeline-row time{
    grid-column:2;
    grid-row:2;
    justify-self:start;
  }
}

html.havin-v083 .asset-detail-page-v083 .service-task-actions-rc10{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
html.havin-v083 .asset-detail-page-v083 .joined-static-rc10{
  min-width:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-left:1px solid rgba(139,171,226,.14);
  color:var(--hv-text-2);
  font-size:.84rem;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:680px){
  html.havin-v083 .asset-detail-page-v083 .service-task-actions-rc10{
    width:100%;
    justify-content:flex-start;
  }
  html.havin-v083 .asset-detail-page-v083 .service-task-actions-rc10 .button{
    min-height:42px;
  }
  html.havin-v083 .asset-detail-page-v083 .joined-static-rc10{
    min-width:66px;
    padding-inline:9px;
  }
}

html.havin-v083 .watch-hero-glance-rc3 button.setup{
  border-color:rgba(63,167,225,.20);
  background:rgba(63,167,225,.07);
}
/* ========================================================================== */
/* Hāvin v0.8.3 RC3 — Ownership Experience                                   */
/* A premium consumer ownership companion: visual, calm, capable.             */
/* Loaded after prior release styles so RC3 can replace the presentation       */
/* architecture without rewriting stable business/security logic.              */
/* ========================================================================== */

html.havin-v083-rc3 {
  --rc3-bg: #070b15;
  --rc3-bg-deep: #050811;
  --rc3-surface: rgba(17, 25, 43, .78);
  --rc3-surface-solid: #10182a;
  --rc3-surface-soft: rgba(255,255,255,.045);
  --rc3-surface-hover: rgba(255,255,255,.075);
  --rc3-border: rgba(255,255,255,.085);
  --rc3-border-strong: rgba(63,167,225,.22);
  --rc3-text: #f7f9fc;
  --rc3-muted: #8d9ab0;
  --rc3-muted-2: #6f7d93;
  --rc3-sky: #3FA7E1;
  --rc3-blue: #1E3A8A;
  --rc3-purple: #4B2A72;
  --rc3-gold: #D4AF37;
  --rc3-success: #91d7aa;
  --rc3-danger: #ff938f;
  --rc3-shadow: 0 22px 70px rgba(0,0,0,.28);
  --rc3-shadow-soft: 0 12px 38px rgba(0,0,0,.16);
  --rc3-radius-xl: 34px;
  --rc3-radius-lg: 26px;
  --rc3-radius-md: 18px;
  --rc3-content: 1540px;
  color-scheme: dark;
  background: var(--rc3-bg);
}
html[data-havin-theme="light"].havin-v083-rc3 {
  --rc3-bg: #f5f7fb;
  --rc3-bg-deep: #eef2f8;
  --rc3-surface: rgba(255,255,255,.84);
  --rc3-surface-solid: #ffffff;
  --rc3-surface-soft: rgba(13,20,38,.045);
  --rc3-surface-hover: rgba(13,20,38,.07);
  --rc3-border: rgba(13,20,38,.10);
  --rc3-border-strong: rgba(30,58,138,.22);
  --rc3-text: #0D1426;
  --rc3-muted: #5f6b80;
  --rc3-muted-2: #7c8798;
  --rc3-shadow: 0 22px 70px rgba(24,39,66,.12);
  --rc3-shadow-soft: 0 12px 38px rgba(24,39,66,.08);
  color-scheme: light;
}
html.havin-v083-rc3 body {
  background:
    radial-gradient(circle at 78% -10%, rgba(63,167,225,.10), transparent 33rem),
    radial-gradient(circle at 22% 20%, rgba(75,42,114,.10), transparent 38rem),
    linear-gradient(180deg, var(--rc3-bg) 0%, var(--rc3-bg-deep) 100%);
  color: var(--rc3-text);
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html.havin-v083-rc3 h1,
html.havin-v083-rc3 h2,
html.havin-v083-rc3 h3 { color: var(--rc3-text); letter-spacing: -.035em; }
html.havin-v083-rc3 p { color: var(--rc3-muted); }
html.havin-v083-rc3 .eyebrow { color: var(--rc3-sky); letter-spacing: .12em; }
html.havin-v083-rc3 ::selection { background: rgba(63,167,225,.28); color: #fff; }
html.havin-v083-rc3 :focus-visible { outline: 3px solid rgba(63,167,225,.32); outline-offset: 3px; }

/* ----- Core shell: less console, more calm spatial navigation ----- */
html.havin-v083-rc3 .app-shell { grid-template-columns: 224px minmax(0,1fr); background: transparent; }
html.havin-v083-rc3 .desktop-rail {
  width: 224px; padding: 22px 15px 16px; border-right: 1px solid rgba(255,255,255,.055);
  background: linear-gradient(180deg, rgba(7,11,21,.96), rgba(8,13,24,.90));
  backdrop-filter: blur(28px) saturate(135%);
}
html.havin-v083-rc3 .rail-top-rc3 { padding: 1px 8px 19px; border-bottom: 0; }
html.havin-v083-rc3 .rail-top .brand-logo { width: 142px; }
html.havin-v083-rc3 .rail-brand-line { margin-top: 11px; color: var(--rc3-muted-2); font-size: .66rem; letter-spacing: .015em; }
html.havin-v083-rc3 .rail-section-label-rc3 { padding: 5px 12px 8px; color: #58657a; font-size: .61rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
html.havin-v083-rc3 .rail-nav-rc3 { gap: 4px; padding-top: 9px; }
html.havin-v083-rc3 .rail-link {
  min-height: 45px; height: auto; padding: 6px 9px; gap: 9px; border-radius: 15px; color: #79879c; font-size: .82rem; font-weight: 650;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
html.havin-v083-rc3 .rail-link:hover { background: rgba(255,255,255,.045); color: #dbe4ef; transform: translateX(1px); }
html.havin-v083-rc3 .rail-link.active { background: rgba(63,167,225,.095); color: #eef7fd; box-shadow: none; }
html.havin-v083-rc3 .rail-link-icon-rc3 { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.035); }
html.havin-v083-rc3 .rail-link.active .rail-link-icon-rc3 { color: #75c5ef; background: rgba(63,167,225,.12); box-shadow: inset 0 0 0 1px rgba(63,167,225,.12); }
html.havin-v083-rc3 .rail-ask-rc3 { margin-top: 8px; color: #cbd8e7; background: linear-gradient(120deg, rgba(75,42,114,.17), rgba(30,58,138,.11)); border: 1px solid rgba(63,167,225,.08); }
html.havin-v083-rc3 .rail-ask-rc3 .rail-link-icon-rc3 { color: #85cef4; background: linear-gradient(140deg, rgba(75,42,114,.26), rgba(63,167,225,.12)); }
html.havin-v083-rc3 .rail-plus-chip-rc3 { margin-left: auto; padding: 3px 6px; border-radius: 999px; color: #dfc766; background: rgba(212,175,55,.09); font-size: .54rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
html.havin-v083-rc3 .nav-count { margin-left: auto; min-width: 22px; height: 22px; border-radius: 999px; background: rgba(212,175,55,.12); color: #e4ca72; }
html.havin-v083-rc3 .rail-bottom-rc3 { gap: 10px; }
html.havin-v083-rc3 .rail-secondary-rc3 { display: grid; gap: 3px; }
html.havin-v083-rc3 .rail-plan-rc3 {
  width: 100%; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 10px;
  border: 1px solid rgba(63,167,225,.10); border-radius: 16px; background: linear-gradient(135deg, rgba(30,58,138,.13), rgba(75,42,114,.11)); color: inherit; text-align: left; cursor: pointer;
}
html.havin-v083-rc3 .rail-plan-icon-rc3 { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #7cc8f0; background: rgba(63,167,225,.10); }
html.havin-v083-rc3 .rail-plan-rc3 small, html.havin-v083-rc3 .rail-plan-rc3 strong { display: block; }
html.havin-v083-rc3 .rail-plan-rc3 small { color: #66758b; font-size: .55rem; text-transform: uppercase; letter-spacing: .08em; }
html.havin-v083-rc3 .rail-plan-rc3 strong { margin-top: 2px; color: #e9f0f8; font-size: .75rem; }
html.havin-v083-rc3 .rail-plan-action-rc3 { color: #87c9ee; font-size: .62rem; font-weight: 720; }
html.havin-v083-rc3 .profile-chip { padding: 10px 4px 0; border-top: 0; }
html.havin-v083-rc3 .profile-chip .avatar { background: linear-gradient(135deg, rgba(75,42,114,.9), rgba(30,58,138,.9)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
html.havin-v083-rc3 .main-column { grid-column: 2; min-width: 0; }
html.havin-v083-rc3 .topbar {
  height: 68px; padding: 0 26px; border-bottom: 1px solid rgba(255,255,255,.05);
  background: rgba(7,11,21,.67); backdrop-filter: blur(28px) saturate(140%);
}
html.havin-v083-rc3 .global-search { width: min(500px, 42vw); min-height: 40px; border: 1px solid rgba(255,255,255,.07); border-radius: 15px; background: rgba(255,255,255,.035); color: var(--rc3-muted); }
html.havin-v083-rc3 .global-search input { color: var(--rc3-text); }
html.havin-v083-rc3 .global-search input::placeholder { color: #657289; }
html.havin-v083-rc3 .global-search-results, html.havin-v083-rc3 .notification-panel { border: 1px solid var(--rc3-border); border-radius: 22px; background: rgba(10,15,27,.96); box-shadow: var(--rc3-shadow); backdrop-filter: blur(26px); }
html.havin-v083-rc3 .ask-havin-pill-v083 { min-height: 39px; padding: 0 12px; border-radius: 14px; border: 1px solid rgba(63,167,225,.14); background: linear-gradient(120deg, rgba(75,42,114,.22), rgba(30,58,138,.18)); color: #f3f7fb; }
html.havin-v083-rc3 .ask-havin-pill-v083 small { margin-left: 2px; color: var(--rc3-gold); font-size: .55rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
html.havin-v083-rc3 .ask-havin-pill-v083:hover { border-color: rgba(63,167,225,.30); transform: translateY(-1px); }
html.havin-v083-rc3 .icon-button { border-color: var(--rc3-border); border-radius: 14px; background: rgba(255,255,255,.035); color: #8d9bb0; }
html.havin-v083-rc3 .button { border-radius: 14px; }
html.havin-v083-rc3 .button-primary { background: linear-gradient(135deg, #247bd0, var(--rc3-sky)); color: #fff; box-shadow: 0 9px 24px rgba(63,167,225,.18); }
html.havin-v083-rc3 .button-secondary { border-color: var(--rc3-border); background: rgba(255,255,255,.04); color: #dfe7f1; }
html.havin-v083-rc3 .page-content { max-width: var(--rc3-content); margin: 0 auto; padding: 32px clamp(26px,3vw,50px) 64px; }
html.havin-v083-rc3 .page-stack { gap: 24px; }

/* ----- Shared editorial page headings ----- */
html.havin-v083-rc3 .page-heading { margin: 4px 0 2px; align-items: end; }
html.havin-v083-rc3 .page-heading h1 { margin: 0 0 7px; font-size: clamp(2.2rem,4vw,4.2rem); line-height: .98; font-weight: 690; }
html.havin-v083-rc3 .page-heading p { max-width: 660px; margin: 0; color: var(--rc3-muted); font-size: .95rem; }
html.havin-v083-rc3 .page-heading-actions .button { min-height: 46px; }

/* ----- Home: intentionally nothing like a dashboard ----- */
html.havin-v083-rc3 .home-rc3 { gap: 28px; }
html.havin-v083-rc3 .home-hero-rc3 {
  position: relative; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(350px,.88fr); min-height: 350px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.075); border-radius: 38px;
  background:
    radial-gradient(circle at 82% 20%, rgba(63,167,225,.17), transparent 25rem),
    radial-gradient(circle at 50% 120%, rgba(75,42,114,.25), transparent 34rem),
    linear-gradient(135deg, #10192d 0%, #0b1427 55%, #0b1020 100%);
  box-shadow: var(--rc3-shadow-soft);
}
html.havin-v083-rc3 .home-hero-rc3::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,rgba(63,167,225,.4),transparent); }
html.havin-v083-rc3 .home-hero-copy-rc3 { position: relative; z-index: 2; padding: clamp(30px,4vw,58px); display: flex; flex-direction: column; justify-content: center; }
html.havin-v083-rc3 .home-hero-meta-rc3 { display: flex; gap: 10px; align-items: center; margin-bottom: 24px; color: #7f8ca1; font-size: .7rem; font-weight: 700; }
html.havin-v083-rc3 .home-portfolio-chip-rc3 { padding: 6px 9px; border: 1px solid rgba(255,255,255,.07); border-radius: 999px; background: rgba(255,255,255,.035); color: #9aa8bb; }
html.havin-v083-rc3 .home-hero-copy-rc3 h1 { max-width: 760px; margin: 0 0 12px; font-size: clamp(2.7rem,5.2vw,5.7rem); line-height: .93; font-weight: 700; letter-spacing: -.055em; }
html.havin-v083-rc3 .home-hero-copy-rc3 > p { max-width: 620px; margin: 0; color: #a2aec0; font-size: clamp(1rem,1.6vw,1.28rem); line-height: 1.45; }
html.havin-v083-rc3 .home-hero-actions-rc3 { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
html.havin-v083-rc3 .home-ask-rc3 { min-width: min(100%,430px); display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 9px 12px 9px 10px; border: 1px solid rgba(63,167,225,.18); border-radius: 18px; background: rgba(255,255,255,.055); color: inherit; text-align: left; cursor: pointer; transition: .2s ease; }
html.havin-v083-rc3 .home-ask-rc3:hover { transform: translateY(-2px); background: rgba(255,255,255,.075); border-color: rgba(63,167,225,.34); }
html.havin-v083-rc3 .home-ask-icon-rc3 { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; color: #8bd2f5; background: linear-gradient(135deg, rgba(75,42,114,.40), rgba(63,167,225,.16)); }
html.havin-v083-rc3 .home-ask-rc3 strong, html.havin-v083-rc3 .home-ask-rc3 small { display: block; }
html.havin-v083-rc3 .home-ask-rc3 strong { color: #f4f8fc; font-size: .85rem; }
html.havin-v083-rc3 .home-ask-rc3 small { margin-top: 2px; color: #8695aa; font-size: .68rem; }
html.havin-v083-rc3 .home-ask-rc3 em { padding: 4px 7px; border-radius: 999px; color: #dec667; background: rgba(212,175,55,.09); font-size: .56rem; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
html.havin-v083-rc3 .home-add-rc3 { min-height: 58px; padding: 0 18px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(255,255,255,.035); color: #cdd7e3; cursor: pointer; }
html.havin-v083-rc3 .home-world-rc3 { position: relative; min-height: 350px; overflow: hidden; }
html.havin-v083-rc3 .home-world-glow-rc3 { position: absolute; width: 280px; height: 280px; right: 12%; top: 14%; border-radius: 50%; background: radial-gradient(circle, rgba(63,167,225,.20), rgba(30,58,138,.06) 45%, transparent 70%); filter: blur(8px); }
html.havin-v083-rc3 .home-world-photo-rc3 { position:absolute; display:flex; align-items:flex-end; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:24px; background-size:cover; background-position:center; box-shadow:0 22px 55px rgba(0,0,0,.30); transition: transform .22s ease; }
html.havin-v083-rc3 .home-world-photo-rc3::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(5,8,17,.82)); }
html.havin-v083-rc3 .home-world-photo-rc3 span { position:relative; z-index:1; padding:14px 15px; color:#fff; font-size:.72rem; font-weight:760; text-shadow:0 2px 10px rgba(0,0,0,.6); }
html.havin-v083-rc3 .home-world-photo-rc3:hover { transform: translateY(-4px) rotate(0deg) scale(1.01); z-index:4; }
html.havin-v083-rc3 .home-world-photo-rc3.photo-1 { width:52%; aspect-ratio:1.2; right:9%; top:14%; transform:rotate(2.4deg); z-index:3; }
html.havin-v083-rc3 .home-world-photo-rc3.photo-2 { width:43%; aspect-ratio:1.15; left:4%; top:33%; transform:rotate(-5deg); z-index:2; }
html.havin-v083-rc3 .home-world-photo-rc3.photo-3 { width:38%; aspect-ratio:1.2; right:18%; bottom:4%; transform:rotate(4deg); z-index:1; }
html.havin-v083-rc3 .home-world-empty-rc3 { position:absolute; inset:20% 12%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#78c7ef; }
html.havin-v083-rc3 .home-world-empty-rc3 strong { margin-top:10px; color:#eaf3fb; }
html.havin-v083-rc3 .home-world-empty-rc3 span { max-width:260px; margin-top:5px; color:#7e8da2; font-size:.72rem; line-height:1.5; }
html.havin-v083-rc3 .home-world-status-rc3 { position:absolute; z-index:5; right:22px; bottom:20px; display:flex; gap:9px; align-items:center; padding:10px 13px; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:rgba(8,13,24,.72); backdrop-filter:blur(18px); box-shadow:0 12px 34px rgba(0,0,0,.22); }
html.havin-v083-rc3 .home-world-status-rc3 > span { width:31px; height:31px; display:grid; place-items:center; border-radius:10px; }
html.havin-v083-rc3 .home-world-status-rc3 > span.clear { color:var(--rc3-success); background:rgba(145,215,170,.10); }
html.havin-v083-rc3 .home-world-status-rc3 > span.attention { color:#e5c968; background:rgba(212,175,55,.10); }
html.havin-v083-rc3 .home-world-status-rc3 small, html.havin-v083-rc3 .home-world-status-rc3 strong { display:block; }
html.havin-v083-rc3 .home-world-status-rc3 small { color:#6f7c90; font-size:.57rem; text-transform:uppercase; letter-spacing:.08em; }
html.havin-v083-rc3 .home-world-status-rc3 strong { margin-top:2px; color:#e8eef6; font-size:.72rem; }
html.havin-v083-rc3 .home-first-asset-rc3 { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:17px; align-items:center; padding:19px 22px; border:1px solid rgba(63,167,225,.14); border-radius:24px; background:linear-gradient(120deg,rgba(30,58,138,.13),rgba(75,42,114,.09)); }
html.havin-v083-rc3 .home-first-icon-rc3 { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; color:#82cef4; background:rgba(63,167,225,.09); }
html.havin-v083-rc3 .home-first-asset-rc3 h2 { margin:0 0 3px; }
html.havin-v083-rc3 .home-first-asset-rc3 p { margin:0; }
html.havin-v083-rc3 .home-section-title-rc3 { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:15px; }
html.havin-v083-rc3 .home-section-title-rc3 h2 { margin:0; font-size:clamp(1.35rem,2vw,1.85rem); }
html.havin-v083-rc3 .home-section-title-rc3 > a { display:inline-flex; align-items:center; gap:4px; color:#7dcaf2; font-size:.75rem; font-weight:720; }
html.havin-v083-rc3 .home-today-rc3 { padding:24px; border:1px solid var(--rc3-border); border-radius:30px; background:rgba(13,20,35,.56); box-shadow:var(--rc3-shadow-soft); }
html.havin-v083-rc3 .home-attention-list-rc3 { display:grid; gap:9px; }
html.havin-v083-rc3 .home-attention-item-rc3 { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border:1px solid rgba(255,255,255,.055); border-radius:20px; background:rgba(255,255,255,.025); overflow:hidden; }
html.havin-v083-rc3 .home-attention-open-rc3 { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 13px; border:0; background:none; color:inherit; text-align:left; cursor:pointer; }
html.havin-v083-rc3 .home-attention-photo-rc3 { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(135deg,rgba(75,42,114,.24),rgba(30,58,138,.16)); color:#8acff3; background-size:cover; background-position:center; }
html.havin-v083-rc3 .home-attention-copy-rc3 small, html.havin-v083-rc3 .home-attention-copy-rc3 strong, html.havin-v083-rc3 .home-attention-copy-rc3 span { display:block; }
html.havin-v083-rc3 .home-attention-copy-rc3 small { color:#7a899e; font-size:.64rem; }
html.havin-v083-rc3 .home-attention-copy-rc3 strong { margin-top:2px; color:#eef3f9; font-size:.84rem; }
html.havin-v083-rc3 .home-attention-copy-rc3 span { margin-top:3px; color:#8290a4; font-size:.68rem; }
html.havin-v083-rc3 .home-attention-actions-rc3 { display:flex; gap:3px; padding-right:12px; }
html.havin-v083-rc3 .home-attention-actions-rc3 button { border:0; background:none; color:#8290a4; font-size:.68rem; font-weight:650; cursor:pointer; }
html.havin-v083-rc3 .home-calm-rc3 { display:flex; gap:14px; align-items:center; min-height:112px; padding:18px; border-radius:22px; background:linear-gradient(135deg,rgba(145,215,170,.055),rgba(63,167,225,.035)); }
html.havin-v083-rc3 .home-calm-rc3 > span { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; color:var(--rc3-success); background:rgba(145,215,170,.09); }
html.havin-v083-rc3 .home-calm-rc3 strong { color:#edf5f1; }
html.havin-v083-rc3 .home-calm-rc3 p { margin:4px 0 0; max-width:650px; font-size:.8rem; }
html.havin-v083-rc3 .home-shared-note-rc3 { margin:12px 2px 0; font-size:.7rem; }
html.havin-v083-rc3 .home-shared-note-rc3 a { color:#7bc8ef; }
html.havin-v083-rc3 .home-assets-rc3 { min-width:0; }
html.havin-v083-rc3 .home-asset-rail-rc3 { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,1fr); grid-template-rows:1fr; gap:14px; overflow-x:auto; padding:2px 2px 12px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.08) transparent; }
html.havin-v083-rc3 .home-asset-card-rc3 { min-width:0; scroll-snap-align:start; }
html.havin-v083-rc3 .home-asset-photo-rc3 { position:relative; min-height:165px; overflow:hidden; display:flex; align-items:flex-end; border:1px solid rgba(255,255,255,.07); border-radius:24px; background:linear-gradient(140deg,rgba(75,42,114,.18),rgba(30,58,138,.12)); background-size:cover; background-position:center; transition:transform .2s ease,box-shadow .2s ease; }
html.havin-v083-rc3 .home-asset-photo-rc3::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(5,8,17,.78)); }
html.havin-v083-rc3 .home-asset-card-rc3:hover .home-asset-photo-rc3 { transform:translateY(-3px); box-shadow:0 18px 38px rgba(0,0,0,.22); }
html.havin-v083-rc3 .home-asset-photo-rc3 > span { position:relative; z-index:1; padding:13px; color:#8796aa; font-size:.7rem; }
html.havin-v083-rc3 .home-asset-photo-rc3 small { position:absolute; z-index:2; top:10px; right:10px; padding:5px 8px; border:1px solid rgba(212,175,55,.16); border-radius:999px; background:rgba(8,13,24,.72); color:#dfc669; font-size:.57rem; font-weight:760; backdrop-filter:blur(12px); }
html.havin-v083-rc3 .home-asset-photo-rc3 small.clear { color:#a7dcb8; border-color:rgba(145,215,170,.12); }
html.havin-v083-rc3 .home-asset-card-rc3 > div:last-child { padding:10px 3px 0; }
html.havin-v083-rc3 .home-asset-card-rc3 strong, html.havin-v083-rc3 .home-asset-card-rc3 span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html.havin-v083-rc3 .home-asset-card-rc3 strong { color:#eaf0f7; font-size:.82rem; }
html.havin-v083-rc3 .home-asset-card-rc3 span { margin-top:3px; color:#728096; font-size:.65rem; }
html.havin-v083-rc3 .home-upcoming-grid-rc3 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
html.havin-v083-rc3 .home-upcoming-grid-rc3 button { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center; padding:15px 16px; border:1px solid var(--rc3-border); border-radius:18px; background:rgba(255,255,255,.025); color:inherit; text-align:left; cursor:pointer; }
html.havin-v083-rc3 .home-upcoming-grid-rc3 small, html.havin-v083-rc3 .home-upcoming-grid-rc3 strong { display:block; }
html.havin-v083-rc3 .home-upcoming-grid-rc3 small { color:#748298; font-size:.62rem; }
html.havin-v083-rc3 .home-upcoming-grid-rc3 strong { margin-top:3px; color:#e4ebf4; font-size:.78rem; }
html.havin-v083-rc3 .home-upcoming-grid-rc3 em { color:#7fc9f0; font-size:.65rem; font-style:normal; }
html.havin-v083-rc3 .home-quiet-work-rc3 { display:grid; gap:7px; margin-top:-4px; }
html.havin-v083-rc3 .home-quiet-row-rc3 { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 12px; border:0; border-radius:15px; background:rgba(255,255,255,.018); color:#78869b; }
html.havin-v083-rc3 .home-quiet-row-rc3 summary { display:contents; cursor:pointer; list-style:none; }
html.havin-v083-rc3 .home-quiet-row-rc3 strong, html.havin-v083-rc3 .home-quiet-row-rc3 small { display:block; }
html.havin-v083-rc3 .home-quiet-row-rc3 strong { color:#9eabba; font-size:.72rem; }
html.havin-v083-rc3 .home-quiet-row-rc3 small { margin-top:2px; color:#657287; font-size:.62rem; }
html.havin-v083-rc3 .home-automation-rc3 { grid-column:1/-1; display:grid; gap:5px; padding:9px 2px 2px; }
html.havin-v083-rc3 .home-automation-rc3 article { display:grid; grid-template-columns:130px minmax(0,1fr) auto; gap:10px; padding:7px 10px; border-radius:10px; background:rgba(255,255,255,.02); font-size:.64rem; }
html.havin-v083-rc3 .home-automation-rc3 article > span,html.havin-v083-rc3 .home-automation-rc3 article > small{color:#657287} html.havin-v083-rc3 .home-automation-rc3 article strong{color:#98a6b8}
html.havin-v083-rc3 .home-automation-rc3 > button { justify-self:start; display:inline-flex; gap:6px; align-items:center; border:0; background:none; color:#75c5ef; font-size:.65rem; cursor:pointer; }

/* ----- Assets: photography first, management second ----- */
html.havin-v083-rc3 .assets-page-v083 { gap:22px; }
html.havin-v083-rc3 .assets-command-v081 { display:grid; grid-template-columns:minmax(260px,1fr) minmax(180px,auto) auto auto; gap:8px; padding:0; border:0; background:transparent; }
html.havin-v083-rc3 .assets-search-v081 { min-height:48px; border:1px solid var(--rc3-border); border-radius:17px; background:rgba(255,255,255,.035); }
html.havin-v083-rc3 .assets-search-v081 input { color:var(--rc3-text); }
html.havin-v083-rc3 .assets-portfolio-v081 { min-height:48px; border:1px solid var(--rc3-border); border-radius:17px; background:rgba(255,255,255,.035); }
html.havin-v083-rc3 .assets-filter-panel-v081 { border:1px solid var(--rc3-border); border-radius:22px; background:rgba(13,20,35,.84); box-shadow:var(--rc3-shadow-soft); }
html.havin-v083-rc3 .asset-category-chips-v081 { display:flex; gap:7px; overflow-x:auto; padding:0 0 3px; border:0; }
html.havin-v083-rc3 .asset-category-chips-v081 button { min-height:35px; padding:0 12px; border:1px solid transparent; border-radius:999px; background:rgba(255,255,255,.025); color:#77869a; white-space:nowrap; }
html.havin-v083-rc3 .asset-category-chips-v081 button.active { border-color:rgba(63,167,225,.18); background:rgba(63,167,225,.09); color:#9bd7f5; }
html.havin-v083-rc3 .asset-card-grid-v081 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
html.havin-v083-rc3 .asset-card-v081 { border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
html.havin-v083-rc3 .asset-card-v081 > a { display:block; }
html.havin-v083-rc3 .asset-card-image-v081 { aspect-ratio:1.22; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:26px; background:linear-gradient(145deg,rgba(75,42,114,.18),rgba(30,58,138,.10)); box-shadow:0 12px 30px rgba(0,0,0,.13); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
html.havin-v083-rc3 .asset-card-v081:hover .asset-card-image-v081 { transform:translateY(-4px); border-color:rgba(63,167,225,.20); box-shadow:0 22px 48px rgba(0,0,0,.23); }
html.havin-v083-rc3 .asset-card-image-v081 img { width:100%; height:100%; object-fit:cover; }
html.havin-v083-rc3 .asset-card-image-v081::after { content:""; position:absolute; inset:52% 0 0; background:linear-gradient(transparent,rgba(4,7,14,.62)); pointer-events:none; }
html.havin-v083-rc3 .asset-category-v081 { z-index:2; top:11px; left:11px; padding:5px 8px; border:1px solid rgba(255,255,255,.10); border-radius:999px; background:rgba(7,11,21,.58); color:#dbe4ef; backdrop-filter:blur(12px); }
html.havin-v083-rc3 .asset-shared-badge-v081 { z-index:2; }
html.havin-v083-rc3 .asset-card-body-v081 { padding:11px 3px 3px; background:transparent; }
html.havin-v083-rc3 .asset-card-heading-v081 h3 { margin:0; color:#edf3fa; font-size:.91rem; }
html.havin-v083-rc3 .asset-card-heading-v081 p { margin:4px 0 0; color:#718097; font-size:.66rem; }
html.havin-v083-rc3 .asset-card-status-v081 { margin-top:8px; padding:7px 9px; border:0; border-radius:10px; background:rgba(212,175,55,.06); color:#d7bf69; font-size:.63rem; }
html.havin-v083-rc3 .asset-card-context-v081 { margin-top:7px; color:#657389; font-size:.62rem; }
html.havin-v083-rc3 .asset-card-placeholder-v081 { color:#77869a; }
html.havin-v083-rc3 .assets-capacity-note-v081,html.havin-v083-rc3 .assets-plan-note-v081 { border:1px solid rgba(212,175,55,.14); border-radius:18px; background:rgba(212,175,55,.045); }

/* ----- Asset detail: a digital twin, not a record editor ----- */
html.havin-v083-rc3 .asset-detail-page-v083 { gap:20px; }
html.havin-v083-rc3 .back-link { color:#7c899e; font-size:.72rem; }
html.havin-v083-rc3 .asset-detail-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); min-height:430px; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:34px; background:linear-gradient(140deg,#0f182a,#0a1120); box-shadow:var(--rc3-shadow-soft); }
html.havin-v083-rc3 .asset-detail-image { min-height:430px; border:0; border-radius:0; background:linear-gradient(145deg,rgba(75,42,114,.20),rgba(30,58,138,.12)); }
html.havin-v083-rc3 .asset-detail-image::after { content:""; position:absolute; inset:55% 0 0; pointer-events:none; background:linear-gradient(transparent,rgba(5,8,17,.58)); }
html.havin-v083-rc3 .asset-detail-image img { width:100%; height:100%; object-fit:cover; }
html.havin-v083-rc3 .image-edit,html.havin-v083-rc3 .image-readonly { z-index:2; border-radius:13px; background:rgba(7,11,21,.66); backdrop-filter:blur(14px); }
html.havin-v083-rc3 .asset-detail-summary { padding:clamp(27px,3.2vw,46px); display:flex; flex-direction:column; justify-content:center; background:transparent; }
html.havin-v083-rc3 .asset-detail-title-row { align-items:flex-start; }
html.havin-v083-rc3 .asset-detail-title-row h1 { margin:8px 0 7px; font-size:clamp(2.3rem,4vw,4.3rem); line-height:.95; }
html.havin-v083-rc3 .asset-detail-title-row p { margin:0; font-size:.88rem; }
html.havin-v083-rc3 .asset-category-label { border:0; border-radius:999px; background:rgba(63,167,225,.08); color:#8dd3f5; }
html.havin-v083-rc3 .asset-detail-actions-v081 { margin-top:3px; }
html.havin-v083-rc3 .asset-ask-rc3 small { color:var(--rc3-gold); font-size:.55rem; text-transform:uppercase; letter-spacing:.08em; }
html.havin-v083-rc3 .asset-status-summary-v080 { margin-top:24px; padding:14px 0; border:0; border-top:1px solid rgba(255,255,255,.065); border-radius:0; background:transparent; }
html.havin-v083-rc3 .asset-status-summary-v080 p { font-size:.72rem; }
html.havin-v083-rc3 .asset-key-strip-v081 { margin-top:5px; gap:7px; }
html.havin-v083-rc3 .asset-key-strip-v081 > span { border:0; border-radius:999px; background:rgba(255,255,255,.035); color:#8997aa; }
html.havin-v083-rc3 .asset-quick-actions-v083 { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:14px; }
html.havin-v083-rc3 .asset-quick-actions-v083 button { min-height:62px; border:1px solid rgba(255,255,255,.06); border-radius:16px; background:rgba(255,255,255,.025); }
html.havin-v083-rc3 .asset-quick-actions-v083 button:hover { background:rgba(255,255,255,.05); border-color:rgba(63,167,225,.16); }
html.havin-v083-rc3 .detail-tabs { position:sticky; top:78px; z-index:9; align-self:center; width:max-content; max-width:100%; margin:0 auto; padding:5px; border:1px solid rgba(255,255,255,.075); border-radius:999px; background:rgba(8,13,24,.78); backdrop-filter:blur(22px); box-shadow:0 10px 28px rgba(0,0,0,.16); }
html.havin-v083-rc3 .detail-tabs button { min-height:36px; padding:0 15px; border-radius:999px; color:#748197; }
html.havin-v083-rc3 .detail-tabs button.active { background:rgba(63,167,225,.10); color:#9ad8f6; box-shadow:none; }
html.havin-v083-rc3 .asset-overview-v081 { gap:18px; }
html.havin-v083-rc3 .content-card { border:1px solid var(--rc3-border); border-radius:24px; background:rgba(13,20,35,.60); box-shadow:none; }
html.havin-v083-rc3 .asset-next-card-v081 { background:linear-gradient(135deg,rgba(30,58,138,.09),rgba(255,255,255,.02)); }
html.havin-v083-rc3 .component-card-v081 { border:1px solid var(--rc3-border); border-radius:22px; background:rgba(255,255,255,.025); overflow:hidden; }
html.havin-v083-rc3 .component-photo-v083 { aspect-ratio:1.55; }
html.havin-v083-rc3 .component-photo-v083 img { width:100%; height:100%; object-fit:cover; }
html.havin-v083-rc3 .service-task-v083 { border-color:var(--rc3-border); border-radius:18px; background:rgba(255,255,255,.025); }
html.havin-v083-rc3 .document-card { border-color:var(--rc3-border); border-radius:20px; background:rgba(255,255,255,.025); }

/* ----- Watch: confidence, not a task manager ----- */
html.havin-v083-rc3 .watch-page-rc2-v083 { gap:20px; }
html.havin-v083-rc3 .watch-hero-rc3 { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:center; min-height:240px; padding:34px clamp(28px,4vw,52px); overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:34px; background:radial-gradient(circle at 82% 30%,rgba(63,167,225,.16),transparent 22rem),linear-gradient(135deg,#111b30,#0a1222); }
html.havin-v083-rc3 .watch-hero-rc3::after { content:""; position:absolute; width:260px; height:260px; right:-80px; bottom:-130px; border:1px solid rgba(63,167,225,.10); border-radius:50%; box-shadow:0 0 0 35px rgba(63,167,225,.025),0 0 0 75px rgba(75,42,114,.025); }
html.havin-v083-rc3 .watch-hero-copy-rc3 { position:relative; z-index:2; }
html.havin-v083-rc3 .watch-hero-copy-rc3 h1 { margin:0 0 9px; font-size:clamp(2.7rem,5vw,5.4rem); line-height:.94; }
html.havin-v083-rc3 .watch-hero-copy-rc3 p { max-width:620px; margin:0; font-size:.92rem; }
html.havin-v083-rc3 .watch-hero-glance-rc3 { position:relative; z-index:2; display:flex; gap:9px; }
html.havin-v083-rc3 .watch-hero-glance-rc3 button { width:92px; height:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.075); border-radius:28px; background:rgba(255,255,255,.035); color:inherit; cursor:pointer; backdrop-filter:blur(12px); }
html.havin-v083-rc3 .watch-hero-glance-rc3 button.needs-you { border-color:rgba(212,175,55,.16); background:rgba(212,175,55,.055); }
html.havin-v083-rc3 .watch-hero-glance-rc3 strong { color:#f2f6fb; font-size:1.35rem; }
html.havin-v083-rc3 .watch-hero-glance-rc3 span { margin-top:4px; max-width:70px; color:#77859a; font-size:.58rem; line-height:1.2; text-align:center; }
html.havin-v083-rc3 .watch-refresh-rc3 { position:absolute; right:18px; top:16px; z-index:3; display:inline-flex; gap:6px; align-items:center; padding:7px 10px; border:0; border-radius:12px; background:rgba(255,255,255,.035); color:#718096; font-size:.62rem; cursor:pointer; }
html.havin-v083-rc3 .watch-tabs-rc3 { width:max-content; max-width:100%; margin:0 auto; padding:5px; border:1px solid var(--rc3-border); border-radius:999px; background:rgba(255,255,255,.022); }
html.havin-v083-rc3 .watch-tabs-rc3 button { border-radius:999px; }
html.havin-v083-rc3 .watch-context-rc2-v083 { padding:4px 2px 0; border:0; background:transparent; }
html.havin-v083-rc3 .watch-asset-list-rc2-v083 { gap:18px; }
html.havin-v083-rc3 .watch-asset-group-rc2-v083 { overflow:hidden; border:1px solid var(--rc3-border); border-radius:26px; background:rgba(13,20,35,.55); box-shadow:none; }
html.havin-v083-rc3 .watch-asset-header-rc2-v083 { min-height:96px; padding:13px 16px; border-bottom:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.018); }
html.havin-v083-rc3 .watch-asset-visual-rc2-v083 { width:70px; height:70px; border-radius:20px; overflow:hidden; background:linear-gradient(135deg,rgba(75,42,114,.20),rgba(30,58,138,.14)); }
html.havin-v083-rc3 .watch-asset-visual-rc2-v083 img { width:100%; height:100%; object-fit:cover; }
html.havin-v083-rc3 .watch-asset-identity-rc2-v083 h2 { margin:3px 0 2px; font-size:1.18rem; }
html.havin-v083-rc3 .watch-item-row-rc2-v083 { grid-template-columns:4px minmax(0,1fr) auto; gap:14px; padding:15px 17px; border-bottom:1px solid rgba(255,255,255,.05); }
html.havin-v083-rc3 .watch-signal-rc2-v083 { width:4px; height:100%; min-height:54px; border-radius:999px; background:#42506a; }
html.havin-v083-rc3 .watch-signal-rc2-v083.critical,html.havin-v083-rc3 .watch-signal-rc2-v083.important { background:var(--rc3-gold); box-shadow:0 0 18px rgba(212,175,55,.16); }
html.havin-v083-rc3 .watch-item-copy-rc2-v083 h3 { margin:4px 0 4px; font-size:.88rem; }
html.havin-v083-rc3 .watch-item-copy-rc2-v083 p { margin:0; max-width:820px; color:#7f8da2; font-size:.72rem; line-height:1.45; }
html.havin-v083-rc3 .watch-next-rc2-v083 { margin-top:7px; border:0; background:transparent; padding:0; color:#96a5b8; font-size:.67rem; }
html.havin-v083-rc3 .watch-next-rc2-v083 span { color:#69bce9; }
html.havin-v083-rc3 .watch-background-rc2-v083 { border:0; border-radius:18px; background:rgba(255,255,255,.016); }

/* ----- Vault: records feel like useful things, not processing jobs ----- */
html.havin-v083-rc3 .records-page-rc2-v083 { gap:21px; }
html.havin-v083-rc3 .records-command-rc2-v083 { border:0; background:transparent; padding:0; }
html.havin-v083-rc3 .records-tabs-rc2-v083 { width:max-content; max-width:100%; padding:5px; border:1px solid var(--rc3-border); border-radius:999px; background:rgba(255,255,255,.022); }
html.havin-v083-rc3 .records-tabs-rc2-v083 button { border-radius:999px; }
html.havin-v083-rc3 .smart-record-list-rc2-v083 { gap:10px; }
html.havin-v083-rc3 .record-card-rc2-v083 { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:16px; padding:15px; border:1px solid var(--rc3-border); border-radius:22px; background:rgba(13,20,35,.54); box-shadow:none; }
html.havin-v083-rc3 .record-file-icon-rc2-v083 { width:64px; height:64px; border:0; border-radius:18px; background:linear-gradient(145deg,rgba(30,58,138,.17),rgba(75,42,114,.14)); color:#84cff4; }
html.havin-v083-rc3 .record-body-rc2-v083 h2 { margin:4px 0 4px; font-size:1rem; }
html.havin-v083-rc3 .record-summary-rc2-v083 { max-width:800px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#7d8ba0; font-size:.72rem; }
html.havin-v083-rc3 .record-details-rc2-v083 { margin-top:7px; }
html.havin-v083-rc3 .vault-trust-rc2-v083 { border:0; background:rgba(255,255,255,.015); border-radius:18px; }

/* ----- Settings / account: choices, not administration ----- */
html.havin-v083-rc3 .settings-layout { grid-template-columns:1fr !important; gap:16px; }
html.havin-v083-rc3 .settings-nav { position:static !important; display:flex !important; gap:6px; overflow-x:auto; padding:5px !important; border:1px solid var(--rc3-border) !important; border-radius:999px !important; background:rgba(255,255,255,.022) !important; scrollbar-width:none; }
html.havin-v083-rc3 .settings-nav::-webkit-scrollbar { display:none; }
html.havin-v083-rc3 .settings-nav button { flex:0 0 auto; min-height:38px; border-radius:999px !important; padding:0 14px !important; }
html.havin-v083-rc3 .settings-nav button.active { background:rgba(63,167,225,.10) !important; color:#9bd8f5 !important; }
html.havin-v083-rc3 .settings-content { max-width:980px; }
html.havin-v083-rc3 .settings-content > .content-card,html.havin-v083-rc3 .security-center-card { border-radius:26px; }
html.havin-v083-rc3 .settings-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
html.havin-v083-rc3 .settings-platform-card { border:1px solid var(--rc3-border); border-radius:20px; background:rgba(255,255,255,.025); }
html.havin-v083-rc3 .sms-hero-v083 { border:1px solid rgba(63,167,225,.12); border-radius:24px; background:linear-gradient(135deg,rgba(75,42,114,.15),rgba(30,58,138,.08)); }
html.havin-v083-rc3 .sms-preferences-v083 { border-radius:22px; }

/* ----- Foundation routes: Ask, Plans, Account, Notifications ----- */
html.havin-v083-rc3 .hv60-platform-page { background:transparent; }
html.havin-v083-rc3 .hv60-platform-layout { display:block; }
html.havin-v083-rc3 .hv60-platform-header { padding:2px 0 18px; border:0; background:transparent; }
html.havin-v083-rc3 .hv60-platform-header h1 { font-size:clamp(2.2rem,4vw,4.2rem); }
html.havin-v083-rc3 .hv60-platform-nav { display:flex; width:max-content; max-width:100%; overflow-x:auto; margin-bottom:20px; padding:5px; border:1px solid var(--rc3-border); border-radius:999px; background:rgba(255,255,255,.022); scrollbar-width:none; }
html.havin-v083-rc3 .hv60-platform-nav a { flex:0 0 auto; border-radius:999px; }
html.havin-v083-rc3 .hv60-platform-nav a.active { background:rgba(63,167,225,.10); color:#9bd7f4; }
html.havin-v083-rc3 .hv60-card { border:1px solid var(--rc3-border); border-radius:24px; background:rgba(13,20,35,.58); box-shadow:none; }
html.havin-v083-rc3 .havin-plan-grid-v080 { gap:16px; }
html.havin-v083-rc3 .hv60-plan-card { border:1px solid var(--rc3-border); border-radius:28px; background:rgba(13,20,35,.58); box-shadow:none; }
html.havin-v083-rc3 .hv60-plan-card.highlighted { border-color:rgba(63,167,225,.22); background:radial-gradient(circle at 90% 0%,rgba(63,167,225,.11),transparent 18rem),rgba(13,20,35,.66); box-shadow:0 20px 55px rgba(0,0,0,.16); }
html.havin-v083-rc3 .hv60-price { font-size:clamp(2.1rem,3vw,3.1rem); }
html.havin-v083-rc3 .hv60-ask-locked { overflow:hidden; border:1px solid rgba(63,167,225,.13); border-radius:32px; background:radial-gradient(circle at 82% 12%,rgba(63,167,225,.13),transparent 22rem),linear-gradient(135deg,#101a2e,#0b1222); box-shadow:var(--rc3-shadow-soft); }
html.havin-v083-rc3 .hv60-ask-lock { width:60px; height:60px; border-radius:20px; background:linear-gradient(135deg,rgba(75,42,114,.38),rgba(63,167,225,.14)); color:#86d0f4; }
html.havin-v083-rc3 .hv60-ask-locked h2 { max-width:760px; font-size:clamp(2rem,4vw,4rem); line-height:.98; }
html.havin-v083-rc3 .hv60-ask { padding:24px; border:1px solid rgba(63,167,225,.13); border-radius:28px; background:linear-gradient(135deg,rgba(30,58,138,.10),rgba(75,42,114,.07)); }
html.havin-v083-rc3 .hv60-ask textarea { border:1px solid var(--rc3-border); border-radius:20px; background:rgba(255,255,255,.035); color:var(--rc3-text); min-height:150px; }
html.havin-v083-rc3 .hv60-answer { border:1px solid var(--rc3-border); border-radius:28px; background:rgba(13,20,35,.62); }
html.havin-v083-rc3 .hv60-upgrade-hero { border:1px solid var(--rc3-border); border-radius:34px; background:radial-gradient(circle at 82% 12%,rgba(63,167,225,.13),transparent 24rem),linear-gradient(135deg,#101a2e,#0b1222); }
html.havin-v083-rc3 .hv60-upgrade-hero h2 { font-size:clamp(2rem,4vw,4.2rem); line-height:.98; }

/* ----- Forms, modals, menus ----- */
html.havin-v083-rc3 .field input,html.havin-v083-rc3 .field select,html.havin-v083-rc3 .field textarea { border:1px solid var(--rc3-border); border-radius:14px; background:rgba(255,255,255,.035); color:var(--rc3-text); }
html.havin-v083-rc3 .modal-card { border:1px solid var(--rc3-border); border-radius:28px; background:#0d1526; box-shadow:0 30px 90px rgba(0,0,0,.45); }
html.havin-v083-rc3 .add-menu { border:1px solid var(--rc3-border); border-radius:24px; background:rgba(10,15,27,.96); box-shadow:var(--rc3-shadow); backdrop-filter:blur(24px); }
html.havin-v083-rc3 .add-menu > button { border-radius:18px; }

/* ----- Mobile: same product, purpose-built layout ----- */
@media (max-width: 1180px) {
  html.havin-v083-rc3 .asset-card-grid-v081 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html.havin-v083-rc3 .home-hero-rc3 { grid-template-columns:minmax(0,1fr) minmax(310px,.72fr); }
}
@media (max-width: 900px) {
  html.havin-v083-rc3 .app-shell { display:block; }
  html.havin-v083-rc3 .desktop-rail { display:none; }
  html.havin-v083-rc3 .main-column { padding-bottom:102px; }
  html.havin-v083-rc3 .topbar { height:60px; padding:0 15px; background:rgba(7,11,21,.78); }
  html.havin-v083-rc3 .page-content { padding:22px 17px 40px; }
  html.havin-v083-rc3 .home-hero-rc3 { grid-template-columns:1fr; min-height:0; }
  html.havin-v083-rc3 .home-hero-copy-rc3 { padding:30px 24px 24px; }
  html.havin-v083-rc3 .home-world-rc3 { min-height:250px; }
  html.havin-v083-rc3 .home-world-photo-rc3.photo-1 { width:45%; right:8%; top:8%; }
  html.havin-v083-rc3 .home-world-photo-rc3.photo-2 { width:40%; left:10%; top:22%; }
  html.havin-v083-rc3 .home-world-photo-rc3.photo-3 { width:34%; right:26%; bottom:3%; }
  html.havin-v083-rc3 .asset-card-grid-v081 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v083-rc3 .asset-detail-hero { grid-template-columns:1fr; }
  html.havin-v083-rc3 .asset-detail-image { min-height:390px; }
  html.havin-v083-rc3 .detail-tabs { top:68px; }
  html.havin-v083-rc3 .watch-hero-rc3 { grid-template-columns:1fr; padding:30px 26px; }
  html.havin-v083-rc3 .watch-hero-glance-rc3 { justify-self:start; }
  html.havin-v083-rc3 .mobile-nav { left:12px; right:12px; bottom:max(10px,env(safe-area-inset-bottom)); height:72px; padding:6px 8px; border:1px solid rgba(255,255,255,.12); border-radius:26px; background:rgba(8,13,24,.83); backdrop-filter:blur(28px) saturate(145%); box-shadow:0 18px 54px rgba(0,0,0,.40); }
  html.havin-v083-rc3 .mobile-link { border-radius:17px; color:#66758a; }
  html.havin-v083-rc3 .mobile-link.active { color:#8ad0f3; }
  html.havin-v083-rc3 .mobile-add { border-radius:20px; background:linear-gradient(145deg,#247bd0,#3FA7E1); box-shadow:0 10px 30px rgba(63,167,225,.26); }
  html.havin-v083-rc3 .mobile-drawer { background:linear-gradient(180deg,#0d1526,#080d18); }
  html.havin-v083-rc3 .mobile-drawer-ask-rc3 { margin-top:7px; border:1px solid rgba(63,167,225,.10); background:linear-gradient(120deg,rgba(75,42,114,.13),rgba(30,58,138,.09)); }
  html.havin-v083-rc3 .mobile-search-sheet { background:rgba(8,13,24,.97); }
}
@media (max-width: 680px) {
  html.havin-v083-rc3 .page-content { padding:17px 14px 32px; }
  html.havin-v083-rc3 .page-stack { gap:17px; }
  html.havin-v083-rc3 .page-heading { align-items:flex-start; }
  html.havin-v083-rc3 .page-heading h1 { font-size:2.35rem; }
  html.havin-v083-rc3 .page-heading.split-heading { gap:14px; }
  html.havin-v083-rc3 .home-rc3 { gap:19px; }
  html.havin-v083-rc3 .home-hero-rc3 { border-radius:29px; }
  html.havin-v083-rc3 .home-hero-copy-rc3 { padding:25px 20px 18px; }
  html.havin-v083-rc3 .home-hero-meta-rc3 { margin-bottom:18px; }
  html.havin-v083-rc3 .home-hero-copy-rc3 h1 { font-size:2.65rem; }
  html.havin-v083-rc3 .home-hero-copy-rc3 > p { font-size:.92rem; }
  html.havin-v083-rc3 .home-hero-actions-rc3 { margin-top:20px; }
  html.havin-v083-rc3 .home-ask-rc3 { width:100%; }
  html.havin-v083-rc3 .home-add-rc3 { min-height:46px; border-radius:15px; }
  html.havin-v083-rc3 .home-world-rc3 { min-height:205px; }
  html.havin-v083-rc3 .home-world-status-rc3 { right:12px; bottom:10px; }
  html.havin-v083-rc3 .home-first-asset-rc3 { grid-template-columns:auto minmax(0,1fr); padding:17px; border-radius:22px; }
  html.havin-v083-rc3 .home-first-asset-rc3 .button { grid-column:1/-1; width:100%; }
  html.havin-v083-rc3 .home-today-rc3 { padding:17px; border-radius:24px; }
  html.havin-v083-rc3 .home-attention-item-rc3 { grid-template-columns:1fr; }
  html.havin-v083-rc3 .home-attention-actions-rc3 { padding:0 14px 10px 76px; }
  html.havin-v083-rc3 .home-asset-rail-rc3 { grid-auto-columns:72%; gap:11px; }
  html.havin-v083-rc3 .home-asset-photo-rc3 { min-height:150px; border-radius:21px; }
  html.havin-v083-rc3 .home-upcoming-grid-rc3 { grid-template-columns:1fr; }
  html.havin-v083-rc3 .home-quiet-row-rc3 { grid-template-columns:28px minmax(0,1fr) auto; }
  html.havin-v083-rc3 .home-automation-rc3 article { grid-template-columns:1fr auto; }
  html.havin-v083-rc3 .home-automation-rc3 article > span { grid-column:1/-1; }
  html.havin-v083-rc3 .assets-command-v081 { grid-template-columns:minmax(0,1fr) auto auto; }
  html.havin-v083-rc3 .assets-portfolio-v081 { grid-column:1/-1; grid-row:2; }
  html.havin-v083-rc3 .asset-card-grid-v081 { grid-template-columns:1fr 1fr; gap:13px 10px; }
  html.havin-v083-rc3 .asset-card-v081 { display:block; }
  html.havin-v083-rc3 .asset-card-v081>a { display:block; }
  html.havin-v083-rc3 .asset-card-image-v081 { aspect-ratio:1; min-height:0; border-radius:21px; }
  html.havin-v083-rc3 .asset-card-body-v081 { padding:9px 2px 2px; }
  html.havin-v083-rc3 .asset-card-heading-v081 h3 { font-size:.79rem; }
  html.havin-v083-rc3 .asset-card-heading-v081 p { font-size:.59rem; }
  html.havin-v083-rc3 .asset-card-context-v081 { display:none; }
  html.havin-v083-rc3 .asset-build-chip { display:none; }
  html.havin-v083-rc3 .asset-card-status-v081 { font-size:.57rem; }
  html.havin-v083-rc3 .asset-detail-hero { border-radius:28px; }
  html.havin-v083-rc3 .asset-detail-image { min-height:300px; }
  html.havin-v083-rc3 .asset-detail-summary { padding:23px 19px; }
  html.havin-v083-rc3 .asset-detail-title-row { display:block; }
  html.havin-v083-rc3 .asset-detail-title-row h1 { font-size:2.5rem; }
  html.havin-v083-rc3 .asset-detail-actions-v081 { margin-top:17px; }
  html.havin-v083-rc3 .asset-quick-actions-v083 { grid-template-columns:1fr; }
  html.havin-v083-rc3 .detail-tabs { width:100%; justify-content:stretch; overflow-x:auto; top:66px; }
  html.havin-v083-rc3 .detail-tabs button { flex:1 0 auto; }
  html.havin-v083-rc3 .watch-hero-rc3 { padding:27px 20px; border-radius:29px; }
  html.havin-v083-rc3 .watch-hero-copy-rc3 h1 { font-size:2.8rem; }
  html.havin-v083-rc3 .watch-hero-glance-rc3 { width:100%; display:grid; grid-template-columns:repeat(3,1fr); }
  html.havin-v083-rc3 .watch-hero-glance-rc3 button { width:auto; height:80px; border-radius:22px; }
  html.havin-v083-rc3 .watch-tabs-rc3 { width:100%; overflow-x:auto; justify-content:flex-start; }
  html.havin-v083-rc3 .watch-asset-header-rc2-v083 { grid-template-columns:58px minmax(0,1fr); }
  html.havin-v083-rc3 .watch-asset-visual-rc2-v083 { width:58px; height:58px; border-radius:17px; }
  html.havin-v083-rc3 .watch-view-asset,html.havin-v083-rc3 .watch-group-count-rc2-v083 { display:none; }
  html.havin-v083-rc3 .watch-item-row-rc2-v083 { grid-template-columns:4px minmax(0,1fr); }
  html.havin-v083-rc3 .watch-item-actions-rc2-v083 { grid-column:2; justify-content:flex-start; }
  html.havin-v083-rc3 .record-card-rc2-v083 { grid-template-columns:52px minmax(0,1fr); padding:13px; border-radius:20px; }
  html.havin-v083-rc3 .record-file-icon-rc2-v083 { width:52px; height:52px; border-radius:16px; }
  html.havin-v083-rc3 .record-actions-rc2-v083 { grid-column:2; justify-content:flex-start; }
  html.havin-v083-rc3 .settings-platform-grid { grid-template-columns:1fr; }
  html.havin-v083-rc3 .hv60-platform-nav { width:100%; }
  html.havin-v083-rc3 .hv60-ask-locked { border-radius:28px; }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v083-rc3 *,html.havin-v083-rc3 *::before,html.havin-v083-rc3 *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
}

/* ----- Add / onboarding: feels like showing Hāvin something, not filling a form ----- */
html.havin-v083-rc3 .add-asset-page-rc2-v083 { max-width:1120px; margin:0 auto; }
html.havin-v083-rc3 .onboarding-header { padding:4px 0 8px; border:0; background:transparent; }
html.havin-v083-rc3 .onboarding-header h1 { font-size:clamp(2.35rem,4.4vw,4.8rem); line-height:.96; }
html.havin-v083-rc3 .asset-flow-progress-v083 { width:min(520px,100%); margin-top:14px; padding:5px; border:1px solid var(--rc3-border); border-radius:999px; background:rgba(255,255,255,.025); }
html.havin-v083-rc3 .asset-flow-progress-v083 > * { border-radius:999px; }
html.havin-v083-rc3 .capture-layout.streamlined-capture { gap:18px; }
html.havin-v083-rc3 .capture-panel { border:1px solid var(--rc3-border); border-radius:28px; background:rgba(13,20,35,.58); box-shadow:none; }
html.havin-v083-rc3 .capture-photo-grid { gap:13px; }
html.havin-v083-rc3 .camera-target { min-height:280px; overflow:hidden; border:1px dashed rgba(63,167,225,.22); border-radius:26px; background:radial-gradient(circle at 50% 30%,rgba(63,167,225,.08),transparent 18rem),rgba(255,255,255,.022); }
html.havin-v083-rc3 .capture-photo-copy strong { color:#edf4fa; }
html.havin-v083-rc3 .capture-photo-copy span { color:#76859b; }
html.havin-v083-rc3 .privacy-callout,html.havin-v083-rc3 .background-build-note,html.havin-v083-rc3 .followup-callout { border:0; border-radius:18px; background:rgba(255,255,255,.025); }
html.havin-v083-rc3 .confirm-main { border:1px solid var(--rc3-border); border-radius:28px; background:rgba(13,20,35,.58); }
html.havin-v083-rc3 .candidate-banner { border:1px solid rgba(63,167,225,.12); border-radius:22px; background:linear-gradient(135deg,rgba(30,58,138,.10),rgba(75,42,114,.07)); }
html.havin-v083-rc3 .completion-state { border:1px solid rgba(145,215,170,.12); border-radius:28px; background:linear-gradient(135deg,rgba(145,215,170,.06),rgba(63,167,225,.035)); }

/* ----- Hāvin Access: powerful underneath, lightweight at first glance ----- */
html.havin-v083-rc3 .people-page { gap:20px; }
html.havin-v083-rc3 .people-view-tabs { width:max-content; max-width:100%; padding:5px; border:1px solid var(--rc3-border); border-radius:999px; background:rgba(255,255,255,.022); }
html.havin-v083-rc3 .people-view-tabs button { border-radius:999px; }
html.havin-v083-rc3 .access-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
html.havin-v083-rc3 .access-summary-grid > * { border:1px solid var(--rc3-border); border-radius:22px; background:rgba(13,20,35,.54); box-shadow:none; }
html.havin-v083-rc3 .access-table-card,html.havin-v083-rc3 .invitation-center,html.havin-v083-rc3 .security-history-card { border:1px solid var(--rc3-border); border-radius:26px; background:rgba(13,20,35,.54); box-shadow:none; }
html.havin-v083-rc3 .access-table.row { border-color:rgba(255,255,255,.05); }
html.havin-v083-rc3 .filter-bar.compact-filters { border:0; background:transparent; padding:0; }

/* ----- Portfolio creation: separate places, not more paperwork ----- */
html.havin-v083-rc3 .create-portfolio-page { max-width:980px; margin:0 auto; }
html.havin-v083-rc3 .portfolio-create-form { border:1px solid var(--rc3-border); border-radius:30px; background:rgba(13,20,35,.58); box-shadow:none; }
html.havin-v083-rc3 .portfolio-template-grid { gap:12px; }
html.havin-v083-rc3 .portfolio-template { border:1px solid var(--rc3-border); border-radius:22px; background:rgba(255,255,255,.025); }
html.havin-v083-rc3 .portfolio-template:hover { border-color:rgba(63,167,225,.18); background:rgba(63,167,225,.045); }
html.havin-v083-rc3 .portfolio-boundary-note { border:0; border-radius:18px; background:rgba(255,255,255,.022); }

/* ----- Sign-in: brand-forward, spacious, consumer rather than admin ----- */
html.havin-v083-rc3 .auth-page { min-height:100vh; background:radial-gradient(circle at 18% 18%,rgba(75,42,114,.22),transparent 34rem),radial-gradient(circle at 85% 12%,rgba(63,167,225,.14),transparent 30rem),linear-gradient(145deg,#070b15,#0b1221); }
html.havin-v083-rc3 .auth-panel { width:min(1180px,calc(100% - 32px)); min-height:min(720px,calc(100vh - 64px)); margin:32px auto; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:38px; background:rgba(12,19,33,.74); box-shadow:0 35px 100px rgba(0,0,0,.34); backdrop-filter:blur(20px); }
html.havin-v083-rc3 .auth-story { background:radial-gradient(circle at 75% 15%,rgba(63,167,225,.13),transparent 22rem),linear-gradient(145deg,rgba(75,42,114,.17),rgba(30,58,138,.08)); }
html.havin-v083-rc3 .auth-story h1 { font-size:clamp(3rem,5vw,5.8rem); line-height:.92; }
html.havin-v083-rc3 .auth-card { border:0; border-radius:28px; background:rgba(255,255,255,.03); box-shadow:none; }
html.havin-v083-rc3 .auth-feature-grid > * { border:1px solid rgba(255,255,255,.065); border-radius:18px; background:rgba(255,255,255,.025); }

/* ----- Small polish across utility surfaces ----- */
html.havin-v083-rc3 .empty-page,html.havin-v083-rc3 .empty-state,html.havin-v083-rc3 .empty-watch-rc2-v083 { border:1px solid var(--rc3-border); border-radius:28px; background:linear-gradient(135deg,rgba(30,58,138,.055),rgba(75,42,114,.035)); }
html.havin-v083-rc3 .skeleton { background:linear-gradient(90deg,rgba(255,255,255,.025),rgba(255,255,255,.055),rgba(255,255,255,.025)); background-size:200% 100%; }
html.havin-v083-rc3 .success-banner { border-color:rgba(145,215,170,.14); border-radius:18px; background:rgba(145,215,170,.055); }
html.havin-v083-rc3 .form-error,html.havin-v083-rc3 .global-error-banner { border-color:rgba(255,147,143,.16); border-radius:18px; background:rgba(255,147,143,.055); color:#ffaaa6; }

@media (max-width:680px) {
  html.havin-v083-rc3 .camera-target { min-height:220px; border-radius:22px; }
  html.havin-v083-rc3 .access-summary-grid { grid-template-columns:1fr; }
  html.havin-v083-rc3 .auth-panel { width:100%; min-height:100vh; margin:0; border:0; border-radius:0; }
}


/* Settings navigation regression fix — 2026-08-13 */

html.havin-v083-rc3 .settings-nav {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: start !important;
  gap: 6px !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 0 !important;
  overflow-x: auto !important;
  padding: 5px !important;
  border: 1px solid var(--rc3-border) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.022) !important;
  scrollbar-width: none;
}

html.havin-v083-rc3 .settings-nav::-webkit-scrollbar {
  display: none;
}

html.havin-v083-rc3 .settings-nav a {
  flex: 0 0 auto !important;
  min-height: 38px !important;
  padding: 0 13px !important;
  border-radius: 13px !important;
}

html.havin-v083-rc3 .settings-nav a.active {
  background: rgba(63,167,225,.10) !important;
  color: #9bd8f5 !important;
}

@media (max-width: 900px) {
  html.havin-v083-rc3 .settings-nav {
    width: 100% !important;
  }
}
/* Hāvin v0.8.3 RC4 — refinement pass
   Goal: calmer mobile home, stronger Halo discoverability, clearer intake,
   compact Watch/Vault lenses, and a six-action mobile ownership dock. */

html.havin-v083-rc4 {
  --rc4-surface-soft: rgba(255,255,255,.032);
  --rc4-surface-lift: rgba(255,255,255,.052);
  --rc4-line: rgba(255,255,255,.085);
  --rc4-line-blue: rgba(63,167,225,.23);
  --rc4-blue-soft: rgba(63,167,225,.10);
  --rc4-gold-soft: rgba(212,175,55,.10);
}

/* ---- Home: useful first, greeting second ---- */
html.havin-v083-rc4 .home-glance-rc4 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-width:470px;
  margin-top:22px;
}
html.havin-v083-rc4 .home-glance-rc4 button {
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--rc4-line);
  border-radius:15px;
  background:rgba(255,255,255,.028);
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
html.havin-v083-rc4 .home-glance-rc4 button:hover { transform:translateY(-1px); border-color:rgba(63,167,225,.22); background:rgba(255,255,255,.045); }
html.havin-v083-rc4 .home-glance-rc4 strong { display:block; color:#f2f6fb; font-size:1rem; line-height:1; }
html.havin-v083-rc4 .home-glance-rc4 span { display:block; margin-top:4px; color:#7f8da2; font-size:.62rem; font-weight:690; }
html.havin-v083-rc4 .home-glance-rc4 button.attention strong { color:#e3c75e; }

html.havin-v083-rc4 .home-ask-rc3 {
  min-height:66px;
  border-color:rgba(63,167,225,.30);
  background:
    radial-gradient(circle at 0 50%,rgba(75,42,114,.23),transparent 11rem),
    linear-gradient(110deg,rgba(30,58,138,.19),rgba(63,167,225,.075));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.12);
}
html.havin-v083-rc4 .home-ask-rc3.ready { border-color:rgba(63,167,225,.38); }
html.havin-v083-rc4 .home-ask-icon-rc3 { width:44px; height:44px; border-radius:15px; box-shadow:0 0 24px rgba(63,167,225,.10); }
html.havin-v083-rc4 .home-ask-rc3 strong { font-size:.94rem; }
html.havin-v083-rc4 .home-ask-rc3 small { font-size:.69rem; line-height:1.35; }
html.havin-v083-rc4 .home-ask-go-rc4 { display:inline-flex; align-items:center; gap:2px; color:#8dd4f5; font-size:.69rem; font-weight:760; }
html.havin-v083-rc4 .home-ask-rc3.preview .home-ask-go-rc4 { color:#e0c65d; }
html.havin-v083-rc4 .home-add-rc3 { min-height:52px; }

/* ---- Contextual plan hints: visible, never billboard-y ---- */
html.havin-v083-rc4 .quiet-upgrade-hint-rc4,
html.havin-v083-rc4 .assets-plan-peek-rc4 {
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  padding:9px 12px;
  border:1px solid rgba(63,167,225,.10);
  border-radius:16px;
  background:linear-gradient(110deg,rgba(30,58,138,.065),rgba(75,42,114,.04));
  color:#91a0b4;
  text-align:left;
  font-size:.66rem;
  cursor:pointer;
  text-decoration:none;
}
html.havin-v083-rc4 .quiet-upgrade-hint-rc4 svg { color:#75c5ee; }
html.havin-v083-rc4 .quiet-upgrade-hint-rc4 strong,
html.havin-v083-rc4 .assets-plan-peek-rc4 strong { color:#cbd7e4; font-weight:720; }
html.havin-v083-rc4 .quiet-upgrade-hint-rc4 small,
html.havin-v083-rc4 .assets-plan-peek-rc4 small { color:#d1b957; white-space:nowrap; font-weight:720; }
html.havin-v083-rc4 .assets-plan-peek-rc4 { grid-template-columns:minmax(0,1fr) auto; }

/* ---- Add asset: show, don't explain ---- */
html.havin-v083-rc4 .add-asset-page-rc2-v083 { max-width:1040px; }
html.havin-v083-rc4 .onboarding-header { align-items:center; }
html.havin-v083-rc4 .onboarding-header h1 {
  font-size:clamp(2.25rem,3.6vw,3.45rem);
  line-height:1;
  letter-spacing:-.05em;
}
html.havin-v083-rc4 .asset-flow-progress-v083 { display:none; }
html.havin-v083-rc4 .asset-stepper-rc4 {
  width:min(520px,calc(100% - 36px));
  margin:14px auto 2px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  list-style:none;
  position:relative;
}
html.havin-v083-rc4 .asset-stepper-rc4::before {
  content:"";
  position:absolute;
  left:16.67%; right:16.67%; top:15px;
  height:1px;
  background:rgba(255,255,255,.075);
}
html.havin-v083-rc4 .asset-stepper-rc4 li { position:relative; z-index:1; display:grid; justify-items:center; gap:5px; color:#647288; font-size:.61rem; }
html.havin-v083-rc4 .asset-stepper-rc4 li > span { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.09); border-radius:50%; background:#0b1221; color:#66768d; font-size:.68rem; font-weight:760; }
html.havin-v083-rc4 .asset-stepper-rc4 li strong { font-size:.61rem; font-weight:720; }
html.havin-v083-rc4 .asset-stepper-rc4 li.active { color:#9fd9f5; }
html.havin-v083-rc4 .asset-stepper-rc4 li.active > span { border-color:rgba(63,167,225,.45); background:rgba(63,167,225,.12); color:#9ad8f6; box-shadow:0 0 0 5px rgba(63,167,225,.035); }
html.havin-v083-rc4 .asset-stepper-rc4 li.complete { color:#8fb9ce; }
html.havin-v083-rc4 .asset-stepper-rc4 li.complete > span { border-color:rgba(145,215,170,.28); background:rgba(145,215,170,.08); color:#a2dfb6; }

html.havin-v083-rc4 .add-asset-page-rc2-v083 .onboarding-content { padding-top:13px; }
html.havin-v083-rc4 .capture-panel {
  padding:24px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 10%,rgba(63,167,225,.055),transparent 19rem),
    linear-gradient(145deg,rgba(15,23,41,.62),rgba(9,15,28,.45));
}
html.havin-v083-rc4 .capture-heading-row { align-items:center; margin-bottom:18px; }
html.havin-v083-rc4 .capture-heading-row h2 { font-size:1.42rem; }
html.havin-v083-rc4 .capture-heading-row p { max-width:650px; color:#8492a7; font-size:.78rem; }
html.havin-v083-rc4 .capture-portfolio-control-rc4 { display:flex; align-items:flex-end; gap:7px; flex:0 0 auto; }
html.havin-v083-rc4 .capture-portfolio-picker { min-width:190px; }
html.havin-v083-rc4 .portfolio-inline-add-rc4 {
  height:40px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(63,167,225,.15);
  border-radius:13px;
  background:rgba(63,167,225,.065);
  color:#8fd3f4;
  font-size:.68rem;
  font-weight:720;
  cursor:pointer;
}
html.havin-v083-rc4 .capture-photo-grid { gap:12px; }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card {
  min-height:188px;
  height:188px;
  padding:18px;
  grid-template-columns:1fr !important;
  grid-template-rows:1fr auto;
  justify-items:center;
  align-items:center;
  gap:8px;
  border:1px solid rgba(63,167,225,.14);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(63,167,225,.045),rgba(255,255,255,.018));
  text-align:center;
}
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card:hover { border-color:rgba(63,167,225,.34); background:linear-gradient(145deg,rgba(63,167,225,.075),rgba(255,255,255,.028)); }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card .camera-target {
  width:62px !important;
  height:62px !important;
  min-height:62px !important;
  margin:0 !important;
  display:grid;
  place-items:center;
  border:1px solid rgba(63,167,225,.22);
  border-radius:20px !important;
  background:linear-gradient(145deg,rgba(75,42,114,.18),rgba(63,167,225,.09));
  color:#85cff2;
}
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-copy { display:grid; gap:3px; align-self:end; text-align:center; }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-copy strong { color:#edf4fa; font-size:.88rem; }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-copy small { color:#8291a7; font-size:.68rem; line-height:1.35; }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card > img { min-height:188px; height:188px; }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card.has-image { display:block; padding:0; }
html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card.has-image .capture-photo-copy { text-align:left; }
html.havin-v083-rc4 .demo-intake-controls-rc4 { margin-top:11px; width:max-content; max-width:100%; color:#67768b; font-size:.62rem; }
html.havin-v083-rc4 .demo-intake-controls-rc4 summary { cursor:pointer; color:#718198; font-weight:700; }
html.havin-v083-rc4 .demo-intake-controls-rc4 label { margin-top:8px; display:flex; align-items:center; gap:8px; }
html.havin-v083-rc4 .demo-intake-controls-rc4 select { min-width:150px; }
html.havin-v083-rc4 .demo-intake-controls-rc4 small { display:block; max-width:460px; margin-top:5px; color:#5d6a7d; }
html.havin-v083-rc4 .inline-portfolio-help-rc4 { margin:0; color:#8b9aaf; font-size:.78rem; line-height:1.5; }
html.havin-v083-rc4 .inline-plan-upgrade-rc4 { text-align:left; }
html.havin-v083-rc4 .inline-plan-icon-rc4 { width:52px; height:52px; display:grid; place-items:center; border-radius:17px; color:#8dd2f3; background:linear-gradient(145deg,rgba(75,42,114,.24),rgba(63,167,225,.10)); }
html.havin-v083-rc4 .inline-plan-upgrade-rc4 p { margin:0; color:#b5c0cf; line-height:1.55; }
html.havin-v083-rc4 .inline-plan-upgrade-rc4 > small { color:#d2ba5b; }

/* ---- Watch: glanceable rather than alarm-panel ---- */
html.havin-v083-rc4 .watch-hero-rc4 {
  min-height:0;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  padding:22px 26px;
  border-radius:26px;
  background:radial-gradient(circle at 90% 25%,rgba(63,167,225,.10),transparent 17rem),linear-gradient(135deg,#101a2d,#0b1323);
}
html.havin-v083-rc4 .watch-hero-rc4::after { display:none; }
html.havin-v083-rc4 .watch-heading-row-rc4 { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
html.havin-v083-rc4 .watch-hero-copy-rc3 h1 { margin:3px 0 7px; font-size:clamp(1.7rem,2.6vw,2.6rem); line-height:1; }
html.havin-v083-rc4 .watch-hero-copy-rc3 p { margin:0; color:#8695aa; font-size:.78rem; }
html.havin-v083-rc4 .watch-hero-copy-rc3 p strong { color:#d9e3ed; }
html.havin-v083-rc4 .watch-refresh-rc3 { position:static; flex:0 0 auto; }
html.havin-v083-rc4 .watch-hero-glance-rc3 { gap:7px; }
html.havin-v083-rc4 .watch-hero-glance-rc3 button { width:84px; height:62px; border-radius:17px; }
html.havin-v083-rc4 .watch-hero-glance-rc3 button strong { font-size:1.05rem; }
html.havin-v083-rc4 .watch-hero-glance-rc3 button span { font-size:.58rem; }

html.havin-v083-rc4 .watch-tabs-rc3,
html.havin-v083-rc4 .records-tabs-rc2-v083 {
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:none;
}
html.havin-v083-rc4 .watch-tabs-rc3 button,
html.havin-v083-rc4 .records-tabs-rc2-v083 button {
  min-width:0;
  min-height:54px;
  padding:8px 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid var(--rc4-line);
  border-radius:16px;
  background:rgba(255,255,255,.022);
  color:#75849a;
  font-size:.66rem;
  font-weight:700;
}
html.havin-v083-rc4 .watch-tabs-rc3 button svg,
html.havin-v083-rc4 .records-tabs-rc2-v083 button svg { flex:0 0 auto; }
html.havin-v083-rc4 .watch-tabs-rc3 button small,
html.havin-v083-rc4 .records-tabs-rc2-v083 button small { min-width:20px; height:20px; display:grid; place-items:center; margin:0; padding:0 5px; border-radius:999px; background:rgba(255,255,255,.045); color:#8c9aab; font-size:.55rem; }
html.havin-v083-rc4 .watch-tabs-rc3 button.active,
html.havin-v083-rc4 .records-tabs-rc2-v083 button.active {
  border-color:rgba(63,167,225,.25);
  background:linear-gradient(135deg,rgba(30,58,138,.16),rgba(63,167,225,.07));
  color:#9ad9f7;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
html.havin-v083-rc4 .watch-tabs-rc3 button.active small,
html.havin-v083-rc4 .records-tabs-rc2-v083 button.active small { color:#b8e4f9; background:rgba(63,167,225,.11); }
html.havin-v083-rc4 .watch-dismiss-rc4 {
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#9aa8ba;
  font-size:.66rem;
  font-weight:700;
  cursor:pointer;
}
html.havin-v083-rc4 .watch-dismiss-rc4:hover { border-color:rgba(255,255,255,.14); color:#c9d4df; background:rgba(255,255,255,.045); }
html.havin-v083-rc4 .watch-snooze-rc4 { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:11px; background:transparent; color:#68778d; cursor:pointer; }
html.havin-v083-rc4 .watch-snooze-rc4:hover { background:rgba(255,255,255,.035); color:#91a1b6; }

/* ---- Vault: friendly safety language and clear lenses ---- */
html.havin-v083-rc4 .record-safety-hold-rc4 { margin-top:9px; display:flex; gap:8px; align-items:flex-start; padding:9px 10px; border:1px solid rgba(212,175,55,.11); border-radius:13px; background:rgba(212,175,55,.045); color:#cfbc69; }
html.havin-v083-rc4 .record-safety-hold-rc4 svg { flex:0 0 auto; margin-top:1px; }
html.havin-v083-rc4 .record-safety-hold-rc4 span { display:grid; gap:2px; }
html.havin-v083-rc4 .record-safety-hold-rc4 strong { color:#d9c778; font-size:.66rem; }
html.havin-v083-rc4 .record-safety-hold-rc4 small { color:#8f855c; font-size:.61rem; line-height:1.4; }
html.havin-v083-rc4 .record-card-rc2-v083.security-blocked { border-color:rgba(212,175,55,.10); }
html.havin-v083-rc4 .record-card-rc2-v083.security-blocked .record-actions .button:disabled { color:#a99a5b; border-color:rgba(212,175,55,.10); background:rgba(212,175,55,.035); opacity:1; }

/* ---- Mobile dock: six clear destinations, Ask always in reach ---- */
@media (max-width:900px) {
  html.havin-v083-rc4 .mobile-nav {
    grid-template-columns:repeat(6,minmax(0,1fr));
    height:70px;
    padding:5px 6px;
    gap:1px;
  }
  html.havin-v083-rc4 .mobile-nav .mobile-link {
    min-width:0;
    height:58px;
    justify-content:center;
    gap:3px;
    padding:0 2px;
    font-size:.54rem;
  }
  html.havin-v083-rc4 .mobile-add-link-rc4 { border:0; background:transparent; cursor:pointer; }
  html.havin-v083-rc4 .mobile-add-orb-rc4 { width:35px; height:35px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:linear-gradient(145deg,#287bd1,#3FA7E1); color:#fff; box-shadow:0 7px 18px rgba(63,167,225,.18); }
  html.havin-v083-rc4 .mobile-ask-link-rc4 { color:#77bfe5; }
  html.havin-v083-rc4 .mobile-ask-icon-rc4 { position:relative; display:grid; place-items:center; }
  html.havin-v083-rc4 .mobile-ask-icon-rc4 i { position:absolute; width:6px; height:6px; top:-3px; right:-4px; border-radius:50%; background:#D4AF37; box-shadow:0 0 0 2px #0a101d; }
}

/* ---- Mobile home: first useful content above the fold ---- */
@media (max-width:680px) {
  html.havin-v083-rc4 .home-rc3 { gap:14px; }
  html.havin-v083-rc4 .home-hero-rc3 { border-radius:24px; }
  html.havin-v083-rc4 .home-hero-copy-rc3 { padding:18px 17px 16px; }
  html.havin-v083-rc4 .home-hero-meta-rc3 { margin-bottom:10px; font-size:.60rem; }
  html.havin-v083-rc4 .home-portfolio-chip-rc3 { padding:4px 7px; }
  html.havin-v083-rc4 .home-hero-copy-rc3 h1 { margin-bottom:5px; font-size:2.05rem; line-height:.98; }
  html.havin-v083-rc4 .home-hero-copy-rc3 > p { font-size:.79rem; line-height:1.35; }
  html.havin-v083-rc4 .home-glance-rc4 { margin-top:13px; gap:6px; }
  html.havin-v083-rc4 .home-glance-rc4 button { padding:8px 9px; border-radius:13px; }
  html.havin-v083-rc4 .home-glance-rc4 strong { font-size:.88rem; }
  html.havin-v083-rc4 .home-glance-rc4 span { font-size:.55rem; }
  html.havin-v083-rc4 .home-hero-actions-rc3 { display:grid; grid-template-columns:1fr auto; gap:7px; margin-top:12px; }
  html.havin-v083-rc4 .home-ask-rc3 { min-width:0; min-height:56px; padding:7px 9px; grid-template-columns:38px minmax(0,1fr) auto; border-radius:16px; }
  html.havin-v083-rc4 .home-ask-icon-rc3 { width:38px; height:38px; border-radius:13px; }
  html.havin-v083-rc4 .home-ask-rc3 strong { font-size:.78rem; }
  html.havin-v083-rc4 .home-ask-rc3 small { font-size:.60rem; }
  html.havin-v083-rc4 .home-ask-go-rc4 { font-size:.60rem; }
  html.havin-v083-rc4 .home-add-rc3 { min-height:56px; padding:0 12px; border-radius:16px; font-size:0; }
  html.havin-v083-rc4 .home-add-rc3 svg { width:19px; height:19px; }
  html.havin-v083-rc4 .home-add-rc3::after { content:"Add asset"; font-size:.65rem; font-weight:720; }
  html.havin-v083-rc4 .home-world-rc3 { display:none; }
  html.havin-v083-rc4 .home-today-rc3 { padding:15px; border-radius:22px; }
  html.havin-v083-rc4 .home-section-title-rc3 { margin-bottom:11px; align-items:center; }
  html.havin-v083-rc4 .home-section-title-rc3 h2 { font-size:1.18rem; }
  html.havin-v083-rc4 .home-section-title-rc3 > a { font-size:.66rem; }
  html.havin-v083-rc4 .home-attention-open-rc3 { grid-template-columns:44px minmax(0,1fr) auto; padding:9px 10px; }
  html.havin-v083-rc4 .home-attention-photo-rc3 { width:44px; height:44px; border-radius:13px; }
  html.havin-v083-rc4 .home-attention-copy-rc3 strong { font-size:.76rem; }
  html.havin-v083-rc4 .home-attention-copy-rc3 span { font-size:.61rem; }
  html.havin-v083-rc4 .home-assets-rc3 { margin-top:2px; }

  html.havin-v083-rc4 .quiet-upgrade-hint-rc4 { grid-template-columns:auto minmax(0,1fr) auto; padding:8px 10px; }
  html.havin-v083-rc4 .quiet-upgrade-hint-rc4 > svg:last-child { display:none; }
  html.havin-v083-rc4 .quiet-upgrade-hint-rc4 span { line-height:1.35; }

  /* Intake becomes two obvious actions, not two blank wells. */
  html.havin-v083-rc4 .onboarding-header h1 { font-size:2rem; }
  html.havin-v083-rc4 .asset-stepper-rc4 { width:calc(100% - 22px); margin-top:8px; }
  html.havin-v083-rc4 .capture-panel { padding:15px; border-radius:22px; }
  html.havin-v083-rc4 .capture-heading-row { display:grid; gap:12px; align-items:start; }
  html.havin-v083-rc4 .capture-heading-row h2 { font-size:1.2rem; }
  html.havin-v083-rc4 .capture-heading-row p { font-size:.70rem; }
  html.havin-v083-rc4 .capture-portfolio-control-rc4 { width:100%; align-items:flex-end; }
  html.havin-v083-rc4 .capture-portfolio-picker { min-width:0; flex:1; }
  html.havin-v083-rc4 .portfolio-inline-add-rc4 { height:38px; }
  html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-grid { grid-template-columns:1fr 1fr; gap:8px; }
  html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card { min-height:142px; height:142px; padding:12px 8px; border-radius:18px; }
  html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card .camera-target { width:49px !important; height:49px !important; min-height:49px !important; border-radius:16px !important; }
  html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-card > img { min-height:142px; height:142px; }
  html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-copy strong { font-size:.73rem; }
  html.havin-v083-rc4 .streamlined-asset-onboarding .capture-photo-copy small { font-size:.58rem; }

  /* Watch/Vault lenses always fit; no mystery horizontal scrollbar. */
  html.havin-v083-rc4 .watch-hero-rc4 { grid-template-columns:1fr; gap:13px; padding:17px; border-radius:23px; }
  html.havin-v083-rc4 .watch-heading-row-rc4 { align-items:center; }
  html.havin-v083-rc4 .watch-hero-copy-rc3 h1 { font-size:1.7rem; }
  html.havin-v083-rc4 .watch-hero-copy-rc3 p { font-size:.70rem; }
  html.havin-v083-rc4 .watch-refresh-rc3 { padding:7px 9px; font-size:.58rem; }
  html.havin-v083-rc4 .watch-hero-glance-rc3 { width:100%; grid-template-columns:repeat(3,1fr); gap:6px; }
  html.havin-v083-rc4 .watch-hero-glance-rc3 button { width:auto; height:52px; border-radius:15px; }
  html.havin-v083-rc4 .watch-tabs-rc3,
  html.havin-v083-rc4 .records-tabs-rc2-v083 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; overflow:visible; }
  html.havin-v083-rc4 .watch-tabs-rc3 button,
  html.havin-v083-rc4 .records-tabs-rc2-v083 button { min-height:50px; padding:7px 3px; flex-direction:column; gap:3px; border-radius:14px; font-size:.56rem; line-height:1.1; }
  html.havin-v083-rc4 .watch-tabs-rc3 button small,
  html.havin-v083-rc4 .records-tabs-rc2-v083 button small { position:absolute; transform:translate(17px,-13px); min-width:17px; height:17px; font-size:.48rem; }
  html.havin-v083-rc4 .watch-tabs-rc3 button,
  html.havin-v083-rc4 .records-tabs-rc2-v083 button { position:relative; }
  html.havin-v083-rc4 .watch-item-actions-rc2-v083 { align-items:center; gap:7px; }
}

/* Future light mode remains token-led. */
html[data-havin-theme="light"].havin-v083-rc4 {
  --rc4-surface-soft:rgba(13,20,38,.025);
  --rc4-surface-lift:rgba(13,20,38,.045);
  --rc4-line:rgba(13,20,38,.09);
}
html[data-havin-theme="light"].havin-v083-rc4 .home-glance-rc4 button,
html[data-havin-theme="light"].havin-v083-rc4 .quiet-upgrade-hint-rc4,
html[data-havin-theme="light"].havin-v083-rc4 .assets-plan-peek-rc4 { border-color:var(--rc4-line); }
/* Hāvin v0.8.3 RC5 — Halo experience + full polish pass
   Hāvin remains the product. Halo is the calm intelligence layer inside it. */

html.havin-v083-rc5 {
  --rc5-navy:#0D1426;
  --rc5-blue:#3FA7E1;
  --rc5-blue-deep:#1E3A8A;
  --rc5-purple:#4B2A72;
  --rc5-gold:#D4AF37;
  --rc5-text:#F4F7FB;
  --rc5-muted:#8998AD;
  --rc5-line:rgba(255,255,255,.085);
  --rc5-line-soft:rgba(255,255,255,.055);
  --rc5-surface:rgba(255,255,255,.027);
  --rc5-surface-lift:rgba(255,255,255,.045);
  --rc5-focus:0 0 0 3px rgba(63,167,225,.20);
}

/* ---- Global fit-and-finish ---- */
html.havin-v083-rc5 :where(button,a,input,textarea,select,summary):focus-visible {
  outline:none;
  box-shadow:var(--rc5-focus);
}
html.havin-v083-rc5 :where(.page-header h1,.onboarding-header h1,.hv60-platform-header h1) {
  letter-spacing:-.035em;
  font-weight:760;
}
html.havin-v083-rc5 :where(.button,.icon-button,.text-button,.text-link) { transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease; }
html.havin-v083-rc5 .button:active:not(:disabled),
html.havin-v083-rc5 .icon-button:active:not(:disabled) { transform:translateY(1px); }

/* Native selects keep native accessibility/keyboard behavior, but the closed control
   now belongs to Hāvin instead of inheriting Windows/Chrome defaults. */
html.havin-v083-rc5 :where(.field select,.select-wrap select,.portfolio-switcher select,.pagination-bar select,.record-match-select select,.records-filters-rc5 select,.capture-portfolio-picker select,.demo-intake-controls-rc4 select) {
  appearance:none;
  -webkit-appearance:none;
  min-height:42px;
  padding:0 40px 0 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background-color:#10182a;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238fa0b7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  color:#e9eff6;
  font:inherit;
  cursor:pointer;
}
html.havin-v083-rc5 :where(.field select,.select-wrap select,.portfolio-switcher select,.pagination-bar select,.record-match-select select,.records-filters-rc5 select,.capture-portfolio-picker select):hover { border-color:rgba(63,167,225,.24); background-color:#121c30; }
html.havin-v083-rc5 :where(.field select,.select-wrap select,.portfolio-switcher select,.pagination-bar select,.record-match-select select,.records-filters-rc5 select,.capture-portfolio-picker select) option { background:#11192a; color:#eef3f8; }
html.havin-v083-rc5 .select-wrap > svg,
html.havin-v083-rc5 .portfolio-switcher > svg { display:none; }

/* ---- Halo mark + persistent navigation ---- */
html.havin-v083-rc5 .halo-nav-mark-rc5,
html.havin-v083-rc5 .home-halo-icon-rc5,
html.havin-v083-rc5 .mobile-halo-orb-rc5,
html.havin-v083-rc5 .halo-hero-mark-rc5,
html.havin-v083-rc5 .halo-answer-mark-rc5,
html.havin-v083-rc5 .halo-ready-mark-rc5,
html.havin-v083-rc5 .halo-loading-orb-rc5 { --halo-core-cutout:#0D1426; }

html.havin-v083-rc5 .rail-halo-rc5 {
  margin:5px 0;
  border:1px solid rgba(63,167,225,.13);
  background:linear-gradient(105deg,rgba(75,42,114,.14),rgba(30,58,138,.10));
}
html.havin-v083-rc5 .rail-halo-rc5 .halo-nav-mark-rc5 { color:#8dd6f7; background:linear-gradient(145deg,rgba(75,42,114,.36),rgba(63,167,225,.13)); }
html.havin-v083-rc5 .rail-halo-rc5.active { border-color:rgba(63,167,225,.30); background:linear-gradient(105deg,rgba(75,42,114,.26),rgba(30,58,138,.20)); }

html.havin-v083-rc5 .halo-pill-rc5 {
  min-height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(63,167,225,.18);
  border-radius:14px;
  background:linear-gradient(120deg,rgba(75,42,114,.20),rgba(30,58,138,.15));
  color:#eaf6fd;
  font-weight:730;
  cursor:pointer;
}
html.havin-v083-rc5 .halo-pill-rc5 svg { color:#8fd8f8; }
html.havin-v083-rc5 .halo-pill-rc5 small { color:#d8c15c; font-size:.56rem; text-transform:uppercase; letter-spacing:.08em; }
html.havin-v083-rc5 .halo-pill-rc5:hover { border-color:rgba(63,167,225,.34); transform:translateY(-1px); }

html.havin-v083-rc5 .mobile-halo-shortcut-rc5 {
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(63,167,225,.16);
  border-radius:15px;
  background:linear-gradient(120deg,rgba(75,42,114,.15),rgba(30,58,138,.10));
  color:#8fd7f8;
  text-align:left;
}
html.havin-v083-rc5 .mobile-halo-shortcut-rc5 span { display:grid; gap:2px; }
html.havin-v083-rc5 .mobile-halo-shortcut-rc5 strong { color:#eef7fc; font-size:.74rem; }
html.havin-v083-rc5 .mobile-halo-shortcut-rc5 small { color:#8190a5; font-size:.61rem; }

/* refined menu motion */
html.havin-v083-rc5 .menu-glyph-rc5 { width:20px; height:16px; position:relative; display:block; }
html.havin-v083-rc5 .menu-glyph-rc5 i { position:absolute; right:0; width:20px; height:1.8px; border-radius:2px; background:#93a5ba; transform-origin:center; transition:top .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1),width .18s ease,opacity .15s ease; }
html.havin-v083-rc5 .menu-glyph-rc5 i:nth-child(1){ top:1px; }
html.havin-v083-rc5 .menu-glyph-rc5 i:nth-child(2){ top:7px; width:15px; }
html.havin-v083-rc5 .menu-glyph-rc5 i:nth-child(3){ top:13px; width:18px; }
html.havin-v083-rc5 .menu-open-rc5 .menu-glyph-rc5 i:nth-child(1){ top:7px; width:20px; transform:rotate(45deg); }
html.havin-v083-rc5 .menu-open-rc5 .menu-glyph-rc5 i:nth-child(2){ opacity:0; transform:translateX(5px); }
html.havin-v083-rc5 .menu-open-rc5 .menu-glyph-rc5 i:nth-child(3){ top:7px; width:20px; transform:rotate(-45deg); }
html.havin-v083-rc5 .mobile-drawer { animation:rc5DrawerIn .28s cubic-bezier(.22,.8,.22,1) both; }
html.havin-v083-rc5 .mobile-drawer-scrim { animation:rc5ScrimIn .20s ease both; }
@keyframes rc5DrawerIn { from { transform:translateX(34px); opacity:.55; } to { transform:translateX(0); opacity:1; } }
@keyframes rc5ScrimIn { from { opacity:0; } to { opacity:1; } }
html.havin-v083-rc5 .mobile-drawer-halo-rc5 { margin:5px 0; border:1px solid rgba(63,167,225,.12); background:linear-gradient(110deg,rgba(75,42,114,.16),rgba(30,58,138,.09)); color:#a4dcf7; }

/* 5-item dock: Halo occupies the center; Add moves back into context. */
@media (max-width:900px) {
  html.havin-v083-rc5 .mobile-nav-rc5 { grid-template-columns:repeat(5,minmax(0,1fr)); height:72px; padding:5px 7px; gap:2px; }
  html.havin-v083-rc5 .mobile-nav-rc5 .mobile-link { min-width:0; height:60px; padding:0 4px; gap:3px; justify-content:center; font-size:.56rem; }
  html.havin-v083-rc5 .mobile-halo-link-rc5 { overflow:visible; color:#89d4f6; }
  html.havin-v083-rc5 .mobile-halo-orb-rc5 { position:relative; width:45px; height:45px; display:grid; place-items:center; margin-top:-10px; border:1px solid rgba(137,218,255,.34); border-radius:16px; background:radial-gradient(circle at 72% 20%,rgba(255,255,255,.13),transparent 31%),linear-gradient(145deg,#4B2A72 0%,#1E3A8A 47%,#3FA7E1 100%); color:#fff; box-shadow:0 10px 25px rgba(30,58,138,.30),0 0 0 4px rgba(63,167,225,.035); }
  html.havin-v083-rc5 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 { box-shadow:0 11px 28px rgba(63,167,225,.34),0 0 0 4px rgba(63,167,225,.07); }
  html.havin-v083-rc5 .mobile-halo-orb-rc5 i { position:absolute; width:6px; height:6px; right:-2px; top:-2px; border-radius:50%; background:#D4AF37; box-shadow:0 0 0 2px #09101d; }
  html.havin-v083-rc5 .mobile-halo-link-rc5 > span:last-child { color:#88cff0; font-weight:760; }
}

/* ---- Home: Halo reads as capability, not a secondary helper ---- */
html.havin-v083-rc5 .home-halo-rc5 { border-color:rgba(63,167,225,.34); background:radial-gradient(circle at 10% 50%,rgba(75,42,114,.34),transparent 10rem),linear-gradient(115deg,rgba(30,58,138,.23),rgba(63,167,225,.09)); }
html.havin-v083-rc5 .home-halo-icon-rc5 { color:#9be0fb; background:linear-gradient(145deg,rgba(75,42,114,.48),rgba(63,167,225,.16)); }
html.havin-v083-rc5 .home-halo-rc5 strong { font-weight:780; }

/* ---- Halo: dedicated assistant destination ---- */
html.havin-v083-rc5 .halo-page-rc5 { width:min(1120px,100%); margin:0 auto; display:grid; gap:18px; }
html.havin-v083-rc5 .halo-hero-rc5 {
  position:relative;
  overflow:hidden;
  padding:28px 30px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:22px;
  border:1px solid rgba(63,167,225,.14);
  border-radius:30px;
  background:radial-gradient(circle at 87% 22%,rgba(63,167,225,.12),transparent 20rem),radial-gradient(circle at 12% 85%,rgba(75,42,114,.20),transparent 20rem),linear-gradient(145deg,#101a2e,#0a1221);
}
html.havin-v083-rc5 .halo-identity-rc5 { display:flex; gap:16px; align-items:flex-start; min-width:0; }
html.havin-v083-rc5 .halo-hero-mark-rc5 { width:62px; height:62px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(63,167,225,.25); border-radius:21px; color:#9bddfa; background:linear-gradient(145deg,rgba(75,42,114,.45),rgba(30,58,138,.32)); box-shadow:0 16px 38px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08); }
html.havin-v083-rc5 .halo-identity-rc5 h1 { max-width:760px; margin:4px 0 8px; color:#f5f8fb; font-size:clamp(2rem,4vw,3.55rem); line-height:.98; letter-spacing:-.055em; font-weight:770; }
html.havin-v083-rc5 .halo-identity-rc5 p { max-width:760px; margin:0; color:#8e9db1; font-size:.85rem; line-height:1.55; }
html.havin-v083-rc5 .halo-focus-chip-rc5 { max-width:270px; padding:10px 12px; display:grid; gap:2px; border:1px solid var(--rc5-line); border-radius:14px; background:rgba(255,255,255,.03); text-decoration:none; }
html.havin-v083-rc5 .halo-focus-chip-rc5 span { color:#718198; font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; font-weight:760; }
html.havin-v083-rc5 .halo-focus-chip-rc5 strong { color:#dce7f0; font-size:.72rem; line-height:1.3; }

html.havin-v083-rc5 .halo-loading-rc5 { min-height:260px; display:grid; place-items:center; align-content:center; gap:10px; color:#8292a7; }
html.havin-v083-rc5 .halo-loading-orb-rc5 { width:54px; height:54px; display:grid; place-items:center; border-radius:19px; color:#91d8f8; background:linear-gradient(145deg,rgba(75,42,114,.30),rgba(63,167,225,.10)); }

html.havin-v083-rc5 .halo-free-rc5 { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:16px; }
html.havin-v083-rc5 .halo-free-copy-rc5,
html.havin-v083-rc5 .halo-preview-rc5 { padding:24px; border:1px solid var(--rc5-line); border-radius:25px; background:rgba(10,17,31,.62); }
html.havin-v083-rc5 .halo-free-copy-rc5 h2 { margin:6px 0 9px; font-size:clamp(1.55rem,2.7vw,2.3rem); line-height:1.05; letter-spacing:-.04em; }
html.havin-v083-rc5 .halo-free-copy-rc5 p { margin:0; max-width:680px; color:#8c9baf; line-height:1.55; }
html.havin-v083-rc5 .halo-free-actions-rc5 { margin-top:20px; display:flex; flex-wrap:wrap; gap:9px; }
html.havin-v083-rc5 .halo-preview-rc5 { display:grid; align-content:start; gap:8px; background:linear-gradient(145deg,rgba(75,42,114,.09),rgba(30,58,138,.06)); }
html.havin-v083-rc5 .halo-preview-heading-rc5 { display:flex; gap:10px; align-items:center; margin-bottom:5px; color:#8fd8f8; }
html.havin-v083-rc5 .halo-preview-heading-rc5 span { display:grid; gap:2px; }
html.havin-v083-rc5 .halo-preview-heading-rc5 strong { color:#eef5fa; font-size:.78rem; }
html.havin-v083-rc5 .halo-preview-heading-rc5 small { color:#78889f; font-size:.62rem; }
html.havin-v083-rc5 .halo-preview-rc5 > button { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:11px 12px; border:1px solid rgba(255,255,255,.065); border-radius:14px; background:rgba(255,255,255,.025); color:#b9c5d4; text-align:left; font-size:.72rem; cursor:pointer; }
html.havin-v083-rc5 .halo-preview-rc5 > button:hover { border-color:rgba(63,167,225,.20); color:#e7f2f8; background:rgba(63,167,225,.045); }
html.havin-v083-rc5 .halo-preview-note-rc5 { display:flex; gap:7px; align-items:center; margin-top:5px; color:#728198; font-size:.59rem; }

html.havin-v083-rc5 .halo-workspace-rc5 { display:grid; gap:12px; }
html.havin-v083-rc5 .halo-prompt-row-rc5 { display:flex; gap:7px; overflow-x:auto; padding:1px 1px 5px; scrollbar-width:none; }
html.havin-v083-rc5 .halo-prompt-row-rc5::-webkit-scrollbar { display:none; }
html.havin-v083-rc5 .halo-prompt-row-rc5 button { flex:0 0 auto; max-width:330px; padding:8px 11px; border:1px solid rgba(255,255,255,.07); border-radius:999px; background:rgba(255,255,255,.025); color:#93a2b6; font-size:.64rem; cursor:pointer; }
html.havin-v083-rc5 .halo-prompt-row-rc5 button:hover { color:#dceaf3; border-color:rgba(63,167,225,.20); background:rgba(63,167,225,.05); }
html.havin-v083-rc5 .halo-ready-rc5 { min-height:235px; padding:24px; display:flex; justify-content:center; align-items:center; gap:14px; border:1px solid rgba(255,255,255,.055); border-radius:25px; background:radial-gradient(circle at 50% 20%,rgba(63,167,225,.055),transparent 17rem),rgba(7,13,24,.38); text-align:left; }
html.havin-v083-rc5 .halo-ready-mark-rc5 { width:56px; height:56px; flex:0 0 auto; display:grid; place-items:center; border-radius:19px; color:#8fd8f8; background:linear-gradient(145deg,rgba(75,42,114,.30),rgba(63,167,225,.10)); }
html.havin-v083-rc5 .halo-ready-rc5 strong { color:#eaf2f8; font-size:1rem; }
html.havin-v083-rc5 .halo-ready-rc5 p { max-width:520px; margin:4px 0 0; color:#7d8ca1; font-size:.72rem; line-height:1.5; }
html.havin-v083-rc5 .halo-conversation-rc5 { display:grid; gap:10px; }
html.havin-v083-rc5 .halo-user-message-rc5 { justify-self:end; max-width:min(720px,88%); padding:11px 14px; border-radius:17px 17px 5px 17px; background:rgba(63,167,225,.12); border:1px solid rgba(63,167,225,.15); }
html.havin-v083-rc5 .halo-user-message-rc5 span { color:#7abfe2; font-size:.55rem; font-weight:760; text-transform:uppercase; letter-spacing:.08em; }
html.havin-v083-rc5 .halo-user-message-rc5 p { margin:3px 0 0; color:#e8f1f7; font-size:.78rem; line-height:1.5; }
html.havin-v083-rc5 .halo-answer-rc5 { padding:19px 20px; border:1px solid var(--rc5-line); border-radius:22px; background:rgba(10,17,31,.67); }
html.havin-v083-rc5 .halo-answer-heading-rc5 { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:#8fd8f8; }
html.havin-v083-rc5 .halo-answer-heading-rc5 strong { color:#eaf5fb; font-size:.77rem; }
html.havin-v083-rc5 .halo-answer-content-rc5 { color:#c6d2df; font-size:.80rem; line-height:1.62; white-space:pre-wrap; }
html.havin-v083-rc5 .halo-sources-rc5 { margin-top:14px; border-top:1px solid var(--rc5-line-soft); padding-top:10px; }
html.havin-v083-rc5 .halo-sources-rc5 summary { width:max-content; color:#7f91a7; font-size:.63rem; cursor:pointer; }
html.havin-v083-rc5 .halo-sources-rc5 ul { margin:9px 0 0; padding:0; display:grid; gap:6px; list-style:none; }
html.havin-v083-rc5 .halo-sources-rc5 li { display:flex; justify-content:space-between; gap:12px; color:#9eacbd; font-size:.64rem; }
html.havin-v083-rc5 .halo-sources-rc5 li a { color:#88ccec; }
html.havin-v083-rc5 .halo-sources-rc5 li span { color:#66778e; }
html.havin-v083-rc5 .halo-composer-rc5 { position:sticky; bottom:92px; z-index:4; padding:10px; border:1px solid rgba(63,167,225,.15); border-radius:22px; background:rgba(8,14,25,.88); backdrop-filter:blur(24px) saturate(135%); box-shadow:0 18px 45px rgba(0,0,0,.22); }
html.havin-v083-rc5 .halo-composer-rc5 textarea { width:100%; resize:vertical; min-height:82px; max-height:220px; padding:10px 11px; border:0; outline:0; background:transparent; color:#edf4f8; font:inherit; line-height:1.5; }
html.havin-v083-rc5 .halo-composer-rc5 textarea::placeholder { color:#607188; }
html.havin-v083-rc5 .halo-composer-actions-rc5 { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:3px 3px 1px; }
html.havin-v083-rc5 .halo-composer-actions-rc5 small { display:flex; align-items:center; gap:5px; color:#65758b; font-size:.58rem; }
html.havin-v083-rc5 .halo-send-rc5 { min-height:39px; padding:0 14px; display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(134,218,255,.32); border-radius:13px; background:linear-gradient(145deg,#2a69b5,#3FA7E1); color:white; font-weight:760; cursor:pointer; }
html.havin-v083-rc5 .halo-send-rc5:disabled { opacity:.42; cursor:not-allowed; }
html.havin-v083-rc5 .halo-disclaimer-rc5 { margin:0; padding:0 4px; color:#5f6e83; font-size:.58rem; line-height:1.5; }

/* ---- Watch: compact cards, same information ---- */
html.havin-v083-rc5 .watch-tabs-rc3,
html.havin-v083-rc5 .records-tabs-rc2-v083 {
  width:100%;
  max-width:none;
  padding:4px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
html.havin-v083-rc5 .watch-tabs-rc3 button,
html.havin-v083-rc5 .records-tabs-rc2-v083 button {
  min-height:42px;
  padding:0 8px;
  justify-content:center;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#77869b;
  font-size:.64rem;
}
html.havin-v083-rc5 .watch-tabs-rc3 button.active,
html.havin-v083-rc5 .records-tabs-rc2-v083 button.active {
  background:linear-gradient(125deg,rgba(75,42,114,.24),rgba(30,58,138,.20));
  color:#a9def6;
  box-shadow:inset 0 0 0 1px rgba(63,167,225,.16),0 6px 18px rgba(0,0,0,.10);
}
html.havin-v083-rc5 .watch-tabs-rc3 button small,
html.havin-v083-rc5 .records-tabs-rc2-v083 button small { min-width:18px; height:18px; padding:0 5px; }

html.havin-v083-rc5 .watch-asset-group-rc2-v083 { border-radius:20px; }
html.havin-v083-rc5 .watch-asset-header-rc5 { min-height:70px; padding:9px 12px; gap:10px; background:rgba(255,255,255,.012); }
html.havin-v083-rc5 .watch-asset-visual-rc2-v083 { width:48px; height:48px; border-radius:14px; }
html.havin-v083-rc5 .watch-asset-identity-rc2-v083 span { margin-bottom:1px; font-size:.55rem; }
html.havin-v083-rc5 .watch-asset-identity-rc2-v083 h2 { font-size:.94rem; line-height:1.08; }
html.havin-v083-rc5 .watch-asset-identity-rc2-v083 p { margin-top:2px; font-size:.60rem; }
html.havin-v083-rc5 .watch-group-count-rc2-v083 { min-width:24px; height:24px; padding:0 6px; display:grid; place-items:center; border-radius:999px; font-size:.54rem; }
html.havin-v083-rc5 .watch-view-asset { font-size:.60rem; }
html.havin-v083-rc5 .watch-item-row-rc2-v083 { gap:11px; padding:11px 13px; }
html.havin-v083-rc5 .watch-item-copy-rc2-v083 h3 { margin:3px 0 3px; font-size:.83rem; line-height:1.25; }
html.havin-v083-rc5 .watch-item-copy-rc2-v083 > p { margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#7f8da1; font-size:.64rem; line-height:1.45; }
html.havin-v083-rc5 .watch-next-rc2-v083 { margin-top:6px; font-size:.61rem; }
html.havin-v083-rc5 .watch-item-actions-rc2-v083 .button-small,
html.havin-v083-rc5 .watch-dismiss-rc4 { min-height:32px; }
html.havin-v083-rc5 .watch-snooze-rc4 { width:32px; height:32px; }

/* ---- Vault: simpler records, security state that explains itself ---- */
html.havin-v083-rc5 .record-card-rc2-v083 { grid-template-columns:50px minmax(0,1fr) auto; gap:12px; padding:12px 13px; border-radius:19px; }
html.havin-v083-rc5 .record-file-icon-rc2-v083 { width:50px; min-height:50px; border-radius:15px; }
html.havin-v083-rc5 .record-body-rc2-v083 h2 { margin:3px 0 4px; font-size:.90rem; line-height:1.18; }
html.havin-v083-rc5 .record-kicker-rc2-v083 { gap:7px; }
html.havin-v083-rc5 .record-context-rc5 { gap:7px; color:#74849a; font-size:.61rem; }
html.havin-v083-rc5 .record-context-rc5 span + span::before { content:'·'; margin-right:7px; color:#48576c; }
html.havin-v083-rc5 .record-details-rc2-v083 { margin-top:6px; }
html.havin-v083-rc5 .record-details-rc2-v083 summary { font-size:.60rem; }
html.havin-v083-rc5 .record-actions-rc2-v083 { gap:6px; align-self:center; }
html.havin-v083-rc5 .record-actions-rc2-v083 .button-small { min-height:32px; padding:0 10px; }
html.havin-v083-rc5 .record-security-hold-rc5 { margin-top:7px; }
html.havin-v083-rc5 .record-security-hold-rc5 summary { width:max-content; display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid rgba(212,175,55,.12); border-radius:999px; background:rgba(212,175,55,.045); color:#c8b55d; font-size:.58rem; font-weight:720; cursor:pointer; list-style:none; }
html.havin-v083-rc5 .record-security-hold-rc5 summary::-webkit-details-marker { display:none; }
html.havin-v083-rc5 .record-security-hold-rc5 summary svg:last-child { transition:transform .16s ease; }
html.havin-v083-rc5 .record-security-hold-rc5[open] summary svg:last-child { transform:rotate(180deg); }
html.havin-v083-rc5 .record-security-hold-rc5 p { max-width:620px; margin:6px 0 0; padding:0 2px; color:#877d5a; font-size:.59rem; line-height:1.45; }
html.havin-v083-rc5 .records-filters-rc5 { padding:10px; grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto; gap:8px; border:1px solid rgba(255,255,255,.06); border-radius:16px; background:rgba(255,255,255,.018); }
html.havin-v083-rc5 .records-filters-rc5 .text-button { align-self:center; }

/* paid-value hints use Halo's icon, but remain deliberately quiet */
html.havin-v083-rc5 .halo-upgrade-hint-rc5 > svg:first-child { color:#8ed8f8; }

@media (max-width:680px) {
  html.havin-v083-rc5 .halo-page-rc5 { gap:12px; }
  html.havin-v083-rc5 .halo-hero-rc5 { padding:18px 16px; border-radius:23px; display:block; }
  html.havin-v083-rc5 .halo-identity-rc5 { gap:11px; }
  html.havin-v083-rc5 .halo-hero-mark-rc5 { width:48px; height:48px; border-radius:17px; }
  html.havin-v083-rc5 .halo-hero-mark-rc5 svg { width:28px; height:28px; }
  html.havin-v083-rc5 .halo-identity-rc5 h1 { font-size:1.85rem; }
  html.havin-v083-rc5 .halo-identity-rc5 p { font-size:.69rem; line-height:1.45; }
  html.havin-v083-rc5 .halo-focus-chip-rc5 { max-width:none; margin-top:12px; }
  html.havin-v083-rc5 .halo-free-rc5 { grid-template-columns:1fr; }
  html.havin-v083-rc5 .halo-free-copy-rc5,
  html.havin-v083-rc5 .halo-preview-rc5 { padding:17px; border-radius:21px; }
  html.havin-v083-rc5 .halo-free-copy-rc5 h2 { font-size:1.55rem; }
  html.havin-v083-rc5 .halo-ready-rc5 { min-height:190px; padding:17px; }
  html.havin-v083-rc5 .halo-composer-rc5 { bottom:88px; border-radius:19px; }
  html.havin-v083-rc5 .halo-composer-actions-rc5 small { max-width:150px; line-height:1.25; }
  html.havin-v083-rc5 .halo-user-message-rc5 { max-width:92%; }

  html.havin-v083-rc5 .watch-tabs-rc3 button,
  html.havin-v083-rc5 .records-tabs-rc2-v083 button { min-height:44px; padding:0 3px; flex-direction:column; gap:2px; font-size:.55rem; }
  html.havin-v083-rc5 .watch-tabs-rc3 button small,
  html.havin-v083-rc5 .records-tabs-rc2-v083 button small { position:absolute; transform:translate(16px,-11px); }
  html.havin-v083-rc5 .watch-asset-header-rc5 { grid-template-columns:44px minmax(0,1fr) auto; min-height:62px; padding:8px 10px; }
  html.havin-v083-rc5 .watch-asset-visual-rc2-v083 { width:44px; height:44px; border-radius:13px; }
  html.havin-v083-rc5 .watch-view-asset { display:none; }
  html.havin-v083-rc5 .watch-item-row-rc2-v083 { padding:10px 11px; }
  html.havin-v083-rc5 .watch-item-actions-rc2-v083 { margin-top:7px; }

  html.havin-v083-rc5 .record-card-rc2-v083 { grid-template-columns:42px minmax(0,1fr); gap:10px; padding:11px; border-radius:18px; }
  html.havin-v083-rc5 .record-file-icon-rc2-v083 { width:42px; min-height:42px; border-radius:13px; }
  html.havin-v083-rc5 .record-body-rc2-v083 h2 { font-size:.82rem; }
  html.havin-v083-rc5 .record-actions-rc2-v083 { grid-column:2; flex-wrap:wrap; }
  html.havin-v083-rc5 .records-filters-rc5 { grid-template-columns:1fr; padding:8px; }
}

@media (prefers-reduced-motion:reduce) {
  html.havin-v083-rc5 .mobile-drawer,
  html.havin-v083-rc5 .mobile-drawer-scrim { animation:none !important; }
  html.havin-v083-rc5 .menu-glyph-rc5 i { transition:none !important; }
}

/* Future light mode remains token-led and component-safe. */
html[data-havin-theme="light"].havin-v083-rc5 {
  --rc5-text:#101827;
  --rc5-muted:#5c6a7d;
  --rc5-line:rgba(13,20,38,.10);
  --rc5-line-soft:rgba(13,20,38,.065);
  --rc5-surface:rgba(13,20,38,.028);
  --rc5-surface-lift:rgba(13,20,38,.045);
}

/* ---- Cross-app polish audit: forms, modals, menus and quiet controls ---- */
html.havin-v083-rc5 :where(.field input,.field textarea,.hint-field input,.record-match-select input) {
  min-height:42px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:#10182a;
  color:#e9eff6;
  font:inherit;
  font-weight:500;
}
html.havin-v083-rc5 :where(.field input,.field textarea,.hint-field input,.record-match-select input)::placeholder { color:#63738a; }
html.havin-v083-rc5 :where(.field input,.field textarea,.field select,.hint-field input,.record-match-select input):hover:not(:disabled) { border-color:rgba(63,167,225,.22); }
html.havin-v083-rc5 :where(.field input,.field textarea,.field select,.hint-field input,.record-match-select input):disabled { opacity:.58; cursor:not-allowed; background:#0c1423; }
html.havin-v083-rc5 .field > span { color:#9ba9bb; font-size:.69rem; font-weight:700; letter-spacing:.01em; }
html.havin-v083-rc5 .field > span em { margin-left:4px; color:#61728a; font-size:.58rem; font-style:normal; font-weight:600; text-transform:uppercase; letter-spacing:.055em; }
html.havin-v083-rc5 .field small { color:#687991; font-size:.61rem; font-weight:500; line-height:1.45; }

html.havin-v083-rc5 .modal-backdrop { background:rgba(2,7,14,.67); backdrop-filter:blur(9px) saturate(110%); }
html.havin-v083-rc5 .modal {
  border:1px solid rgba(255,255,255,.085);
  border-radius:24px;
  background:linear-gradient(155deg,#10192a,#0b1322);
  color:var(--rc5-text);
  box-shadow:0 32px 100px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.025);
}
html.havin-v083-rc5 .modal-header { padding:18px 20px 14px; border-bottom:1px solid rgba(255,255,255,.07); background:rgba(11,19,34,.90); }
html.havin-v083-rc5 .modal-header h2 { margin-top:3px; color:#eef4f9; font-size:1.08rem; letter-spacing:-.025em; font-weight:760; }
html.havin-v083-rc5 .modal-content { padding:18px 20px 20px; }
html.havin-v083-rc5 .modal-note { border:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.025); color:#7f8ea3; }
html.havin-v083-rc5 .modal-actions { gap:8px; }

html.havin-v083-rc5 .icon-button { border-color:rgba(255,255,255,.075); background:rgba(255,255,255,.025); color:#8fa0b6; }
html.havin-v083-rc5 .icon-button:hover:not(:disabled) { border-color:rgba(63,167,225,.20); background:rgba(63,167,225,.055); color:#c8eafa; }
html.havin-v083-rc5 :where(.text-button,.text-link) { color:#82cbed; }
html.havin-v083-rc5 :where(.text-button,.text-link):hover { color:#afe4fa; }

html.havin-v083-rc5 .mobile-drawer { border-left:1px solid rgba(255,255,255,.07); background:linear-gradient(160deg,#0e1728,#09111f 70%); box-shadow:-22px 0 70px rgba(0,0,0,.34); }
html.havin-v083-rc5 .mobile-drawer-link { border-radius:14px; }
html.havin-v083-rc5 .mobile-drawer-link.active { background:linear-gradient(110deg,rgba(75,42,114,.24),rgba(30,58,138,.20)); }

@media (max-width:680px) {
  html.havin-v083-rc5 .modal-backdrop { padding:8px; align-items:end; }
  html.havin-v083-rc5 .modal { width:100%; max-height:calc(100dvh - 16px); border-radius:24px 24px 16px 16px; }
  html.havin-v083-rc5 .modal-header { padding:16px 16px 13px; }
  html.havin-v083-rc5 .modal-content { padding:16px; }
}

/* High-frequency exploratory filters use a Hāvin-native menu rather than a desktop OS dropdown. */
html.havin-v083-rc5 .choice-menu-rc5 { position:relative; min-width:0; }
html.havin-v083-rc5 .choice-menu-trigger-rc5 {
  width:100%; min-height:42px; padding:0 12px; display:flex; justify-content:space-between; align-items:center; gap:10px;
  border:1px solid rgba(255,255,255,.085); border-radius:13px; background:#10182a; color:#e5edf4; text-align:left; cursor:pointer;
}
html.havin-v083-rc5 .choice-menu-trigger-rc5 > span { min-width:0; display:grid; gap:1px; }
html.havin-v083-rc5 .choice-menu-trigger-rc5 strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.69rem; font-weight:690; }
html.havin-v083-rc5 .choice-menu-trigger-rc5 small { color:#6f8097; font-size:.56rem; }
html.havin-v083-rc5 .choice-menu-trigger-rc5 > svg { flex:0 0 auto; color:#7e8da2; transition:transform .16s ease; }
html.havin-v083-rc5 .choice-menu-rc5.open .choice-menu-trigger-rc5 { border-color:rgba(63,167,225,.28); background:#121d30; box-shadow:var(--rc5-focus); }
html.havin-v083-rc5 .choice-menu-rc5.open .choice-menu-trigger-rc5 > svg { transform:rotate(180deg); }
html.havin-v083-rc5 .choice-menu-popover-rc5 {
  position:absolute; z-index:30; top:calc(100% + 6px); left:0; width:max(100%,220px); max-height:292px; overflow:auto; padding:5px;
  border:1px solid rgba(255,255,255,.10); border-radius:15px; background:#0c1423; box-shadow:0 20px 52px rgba(0,0,0,.46);
}
html.havin-v083-rc5 .choice-menu-popover-rc5 > button {
  width:100%; min-height:38px; padding:7px 9px; display:flex; justify-content:space-between; align-items:center; gap:10px;
  border:0; border-radius:10px; background:transparent; color:#a7b4c5; text-align:left; cursor:pointer;
}
html.havin-v083-rc5 .choice-menu-popover-rc5 > button:hover { background:rgba(63,167,225,.065); color:#e9f5fb; }
html.havin-v083-rc5 .choice-menu-popover-rc5 > button.selected { background:linear-gradient(110deg,rgba(75,42,114,.24),rgba(30,58,138,.18)); color:#dff3fc; }
html.havin-v083-rc5 .choice-menu-popover-rc5 button > span { min-width:0; display:grid; gap:1px; }
html.havin-v083-rc5 .choice-menu-popover-rc5 strong { font-size:.67rem; font-weight:680; }
html.havin-v083-rc5 .choice-menu-popover-rc5 small { color:#6f8199; font-size:.55rem; }
html.havin-v083-rc5 .choice-menu-popover-rc5 svg { flex:0 0 auto; color:#8fd8f8; }

/* One UI type system across legacy/foundation/current surfaces. Platform-native sans keeps the app fast and familiar. */
html.havin-v083-rc5 body,
html.havin-v083-rc5 button,
html.havin-v083-rc5 input,
html.havin-v083-rc5 textarea,
html.havin-v083-rc5 select {
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html.havin-v083-rc5 :where(h1,h2,h3,strong) { text-rendering:optimizeLegibility; }
/* Hāvin v0.8.3 RC6 — portfolio organization + Halo mark refinement.
   Primary portfolios make downgrades predictable; Manage stays contextual and calm. */

html.havin-v083-rc6 {
  --rc6-navy:#0D1426;
  --rc6-purple:#4B2A72;
  --rc6-blue:#1E3A8A;
  --rc6-sky:#3FA7E1;
  --rc6-gold:#D4AF37;
  --rc6-line:rgba(255,255,255,.085);
  --rc6-line-soft:rgba(255,255,255,.052);
}

/* ---------- Halo: let the mark, not a giant tile, carry the emphasis ---------- */
html.havin-v083-rc6 .halo-nav-mark-rc5,
html.havin-v083-rc6 .home-halo-icon-rc5,
html.havin-v083-rc6 .mobile-halo-orb-rc5,
html.havin-v083-rc6 .halo-hero-mark-rc5,
html.havin-v083-rc6 .halo-answer-mark-rc5,
html.havin-v083-rc6 .halo-ready-mark-rc5,
html.havin-v083-rc6 .halo-loading-orb-rc5,
html.havin-v083-rc6 .halo-pill-rc5,
html.havin-v083-rc6 .mobile-halo-shortcut-rc5 {
  --halo-sky:#3FA7E1;
  --halo-blue:#1E3A8A;
  --halo-purple:#4B2A72;
  --halo-gold:#D4AF37;
}

@media (max-width:900px) {
  html.havin-v083-rc6 .mobile-halo-orb-rc5 {
    width:47px;
    height:47px;
    margin-top:-11px;
    border:1px solid rgba(63,167,225,.28);
    border-radius:17px;
    background:
      radial-gradient(circle at 50% 48%,rgba(63,167,225,.12),transparent 58%),
      linear-gradient(155deg,rgba(75,42,114,.38),rgba(30,58,138,.34) 52%,rgba(13,20,38,.88));
    box-shadow:0 11px 27px rgba(30,58,138,.24),0 0 20px rgba(63,167,225,.07),inset 0 1px 0 rgba(255,255,255,.08);
  }
  html.havin-v083-rc6 .mobile-halo-orb-rc5 svg { width:31px; height:31px; filter:drop-shadow(0 2px 5px rgba(63,167,225,.14)); }
  html.havin-v083-rc6 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 {
    border-color:rgba(92,191,238,.42);
    box-shadow:0 12px 30px rgba(30,58,138,.29),0 0 25px rgba(63,167,225,.11),inset 0 1px 0 rgba(255,255,255,.10);
  }
  /* RC5 used a gold notification dot on the orb. Halo now owns a deliberate gold bar in the mark. */
  html.havin-v083-rc6 .mobile-halo-orb-rc5 > i { display:none; }
}

html.havin-v083-rc6 .halo-nav-mark-rc5 { color:inherit; }
html.havin-v083-rc6 .halo-nav-mark-rc5 svg,
html.havin-v083-rc6 .halo-pill-rc5 svg,
html.havin-v083-rc6 .mobile-halo-shortcut-rc5 > svg { filter:drop-shadow(0 2px 5px rgba(63,167,225,.12)); }
html.havin-v083-rc6 .halo-hero-mark-rc5 {
  border-color:rgba(63,167,225,.18);
  background:radial-gradient(circle at 50% 48%,rgba(63,167,225,.10),transparent 65%),linear-gradient(145deg,rgba(75,42,114,.24),rgba(30,58,138,.15));
}

/* ---------- Assets: explicit Manage, without turning the page into admin software ---------- */
html.havin-v083-rc6 .assets-page-rc6 { gap:14px; }
html.havin-v083-rc6 .assets-add-compact-rc6 {
  min-height:39px;
  padding:0 13px;
  border-color:rgba(63,167,225,.18);
  background:rgba(63,167,225,.075);
  color:#b9e5f9;
}
html.havin-v083-rc6 .assets-add-compact-rc6:hover { background:rgba(63,167,225,.12); border-color:rgba(63,167,225,.30); }

html.havin-v083-rc6 .assets-command-rc6 {
  grid-template-columns:minmax(280px,1fr) minmax(230px,310px) auto auto;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
html.havin-v083-rc6 .assets-command-rc6 .assets-search-v081,
html.havin-v083-rc6 .assets-command-rc6 .choice-menu-trigger-rc5,
html.havin-v083-rc6 .assets-command-rc6 > .button { min-height:44px; }
html.havin-v083-rc6 .assets-manage-trigger-rc6 { min-width:102px; justify-content:center; }
html.havin-v083-rc6 .assets-manage-trigger-rc6.active {
  border-color:rgba(63,167,225,.35);
  background:linear-gradient(125deg,rgba(75,42,114,.17),rgba(30,58,138,.13));
  color:#dff4fd;
}
html.havin-v083-rc6 .assets-portfolio-choice-rc6 .choice-menu-trigger-rc5 { border-radius:13px; }
html.havin-v083-rc6 .assets-portfolio-choice-rc6 .choice-menu-trigger-rc5 > span { min-width:0; }
html.havin-v083-rc6 .assets-portfolio-choice-rc6 .choice-menu-trigger-rc5 strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html.havin-v083-rc6 .assets-portfolio-choice-rc6 .choice-menu-trigger-rc5 small { color:#75869b; }

/* Free-account recovery is a path forward, not a warning billboard. */
html.havin-v083-rc6 .assets-recovery-rc6 {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:11px 13px;
  border-color:rgba(212,175,55,.19);
  border-radius:16px;
  background:linear-gradient(105deg,rgba(212,175,55,.055),rgba(75,42,114,.04));
}
html.havin-v083-rc6 .assets-recovery-rc6 > div:nth-child(2) { min-width:0; }
html.havin-v083-rc6 .assets-recovery-rc6 strong { color:#ecd98f; font-size:.75rem; }
html.havin-v083-rc6 .assets-recovery-rc6 span { color:#8795a8; font-size:.66rem; line-height:1.42; }
html.havin-v083-rc6 .assets-recovery-actions-rc6 { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
html.havin-v083-rc6 .assets-recovery-actions-rc6 :where(button,a) { min-height:30px; font-size:.64rem; font-weight:760; white-space:nowrap; }
html.havin-v083-rc6 .assets-recovery-actions-rc6 a { color:#87d3f5; }

/* Management mode lives where the command was invoked. */
html.havin-v083-rc6 .asset-manage-toolbar-rc6 {
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border:1px solid rgba(75,42,114,.30);
  border-radius:17px;
  background:linear-gradient(120deg,rgba(75,42,114,.095),rgba(30,58,138,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
html.havin-v083-rc6 .asset-manage-summary-rc6 { min-width:0; }
html.havin-v083-rc6 .asset-manage-summary-rc6 strong,
html.havin-v083-rc6 .asset-manage-summary-rc6 span { display:block; }
html.havin-v083-rc6 .asset-manage-summary-rc6 strong { color:#edf3f8; font-size:.75rem; }
html.havin-v083-rc6 .asset-manage-summary-rc6 span { margin-top:2px; color:#77879c; font-size:.61rem; line-height:1.35; }
html.havin-v083-rc6 .asset-manage-actions-rc6 { display:flex; gap:6px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
html.havin-v083-rc6 .asset-manage-actions-rc6 .button-small { min-height:36px; padding:0 10px; border-radius:11px; font-size:.65rem; }

html.havin-v083-rc6 .assets-view-segment-rc6 {
  display:grid;
  grid-template-columns:repeat(3,minmax(68px,1fr));
  gap:3px;
  padding:3px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}
html.havin-v083-rc6 .assets-view-segment-rc6 button {
  min-width:0;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 8px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#7e8da2;
  font:inherit;
  font-size:.60rem;
  font-weight:720;
  cursor:pointer;
}
html.havin-v083-rc6 .assets-view-segment-rc6 button svg { width:16px; height:16px; flex:0 0 16px; }
html.havin-v083-rc6 .assets-view-segment-rc6 button.active { background:rgba(63,167,225,.10); color:#9bdcf8; box-shadow:inset 0 0 0 1px rgba(63,167,225,.15); }

html.havin-v083-rc6 .asset-card-v081.manage-mode-rc6,
html.havin-v083-rc6 .asset-list-row.manage-mode-rc6,
html.havin-v083-rc6 .asset-table-row.manage-mode-rc6 { cursor:pointer; }
html.havin-v083-rc6 .asset-card-v081.manage-mode-rc6 > a,
html.havin-v083-rc6 .asset-list-row.manage-mode-rc6 > a,
html.havin-v083-rc6 .asset-table-row.manage-mode-rc6 > a { cursor:pointer; }
html.havin-v083-rc6 .asset-card-v081.selected-rc6,
html.havin-v083-rc6 .asset-list-row.selected-rc6,
html.havin-v083-rc6 .asset-table-row.selected-rc6 {
  border-color:rgba(63,167,225,.44) !important;
  box-shadow:0 0 0 2px rgba(63,167,225,.08),0 12px 30px rgba(0,0,0,.18);
}
html.havin-v083-rc6 .asset-select {
  border-color:rgba(143,160,183,.32);
  background:#111b2d;
  color:transparent;
}
html.havin-v083-rc6 .asset-select.active { border-color:#3FA7E1; background:linear-gradient(145deg,#1E3A8A,#3FA7E1); color:#fff; }

/* Move / portfolio manager sheets */
html.havin-v083-rc6 .move-assets-modal-rc6,
html.havin-v083-rc6 .portfolio-manager-rc6 { display:grid; gap:14px; }
html.havin-v083-rc6 .move-assets-modal-rc6 > p,
html.havin-v083-rc6 .portfolio-manager-intro-rc6 { margin:0; color:#8291a5; font-size:.70rem; line-height:1.5; }
html.havin-v083-rc6 .move-destination-list-rc6,
html.havin-v083-rc6 .portfolio-manager-list-rc6 { display:grid; gap:7px; }
html.havin-v083-rc6 .move-destination-list-rc6 label,
html.havin-v083-rc6 .portfolio-manager-list-rc6 article {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:58px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
html.havin-v083-rc6 .move-destination-list-rc6 label { cursor:pointer; }
html.havin-v083-rc6 .move-destination-list-rc6 label.active,
html.havin-v083-rc6 .portfolio-manager-list-rc6 article.primary { border-color:rgba(63,167,225,.24); background:linear-gradient(115deg,rgba(30,58,138,.11),rgba(75,42,114,.07)); }
html.havin-v083-rc6 .move-destination-list-rc6 input { position:absolute; opacity:0; pointer-events:none; }
html.havin-v083-rc6 .portfolio-radio-icon-rc6,
html.havin-v083-rc6 .portfolio-primary-symbol-rc6 {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(63,167,225,.07);
  color:#87d2f5;
}
html.havin-v083-rc6 .move-destination-list-rc6 label:has(input:checked) .portfolio-radio-icon-rc6 { background:rgba(63,167,225,.14); color:#a7e1fa; }
html.havin-v083-rc6 .move-destination-list-rc6 label:has(input:checked) .portfolio-radio-icon-rc6 svg,
html.havin-v083-rc6 .portfolio-manager-list-rc6 article.primary .portfolio-primary-symbol-rc6 svg { color:#D4AF37; fill:rgba(212,175,55,.11); }
html.havin-v083-rc6 .move-destination-list-rc6 strong,
html.havin-v083-rc6 .portfolio-manager-list-rc6 strong { display:block; color:#eaf0f6; font-size:.73rem; }
html.havin-v083-rc6 .move-destination-list-rc6 small,
html.havin-v083-rc6 .portfolio-manager-list-rc6 small { display:block; margin-top:2px; color:#728298; font-size:.60rem; }
html.havin-v083-rc6 .portfolio-row-actions-rc6 { display:flex; gap:7px; align-items:center; }
html.havin-v083-rc6 .portfolio-row-actions-rc6 .text-button { font-size:.61rem; }
html.havin-v083-rc6 .primary-badge-rc6 {
  padding:4px 7px;
  border:1px solid rgba(212,175,55,.16);
  border-radius:999px;
  background:rgba(212,175,55,.055);
  color:#d8c16d;
  font-size:.54rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
html.havin-v083-rc6 .portfolio-manager-footer-rc6,
html.havin-v083-rc6 .modal-actions-rc6 { display:flex; justify-content:flex-end; align-items:center; gap:9px; flex-wrap:wrap; }
html.havin-v083-rc6 .portfolio-manager-footer-rc6 a { color:#84cff2; font-size:.62rem; font-weight:730; }

html.havin-v083-rc6 .portfolio-primary-card-rc6 {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin:12px 0;
  padding:11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
html.havin-v083-rc6 .portfolio-primary-card-rc6 > svg { color:#8394aa; }
html.havin-v083-rc6 .portfolio-primary-card-rc6.active { border-color:rgba(212,175,55,.18); background:rgba(212,175,55,.045); }
html.havin-v083-rc6 .portfolio-primary-card-rc6.active > svg { color:#D4AF37; fill:rgba(212,175,55,.10); }
html.havin-v083-rc6 .portfolio-primary-card-rc6 strong,
html.havin-v083-rc6 .portfolio-primary-card-rc6 span { display:block; }
html.havin-v083-rc6 .portfolio-primary-card-rc6 strong { color:#e8eef5; font-size:.72rem; }
html.havin-v083-rc6 .portfolio-primary-card-rc6 span { margin-top:2px; color:#78889d; font-size:.61rem; line-height:1.4; }

@media (max-width:900px) {
  html.havin-v083-rc6 .assets-command-rc6 { grid-template-columns:minmax(0,1fr) auto auto; }
  html.havin-v083-rc6 .assets-command-rc6 .assets-portfolio-choice-rc6 { grid-column:auto; }
  html.havin-v083-rc6 .asset-manage-toolbar-rc6 { grid-template-columns:1fr; gap:9px; }
  html.havin-v083-rc6 .asset-manage-actions-rc6 { justify-content:flex-start; }
  html.havin-v083-rc6 .assets-view-segment-rc6 { width:min(100%,330px); }
}

@media (max-width:680px) {
  html.havin-v083-rc6 .assets-page-rc6 .page-header { gap:11px; }
  html.havin-v083-rc6 .assets-page-rc6 .page-header-actions { margin-top:0; }
  html.havin-v083-rc6 .assets-add-compact-rc6 { min-height:37px; }

  html.havin-v083-rc6 .assets-command-rc6 {
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  html.havin-v083-rc6 .assets-command-rc6 .assets-search-v081,
  html.havin-v083-rc6 .assets-command-rc6 .assets-portfolio-choice-rc6 { grid-column:1 / -1; }
  html.havin-v083-rc6 .assets-command-rc6 .assets-filter-button-v081,
  html.havin-v083-rc6 .assets-command-rc6 .assets-manage-trigger-rc6 {
    width:100%;
    min-width:0;
    min-height:42px;
    padding:0 10px;
    font-size:.65rem;
  }
  html.havin-v083-rc6 .assets-command-rc6 .assets-filter-button-v081 { font-size:.65rem; }

  html.havin-v083-rc6 .assets-recovery-rc6 { grid-template-columns:auto minmax(0,1fr); align-items:start; padding:10px 11px; }
  html.havin-v083-rc6 .assets-recovery-actions-rc6 { grid-column:1 / -1; justify-content:flex-start; padding-left:29px; gap:8px 12px; }
  html.havin-v083-rc6 .assets-recovery-actions-rc6 :where(button,a) { min-height:26px; }

  html.havin-v083-rc6 .asset-manage-toolbar-rc6 { padding:10px; border-radius:15px; }
  html.havin-v083-rc6 .asset-manage-actions-rc6 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  html.havin-v083-rc6 .asset-manage-actions-rc6 .button-small { width:100%; padding:0 5px; font-size:.58rem; }
  html.havin-v083-rc6 .asset-manage-actions-rc6 .button-small:nth-child(4),
  html.havin-v083-rc6 .asset-manage-actions-rc6 .button-small:nth-child(5) { grid-column:auto; }
  html.havin-v083-rc6 .assets-view-segment-rc6 { width:100%; grid-template-columns:repeat(3,1fr); }
  html.havin-v083-rc6 .assets-view-segment-rc6 button { height:38px; font-size:.58rem; }

  html.havin-v083-rc6 .move-destination-list-rc6 label,
  html.havin-v083-rc6 .portfolio-manager-list-rc6 article { grid-template-columns:auto minmax(0,1fr); }
  html.havin-v083-rc6 .portfolio-row-actions-rc6 { grid-column:2; justify-content:flex-start; }
  html.havin-v083-rc6 .portfolio-manager-footer-rc6,
  html.havin-v083-rc6 .modal-actions-rc6 { justify-content:stretch; }
  html.havin-v083-rc6 .portfolio-manager-footer-rc6 .button,
  html.havin-v083-rc6 .modal-actions-rc6 .button { flex:1; }
  html.havin-v083-rc6 .portfolio-primary-card-rc6 { grid-template-columns:auto minmax(0,1fr); }
  html.havin-v083-rc6 .portfolio-primary-card-rc6 .button { grid-column:2; justify-self:start; }
}

@media (prefers-reduced-motion:reduce) {
  html.havin-v083-rc6 .asset-card-v081,
  html.havin-v083-rc6 .mobile-halo-orb-rc5 { transition:none !important; }
}

.move-assets-note-rc6 {
  margin: -.15rem 0 .15rem;
  color: var(--hv-text-muted);
  font-size: .82rem;
  line-height: 1.45;
}

/* ---------- RC6.4 — approved Hāvin Halo brand mark ---------- */
html.havin-v083-rc6 .halo-mark-image {
  display:block;
  flex:0 0 auto;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
  border-radius:21%;
}

html.havin-v083-rc6 .halo-nav-mark-rc5 .halo-mark-image,
html.havin-v083-rc6 .home-halo-icon-rc5 .halo-mark-image,
html.havin-v083-rc6 .halo-pill-rc5 .halo-mark-image,
html.havin-v083-rc6 .mobile-halo-shortcut-rc5 > .halo-mark-image,
html.havin-v083-rc6 .halo-hero-mark-rc5 .halo-mark-image,
html.havin-v083-rc6 .halo-answer-mark-rc5 .halo-mark-image,
html.havin-v083-rc6 .halo-ready-mark-rc5 .halo-mark-image,
html.havin-v083-rc6 .halo-loading-orb-rc5 .halo-mark-image {
  filter:drop-shadow(0 2px 7px rgba(63,167,225,.18));
}

@media (max-width:900px) {
  html.havin-v083-rc6 .mobile-halo-orb-rc5 {
    width:50px;
    height:50px;
    margin-top:-12px;
    border:0;
    border-radius:17px;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  html.havin-v083-rc6 .mobile-halo-orb-rc5 .halo-mark-image {
    width:50px !important;
    height:50px !important;
    border-radius:17px;
    box-shadow:0 12px 28px rgba(30,58,138,.26),0 0 20px rgba(63,167,225,.09);
    transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
  }
  html.havin-v083-rc6 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 {
    border:0;
    box-shadow:none;
  }
  html.havin-v083-rc6 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 .halo-mark-image {
    transform:translateY(-1px) scale(1.025);
    filter:brightness(1.035) saturate(1.04);
    box-shadow:0 13px 30px rgba(30,58,138,.31),0 0 24px rgba(63,167,225,.13);
  }
}

@media (prefers-reduced-motion:reduce) {
  html.havin-v083-rc6 .mobile-halo-orb-rc5 .halo-mark-image { transition:none !important; }
}
/* Hāvin v0.8.3 RC11.1 — launch-readiness hardening */
html.havin-v083-rc111 .halo-mark-image {
  display:block;
  max-width:none;
  border-radius:0;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
html.havin-v083-rc111 .halo-mark-compact { filter:drop-shadow(0 0 8px rgba(63,167,225,.28)); }
html.havin-v083-rc111 .halo-mark-reflective { filter:drop-shadow(0 5px 14px rgba(63,167,225,.24)); }
html.havin-v083-rc111 .mobile-halo-link-rc5 > span:last-child,
html.havin-v083-rc111 .mobile-drawer-halo-rc5 > span,
html.havin-v083-rc111 .rail-halo-rc5 > span:not(.rail-link-icon-rc3) {
  color:#D4AF37;
  font-weight:800;
}
html.havin-v083-rc111 .mobile-halo-orb-rc5 {
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
html.havin-v083-rc111 .mobile-halo-orb-rc5 .halo-mark-image {
  width:54px !important;
  height:42px !important;
  transform:translateY(1px) scale(1.12);
  box-shadow:none !important;
  border-radius:0 !important;
}
html.havin-v083-rc111 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 .halo-mark-image {
  transform:translateY(0) scale(1.17);
  filter:brightness(1.06) drop-shadow(0 0 10px rgba(63,167,225,.48));
  box-shadow:none !important;
}
html.havin-v083-rc111 .halo-context-divider-rc111 {
  display:flex;
  align-items:center;
  gap:10px;
  margin:8px 0 2px;
  color:var(--hv-text-muted, #9aa8ba);
  font-size:.72rem;
  font-weight:760;
  letter-spacing:.02em;
}
html.havin-v083-rc111 .halo-context-divider-rc111::before,
html.havin-v083-rc111 .halo-context-divider-rc111::after {
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(63,167,225,.24));
}
html.havin-v083-rc111 .halo-context-divider-rc111::after { transform:scaleX(-1); }
html.havin-v083-rc111 .usage-update-modal-rc111 { gap:14px; }
html.havin-v083-rc111 .usage-current-rc111 { color:var(--hv-text-muted, #8f9aac); }

@media (max-width:900px) {
  html.havin-v083-rc111 .topbar {
    min-height:calc(64px + env(safe-area-inset-top));
    height:calc(64px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
  }
  html.havin-v083-rc111 .page-content {
    padding-bottom:calc(112px + env(safe-area-inset-bottom));
  }
  html.havin-v083-rc111 .mobile-nav-rc5 {
    bottom:max(8px, env(safe-area-inset-bottom));
  }
  html.havin-v083-rc111 .mobile-drawer {
    padding-top:max(14px, env(safe-area-inset-top));
    padding-bottom:max(18px, env(safe-area-inset-bottom));
  }
  html.havin-v083-rc111 .add-menu-mobile {
    padding-bottom:max(18px, env(safe-area-inset-bottom));
  }
}
/* Hāvin v0.8.3 RC11.2 — complete RC11.1 UX contract + testing hardening */
html.havin-v083-rc112 .asset-card-image-v081{position:relative;isolation:isolate;overflow:hidden!important;}
html.havin-v083-rc112 .asset-category-v081{position:absolute!important;inset:11px auto auto 11px!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-height:32px!important;padding:5px 9px!important;display:inline-flex!important;align-items:center!important;border-radius:999px!important;line-height:1.1!important;writing-mode:horizontal-tb!important;transform:none!important;}
html.havin-v083-rc112 .asset-shared-badge-v081{position:absolute!important;inset:11px 11px auto auto!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-height:32px!important;padding:5px 9px!important;display:inline-flex!important;align-items:center!important;border-radius:999px!important;line-height:1.1!important;transform:none!important;}
html.havin-v083-rc112 .asset-card-image-v081>span{writing-mode:horizontal-tb!important;}

/* Portfolio browsing is the single portfolio selector on Assets. */
html.havin-v083-rc112 .assets-command-rc6{grid-template-columns:minmax(220px,1fr) auto auto!important;}
html.havin-v083-rc112 .portfolio-browser-rail-rc8,
html.havin-v083-rc112 .asset-category-chips-v081,
html.havin-v083-rc112 .people-view-tabs,
html.havin-v083-rc112 .vault-kind-nav-rc8,
html.havin-v083-rc112 .watch-tabs-rc3{
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-color:rgba(111,146,181,.45) transparent;
  scrollbar-width:thin;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 32px),transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 32px),transparent 100%);
  padding-right:44px!important;
}
html.havin-v083-rc112 .portfolio-browser-card-rc8,
html.havin-v083-rc112 .asset-category-chips-v081 button,
html.havin-v083-rc112 .people-view-tabs button,
html.havin-v083-rc112 .vault-kind-nav-rc8 button,
html.havin-v083-rc112 .watch-tabs-rc3 button{scroll-snap-align:start;flex-shrink:0;}

html.havin-v083-rc112 .asset-removed-success-rc112{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(91,202,151,.22);border-radius:16px;background:rgba(55,139,104,.09);color:var(--hv-text);}
html.havin-v083-rc112 .asset-removed-success-rc112>svg{color:#72d5a8;}
html.havin-v083-rc112 .asset-removed-success-rc112 div{display:grid;gap:2px;}
html.havin-v083-rc112 .asset-removed-success-rc112 span{color:var(--hv-text-3);font-size:.76rem;}

/* Approved image artwork: crop the source canvas in-place so the ring reads as an icon, not a square poster. */
html.havin-v083-rc112 .halo-mark-image{border-radius:0!important;object-fit:cover!important;object-position:center 48%;}
html.havin-v083-rc112 .halo-mark-compact{object-position:center 47%;}
html.havin-v083-rc112 .mobile-halo-orb-rc5 .halo-mark-image{width:52px!important;height:31px!important;transform:none!important;object-fit:cover!important;object-position:center 46%;clip-path:inset(29% 2% 25% 2% round 999px);}
html.havin-v083-rc112 .mobile-halo-link-rc5{gap:0!important;padding-top:2px!important;}
html.havin-v083-rc112 .mobile-halo-link-rc5>span:last-child{margin-top:-1px;line-height:1;}
html.havin-v083-rc112 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 .halo-mark-image{transform:scale(1.03)!important;}
html.havin-v083-rc112 .halo-ready-mark-rc5 .halo-mark-reflective{width:72px!important;height:46px!important;clip-path:inset(20% 2% 10% 2% round 16px);}

/* Add Asset alignment + clearer portfolio mental model. */
html.havin-v083-rc112 .add-asset-page-rc2-v083 .onboarding-header{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;}
html.havin-v083-rc112 .add-asset-page-rc2-v083 .onboarding-header-actions{display:flex;align-items:center;gap:8px;}
html.havin-v083-rc112 .add-asset-page-rc2-v083 .onboarding-header-actions>*{min-height:40px;}
html.havin-v083-rc112 .capture-heading-row{align-items:center!important;}
html.havin-v083-rc112 .capture-portfolio-picker>span{display:grid;gap:1px;}
html.havin-v083-rc112 .capture-portfolio-picker>span small{font-size:.58rem;font-weight:560;color:var(--hv-text-3);white-space:nowrap;}
html.havin-v083-rc112 .compact-onboarding-footer{justify-content:center!important;grid-template-columns:repeat(2,minmax(150px,220px))!important;}
html.havin-v083-rc112 .compact-onboarding-footer>div:first-child{display:none!important;}

/* Focused living-data update modal. */
html.havin-v083-rc112 .usage-update-modal-rc111{max-width:560px;}

@media(max-width:900px){
  /* True app-style bottom bar: the bar is anchored; only Halo gets visual emphasis. */
  html.havin-v083-rc112 .mobile-nav-rc5{
    left:0!important;right:0!important;bottom:0!important;
    width:100%!important;height:calc(70px + env(safe-area-inset-bottom))!important;
    padding:4px 10px env(safe-area-inset-bottom)!important;
    border:0!important;border-top:1px solid rgba(255,255,255,.10)!important;
    border-radius:0!important;background:#0b1220!important;
    box-shadow:0 -10px 32px rgba(0,0,0,.28)!important;backdrop-filter:none!important;
  }
  html.havin-v083-rc112 .mobile-nav-rc5 .mobile-link{height:62px!important;align-self:start!important;}
  html.havin-v083-rc112 .page-content{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;}
  html.havin-v083-rc112 .mobile-halo-link-rc5{transform:translateY(-2px);}

  /* Never wrap Watch states. A deliberate one-line rail beats a broken two-line control. */
  html.havin-v083-rc112 .watch-tabs-rc3{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(82px,1fr)!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;justify-content:start!important;border-radius:18px!important;}
  html.havin-v083-rc112 .watch-tabs-rc3 button{min-width:82px!important;width:auto!important;white-space:nowrap!important;}

  html.havin-v083-rc112 .people-view-tabs,
  html.havin-v083-rc112 .vault-kind-nav-rc8,
  html.havin-v083-rc112 .portfolio-browser-rail-rc8,
  html.havin-v083-rc112 .asset-category-chips-v081{scrollbar-width:none;}
  html.havin-v083-rc112 .people-view-tabs::-webkit-scrollbar,
  html.havin-v083-rc112 .vault-kind-nav-rc8::-webkit-scrollbar,
  html.havin-v083-rc112 .portfolio-browser-rail-rc8::-webkit-scrollbar,
  html.havin-v083-rc112 .asset-category-chips-v081::-webkit-scrollbar{display:none;}

  /* Settings pages must never create sideways page overflow. */
  html.havin-v083-rc112 .settings-page-rc7,
  html.havin-v083-rc112 .settings-layout-rc7,
  html.havin-v083-rc112 .settings-content-rc7,
  html.havin-v083-rc112 .settings-content-rc7>*{min-width:0;max-width:100%;}
  html.havin-v083-rc112 .settings-content-rc7{overflow-x:hidden;}
  html.havin-v083-rc112 .settings-subnav-rc7{position:static!important;max-width:100%;}

  html.havin-v083-rc112 .assets-command-rc6{grid-template-columns:minmax(0,1fr) auto auto!important;}
  html.havin-v083-rc112 .capture-heading-row{align-items:stretch!important;}
  html.havin-v083-rc112 .capture-portfolio-control-rc4{width:100%;justify-content:stretch;}
  html.havin-v083-rc112 .capture-portfolio-picker{flex:1;min-width:0;}
  html.havin-v083-rc112 .capture-portfolio-picker select{width:100%;}
  html.havin-v083-rc112 .compact-onboarding-footer{grid-template-columns:1fr 1fr!important;gap:9px!important;}
}

/* RC11.2 — Halo hierarchy: identity/action first, asset context second, session note after composer. */
html.havin-v083-rc112 .halo-topbar-rc112{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
html.havin-v083-rc112 .halo-topbar-primary-rc112{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
html.havin-v083-rc112 .halo-topbar-primary-rc112 .halo-identity-rc9{min-width:0;flex:1}
html.havin-v083-rc112 .halo-topbar-primary-rc112 .halo-identity-rc9 h1{font-size:clamp(1.55rem,3vw,2rem)!important;letter-spacing:-.025em!important}
html.havin-v083-rc112 .halo-asset-context-rc112{display:flex;align-items:baseline;gap:8px;min-width:0;padding:8px 10px;border-top:1px solid rgba(148,163,184,.13);color:var(--rc3-text-muted,#aeb9d2)}
html.havin-v083-rc112 .halo-asset-context-rc112 span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
html.havin-v083-rc112 .halo-asset-context-rc112 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rc3-text,#f8fafc);font-size:.9rem}
html.havin-v083-rc112 .halo-session-note-bottom-rc112{margin-top:2px!important;border-top:1px solid rgba(148,163,184,.12)!important;padding-top:10px!important}
@media(max-width:700px){html.havin-v083-rc112 .halo-topbar-primary-rc112{align-items:flex-start}html.havin-v083-rc112 .halo-topbar-primary-rc112 .halo-new-chat-rc9{margin-left:auto;flex:0 0 auto}html.havin-v083-rc112 .halo-asset-context-rc112{padding-inline:4px}}

/* RC11.2 — entitlement recovery controls align as a deliberate two-column chooser. */
html.havin-v083-rc112 .entitlement-choice-list-v080+*,html.havin-v083-rc112 .entitlement-choice-list-v080{min-width:0}
html.havin-v083-rc112 .entitlement-choice-list-v080 label{grid-template-columns:22px minmax(0,1fr)!important;align-items:center!important}
html.havin-v083-rc112 .entitlement-choice-list-v080 input{margin:0!important;justify-self:center}
html.havin-v083-rc112 .entitlement-choice-list-v080 label>span{align-self:center}
/* Hāvin v0.8.3 RC11.3 — visual hierarchy + interaction-model correction
   This layer intentionally removes ambiguous horizontal rails from primary controls. */

/* ---------- Global hierarchy / rhythm ---------- */
html.havin-v083-rc113 {
  --rc113-control: #111b2d;
  --rc113-control-hover: #152238;
  --rc113-border: rgba(151, 171, 199, .14);
  --rc113-border-strong: rgba(91, 184, 235, .28);
  --rc113-text: #eef4fb;
  --rc113-text-2: #a4b1c4;
  --rc113-text-3: #75849a;
  --rc113-blue: #65c0ef;
}

html.havin-v083-rc113 :where(.page-stack,.settings-page,.hv60-platform-page){min-width:0;}
html.havin-v083-rc113 .page-stack{gap:18px;}
html.havin-v083-rc113 .page-heading{max-width:none;margin:2px 0 0;align-items:end;gap:18px;}
html.havin-v083-rc113 .page-heading h1{margin:0 0 7px;font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.01;font-weight:700;letter-spacing:-.045em;color:var(--rc113-text);}
html.havin-v083-rc113 .page-heading p{margin:0;max-width:700px;color:var(--rc113-text-2);font-size:.93rem;line-height:1.55;font-weight:430;}
html.havin-v083-rc113 .eyebrow{font-size:.68rem;font-weight:780;letter-spacing:.12em;}
html.havin-v083-rc113 :where(.section-heading-row h2,.settings-content-rc7 h2,.content-card h2){font-weight:700;letter-spacing:-.02em;}
html.havin-v083-rc113 :where(.section-heading-row p,.content-card p,.settings-content-rc7 p){line-height:1.55;}
html.havin-v083-rc113 .button{min-height:42px;border-radius:13px;font-weight:700;}
html.havin-v083-rc113 .button-small{min-height:38px;}
html.havin-v083-rc113 :where(.assets-search-v081,.page-search){min-height:48px;border-radius:14px;}
html.havin-v083-rc113 :where(.assets-search-v081 input,.page-search input){font-size:.86rem;}

/* ---------- Halo compact artwork ----------
   RC11.3 uses a real transparent no-floor export. Never crop a black poster into nav again. */
html.havin-v083-rc113 .halo-mark-compact{
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 0 5px rgba(19,109,255,.38));
}
html.havin-v083-rc113 .mobile-halo-orb-rc5{
  width:52px!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html.havin-v083-rc113 .mobile-halo-orb-rc5 .halo-mark-image{
  width:50px!important;
  height:26px!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  transform:none!important;
}
html.havin-v083-rc113 .mobile-halo-link-rc5{gap:3px!important;padding-top:4px!important;transform:none!important;}
html.havin-v083-rc113 .mobile-halo-link-rc5>span:last-child{margin:0!important;line-height:1.05!important;}
html.havin-v083-rc113 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5{transform:translateY(-2px)!important;}
html.havin-v083-rc113 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 .halo-mark-image{transform:scale(1.04)!important;}

/* ---------- Assets: one obvious portfolio control ---------- */
html.havin-v083-rc113 .portfolio-selector-rc113{display:grid;gap:10px;padding:0!important;overflow:visible!important;}
html.havin-v083-rc113 .portfolio-browser-heading-rc8{align-items:end;}
html.havin-v083-rc113 .portfolio-browser-heading-rc8>div{display:grid;gap:3px;}
html.havin-v083-rc113 .portfolio-browser-heading-rc8>div>strong{font-size:1rem;font-weight:700;color:var(--rc113-text);}
html.havin-v083-rc113 .portfolio-current-rc113{
  width:100%;min-width:0;min-height:78px;
  display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:13px;
  padding:11px 14px;border:1px solid var(--rc113-border);border-radius:18px;
  background:linear-gradient(135deg,rgba(16,28,47,.96),rgba(12,21,37,.96));
  color:var(--rc113-text);font:inherit;text-align:left;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
html.havin-v083-rc113 .portfolio-current-rc113:hover{border-color:var(--rc113-border-strong);background:linear-gradient(135deg,rgba(18,34,57,.98),rgba(13,24,42,.98));}
html.havin-v083-rc113 .portfolio-current-visual-rc113{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(93,183,235,.16);border-radius:15px;background:linear-gradient(145deg,rgba(30,58,138,.35),rgba(63,167,225,.10));color:#a9ddf6;}
html.havin-v083-rc113 .portfolio-current-visual-rc113 img{width:100%;height:100%;object-fit:cover;}
html.havin-v083-rc113 .portfolio-current-copy-rc113{min-width:0;display:grid;gap:2px;}
html.havin-v083-rc113 .portfolio-current-copy-rc113>small{color:var(--rc113-blue);font-size:.59rem;font-weight:760;text-transform:uppercase;letter-spacing:.09em;}
html.havin-v083-rc113 .portfolio-current-copy-rc113>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:720;letter-spacing:-.01em;}
html.havin-v083-rc113 .portfolio-current-copy-rc113>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rc113-text-3);font-size:.69rem;}
html.havin-v083-rc113 .portfolio-current-change-rc113{display:inline-flex;align-items:center;gap:5px;color:#a9dff8;font-size:.72rem;font-weight:720;white-space:nowrap;}
html.havin-v083-rc113 .portfolio-current-primary-rc113{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid rgba(212,175,55,.22);border-radius:999px;background:rgba(212,175,55,.07);color:#dfc35e;font-size:.59rem;font-weight:740;white-space:nowrap;}

html.havin-v083-rc113 .portfolio-picker-grid-rc113{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
html.havin-v083-rc113 .portfolio-picker-grid-rc113>button{min-width:0;min-height:70px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--rc113-border);border-radius:15px;background:rgba(255,255,255,.018);color:var(--rc113-text);font:inherit;text-align:left;cursor:pointer;}
html.havin-v083-rc113 .portfolio-picker-grid-rc113>button:hover{background:rgba(255,255,255,.032);border-color:rgba(99,183,232,.22);}
html.havin-v083-rc113 .portfolio-picker-grid-rc113>button.active{border-color:rgba(99,183,232,.38);background:linear-gradient(125deg,rgba(30,58,138,.22),rgba(63,167,225,.07));}
html.havin-v083-rc113 .portfolio-picker-grid-rc113>button>span:nth-child(2){min-width:0;display:grid;gap:3px;}
html.havin-v083-rc113 .portfolio-picker-grid-rc113 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;}
html.havin-v083-rc113 .portfolio-picker-grid-rc113 small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rc113-text-3);font-size:.64rem;}
html.havin-v083-rc113 .portfolio-picker-icon-rc113{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:rgba(63,167,225,.08);color:#9fd9f5;}
html.havin-v083-rc113 .portfolio-picker-icon-rc113 img{width:100%;height:100%;object-fit:cover;}
html.havin-v083-rc113 .portfolio-picker-primary-rc113{display:inline-flex!important;align-items:center;gap:3px!important;padding:4px 7px;border-radius:999px;background:rgba(212,175,55,.08);color:#dcc15d;font-size:.56rem!important;white-space:nowrap;}

/* Category is already available in Filter; no second horizontally-clipped category rail. */
html.havin-v083-rc113 .assets-command-rc6{grid-template-columns:minmax(240px,1fr) auto auto!important;gap:9px!important;padding:10px!important;border:1px solid var(--rc113-border)!important;border-radius:17px!important;background:rgba(255,255,255,.012)!important;}
html.havin-v083-rc113 .assets-command-rc6 .button{min-width:108px;justify-content:center;}
html.havin-v083-rc113 .assets-filter-panel-v081{margin-top:-8px;border-radius:16px;}

/* ---------- Watch: one deliberate five-cell segmented control ---------- */
html.havin-v083-rc113 .watch-tabs-rc3{
  width:100%!important;max-width:none!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;
  gap:6px!important;padding:6px!important;
  overflow:visible!important;scroll-snap-type:none!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  border:1px solid var(--rc113-border)!important;border-radius:19px!important;background:rgba(255,255,255,.014)!important;
}
html.havin-v083-rc113 .watch-tabs-rc3 button{
  width:100%!important;min-width:0!important;min-height:58px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  padding:8px 7px!important;border:1px solid transparent!important;border-radius:14px!important;
  background:transparent!important;color:#7e8da3!important;font-size:.69rem!important;font-weight:700!important;white-space:nowrap!important;
}
html.havin-v083-rc113 .watch-tabs-rc3 button:hover{background:rgba(255,255,255,.022)!important;color:#aab6c6!important;}
html.havin-v083-rc113 .watch-tabs-rc3 button.active{border-color:rgba(71,155,221,.28)!important;background:linear-gradient(125deg,rgba(75,42,114,.27),rgba(30,58,138,.18))!important;color:#a9ddf6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;}
html.havin-v083-rc113 .watch-tabs-rc3 button small{position:static!important;transform:none!important;min-width:21px!important;height:21px!important;display:grid!important;place-items:center!important;padding:0 5px!important;margin:0!important;border-radius:999px!important;background:rgba(255,255,255,.05)!important;color:#93a2b7!important;font-size:.55rem!important;}
html.havin-v083-rc113 .watch-tabs-rc3 button.active small{background:rgba(74,167,226,.12)!important;color:#b9e6fb!important;}
html.havin-v083-rc113 .watch-hero-rc4{align-items:center;}
html.havin-v083-rc113 .watch-hero-copy-rc3 h1{font-weight:700;letter-spacing:-.04em;}
html.havin-v083-rc113 .watch-hero-glance-rc3{align-items:stretch;}

/* ---------- Vault: status is fixed navigation, document type lives in Filter ---------- */
html.havin-v083-rc113 .records-tabs-rc2-v083{
  width:100%!important;max-width:none!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;padding:6px!important;overflow:visible!important;
  border:1px solid var(--rc113-border)!important;border-radius:18px!important;background:rgba(255,255,255,.014)!important;
}
html.havin-v083-rc113 .records-tabs-rc2-v083 button{width:100%!important;min-width:0!important;min-height:54px!important;padding:7px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border:1px solid transparent!important;border-radius:13px!important;background:transparent!important;color:#7f8da2!important;font-size:.68rem!important;font-weight:700!important;}
html.havin-v083-rc113 .records-tabs-rc2-v083 button.active{border-color:rgba(65,158,219,.26)!important;background:linear-gradient(125deg,rgba(75,42,114,.25),rgba(30,58,138,.16))!important;color:#a9ddf6!important;box-shadow:none!important;}
html.havin-v083-rc113 .records-tabs-rc2-v083 button small{position:static!important;transform:none!important;min-width:21px!important;height:21px!important;display:grid!important;place-items:center!important;padding:0 5px!important;border-radius:999px!important;background:rgba(255,255,255,.05)!important;font-size:.54rem!important;}
html.havin-v083-rc113 .records-command-rc2-v083{gap:9px;align-items:stretch;}
html.havin-v083-rc113 .records-command-rc2-v083>.button{min-width:112px;justify-content:center;}
html.havin-v083-rc113 .records-filters-rc5{margin-top:0;padding:11px;border:1px solid var(--rc113-border);border-radius:15px;background:rgba(255,255,255,.012);}

/* ---------- Access: all three destinations are visible, not a mystery swipe rail ---------- */
html.havin-v083-rc113 .people-view-tabs{
  width:100%!important;max-width:none!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;padding:6px!important;overflow:visible!important;
  scroll-snap-type:none!important;-webkit-mask-image:none!important;mask-image:none!important;
  border:1px solid var(--rc113-border)!important;border-radius:18px!important;background:rgba(255,255,255,.014)!important;
}
html.havin-v083-rc113 .people-view-tabs button{width:100%!important;min-width:0!important;min-height:56px!important;padding:8px 10px!important;display:grid!important;grid-template-columns:20px minmax(0,1fr) 24px!important;align-items:center!important;gap:7px!important;border:1px solid transparent!important;border-radius:13px!important;background:transparent!important;color:#7f8ea2!important;white-space:normal!important;text-align:left!important;}
html.havin-v083-rc113 .people-view-tabs button span{min-width:0;color:inherit!important;font-size:.69rem!important;line-height:1.2;font-weight:700!important;}
html.havin-v083-rc113 .people-view-tabs button strong{min-width:22px!important;width:22px!important;height:22px!important;margin:0!important;background:rgba(255,255,255,.05)!important;color:#94a3b7!important;font-size:.55rem!important;}
html.havin-v083-rc113 .people-view-tabs button.active{border-color:rgba(64,158,219,.25)!important;background:linear-gradient(125deg,rgba(75,42,114,.25),rgba(30,58,138,.17))!important;color:#a9ddf6!important;}

/* ---------- Settings / Trust: no hidden horizontal navigation ---------- */
html.havin-v083-rc113 .settings-content-rc7{gap:14px;}
html.havin-v083-rc113 .settings-content-rc7>.content-card{padding:20px;border-radius:19px;}
html.havin-v083-rc113 .settings-hub-card-rc7,html.havin-v083-rc113 .settings-hub-link-rc7{border-radius:16px;}
html.havin-v083-rc113 .hv60-trust-layout>nav{min-width:0;}

/* ---------- Halo SMS: visible state + familiar track ---------- */
html.havin-v083-rc113 .sms-preference-v083{min-height:72px;padding:14px 16px;gap:16px;}
html.havin-v083-rc113 .sms-preference-v083>div{min-width:0;}
html.havin-v083-rc113 .sms-preference-v083 strong{font-size:.82rem;font-weight:700;}
html.havin-v083-rc113 .sms-preference-v083 span{font-size:.69rem;line-height:1.45;}
html.havin-v083-rc113 .sms-toggle-rc113{
  min-width:92px;min-height:38px;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;
  padding:5px 6px 5px 10px;border:1px solid rgba(145,160,181,.16);border-radius:12px;
  background:#131d30;color:#8e9cb0;font:inherit;cursor:pointer;transition:.15s ease;
}
html.havin-v083-rc113 .sms-toggle-rc113:hover:not(:disabled){border-color:rgba(94,184,235,.28);background:#162238;}
html.havin-v083-rc113 .sms-toggle-rc113.on{border-color:rgba(68,167,225,.28);background:rgba(31,101,154,.16);color:#a9ddf6;}
html.havin-v083-rc113 .sms-toggle-rc113:disabled{opacity:.46;cursor:not-allowed;}
html.havin-v083-rc113 .sms-toggle-state-rc113{margin:0!important;color:inherit!important;font-size:.65rem!important;font-weight:760!important;text-transform:uppercase;letter-spacing:.055em;}
html.havin-v083-rc113 .sms-toggle-track-rc113{position:relative!important;width:38px!important;height:22px!important;margin:0!important;display:block!important;flex:0 0 auto;border-radius:999px;background:#2a3448!important;transition:.15s ease;}
html.havin-v083-rc113 .sms-toggle-track-rc113>span{position:absolute;top:3px;left:3px;width:16px!important;height:16px!important;margin:0!important;border-radius:50%;background:#9aa8ba!important;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:.15s ease;}
html.havin-v083-rc113 .sms-toggle-rc113.on .sms-toggle-track-rc113{background:#2d79a9!important;}
html.havin-v083-rc113 .sms-toggle-rc113.on .sms-toggle-track-rc113>span{transform:translateX(16px);background:#fff!important;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  html.havin-v083-rc113 .page-stack{gap:15px;}
  html.havin-v083-rc113 .page-heading{align-items:flex-start;gap:11px;}
  html.havin-v083-rc113 .page-heading h1{font-size:2.15rem;}
  html.havin-v083-rc113 .page-heading p{font-size:.87rem;}
  html.havin-v083-rc113 .page-heading.split-heading .page-heading-actions{width:100%;}

  /* Keep the bar anchored and visually part of the app shell. */
  html.havin-v083-rc113 .mobile-nav-rc5{
    left:0!important;right:0!important;bottom:0!important;width:100%!important;
    height:calc(70px + env(safe-area-inset-bottom))!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;
    padding:5px 8px env(safe-area-inset-bottom)!important;
    border:0!important;border-top:1px solid rgba(148,163,184,.13)!important;border-radius:0!important;
    background:#09111f!important;box-shadow:0 -8px 24px rgba(0,0,0,.26)!important;backdrop-filter:none!important;
  }
  html.havin-v083-rc113 .mobile-nav-rc5 .mobile-link{min-width:0!important;height:60px!important;padding:4px 2px!important;gap:4px!important;align-self:start!important;justify-content:center!important;}
  html.havin-v083-rc113 .page-content{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;}

  html.havin-v083-rc113 .assets-command-rc6{grid-template-columns:minmax(0,1fr) auto auto!important;}
  html.havin-v083-rc113 .assets-command-rc6 .button{min-width:48px;}

  /* Five equal cells: no wrap, no horizontal-scroll guessing. */
  html.havin-v083-rc113 .watch-tabs-rc3{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;padding:5px!important;}
  html.havin-v083-rc113 .watch-tabs-rc3 button{min-height:58px!important;padding:6px 2px!important;flex-direction:column!important;gap:3px!important;font-size:.58rem!important;line-height:1.05!important;}
  html.havin-v083-rc113 .watch-tabs-rc3 button small{position:absolute!important;transform:translate(15px,-13px)!important;min-width:17px!important;height:17px!important;font-size:.48rem!important;}
  html.havin-v083-rc113 .watch-tabs-rc3 button{position:relative!important;}

  html.havin-v083-rc113 .records-tabs-rc2-v083{gap:4px!important;padding:5px!important;}
  html.havin-v083-rc113 .records-tabs-rc2-v083 button{min-height:58px!important;padding:6px 2px!important;flex-direction:column!important;gap:3px!important;font-size:.57rem!important;line-height:1.05!important;}
  html.havin-v083-rc113 .records-tabs-rc2-v083 button small{position:absolute!important;transform:translate(15px,-13px)!important;min-width:17px!important;height:17px!important;font-size:.48rem!important;}
  html.havin-v083-rc113 .records-tabs-rc2-v083 button{position:relative!important;}

  html.havin-v083-rc113 .people-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;padding:5px!important;}
  html.havin-v083-rc113 .people-view-tabs button{min-height:68px!important;grid-template-columns:1fr!important;grid-template-rows:19px auto 18px!important;justify-items:center!important;gap:3px!important;padding:6px 4px!important;text-align:center!important;}
  html.havin-v083-rc113 .people-view-tabs button span{font-size:.57rem!important;line-height:1.12!important;}
  html.havin-v083-rc113 .people-view-tabs button strong{width:auto!important;min-width:18px!important;height:18px!important;padding:0 4px!important;font-size:.48rem!important;}

  /* Trust choices are visible in a compact grid rather than a clipped rail. */
  html.havin-v083-rc113 .hv60-trust-layout{grid-template-columns:1fr!important;gap:14px!important;}
  html.havin-v083-rc113 .hv60-trust-layout>nav{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;padding:0!important;}
  html.havin-v083-rc113 .hv60-trust-layout>nav button{min-width:0!important;width:100%!important;min-height:46px!important;padding:8px 10px!important;}
  html.havin-v083-rc113 .hv60-trust-layout>nav button span{display:none!important;}

  html.havin-v083-rc113 .settings-content-rc7>.content-card{padding:16px;}
}

@media(max-width:640px){
  html.havin-v083-rc113 .portfolio-current-rc113{grid-template-columns:48px minmax(0,1fr) auto;min-height:70px;padding:9px 10px;gap:10px;}
  html.havin-v083-rc113 .portfolio-current-visual-rc113{width:48px;height:48px;border-radius:13px;}
  html.havin-v083-rc113 .portfolio-current-primary-rc113{display:none;}
  html.havin-v083-rc113 .portfolio-current-change-rc113{font-size:0;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--rc113-border);border-radius:10px;}
  html.havin-v083-rc113 .portfolio-current-change-rc113 svg{width:16px;height:16px;}
  html.havin-v083-rc113 .portfolio-picker-grid-rc113{grid-template-columns:1fr;}
  html.havin-v083-rc113 .portfolio-picker-grid-rc113>button{min-height:64px;}

  html.havin-v083-rc113 .assets-command-rc6{grid-template-columns:minmax(0,1fr) 48px 48px!important;padding:8px!important;gap:7px!important;}
  html.havin-v083-rc113 .assets-command-rc6 .button{width:48px!important;min-width:48px!important;padding:0!important;font-size:0!important;gap:0!important;}
  html.havin-v083-rc113 .assets-command-rc6 .button>small{position:absolute;transform:translate(14px,-14px);font-size:.5rem;}
  html.havin-v083-rc113 .assets-command-rc6 .button svg{width:18px;height:18px;}

  html.havin-v083-rc113 .records-command-rc2-v083{grid-template-columns:minmax(0,1fr) auto!important;}
  html.havin-v083-rc113 .records-command-rc2-v083>.button{min-width:48px;width:48px;padding:0;font-size:0;gap:0;}
  html.havin-v083-rc113 .records-command-rc2-v083>.button span{display:none;}
  html.havin-v083-rc113 .records-command-rc2-v083>.button small{position:absolute;transform:translate(14px,-14px);font-size:.5rem;}

  html.havin-v083-rc113 .sms-preference-v083{grid-template-columns:minmax(0,1fr);gap:10px;padding:13px 14px;}
  html.havin-v083-rc113 .sms-toggle-rc113{justify-self:start;}
  html.havin-v083-rc113 .sms-verification-row-v083 .sms-verify-controls-v083{width:100%;}
  html.havin-v083-rc113 .sms-verify-controls-v083{grid-template-columns:minmax(0,1fr) auto;}
}

@media(max-width:430px){
  html.havin-v083-rc113 .page-heading h1{font-size:1.95rem;}
  html.havin-v083-rc113 .watch-tabs-rc3 button{font-size:.54rem!important;}
  html.havin-v083-rc113 .watch-tabs-rc3 button svg{width:16px;height:16px;}
  html.havin-v083-rc113 .records-tabs-rc2-v083 button{font-size:.53rem!important;}
  html.havin-v083-rc113 .records-tabs-rc2-v083 button svg{width:16px;height:16px;}
  html.havin-v083-rc113 .people-view-tabs button span{font-size:.53rem!important;}
  html.havin-v083-rc113 .hv60-trust-layout>nav{grid-template-columns:1fr 1fr!important;}
}

@media(prefers-reduced-motion:reduce){
  html.havin-v083-rc113 .portfolio-current-rc113,
  html.havin-v083-rc113 .sms-toggle-rc113,
  html.havin-v083-rc113 .sms-toggle-track-rc113,
  html.havin-v083-rc113 .sms-toggle-track-rc113>span{transition:none!important;}
}

/* Foundation Help / Plans / Trust / Notifications / Account navigation:
   all destinations are visible on narrow screens instead of extending past the frame. */
@media(max-width:900px){
  html.havin-v083-rc113 .hv60-platform-nav{
    width:100%!important;max-width:100%!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;margin:0!important;padding:6px!important;
    overflow:visible!important;scroll-snap-type:none!important;
    border:1px solid var(--rc113-border)!important;border-radius:16px!important;background:rgba(255,255,255,.012)!important;
  }
  html.havin-v083-rc113 .hv60-platform-nav>p{display:none!important;}
  html.havin-v083-rc113 .hv60-platform-nav>a{
    width:100%!important;min-width:0!important;min-height:44px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;
    padding:8px 10px!important;border-radius:11px!important;white-space:normal!important;
  }
  html.havin-v083-rc113 .hv60-platform-nav>a svg{display:block!important;flex:0 0 auto;}
  html.havin-v083-rc113 .hv60-platform-nav>a:last-child:nth-of-type(5){grid-column:1/-1;}
}

/* Asset-detail sections and Halo suggestions are finite choices, not mystery carousels. */
html.havin-v083-rc113 .detail-tabs{
  position:sticky!important;top:78px!important;z-index:9!important;
  width:100%!important;max-width:760px!important;margin:0 auto!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;
  overflow:visible!important;padding:5px!important;
  border:1px solid var(--rc113-border)!important;border-radius:17px!important;
  background:rgba(8,13,24,.86)!important;backdrop-filter:blur(18px)!important;
}
html.havin-v083-rc113 .detail-tabs button{
  width:100%!important;min-width:0!important;min-height:40px!important;padding:7px 6px!important;
  border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;
  color:#7f8da1!important;font-size:.68rem!important;font-weight:700!important;white-space:normal!important;
}
html.havin-v083-rc113 .detail-tabs button.active{
  border-color:rgba(76,165,221,.25)!important;background:rgba(39,105,158,.14)!important;color:#a9def7!important;
}
html.havin-v083-rc113 .halo-prompt-row-rc5{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:7px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important;
}
html.havin-v083-rc113 .halo-prompt-row-rc5 button{
  width:100%!important;max-width:none!important;min-height:39px!important;padding:8px 11px!important;
  white-space:normal!important;text-align:left!important;line-height:1.3!important;border-radius:12px!important;
}
@media(max-width:640px){
  html.havin-v083-rc113 .detail-tabs{top:66px!important;gap:3px!important;padding:4px!important;border-radius:14px!important;}
  html.havin-v083-rc113 .detail-tabs button{min-height:38px!important;padding:6px 3px!important;font-size:.59rem!important;}
  html.havin-v083-rc113 .halo-prompt-row-rc5{grid-template-columns:1fr!important;}
}
/* Hāvin v0.8.3 RC11.4 — launch polish + reliability
   Calm surface, disciplined hierarchy, compact actions, no mystery controls. */

html.havin-v083-rc114 {
  --rc114-bg:#0b1426;
  --rc114-surface:#101a2d;
  --rc114-surface-2:#132035;
  --rc114-line:rgba(154,174,202,.14);
  --rc114-line-strong:rgba(91,188,239,.27);
  --rc114-text:#f2f6fb;
  --rc114-text-2:#a2afc2;
  --rc114-text-3:#76869c;
  --rc114-blue:#68c7f4;
  --rc114-gold:#d8b844;
  --rc114-radius:20px;
  --rc114-radius-sm:14px;
  --rc114-control-h:44px;
}

/* ---------- system rhythm ---------- */
html.havin-v083-rc114 :where(.page-stack,.settings-page,.hv60-stack,.hv60-platform-page,.onboarding-page){min-width:0;}
html.havin-v083-rc114 .page-stack{gap:20px;}
html.havin-v083-rc114 :where(.page-content,.app-content){min-width:0;}
html.havin-v083-rc114 :where(.content-card,.section-block,.hv60-card){border-color:var(--rc114-line);box-shadow:none;}
html.havin-v083-rc114 .content-card{border-radius:var(--rc114-radius);padding:22px;}
html.havin-v083-rc114 .page-heading{align-items:flex-end;gap:20px;margin:0;}
html.havin-v083-rc114 .page-heading h1{margin:0;font-size:clamp(2rem,3vw,3rem);font-weight:720;line-height:1.03;letter-spacing:-.045em;color:var(--rc114-text);}
html.havin-v083-rc114 .page-heading p{margin:7px 0 0;max-width:720px;font-size:.9rem;line-height:1.52;color:var(--rc114-text-2);}
html.havin-v083-rc114 .eyebrow{font-size:.65rem;line-height:1.1;font-weight:800;letter-spacing:.13em;color:var(--rc114-blue);}
html.havin-v083-rc114 :where(.card-heading,.section-heading-row){align-items:flex-start;gap:18px;}
html.havin-v083-rc114 :where(.card-heading,.section-heading-row)>div{min-width:0;}
html.havin-v083-rc114 :where(.card-heading h2,.section-heading-row h2){margin:4px 0 0;font-size:1.2rem;line-height:1.15;font-weight:720;letter-spacing:-.025em;color:var(--rc114-text);}
html.havin-v083-rc114 :where(.card-heading p,.section-heading-row p){margin:6px 0 0;max-width:680px;font-size:.78rem;line-height:1.52;color:var(--rc114-text-2);}
html.havin-v083-rc114 :where(.button,.icon-button){transition:background .15s ease,border-color .15s ease,opacity .15s ease,transform .12s ease;}
html.havin-v083-rc114 .button{min-height:var(--rc114-control-h);border-radius:13px;font-size:.74rem;font-weight:720;line-height:1.1;white-space:nowrap;}
html.havin-v083-rc114 .button-small{min-height:36px;padding-block:7px;}
html.havin-v083-rc114 :where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.58;}
html.havin-v083-rc114 :where(.field input,.field select,.field textarea,.assets-search-v081,.page-search){border-color:var(--rc114-line);}
html.havin-v083-rc114 :where(.field input,.field select){min-height:46px;}
html.havin-v083-rc114 .field textarea{min-height:112px;line-height:1.5;}
html.havin-v083-rc114 .form-error{border-radius:12px;font-size:.72rem;line-height:1.4;}
html.havin-v083-rc114 .modal-form{gap:16px;}
html.havin-v083-rc114 .modal-note{font-size:.75rem;line-height:1.5;color:var(--rc114-text-2);}
html.havin-v083-rc114 .modal-actions{gap:9px;}

/* ---------- Home: calm, compact action list ---------- */
html.havin-v083-rc114 .home-today-rc3{padding:22px;border-radius:24px;}
html.havin-v083-rc114 .home-attention-list-rc3{gap:8px;}
html.havin-v083-rc114 .home-attention-item-rc3{grid-template-columns:minmax(0,1fr) auto!important;border-radius:17px;min-height:76px;}
html.havin-v083-rc114 .home-attention-open-rc3{grid-template-columns:44px minmax(0,1fr) auto;padding:10px 12px;gap:11px;}
html.havin-v083-rc114 .home-attention-photo-rc3{width:44px;height:44px;border-radius:13px;}
html.havin-v083-rc114 .home-attention-copy-rc3 small{font-size:.61rem;}
html.havin-v083-rc114 .home-attention-copy-rc3 strong{font-size:.78rem;line-height:1.3;}
html.havin-v083-rc114 .home-attention-copy-rc3 span{font-size:.63rem;}
html.havin-v083-rc114 .home-attention-actions-rc3{padding:0 10px 0 0;align-items:center;}
html.havin-v083-rc114 .home-attention-actions-rc3 button{min-height:34px;padding:0 9px;border-radius:10px;color:#91a0b4;font-size:.63rem;}
html.havin-v083-rc114 .home-attention-actions-rc3 button:hover{background:rgba(255,255,255,.04);color:#c5d0dd;}
html.havin-v083-rc114 .home-setup-note-rc114{margin:10px 2px 0;display:inline-flex;align-items:center;gap:5px;color:#7f91a8;font-size:.67rem;}

/* ---------- Asset detail: reduce visual bulk ---------- */
html.havin-v083-rc114 .asset-detail-page-v083{max-width:1220px;gap:16px;}
html.havin-v083-rc114 .asset-detail-page-v083 .asset-detail-hero{border-radius:24px;}
html.havin-v083-rc114 .asset-detail-page-v083 .asset-detail-summary{padding:24px;}
html.havin-v083-rc114 .asset-detail-page-v083 .asset-detail-summary h1{font-size:clamp(2rem,3.1vw,3rem);font-weight:650;line-height:1.02;}
html.havin-v083-rc114 .asset-detail-actions-v081{gap:8px;}
html.havin-v083-rc114 .asset-detail-actions-v081 .button{min-height:44px;}
html.havin-v083-rc114 .asset-quick-actions-v083{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px;margin-top:16px;}
html.havin-v083-rc114 .asset-quick-actions-v083 button{min-height:54px!important;display:flex!important;align-items:center;justify-content:center;gap:8px!important;padding:9px 11px!important;border-radius:14px!important;text-align:center!important;}
html.havin-v083-rc114 .asset-quick-actions-v083 button span{display:block!important;}
html.havin-v083-rc114 .asset-quick-actions-v083 button strong{font-size:.69rem;}
html.havin-v083-rc114 .asset-quick-actions-v083 button small{display:none!important;}
html.havin-v083-rc114 .asset-detail-page-v083 .detail-tabs{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px;border-radius:16px;}
html.havin-v083-rc114 .asset-detail-page-v083 .detail-tabs button{width:100%;min-width:0;min-height:42px;padding:7px 8px;font-size:.69rem;}
html.havin-v083-rc114 .asset-service-heading-v083{align-items:flex-start;}
html.havin-v083-rc114 .asset-service-heading-v083 .button{min-width:auto;flex:0 0 auto;}

/* service plan: smart data, quiet presentation */
html.havin-v083-rc114 .service-plan-v083{gap:8px;margin-top:14px;}
html.havin-v083-rc114 .service-task-v083{grid-template-columns:38px minmax(0,1fr) auto;gap:11px;padding:13px 14px;border-radius:16px;align-items:center;}
html.havin-v083-rc114 .service-task-icon-v083{width:38px;height:38px;border-radius:12px;}
html.havin-v083-rc114 .service-task-copy-v083{gap:2px;}
html.havin-v083-rc114 .service-task-copy-v083>small{font-size:.58rem;line-height:1.3;}
html.havin-v083-rc114 .service-task-copy-v083 h3{font-size:.78rem;line-height:1.3;font-weight:700;}
html.havin-v083-rc114 .service-task-copy-v083 p{margin:1px 0;font-size:.66rem;line-height:1.35;color:#96a5b9;}
html.havin-v083-rc114 .service-task-copy-v083>div{gap:8px;font-size:.59rem;line-height:1.3;}
html.havin-v083-rc114 .service-task-state-v083{display:grid;justify-items:end;gap:7px;}
html.havin-v083-rc114 .service-task-actions-rc10{display:flex;align-items:center;gap:6px;}
html.havin-v083-rc114 .service-task-actions-rc10 .button{min-height:34px;padding:7px 10px;font-size:.63rem;}

/* warranty: summary first, source detail progressive */
html.havin-v083-rc114 .warranty-row-rc114{padding:15px 16px;border-radius:16px;display:grid;gap:9px;}
html.havin-v083-rc114 .warranty-row-heading{align-items:flex-start;gap:12px;}
html.havin-v083-rc114 .warranty-row-heading strong{font-size:.8rem;line-height:1.25;text-transform:none;}
html.havin-v083-rc114 .warranty-row-heading span:not(.warranty-state){font-size:.63rem;line-height:1.35;color:var(--rc114-text-3);}
html.havin-v083-rc114 .warranty-state{font-size:.56rem;padding:4px 7px;white-space:nowrap;}
html.havin-v083-rc114 .warranty-term-rc114{display:flex;align-items:center;gap:6px;color:#cbd6e4;font-size:.66rem;}
html.havin-v083-rc114 .warranty-summary-rc114{margin:0!important;font-size:.68rem!important;line-height:1.45!important;color:#9baabd!important;}
html.havin-v083-rc114 .warranty-facts{gap:6px 10px;font-size:.61rem;}
html.havin-v083-rc114 .warranty-actions-rc114{display:flex;flex-wrap:wrap;align-items:center;gap:7px;}
html.havin-v083-rc114 .warranty-notes-rc114{margin-top:1px;border-top:1px solid var(--rc114-line);padding-top:8px;}
html.havin-v083-rc114 .warranty-notes-rc114 summary{cursor:pointer;color:#8291a6;font-size:.62rem;font-weight:700;}
html.havin-v083-rc114 .warranty-notes-rc114 p{margin:7px 0 0!important;font-size:.64rem!important;line-height:1.45!important;color:#8190a4!important;}

/* history: one readable event, not audit-log noise */
html.havin-v083-rc114 .history-heading-rc114 .button{min-width:auto;}
html.havin-v083-rc114 .timeline-rc114{margin-top:12px;}
html.havin-v083-rc114 .timeline-rc114 .timeline-row{min-height:0;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;padding:9px 0 12px 0;align-items:start;}
html.havin-v083-rc114 .timeline-rc114 .timeline-row::before{left:18px;top:44px;bottom:-4px;}
html.havin-v083-rc114 .timeline-rc114 .timeline-marker{position:static;width:38px;height:38px;border-radius:12px;}
html.havin-v083-rc114 .timeline-copy-rc114{min-width:0;display:grid;gap:2px;}
html.havin-v083-rc114 .timeline-copy-rc114 strong{font-size:.73rem;line-height:1.35;}
html.havin-v083-rc114 .timeline-copy-rc114 p{margin:0;font-size:.63rem;line-height:1.35;color:#8291a5;}
html.havin-v083-rc114 .timeline-copy-rc114 small{font-size:.58rem;color:#6f7f95;}
html.havin-v083-rc114 .timeline-rc114 time{font-size:.6rem;color:#718198;white-space:nowrap;padding-top:2px;}
html.havin-v083-rc114 :where(.asset-vault-empty-rc114,.asset-history-empty-rc114){min-height:150px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;border:1px dashed rgba(151,171,199,.15);border-radius:16px;text-align:left;color:#75bfe8;background:rgba(255,255,255,.01);}
html.havin-v083-rc114 :where(.asset-vault-empty-rc114,.asset-history-empty-rc114)>div{max-width:500px;}
html.havin-v083-rc114 :where(.asset-vault-empty-rc114,.asset-history-empty-rc114) strong{display:block;color:#dfe8f2;font-size:.76rem;}
html.havin-v083-rc114 :where(.asset-vault-empty-rc114,.asset-history-empty-rc114) p{margin:3px 0 0;font-size:.66rem;line-height:1.45;color:#8190a4;}

/* issue modal: no white warning billboard */
html.havin-v083-rc114 .issue-helper-rc114{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid rgba(91,188,239,.16);border-radius:13px;background:rgba(91,188,239,.055);color:#8fd3f6;}
html.havin-v083-rc114 .issue-helper-rc114 p{margin:0;font-size:.68rem;line-height:1.45;color:#9baabd;}

/* ---------- Watch ---------- */
html.havin-v083-rc114 .watch-page-rc2-v083{max-width:1180px;gap:18px;}
html.havin-v083-rc114 .watch-tabs-rc3{gap:5px!important;padding:5px!important;border-radius:17px!important;}
html.havin-v083-rc114 .watch-tabs-rc3 button{min-height:54px!important;gap:6px!important;border-radius:12px!important;font-size:.67rem!important;}
html.havin-v083-rc114 .watch-tabs-rc3 button small{min-width:19px!important;height:19px!important;font-size:.53rem!important;}
html.havin-v083-rc114 .watch-context-rc2-v083{padding-top:4px;}
html.havin-v083-rc114 .watch-search-rc2-v083{min-height:46px;border-radius:14px;}
html.havin-v083-rc114 .watch-asset-group-rc2-v083{border-radius:19px;}

/* ---------- Vault ---------- */
html.havin-v083-rc114 .records-tabs-rc2-v083{gap:5px!important;padding:5px!important;border-radius:17px!important;}
html.havin-v083-rc114 .records-tabs-rc2-v083 button{min-width:0!important;min-height:50px!important;border-radius:12px!important;font-size:.65rem!important;}
html.havin-v083-rc114 .record-card-rc2-v083{border-radius:16px;}
html.havin-v083-rc114 .document-card{border-radius:16px;}

/* ---------- Assets ---------- */
html.havin-v083-rc114 .portfolio-current-rc113{min-height:70px;border-radius:16px;}
html.havin-v083-rc114 .assets-command-rc6{border-radius:15px!important;}
html.havin-v083-rc114 .asset-card-v081{border-radius:18px;overflow:hidden;}
html.havin-v083-rc114 .asset-card-image-v081{overflow:hidden;}

/* ---------- Access / Settings / Trust / forms ---------- */
html.havin-v083-rc114 .people-view-tabs{border-radius:17px!important;}
html.havin-v083-rc114 .settings-hub-card-rc7{border-radius:17px;}
html.havin-v083-rc114 .settings-row{gap:12px;}
html.havin-v083-rc114 .settings-toggle-row{gap:14px;}
html.havin-v083-rc114 .security-history-card .section-heading-row{margin-bottom:12px;}
html.havin-v083-rc114 .security-event-list{gap:8px;}
html.havin-v083-rc114 .access-table.row{min-width:0;}
html.havin-v083-rc114 .onboarding-content{max-width:980px;}
html.havin-v083-rc114 .capture-panel{border-radius:22px;}
html.havin-v083-rc114 .camera-target{border-radius:18px;}
html.havin-v083-rc114 .compact-asset-form{gap:12px;}
html.havin-v083-rc114 .transfer-section{border-radius:18px;}

/* ---------- mobile ---------- */
@media(max-width:760px){
  html.havin-v083-rc114 .page-stack{gap:15px;}
  html.havin-v083-rc114 .content-card{padding:16px;border-radius:18px;}
  html.havin-v083-rc114 .page-heading{align-items:flex-start;}
  html.havin-v083-rc114 .page-heading h1{font-size:2rem;line-height:1.05;}
  html.havin-v083-rc114 .page-heading p{font-size:.78rem;}
  html.havin-v083-rc114 :where(.card-heading,.section-heading-row){gap:12px;}
  html.havin-v083-rc114 :where(.card-heading h2,.section-heading-row h2){font-size:1.08rem;}
  html.havin-v083-rc114 :where(.card-heading p,.section-heading-row p){font-size:.7rem;}
  html.havin-v083-rc114 :where(.card-heading,.section-heading-row)>.button{min-height:38px;padding-inline:10px;font-size:.66rem;}

  html.havin-v083-rc114 .home-today-rc3{padding:15px;border-radius:20px;}
  html.havin-v083-rc114 .home-attention-item-rc3{grid-template-columns:minmax(0,1fr) auto!important;min-height:72px;}
  html.havin-v083-rc114 .home-attention-open-rc3{grid-template-columns:42px minmax(0,1fr) auto;padding:9px 8px 9px 10px;gap:9px;}
  html.havin-v083-rc114 .home-attention-photo-rc3{width:42px;height:42px;}
  html.havin-v083-rc114 .home-attention-actions-rc3{padding-right:7px;}
  html.havin-v083-rc114 .home-attention-actions-rc3 button{padding:0 6px;}

  html.havin-v083-rc114 .asset-detail-page-v083 .asset-detail-summary{padding:18px 16px;}
  html.havin-v083-rc114 .asset-detail-page-v083 .asset-detail-summary h1{font-size:1.9rem;}
  html.havin-v083-rc114 .asset-detail-actions-v081{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;}
  html.havin-v083-rc114 .asset-detail-actions-v081>.button:first-child{min-width:0;}
  html.havin-v083-rc114 .asset-quick-actions-v083{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  html.havin-v083-rc114 .asset-quick-actions-v083 button{min-height:52px!important;padding:8px 5px!important;flex-direction:column!important;gap:4px!important;}
  html.havin-v083-rc114 .asset-quick-actions-v083 button strong{font-size:.62rem;white-space:normal;line-height:1.2;}
  html.havin-v083-rc114 .asset-detail-page-v083 .detail-tabs{position:relative;top:auto;z-index:auto;}
  html.havin-v083-rc114 .asset-detail-page-v083 .detail-tabs button{min-height:40px;font-size:.62rem;}
  html.havin-v083-rc114 .asset-service-heading-v083{display:grid;grid-template-columns:minmax(0,1fr) auto;}
  html.havin-v083-rc114 .asset-service-heading-v083 .button{align-self:start;min-height:36px;padding-inline:9px;}

  html.havin-v083-rc114 .service-task-v083{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:11px;border-radius:15px;align-items:start;}
  html.havin-v083-rc114 .service-task-icon-v083{width:34px;height:34px;border-radius:11px;}
  html.havin-v083-rc114 .service-task-copy-v083 h3{font-size:.72rem;}
  html.havin-v083-rc114 .service-task-copy-v083 p{font-size:.62rem;}
  html.havin-v083-rc114 .service-task-copy-v083>div{font-size:.56rem;}
  html.havin-v083-rc114 .service-task-state-v083{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;margin-top:5px;}
  html.havin-v083-rc114 .service-task-actions-rc10{margin-left:auto;}
  html.havin-v083-rc114 .service-task-actions-rc10 .button{min-height:32px;padding:6px 8px;font-size:.58rem;}

  html.havin-v083-rc114 .warranty-row-rc114{padding:13px;gap:8px;}
  html.havin-v083-rc114 .warranty-row-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;}
  html.havin-v083-rc114 .warranty-row-heading strong{font-size:.75rem;}
  html.havin-v083-rc114 .warranty-summary-rc114{font-size:.64rem!important;}

  html.havin-v083-rc114 .timeline-rc114 .timeline-row{grid-template-columns:34px minmax(0,1fr);gap:9px;}
  html.havin-v083-rc114 .timeline-rc114 .timeline-marker{width:34px;height:34px;}
  html.havin-v083-rc114 .timeline-rc114 .timeline-row::before{left:16px;top:40px;}
  html.havin-v083-rc114 .timeline-rc114 time{grid-column:2;grid-row:auto;padding:0;font-size:.56rem;}
  html.havin-v083-rc114 .timeline-copy-rc114 strong{font-size:.69rem;}
  html.havin-v083-rc114 .timeline-copy-rc114 p{font-size:.6rem;}
  html.havin-v083-rc114 :where(.asset-vault-empty-rc114,.asset-history-empty-rc114){min-height:130px;display:grid;justify-items:center;text-align:center;padding:20px 15px;}
  html.havin-v083-rc114 .history-heading-rc114{display:grid;grid-template-columns:minmax(0,1fr) auto;}

  html.havin-v083-rc114 .watch-tabs-rc3{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  html.havin-v083-rc114 .watch-tabs-rc3 button{min-height:50px!important;display:grid!important;grid-template-rows:18px auto!important;justify-items:center!important;gap:3px!important;padding:5px 2px!important;font-size:.55rem!important;}
  html.havin-v083-rc114 .watch-tabs-rc3 button small{position:absolute!important;transform:translate(11px,-8px)!important;min-width:17px!important;height:17px!important;font-size:.48rem!important;}
  html.havin-v083-rc114 .watch-tabs-rc3 button{position:relative!important;}

  html.havin-v083-rc114 .records-tabs-rc2-v083 button{font-size:.56rem!important;padding-inline:3px!important;}
  html.havin-v083-rc114 .portfolio-current-rc113{grid-template-columns:46px minmax(0,1fr) auto;gap:10px;padding:10px;}
  html.havin-v083-rc114 .portfolio-current-visual-rc113{width:46px;height:46px;border-radius:13px;}
  html.havin-v083-rc114 .portfolio-current-primary-rc113{display:none;}
  html.havin-v083-rc114 .portfolio-current-change-rc113 span{display:none;}

  html.havin-v083-rc114 .card-heading>.button{white-space:nowrap;}
  html.havin-v083-rc114 .document-grid{grid-template-columns:1fr;gap:9px;}
  html.havin-v083-rc114 .access-table.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px;}
  html.havin-v083-rc114 .access-table.row>*{min-width:0;}
  html.havin-v083-rc114 .access-table.row .row-actions{grid-column:1/-1;justify-content:flex-end;}
  html.havin-v083-rc114 .transfer-layout{grid-template-columns:1fr!important;}
  html.havin-v083-rc114 .two-column-form{grid-template-columns:1fr;}
}

@media(max-width:430px){
  html.havin-v083-rc114 .asset-detail-page-v083 .asset-detail-summary h1{font-size:1.78rem;}
  html.havin-v083-rc114 .button{font-size:.68rem;}
  html.havin-v083-rc114 .watch-tabs-rc3 button{font-size:.51rem!important;}
  html.havin-v083-rc114 .watch-tabs-rc3 button svg{width:16px;height:16px;}
  html.havin-v083-rc114 .asset-quick-actions-v083 button strong{font-size:.58rem;}
}
/* Hāvin v0.8.3 RC12 — Security & Compliance Foundation
   Customer-facing security language stays calm and understandable; the control
   machinery remains under the surface. */

html.havin-v083-rc12 {
  --rc12-security-line: rgba(102, 195, 240, .17);
  --rc12-security-fill: rgba(63, 167, 225, .055);
  --rc12-security-muted: #8fa0b6;
}

/* Mobile drawer: compact Halo artwork must stay inside the same 24px icon column
   as the other navigation icons instead of intruding into the Halo label. */
@media (max-width: 900px) {
  html.havin-v083-rc12 .mobile-drawer-halo-rc5 > .halo-mark-image {
    width: 20px !important;
    height: 14px !important;
    max-width: 20px !important;
    justify-self: center;
    object-fit: contain;
    transform: none !important;
    filter: brightness(1.04) drop-shadow(0 0 5px rgba(63,167,225,.28));
  }
}

/* Trust Center: security concepts first, legal/technical detail second. */
html.havin-v083-rc12 .trust-security-overview-rc12 {
  display: grid;
  gap: 16px;
  margin: 0 0 20px;
  padding: 22px;
  border: 1px solid var(--rc12-security-line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 5% 0%, rgba(63,167,225,.08), transparent 22rem),
    rgba(255,255,255,.018);
}
html.havin-v083-rc12 .trust-security-overview-heading-rc12 { max-width: 760px; }
html.havin-v083-rc12 .trust-security-overview-heading-rc12 h2 {
  margin: 5px 0 0;
  color: #eef5fb;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.12;
  font-weight: 720;
  letter-spacing: -.025em;
}
html.havin-v083-rc12 .trust-security-overview-heading-rc12 p {
  margin: 7px 0 0;
  color: #93a3b8;
  font-size: .8rem;
  line-height: 1.5;
}
html.havin-v083-rc12 .trust-security-principles-rc12 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
html.havin-v083-rc12 .trust-security-principles-rc12 article {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(150,174,203,.12);
  border-radius: 16px;
  background: rgba(6,12,23,.23);
}
html.havin-v083-rc12 .trust-security-principles-rc12 article > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #7bcdf3;
  background: rgba(63,167,225,.08);
}
html.havin-v083-rc12 .trust-security-principles-rc12 strong {
  display: block;
  color: #e8f0f8;
  font-size: .8rem;
  font-weight: 730;
}
html.havin-v083-rc12 .trust-security-principles-rc12 p {
  margin: 4px 0 0;
  color: var(--rc12-security-muted);
  font-size: .74rem;
  line-height: 1.48;
}
html.havin-v083-rc12 .trust-security-status-rc12 {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(150,174,203,.11);
  color: #7f90a6;
  font-size: .72rem;
  line-height: 1.48;
}
html.havin-v083-rc12 .trust-security-status-rc12 strong { color: #a9b8c9; }
html.havin-v083-rc12 .trust-shortcut-rc12 .security-subheading { align-items: center; }

@media (max-width: 1050px) {
  html.havin-v083-rc12 .trust-security-principles-rc12 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  html.havin-v083-rc12 .trust-security-overview-rc12 { padding: 17px; border-radius: 18px; gap: 13px; }
  html.havin-v083-rc12 .trust-security-principles-rc12 { grid-template-columns: 1fr; }
  html.havin-v083-rc12 .trust-security-principles-rc12 article { padding: 12px; }
  html.havin-v083-rc12 .trust-shortcut-rc12 .security-subheading { align-items: flex-start; }
}
/* Hāvin v0.8.3 RC12.2 — platform polish + content consistency */
html.havin-v083-rc122 {
  --rc122-line: rgba(147, 170, 199, .14);
  --rc122-muted: #8f9db2;
  --rc122-soft: #b6c3d4;
}

/* Dashboard Halo: compact brand cue, not a second app icon. */
html.havin-v083-rc122 .home-halo-icon-rc5 {
  width: 32px;
  min-width: 32px;
  height: 32px;
  border-radius: 13px;
}
html.havin-v083-rc122 .home-halo-icon-rc5 img,
html.havin-v083-rc122 .home-halo-icon-rc5 .halo-mark-image {
  width: 30px !important;
  max-width: 30px;
  height: auto !important;
}
html.havin-v083-rc122 .home-ask-rc3 {
  grid-template-columns: 32px minmax(0,1fr) auto;
  gap: 12px;
}

/* Add Asset: integrated mobile header and an explicit optional third-photo affordance. */
html.havin-v083-rc122 .streamlined-asset-onboarding .onboarding-header {
  min-height: 58px;
  padding-block: 6px;
  border-bottom: 0;
}
html.havin-v083-rc122 .streamlined-asset-onboarding .onboarding-header h1 {
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
html.havin-v083-rc122 .streamlined-capture .capture-heading-row { align-items: end; }
html.havin-v083-rc122 .streamlined-capture .capture-heading-row h2 { margin-bottom: 6px; }
html.havin-v083-rc122 .streamlined-capture .capture-heading-row p { max-width: 62ch; }
html.havin-v083-rc122 .supporting-photo-row-rc122 { margin-top: 12px; }
html.havin-v083-rc122 .add-supporting-photo-rc122,
html.havin-v083-rc122 .supporting-photo-card-rc122 {
  width: 100%;
  border: 1px dashed rgba(93, 193, 240, .28);
  border-radius: 16px;
  background: rgba(8, 18, 34, .42);
}
html.havin-v083-rc122 .add-supporting-photo-rc122 {
  min-height: 68px;
  padding: 13px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #91d7f7;
  text-align: left;
}
html.havin-v083-rc122 .add-supporting-photo-rc122 span { display: grid; gap: 2px; }
html.havin-v083-rc122 .add-supporting-photo-rc122 strong { color: #dce8f5; font-size: .88rem; }
html.havin-v083-rc122 .add-supporting-photo-rc122 small { color: var(--rc122-muted); font-size: .73rem; line-height: 1.35; }
html.havin-v083-rc122 .supporting-photo-card-rc122 { padding: 8px; display: flex; gap: 8px; align-items: center; }
html.havin-v083-rc122 .supporting-photo-preview-rc122 { flex: 1; min-width: 0; display: flex; gap: 12px; align-items: center; text-align: left; color: inherit; }
html.havin-v083-rc122 .supporting-photo-preview-rc122 img { width: 64px; height: 52px; object-fit: cover; border-radius: 11px; }
html.havin-v083-rc122 .supporting-photo-preview-rc122 span { display: grid; gap: 2px; }
html.havin-v083-rc122 .supporting-photo-preview-rc122 small { color: var(--rc122-muted); }
html.havin-v083-rc122 .supporting-photo-remove-rc122 { padding-inline: 10px; }

/* Platform-wide reading rhythm. Keep the dining room calm. */
html.havin-v083-rc122 .content-card > .card-heading h2,
html.havin-v083-rc122 :where(.page-header,.page-heading) h1,
html.havin-v083-rc122 .section-heading h2 { text-wrap: balance; }
html.havin-v083-rc122 .card-heading p,
html.havin-v083-rc122 .muted,
html.havin-v083-rc122 .supporting-copy { color: var(--rc122-muted); line-height: 1.5; }
html.havin-v083-rc122 .button { min-height: 42px; }
html.havin-v083-rc122 .button-small { min-height: 36px; }
html.havin-v083-rc122 .field > span,
html.havin-v083-rc122 label.field > span { font-weight: 650; letter-spacing: .005em; }
html.havin-v083-rc122 input,
html.havin-v083-rc122 select,
html.havin-v083-rc122 textarea { line-height: 1.35; }

/* Asset detail: setup/history should read as finished product copy. */
html.havin-v083-rc122 .maintenance-preview-row > div > strong,
html.havin-v083-rc122 .service-task-copy-v083 h3 { line-height: 1.25; text-wrap: pretty; }
html.havin-v083-rc122 .timeline-rc114 .timeline-content strong { line-height: 1.3; }
html.havin-v083-rc122 .timeline-rc114 .timeline-content small { color: #8291a7; }
html.havin-v083-rc122 .asset-components-card-v081 .muted { max-width: 68ch; }

/* Mobile: reduce oversized chrome and preserve comfortable gutters. */
@media (max-width: 720px) {
  html.havin-v083-rc122 .page-stack { gap: 18px; }
  html.havin-v083-rc122 .content-card { border-radius: 20px; }
  html.havin-v083-rc122 .streamlined-asset-onboarding .onboarding-header { min-height:52px; padding:4px 6px; }
  html.havin-v083-rc122 .streamlined-asset-onboarding .onboarding-header h1 { font-size:1.45rem; }
  html.havin-v083-rc122 .asset-guide-label { display: none; }
  html.havin-v083-rc122 .capture-photo-grid { gap: 10px; }
  html.havin-v083-rc122 .capture-photo-card { min-height: 154px; }
  html.havin-v083-rc122 .home-hero-actions-rc3 { gap: 10px; }
  html.havin-v083-rc122 .home-ask-rc3 { min-height: 70px; padding: 10px 12px; }
}

/* RC12.2 final visual overrides: remove leftover legacy chrome instead of layering over it. */
html.havin-v083-rc122 .home-halo-icon-rc5 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: grid;
  place-items: center;
  overflow: visible;
}
html.havin-v083-rc122 .home-halo-icon-rc5 .halo-mark-image {
  width: 27px !important;
  max-width: 27px !important;
  filter: drop-shadow(0 0 5px rgba(63,167,225,.20));
}
html.havin-v083-rc122 .home-setup-note-rc114 {
  width: auto;
  min-height: 34px;
  margin: 8px 0 0;
  padding: 4px 2px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8292a8;
}
html.havin-v083-rc122 .streamlined-asset-onboarding .onboarding-header {
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}
html.havin-v083-rc122 .mobile-drawer-halo-rc5 {
  overflow: hidden;
}
html.havin-v083-rc122 .mobile-drawer-halo-rc5 > .halo-mark-image {
  width: 18px !important;
  max-width: 18px !important;
  height: 13px !important;
  object-fit: contain;
  justify-self: center;
  transform: none !important;
  margin: 0 !important;
}

/* Asset photo controls: primary image remains dominant; the optional supporting view is secondary. */
html.havin-v083-rc122 .asset-detail-image { position: relative; }
html.havin-v083-rc122 .asset-photo-actions-rc122 {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 28px);
}
html.havin-v083-rc122 .asset-photo-actions-rc122 .image-edit,
html.havin-v083-rc122 .asset-photo-actions-rc122 .image-supporting-edit-rc122 {
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(184,207,230,.18);
  border-radius: 12px;
  background: rgba(5,11,22,.82);
  color: #e7eff8;
  font-size: .7rem;
  font-weight: 700;
  backdrop-filter: blur(12px);
}
html.havin-v083-rc122 .asset-photo-actions-rc122 .image-supporting-edit-rc122 { color: #9bdcf8; }
html.havin-v083-rc122 .asset-supporting-thumb-rc122 {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 3;
  width: 76px;
  padding: 4px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(184,207,230,.20);
  border-radius: 13px;
  background: rgba(5,11,22,.84);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}
html.havin-v083-rc122 .asset-supporting-thumb-rc122 img {
  width: 100%;
  height: 48px;
  object-fit: cover;
  border-radius: 9px;
}
html.havin-v083-rc122 .asset-supporting-thumb-rc122 span {
  color: #b9c8d9;
  font-size: .54rem;
  font-weight: 700;
  text-align: center;
}

/* Consistent product hierarchy across routes. */
html.havin-v083-rc122 :where(.page-header,.card-heading,.section-heading-row) :where(h1,h2,h3) {
  color: #f1f5fa;
  text-wrap: balance;
}
html.havin-v083-rc122 :where(.page-header,.page-heading) h1 {
  font-size: clamp(2rem,4vw,3.1rem);
  line-height: 1.02;
  font-weight: 780;
  letter-spacing: -.045em;
}
html.havin-v083-rc122 :where(.page-header,.page-heading) p {
  max-width: 64ch;
  color: #93a1b5;
  font-size: .9rem;
  line-height: 1.5;
}
html.havin-v083-rc122 :where(.content-card,.section-block,.access-table-card,.maintenance-board,.filter-bar) {
  border-color: rgba(147,170,199,.14);
}
html.havin-v083-rc122 :where(.filter-bar,.compact-filters) {
  align-items: center;
  gap: 10px;
}
html.havin-v083-rc122 :where(.button,.text-button,.icon-button,button) { -webkit-tap-highlight-color: transparent; }
html.havin-v083-rc122 :where(.button,.icon-button):disabled { cursor: not-allowed; }
html.havin-v083-rc122 .quiet-state p { max-width: 58ch; line-height: 1.5; }

@media (max-width: 720px) {
  html.havin-v083-rc122 :where(.page-header,.page-heading) { gap: 12px; }
  html.havin-v083-rc122 :where(.page-header,.page-heading) h1 { font-size: 2rem; }
  html.havin-v083-rc122 :where(.page-header,.page-heading) p { font-size: .82rem; }
  html.havin-v083-rc122 .asset-photo-actions-rc122 {
    left: 10px;
    bottom: 10px;
    gap: 6px;
  }
  html.havin-v083-rc122 .asset-photo-actions-rc122 .image-edit,
  html.havin-v083-rc122 .asset-photo-actions-rc122 .image-supporting-edit-rc122 {
    min-height: 36px;
    padding-inline: 9px;
    font-size: .64rem;
  }
  html.havin-v083-rc122 .asset-supporting-thumb-rc122 {
    right: 10px;
    bottom: 54px;
    width: 66px;
  }
  html.havin-v083-rc122 .asset-supporting-thumb-rc122 img { height: 42px; }
}

/* RC12.2 full-platform finish pass: consistent spacing, alignment, and responsive actions. */
html.havin-v083-rc122 :where(
  .assets-page,
  .asset-detail-page,
  .watch-page,
  .records-page,
  .people-page,
  .settings-page,
  .create-portfolio-page,
  .edit-portfolio-page,
  .buyer-preview-page,
  .transfers-page,
  .create-transfer-page,
  .accept-transfer-page,
  .transfer-success-page,
  .hv60-platform-page,
  .hv60-stack
) {
  min-width: 0;
  width: 100%;
}
html.havin-v083-rc122 :where(.page-header,.page-heading) {
  align-items: flex-end;
  gap: 18px;
  padding-bottom: 2px;
}
html.havin-v083-rc122 :where(.page-header-actions,.page-heading-actions) {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}
html.havin-v083-rc122 :where(.content-card,.section-block) > .card-heading {
  align-items: flex-start;
  gap: 16px;
}
html.havin-v083-rc122 :where(.content-card,.section-block) > .card-heading h2 {
  line-height: 1.12;
  letter-spacing: -.025em;
}
html.havin-v083-rc122 :where(.content-card,.section-block) > .card-heading p {
  max-width: 68ch;
  line-height: 1.5;
}
html.havin-v083-rc122 .modal-actions,
html.havin-v083-rc122 .portfolio-create-actions,
html.havin-v083-rc122 .transfer-actions {
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}
html.havin-v083-rc122 .empty-page,
html.havin-v083-rc122 .empty-state,
html.havin-v083-rc122 .empty-watch-rc2-v083 {
  min-width: 0;
}
html.havin-v083-rc122 :where(.empty-page,.empty-state,.empty-watch-rc2-v083) p {
  max-width: 58ch;
  line-height: 1.55;
}
html.havin-v083-rc122 .capture-portfolio-control-rc4 {
  min-width: 0;
}
html.havin-v083-rc122 .capture-portfolio-picker,
html.havin-v083-rc122 .capture-portfolio-picker select {
  min-width: 0;
  max-width: 100%;
}
html.havin-v083-rc122 .capture-portfolio-picker select {
  text-overflow: ellipsis;
}
html.havin-v083-rc122 :where(.settings-content,.access-workspace,.transfer-layout,.portfolio-edit-layout) {
  min-width: 0;
}
html.havin-v083-rc122 :where(.security-event-list,.timeline-rc114) strong {
  text-wrap: pretty;
}
html.havin-v083-rc122 .status-badge {
  white-space: nowrap;
}
html.havin-v083-rc122 :where(.button,.text-button) {
  text-wrap: balance;
}

@media (max-width: 720px) {
  html.havin-v083-rc122 :where(.page-header,.page-heading) {
    align-items: flex-start;
  }
  html.havin-v083-rc122 :where(.page-header-actions,.page-heading-actions) {
    width: 100%;
    justify-content: stretch;
  }
  html.havin-v083-rc122 :where(.page-header-actions,.page-heading-actions) > .button {
    flex: 1 1 140px;
    justify-content: center;
  }
  html.havin-v083-rc122 .content-card {
    gap: 16px;
  }
  html.havin-v083-rc122 .modal-actions,
  html.havin-v083-rc122 .portfolio-create-actions,
  html.havin-v083-rc122 .transfer-actions {
    width: 100%;
  }
  html.havin-v083-rc122 :where(.modal-actions,.portfolio-create-actions,.transfer-actions) > .button {
    flex: 1 1 120px;
    justify-content: center;
  }
  html.havin-v083-rc122 .capture-portfolio-control-rc4 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end !important;
    gap: 8px;
  }
  html.havin-v083-rc122 .portfolio-inline-add-rc4 {
    min-width: 72px;
    justify-content: center;
  }
  html.havin-v083-rc122 .asset-detail-title-row {
    gap: 14px;
  }
  html.havin-v083-rc122 .asset-detail-title-row h1 {
    text-wrap: balance;
  }
  html.havin-v083-rc122 .settings-content > .content-card,
  html.havin-v083-rc122 .transfer-section,
  html.havin-v083-rc122 .portfolio-create-form,
  html.havin-v083-rc122 .portfolio-edit-form {
    overflow: hidden;
  }
}

/* Keep small utility actions readable instead of wrapping into tall button blocks. */
html.havin-v083-rc122 .asset-service-heading-v083 > .button,
html.havin-v083-rc122 .card-heading > .text-link,
html.havin-v083-rc122 .page-heading-actions > .button { white-space: nowrap; }
/* Hāvin v0.8.3 RC12.3 — ownership intelligence, runtime polish, and readability floor. */
html.havin-v083-rc123 {
  --rc123-primary: #f2f6fb;
  --rc123-secondary: #b7c5d6;
  --rc123-tertiary: #9eafc3;
  --rc123-focus: rgba(63, 167, 225, .20);
}

/* Platform-wide readability floor. Meaningful customer copy should be readable without zooming. */
html.havin-v083-rc123 body { font-size: 16px; }
html.havin-v083-rc123 :where(p,.supporting-copy,.muted,.quiet-state p,.card-heading p,.page-header p,.page-heading p) {
  color: var(--rc123-secondary);
  font-size: .95rem;
  line-height: 1.55;
}
html.havin-v083-rc123 :where(.eyebrow,.rail-section-label-rc3) {
  font-size: .76rem;
  line-height: 1.2;
}
html.havin-v083-rc123 :where(.button,.text-button,.text-link,.inline-link,.back-link) {
  font-size: .94rem;
}
html.havin-v083-rc123 .button-small { font-size: .88rem; min-height: 38px; }
html.havin-v083-rc123 :where(.field,.select-control,.hint-field) { font-size: .91rem; }
html.havin-v083-rc123 :where(.field small,.form-trust-note,.record-summary p) { font-size: .86rem; color: var(--rc123-secondary); }
html.havin-v083-rc123 :where(input,select,textarea) { font-size: 1rem; }

/* Bottom/side navigation remains compact but no longer tiny. */
html.havin-v083-rc123 :where(.mobile-nav,.app-bottom-nav,.bottom-nav) :where(span,small) { font-size: .82rem; }
html.havin-v083-rc123 :where(.rail-link,.settings-nav a) { font-size: .9rem; }
html.havin-v083-rc123 :where(.profile-chip strong,.rail-plan-rc3 strong) { font-size: .86rem; }
html.havin-v083-rc123 :where(.profile-chip span:not(.avatar),.rail-plan-rc3 small,.rail-plan-action-rc3) { font-size: .78rem; }

/* Assets, Watch, service, history, records: metadata is secondary, not microscopic. */
html.havin-v083-rc123 :where(
  .watch-asset-identity p,
  .watch-item-copy p,
  .watch-item-meta,
  .watch-item-kicker-rc2-v083,
  .watch-next-rc2-v083,
  .service-task-copy-v083 p,
  .service-task-copy-v083 small,
  .service-task-meta-v083,
  .timeline-content small,
  .asset-table-row,
  .asset-table-row a small,
  .asset-table-row > span small,
  .pagination-bar,
  .service-history-copy p,
  .service-history-attachment-copy small,
  .portfolio-overview-card small
) {
  font-size: .86rem;
  color: var(--rc123-tertiary);
  line-height: 1.45;
}
html.havin-v083-rc123 :where(.watch-item-copy h3,.service-task-copy-v083 h3,.maintenance-task-cell strong) {
  font-size: 1.08rem;
  line-height: 1.28;
}
html.havin-v083-rc123 :where(.watch-asset-identity h2,.content-card .card-heading h2) { font-size: 1.35rem; }
html.havin-v083-rc123 :where(.status-badge,.readonly-label,.watch-passive-rc2-v083) { font-size: .86rem; }
html.havin-v083-rc123 .maintenance-board-row { font-size: .9rem; }
html.havin-v083-rc123 .maintenance-board-row small { font-size: .82rem; color: var(--rc123-tertiary); }
html.havin-v083-rc123 .maintenance-board-header { font-size: .78rem; }

/* Keep low-priority controls readable across Settings, Access and transfers. */
html.havin-v083-rc123 :where(
  .security-control strong,.security-subheading strong,.device-row strong,.preference-row strong,
  .transfer-list-copy strong,.transfer-summary-card dd,.responsibility-heading strong,.visible-owner-work strong
) { font-size: .9rem; }
html.havin-v083-rc123 :where(
  .security-control small,.security-subheading small,.device-row small,.preference-row small,
  .security-event-list > div > div > span,.transfer-scope-toggle small,.transfer-destination-toggle small,
  .transfer-record-note,.buyer-preview-disclaimer,.transfer-summary-card dt,.transfer-list-copy span,
  .transfer-list-copy small,.responsibility-heading span,.visible-owner-work span,.plan-capabilities > span
) { font-size: .82rem; line-height: 1.45; color: var(--rc123-tertiary); }

/* Exact Watch deep links land on a visibly focused record without opening a disconnected page. */
html.havin-v083-rc123 .focus-target-rc123 {
  border-color: rgba(63, 167, 225, .58) !important;
  box-shadow: 0 0 0 3px var(--rc123-focus), 0 18px 44px rgba(5, 15, 34, .28) !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}

/* Manufacturer guidance that is not an active repeating service reminder. */
html.havin-v083-rc123 .service-guidance-group-rc123,
html.havin-v083-rc123 .maintenance-guidance-rc123 details {
  border: 1px solid rgba(147,170,199,.14);
  border-radius: 18px;
  background: rgba(8,18,34,.38);
  overflow: hidden;
}
html.havin-v083-rc123 .service-guidance-group-rc123 summary,
html.havin-v083-rc123 .maintenance-guidance-rc123 summary {
  min-height: 60px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}
html.havin-v083-rc123 .service-guidance-group-rc123 summary > span,
html.havin-v083-rc123 .maintenance-guidance-rc123 summary > span { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
html.havin-v083-rc123 .service-guidance-group-rc123 summary strong,
html.havin-v083-rc123 .maintenance-guidance-rc123 summary strong { color: var(--rc123-primary); font-size: 1rem; }
html.havin-v083-rc123 .service-guidance-group-rc123 summary small,
html.havin-v083-rc123 .maintenance-guidance-rc123 summary small { color: var(--rc123-tertiary); font-size: .84rem; }
html.havin-v083-rc123 .service-guidance-list-rc123,
html.havin-v083-rc123 .maintenance-guidance-rc123 details > div { border-top: 1px solid rgba(147,170,199,.12); }
html.havin-v083-rc123 .service-guidance-item-rc123,
html.havin-v083-rc123 .maintenance-guidance-rc123 details article {
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(147,170,199,.10);
}
html.havin-v083-rc123 .service-guidance-item-rc123:last-child,
html.havin-v083-rc123 .maintenance-guidance-rc123 details article:last-child { border-bottom: 0; }
html.havin-v083-rc123 .service-guidance-item-rc123 h3 { margin: 2px 0 4px; color: var(--rc123-primary); font-size: 1.04rem; }
html.havin-v083-rc123 .service-guidance-item-rc123 p { margin: 0; font-size: .9rem; }
html.havin-v083-rc123 .service-guidance-item-rc123 > strong,
html.havin-v083-rc123 .maintenance-guidance-rc123 article > small { color: #8fd5f5; font-size: .86rem; white-space: nowrap; }
html.havin-v083-rc123 .service-applicability-rc123 { color: var(--rc123-tertiary); font-size: .84rem; line-height: 1.4; }
html.havin-v083-rc123 .maintenance-guidance-rc123 { display: grid; gap: 12px; }
html.havin-v083-rc123 .maintenance-guidance-rc123 article div { display: grid; gap: 3px; }
html.havin-v083-rc123 .maintenance-guidance-rc123 article div strong { color: var(--rc123-primary); font-size: .98rem; }
html.havin-v083-rc123 .maintenance-guidance-rc123 article div span { color: var(--rc123-tertiary); font-size: .84rem; }

/* Halo: concise answer first, then exact facts and an explicit user-controlled next step. */
html.havin-v083-rc123 .halo-message-assistant p,
html.havin-v083-rc123 .halo-answer-copy { font-size: 1rem; line-height: 1.5; color: #d4deeb; }
html.havin-v083-rc123 .halo-facts-rc123 {
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 7px;
  list-style: none;
}
html.havin-v083-rc123 .halo-facts-rc123 li {
  padding-left: 14px;
  position: relative;
  color: #eef5fb;
  font-size: .94rem;
  line-height: 1.4;
}
html.havin-v083-rc123 .halo-facts-rc123 li::before { content: '•'; position: absolute; left: 0; color: #67c9f4; }
html.havin-v083-rc123 .halo-follow-up-rc123 {
  margin-top: 12px;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid rgba(63,167,225,.32);
  border-radius: 12px;
  background: rgba(30,58,138,.18);
  color: #9eddf8;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 720px) {
  html.havin-v083-rc123 :where(.page-header,.page-heading) p { font-size: .94rem; }
  html.havin-v083-rc123 :where(.button,.text-button,.text-link) { font-size: .93rem; }
  html.havin-v083-rc123 .button-small { font-size: .9rem; }
  html.havin-v083-rc123 .service-guidance-item-rc123,
  html.havin-v083-rc123 .maintenance-guidance-rc123 details article { flex-direction: column; gap: 8px; }
  html.havin-v083-rc123 .service-guidance-item-rc123 > strong,
  html.havin-v083-rc123 .maintenance-guidance-rc123 article > small { white-space: normal; }
}

/* RC12.3 composition pass — calm, touch-first product layout rather than desktop cards squeezed onto a phone. */
html.havin-v083-rc123 :where(.page-content,.app-content) {
  min-width: 0;
}
html.havin-v083-rc123 :where(.page-stack,.assets-page,.asset-detail-page,.watch-page,.records-page,.people-page,.settings-page) {
  min-width: 0;
}
html.havin-v083-rc123 :where(.content-card,.section-block,.watch-asset-group-rc2-v083,.modal) {
  min-width: 0;
}
html.havin-v083-rc123 :where(.content-card,.section-block) > .card-heading {
  align-items: flex-start;
  gap: 14px;
}
html.havin-v083-rc123 :where(.page-header-actions,.page-heading-actions,.modal-actions,.transfer-actions) {
  gap: 10px;
  flex-wrap: wrap;
}
html.havin-v083-rc123 :where(.button,.icon-button,.watch-dismiss-rc4,.watch-snooze-rc4) {
  min-height: 42px;
}

/* Service: keep the source/task hierarchy obvious and move actions out of the copy column. */
html.havin-v083-rc123 .service-plan-v083 { gap: 12px; }
html.havin-v083-rc123 .service-task-v083 {
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: start;
  gap: 13px;
  padding: 16px;
  border-radius: 18px;
}
html.havin-v083-rc123 .service-task-icon-v083 { width: 42px; height: 42px; border-radius: 13px; }
html.havin-v083-rc123 .service-task-copy-v083 { gap: 4px; }
html.havin-v083-rc123 .service-task-copy-v083 > small { font-size: .86rem; line-height: 1.35; color: var(--rc123-tertiary); }
html.havin-v083-rc123 .service-task-copy-v083 h3 { font-size: 1.08rem; line-height: 1.28; }
html.havin-v083-rc123 .service-task-copy-v083 p { margin: 1px 0; font-size: .96rem; line-height: 1.48; color: var(--rc123-secondary); }
html.havin-v083-rc123 .service-task-copy-v083 > div { gap: 8px 13px; font-size: .88rem; line-height: 1.4; color: var(--rc123-tertiary); }
html.havin-v083-rc123 .service-task-state-v083 { align-self: stretch; display: grid; justify-items: end; align-content: start; gap: 9px; }
html.havin-v083-rc123 .service-task-actions-rc10 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
html.havin-v083-rc123 .service-task-actions-rc10 .button { min-height: 40px; padding: 0 13px; font-size: .9rem; }
html.havin-v083-rc123 .service-history-v083 > summary strong { font-size: .94rem; }
html.havin-v083-rc123 .service-history-v083 > summary small { font-size: .84rem; color: var(--rc123-tertiary); }

/* Warranty and asset details were still inheriting launch-polish microtype. */
html.havin-v083-rc123 .warranty-row-rc114 { padding: 16px; gap: 10px; }
html.havin-v083-rc123 .warranty-row-heading strong { font-size: 1rem; line-height: 1.3; }
html.havin-v083-rc123 .warranty-row-heading span:not(.warranty-state) { font-size: .86rem; line-height: 1.4; color: var(--rc123-tertiary); }
html.havin-v083-rc123 .warranty-state { font-size: .8rem; }
html.havin-v083-rc123 .warranty-term-rc114 { font-size: .9rem; }
html.havin-v083-rc123 .warranty-summary-rc114 { font-size: .92rem !important; line-height: 1.5 !important; color: var(--rc123-secondary) !important; }
html.havin-v083-rc123 .warranty-facts { font-size: .86rem; gap: 8px 13px; }
html.havin-v083-rc123 .asset-detail-page-v083 .detail-tabs button { min-height: 44px; font-size: .9rem; }
html.havin-v083-rc123 .asset-quick-actions-v083 button strong { font-size: .86rem; line-height: 1.25; }

/* Watch: readable information density and predictable action grouping. */
html.havin-v083-rc123 .watch-tabs-rc2-v083 button { min-height: 44px; padding: 0 13px; font-size: .82rem; }
html.havin-v083-rc123 .watch-tabs-rc2-v083 button small { font-size: .72rem; }
html.havin-v083-rc123 .watch-context-rc2-v083 strong { font-size: 1.12rem; }
html.havin-v083-rc123 .watch-context-rc2-v083 span { font-size: .9rem; color: var(--rc123-tertiary); }
html.havin-v083-rc123 .watch-asset-header-rc2-v083 { padding: 15px 17px; gap: 13px; }
html.havin-v083-rc123 .watch-asset-identity-rc2-v083 > span { font-size: .78rem; line-height: 1.3; }
html.havin-v083-rc123 .watch-asset-identity-rc2-v083 h2 { font-size: 1.12rem; line-height: 1.25; }
html.havin-v083-rc123 .watch-asset-identity-rc2-v083 p { font-size: .88rem; line-height: 1.4; }
html.havin-v083-rc123 .watch-group-count-rc2-v083 { font-size: .82rem; }
html.havin-v083-rc123 .watch-item-row-rc2-v083 {
  grid-template-columns: 7px minmax(0,1fr) auto;
  align-items: start;
  gap: 14px;
  padding: 17px;
}
html.havin-v083-rc123 .watch-item-copy-rc2-v083 { gap: 5px; }
html.havin-v083-rc123 .watch-item-kicker-rc2-v083 { font-size: .82rem; line-height: 1.35; }
html.havin-v083-rc123 .watch-item-copy-rc2-v083 h3 { font-size: 1.08rem; line-height: 1.3; }
html.havin-v083-rc123 .watch-item-copy-rc2-v083 p { font-size: .94rem; line-height: 1.5; color: var(--rc123-secondary); }
html.havin-v083-rc123 .watch-next-rc2-v083 { font-size: .9rem; line-height: 1.45; }
html.havin-v083-rc123 .watch-next-rc2-v083 span { font-size: .76rem; }
html.havin-v083-rc123 .watch-item-actions-rc2-v083 { align-self: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
html.havin-v083-rc123 .watch-item-actions-rc2-v083 .button { min-height: 42px; font-size: .9rem; }
html.havin-v083-rc123 .watch-dismiss-rc4 { font-size: .88rem; }

/* Halo: the answer is the focal point; controls stay secondary and comfortably tappable. */
html.havin-v083-rc123 .halo-workspace-rc9 { gap: 14px; }
html.havin-v083-rc123 .halo-thread-rc9 { display: grid; gap: 12px; }
html.havin-v083-rc123 .halo-answer-rc5,
html.havin-v083-rc123 .halo-message-rc9 { border-radius: 18px; }
html.havin-v083-rc123 .halo-answer-content-rc5 { min-width: 0; }
html.havin-v083-rc123 .halo-composer-rc9 { padding: 12px !important; border-radius: 17px !important; }
html.havin-v083-rc123 .halo-composer-rc9 textarea { min-height: 66px !important; font-size: 1rem !important; line-height: 1.5 !important; }
html.havin-v083-rc123 .halo-send-rc5 { min-height: 44px; }
html.havin-v083-rc123 .halo-sources-rc5 summary,
html.havin-v083-rc123 .halo-session-note-bottom-rc112 { font-size: .86rem; line-height: 1.45; }

/* Forms and dialogs: no tiny side-by-side controls when the phone has no room for them. */
html.havin-v083-rc123 .modal-content { min-width: 0; }
html.havin-v083-rc123 .modal-form { gap: 16px; }
html.havin-v083-rc123 .modal-note { font-size: .9rem; line-height: 1.5; color: var(--rc123-secondary); }
html.havin-v083-rc123 :where(.form-grid,.two-column-form) { min-width: 0; }

@media (max-width: 720px) {
  html.havin-v083-rc123 .page-content {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: calc(118px + env(safe-area-inset-bottom));
  }
  html.havin-v083-rc123 .page-stack { gap: 18px; }
  html.havin-v083-rc123 :where(.content-card,.section-block) { border-radius: 20px; }

  html.havin-v083-rc123 .service-task-v083 {
    grid-template-columns: 40px minmax(0,1fr);
    gap: 11px;
    padding: 15px 14px;
  }
  html.havin-v083-rc123 .service-task-icon-v083 { width: 40px; height: 40px; }
  html.havin-v083-rc123 .service-task-state-v083 {
    grid-column: 2;
    justify-items: start;
    align-self: auto;
    margin-top: 6px;
  }
  html.havin-v083-rc123 .service-task-actions-rc10 { margin-left: 0; justify-content: flex-start; width: 100%; }
  html.havin-v083-rc123 .service-task-actions-rc10 .button { min-height: 44px; padding-inline: 14px; }

  html.havin-v083-rc123 .watch-context-rc2-v083 { grid-template-columns: 1fr; gap: 12px; }
  html.havin-v083-rc123 .watch-search-rc2-v083 { min-height: 48px; }
  html.havin-v083-rc123 .watch-asset-header-rc2-v083 {
    grid-template-columns: 48px minmax(0,1fr) auto;
    padding: 14px;
  }
  html.havin-v083-rc123 .watch-asset-visual-rc2-v083 { width: 48px; height: 48px; }
  html.havin-v083-rc123 .watch-view-asset { grid-column: 2 / -1; justify-self: start; min-height: 36px; }
  html.havin-v083-rc123 .watch-item-row-rc2-v083 {
    grid-template-columns: 6px minmax(0,1fr);
    gap: 11px;
    padding: 16px 14px;
  }
  html.havin-v083-rc123 .watch-item-actions-rc2-v083 {
    grid-column: 2;
    width: 100%;
    justify-content: flex-start;
    margin-top: 7px;
  }
  html.havin-v083-rc123 .watch-item-actions-rc2-v083 .button,
  html.havin-v083-rc123 .watch-dismiss-rc4,
  html.havin-v083-rc123 .watch-snooze-rc4 { min-height: 44px; }

  html.havin-v083-rc123 .halo-shell-rc9 { padding-left: 12px; padding-right: 12px; padding-bottom: calc(108px + env(safe-area-inset-bottom)); }
  html.havin-v083-rc123 .halo-message-rc9 { max-width: 100% !important; }
  html.havin-v083-rc123 .halo-composer-actions-rc5 { gap: 9px; align-items: center; }
  html.havin-v083-rc123 .halo-composer-actions-rc5 small { font-size: .8rem; line-height: 1.4; }

  html.havin-v083-rc123 :where(.form-grid,.two-column-form) { grid-template-columns: 1fr; }
  html.havin-v083-rc123 :where(.form-grid,.two-column-form) .span-2 { grid-column: auto; }
  html.havin-v083-rc123 :where(.modal-actions,.portfolio-create-actions,.transfer-actions) { display: grid; grid-template-columns: 1fr; width: 100%; }
  html.havin-v083-rc123 :where(.modal-actions,.portfolio-create-actions,.transfer-actions) > .button { width: 100%; min-height: 46px; }
}

@media (max-width: 390px) {
  html.havin-v083-rc123 .page-content { padding-left: 13px; padding-right: 13px; }
  html.havin-v083-rc123 .service-task-v083,
  html.havin-v083-rc123 .watch-item-row-rc2-v083 { padding-left: 12px; padding-right: 12px; }
  html.havin-v083-rc123 .watch-tabs-rc2-v083 button { padding-inline: 10px; }
}

/* ========================================================================== */
/* RC12.3 final platform-coherence pass                                      */
/* Portfolio → optional Group → Asset → Records. Calm, aligned, mobile-first. */
/* ========================================================================== */

html.havin-v083-rc123 {
  --rc123-gutter: clamp(16px, 2.2vw, 28px);
  --rc123-card: rgba(11, 22, 40, .72);
  --rc123-card-soft: rgba(255,255,255,.028);
  --rc123-line: rgba(151, 171, 198, .16);
  --rc123-line-strong: rgba(108, 197, 238, .30);
}

/* Shared rhythm: the same visual grammar across every destination. */
html.havin-v083-rc123 .page-stack { gap: 20px; }
html.havin-v083-rc123 .page-heading { gap: 14px; margin: 0; }
html.havin-v083-rc123 .page-heading h1 { margin: 4px 0 6px; line-height: 1.02; }
html.havin-v083-rc123 .page-heading p { margin: 0; max-width: 760px; }
html.havin-v083-rc123 :where(.content-card,.section-block,.hv60-card) { border-color: var(--rc123-line); }
html.havin-v083-rc123 :where(.button,.choice-menu-trigger-rc5,.icon-button,input,select,textarea) { box-sizing: border-box; }

/* ---------- Assets: hierarchy, toolbar, grid ---------- */
html.havin-v083-rc123 .assets-page-rc6 { gap: 18px; }
html.havin-v083-rc123 .assets-page-rc6 .page-heading { padding-bottom: 2px; }
html.havin-v083-rc123 .portfolio-browser-rc8 { margin: 0; }
html.havin-v083-rc123 .portfolio-browser-heading-rc8 { align-items: end; gap: 12px; }
html.havin-v083-rc123 .portfolio-heading-actions-rc123 { display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:flex-end; }
html.havin-v083-rc123 .portfolio-heading-actions-rc123 .text-button { min-height: 34px; padding: 0; }

html.havin-v083-rc123 .asset-group-rail-rc123 {
  display:flex;
  align-items:stretch;
  gap:8px;
  width:100%;
  overflow-x:auto;
  scrollbar-width:none;
  padding: 1px 0 3px;
}
html.havin-v083-rc123 .asset-group-rail-rc123::-webkit-scrollbar { display:none; }
html.havin-v083-rc123 .asset-group-rail-rc123 button {
  flex:0 0 auto;
  min-height:46px;
  min-width:92px;
  padding:8px 13px;
  display:grid;
  gap:2px;
  align-content:center;
  border:1px solid var(--rc123-line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:var(--rc123-secondary);
  text-align:left;
  cursor:pointer;
}
html.havin-v083-rc123 .asset-group-rail-rc123 button:first-child { display:flex; align-items:center; font-weight:750; }
html.havin-v083-rc123 .asset-group-rail-rc123 button strong { color:#eaf2f9; font-size:.9rem; line-height:1.2; }
html.havin-v083-rc123 .asset-group-rail-rc123 button small { color:var(--rc123-tertiary); font-size:.76rem; }
html.havin-v083-rc123 .asset-group-rail-rc123 button.active {
  border-color:rgba(72,179,230,.42);
  background:linear-gradient(135deg,rgba(30,58,138,.26),rgba(63,167,225,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  color:#b8e6fa;
}

html.havin-v083-rc123 .assets-command-rc123-final {
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto minmax(154px,190px) auto;
  gap:9px;
  align-items:stretch;
  padding:0;
  border:0;
  background:transparent;
}
html.havin-v083-rc123 .assets-command-rc123-final > * { min-width:0; min-height:48px; }
html.havin-v083-rc123 .assets-command-rc123-final .assets-search-v081 { grid-column:auto; }
html.havin-v083-rc123 .assets-command-rc123-final :where(.assets-filter-button-v081,.assets-manage-trigger-rc6) {
  min-width:104px;
  justify-content:center;
  gap:8px;
  border-radius:14px;
}
html.havin-v083-rc123 .assets-sort-control-rc123 {
  position:relative;
  min-width:0;
  height:48px;
  padding:0 12px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  border:1px solid var(--rc123-line);
  border-radius:14px;
  background:rgba(255,255,255,.028);
  color:#c5d2e1;
  cursor:pointer;
  overflow:hidden;
}
html.havin-v083-rc123 .assets-sort-control-rc123 > span { font-size:.9rem; font-weight:740; white-space:nowrap; }
html.havin-v083-rc123 .assets-sort-control-rc123 > svg { color:#8ecfec; }
html.havin-v083-rc123 .assets-sort-control-rc123 select {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
html.havin-v083-rc123 .assets-filter-panel-v081 { gap:10px; padding:13px; border-radius:17px; }
html.havin-v083-rc123 .asset-manage-toolbar-rc6 { border-radius:17px; border-color:var(--rc123-line); background:rgba(255,255,255,.025); }
html.havin-v083-rc123 .asset-card-grid-v081 { width:100%; margin:0; justify-content:center; }
html.havin-v083-rc123 .asset-card-v081 { min-width:0; }
html.havin-v083-rc123 .asset-card-body-v081 { padding-left:2px; padding-right:2px; }
html.havin-v083-rc123 .asset-card-heading-v081 h3 { font-size:1rem; line-height:1.25; }
html.havin-v083-rc123 .asset-card-heading-v081 p { font-size:.88rem; line-height:1.4; }
html.havin-v083-rc123 .asset-category-v081 { max-width:calc(100% - 54px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html.havin-v083-rc123 .group-manager-list-rc123 { display:grid; gap:8px; }
html.havin-v083-rc123 .group-manager-list-rc123 > button { width:100%; min-height:54px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--rc123-line); border-radius:14px; background:rgba(255,255,255,.025); color:#e8eef6; text-align:left; }
html.havin-v083-rc123 .group-manager-list-rc123 button span { min-width:0; display:grid; gap:2px; }
html.havin-v083-rc123 .group-manager-list-rc123 button small { color:var(--rc123-tertiary); font-size:.8rem; }
html.havin-v083-rc123 .group-manager-list-rc123 button.active { border-color:var(--rc123-line-strong); background:rgba(30,58,138,.14); }
html.havin-v083-rc123 .group-editor-rc123 { margin-top:13px; padding-top:13px; border-top:1px solid var(--rc123-line); display:grid; gap:12px; }
html.havin-v083-rc123 .group-type-picker-rc123 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
html.havin-v083-rc123 .group-type-picker-rc123 button { min-height:58px; padding:9px 10px; display:grid; gap:3px; align-content:center; border:1px solid var(--rc123-line); border-radius:13px; background:rgba(255,255,255,.025); color:#dce6f1; text-align:left; cursor:pointer; }
html.havin-v083-rc123 .group-type-picker-rc123 button strong { font-size:.88rem; }
html.havin-v083-rc123 .group-type-picker-rc123 button small { color:var(--rc123-tertiary); font-size:.76rem; line-height:1.3; }
html.havin-v083-rc123 .group-type-picker-rc123 button.active { border-color:rgba(71,184,232,.48); background:linear-gradient(135deg,rgba(30,58,138,.26),rgba(63,167,225,.09)); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
html.havin-v083-rc123 .capture-group-control-rc123 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; }

/* ---------- Access: person-first, scope-second ---------- */
html.havin-v083-rc123 .access-page-rc123-final { gap:18px; }
html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs {
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  padding:6px!important;
  border:1px solid var(--rc123-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.022)!important;
  overflow:visible!important;
}
html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs button {
  min-width:0!important;
  min-height:62px!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#8595aa!important;
  text-align:left!important;
}
html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs button span { min-width:0; color:inherit!important; font-size:.84rem!important; line-height:1.2!important; }
html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs button strong { min-width:24px!important; width:auto!important; height:24px!important; padding:0 6px!important; font-size:.72rem!important; }
html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs button.active { border-color:rgba(66,174,224,.34)!important; background:linear-gradient(135deg,rgba(75,42,114,.20),rgba(30,58,138,.17))!important; color:#a8e0f8!important; }

html.havin-v083-rc123 .access-invitation-section-rc123 { display:grid; gap:10px; padding:16px 17px; border:1px solid var(--rc123-line); border-radius:18px; background:rgba(255,255,255,.018); }
html.havin-v083-rc123 .access-invitation-section-rc123 > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }
html.havin-v083-rc123 .access-invitation-section-rc123 > div:first-child > span { display:grid; gap:2px; }
html.havin-v083-rc123 .access-invitation-section-rc123 > div:first-child strong { color:#eff5fb; font-size:1.08rem; }
html.havin-v083-rc123 .access-invitation-section-rc123 > div:first-child small { color:var(--rc123-tertiary); font-size:.86rem; }
html.havin-v083-rc123 .access-invitation-section-rc123 > div:first-child em { min-width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:rgba(30,58,138,.30); color:#91d7f6; font-style:normal; font-weight:800; font-size:.8rem; }
html.havin-v083-rc123 .access-invitation-section-rc123 .compact-empty { min-height:54px; padding:10px 12px; display:flex; align-items:center; gap:10px; border:0; background:rgba(255,255,255,.018); border-radius:13px; color:var(--rc123-secondary); }
html.havin-v083-rc123 .access-list-toolbar-rc123 { display:flex; align-items:end; justify-content:space-between; gap:16px; }
html.havin-v083-rc123 .access-list-toolbar-rc123 > div { display:grid; gap:3px; }
html.havin-v083-rc123 .access-list-toolbar-rc123 > div strong { color:#f0f5fb; font-size:1.1rem; }
html.havin-v083-rc123 .access-list-toolbar-rc123 > div span { color:var(--rc123-tertiary); font-size:.88rem; }
html.havin-v083-rc123 .access-list-toolbar-rc123 .select-control { min-width:175px; }
html.havin-v083-rc123 .access-card-list-rc123 { display:grid; gap:12px; }
html.havin-v083-rc123 .access-person-card-rc123 { padding:17px; display:grid; gap:14px; border:1px solid var(--rc123-line); border-radius:19px; background:rgba(255,255,255,.02); min-width:0; }
html.havin-v083-rc123 .access-person-heading-rc123 { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-width:0; }
html.havin-v083-rc123 .access-person-heading-rc123 .avatar { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,rgba(75,42,114,.88),rgba(30,58,138,.75)); border:1px solid rgba(101,174,238,.33); color:#eaf5fd; font-weight:800; }
html.havin-v083-rc123 .access-person-heading-rc123 > div { min-width:0; display:grid; gap:2px; }
html.havin-v083-rc123 .access-person-heading-rc123 h2 { margin:0; min-width:0; overflow-wrap:anywhere; color:#f1f6fb; font-size:1.08rem; line-height:1.25; }
html.havin-v083-rc123 .access-person-heading-rc123 small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--rc123-tertiary); font-size:.84rem; }
html.havin-v083-rc123 .owner-pill-rc123 { padding:5px 9px; border:1px solid rgba(212,175,55,.28); border-radius:999px; color:#e6ca62; background:rgba(212,175,55,.07); font-size:.76rem; font-weight:780; }
html.havin-v083-rc123 .access-scope-list-rc123 { display:grid; gap:1px; border:1px solid rgba(151,171,198,.11); border-radius:14px; overflow:hidden; }
html.havin-v083-rc123 .access-scope-list-rc123 > div { min-width:0; min-height:58px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:rgba(4,13,27,.28); border-bottom:1px solid rgba(151,171,198,.10); }
html.havin-v083-rc123 .access-scope-list-rc123 > div:last-child { border-bottom:0; }
html.havin-v083-rc123 .access-scope-list-rc123 > div > span { min-width:0; display:grid; gap:3px; }
html.havin-v083-rc123 .access-scope-list-rc123 strong { min-width:0; overflow-wrap:anywhere; color:#eef5fb; font-size:.94rem; }
html.havin-v083-rc123 .access-scope-list-rc123 small { color:var(--rc123-tertiary); font-size:.81rem; line-height:1.35; }
html.havin-v083-rc123 .access-scope-actions-rc123 { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
html.havin-v083-rc123 .access-history-rc123 { border:1px solid var(--rc123-line); border-radius:16px; padding:13px 15px; }
html.havin-v083-rc123 .access-history-rc123 > summary { color:#cdd9e6; font-weight:750; cursor:pointer; }

html.havin-v083-rc123 .invite-flow-rc123 { gap:14px; }
html.havin-v083-rc123 .invite-step-rc123 { padding:15px; display:grid; gap:13px; border:1px solid var(--rc123-line); border-radius:17px; background:rgba(255,255,255,.018); }
html.havin-v083-rc123 .invite-step-heading-rc123 { display:flex; align-items:center; gap:10px; }
html.havin-v083-rc123 .invite-step-heading-rc123 > span { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; background:rgba(30,58,138,.30); color:#97daf7; font-size:.78rem; font-weight:850; }
html.havin-v083-rc123 .invite-step-heading-rc123 > div { display:grid; gap:2px; }
html.havin-v083-rc123 .invite-step-heading-rc123 strong { color:#f0f5fb; font-size:.98rem; }
html.havin-v083-rc123 .invite-step-heading-rc123 small { color:var(--rc123-tertiary); font-size:.81rem; }
html.havin-v083-rc123 .invite-choice-grid-rc123 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
html.havin-v083-rc123 .invite-choice-grid-rc123 button,
html.havin-v083-rc123 .invite-role-grid-rc123 button { min-width:0; min-height:68px; padding:10px; display:grid; gap:4px; align-content:center; border:1px solid var(--rc123-line); border-radius:14px; background:rgba(255,255,255,.025); color:#dce6ef; text-align:left; cursor:pointer; }
html.havin-v083-rc123 .invite-choice-grid-rc123 button strong,
html.havin-v083-rc123 .invite-role-grid-rc123 button strong { font-size:.9rem; line-height:1.25; }
html.havin-v083-rc123 .invite-choice-grid-rc123 button small,
html.havin-v083-rc123 .invite-role-grid-rc123 button small { color:var(--rc123-tertiary); font-size:.78rem; line-height:1.35; }
html.havin-v083-rc123 .invite-choice-grid-rc123 button.active,
html.havin-v083-rc123 .invite-role-grid-rc123 button.active { border-color:rgba(66,181,232,.48); background:linear-gradient(135deg,rgba(30,58,138,.27),rgba(63,167,225,.09)); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
html.havin-v083-rc123 .invite-choice-grid-rc123 button:disabled { opacity:.45; cursor:not-allowed; }
html.havin-v083-rc123 .invite-role-grid-rc123 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
html.havin-v083-rc123 .information-profile-card-rc123 { padding:13px; display:grid; gap:12px; border:1px solid rgba(63,167,225,.18); border-radius:15px; background:linear-gradient(135deg,rgba(30,58,138,.12),rgba(8,18,34,.30)); }
html.havin-v083-rc123 .information-profile-card-rc123 > div:first-child { display:grid; gap:3px; }
html.havin-v083-rc123 .information-profile-card-rc123 > div:first-child strong { color:#eef7fd; font-size:.96rem; }
html.havin-v083-rc123 .information-profile-card-rc123 p { margin:0; font-size:.86rem; }
html.havin-v083-rc123 .permission-chips-rc123 { display:flex; flex-wrap:wrap; gap:6px; }
html.havin-v083-rc123 .permission-chips-rc123 span { min-height:29px; padding:4px 9px; display:flex; align-items:center; gap:5px; border:1px solid rgba(132,169,198,.16); border-radius:999px; background:rgba(255,255,255,.035); color:#cbd8e5; font-size:.79rem; }
html.havin-v083-rc123 .information-profile-card-rc123 > label { display:grid; gap:5px; color:var(--rc123-tertiary); font-size:.82rem; }

/* ---------- Notification bell is an inbox, not Watch state ---------- */
html.havin-v083-rc123 .notification-panel-rc123-final { width:min(430px,calc(100vw - 24px)); max-height:min(72vh,620px); overflow:auto; padding:14px; border-radius:18px; }
html.havin-v083-rc123 .notification-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:3px 3px 11px; border-bottom:1px solid var(--rc123-line); }
html.havin-v083-rc123 .notification-panel-heading > div:first-child { display:grid; gap:3px; }
html.havin-v083-rc123 .notification-panel-heading strong { color:#f1f7fb; font-size:1.05rem; }
html.havin-v083-rc123 .notification-heading-actions-rc123 { display:flex; align-items:center; gap:11px; flex-wrap:wrap; justify-content:flex-end; }
html.havin-v083-rc123 .notification-row-rc123 { display:grid; grid-template-columns:minmax(0,1fr) 36px; gap:5px; align-items:center; border-bottom:1px solid rgba(151,171,198,.10); }
html.havin-v083-rc123 .notification-row-rc123:last-child { border-bottom:0; }
html.havin-v083-rc123 .notification-open-rc123 { min-width:0; min-height:70px; padding:10px 7px; display:grid; grid-template-columns:8px minmax(0,1fr); gap:11px; align-items:center; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
html.havin-v083-rc123 .notification-open-rc123 > div { min-width:0; display:grid; gap:2px; }
html.havin-v083-rc123 .notification-open-rc123 strong { overflow-wrap:anywhere; color:#edf5fb; font-size:.93rem; }
html.havin-v083-rc123 .notification-open-rc123 small { color:var(--rc123-tertiary); font-size:.8rem; }
html.havin-v083-rc123 .notification-status { width:8px; height:8px; border-radius:50%; background:#e4bb31; }
html.havin-v083-rc123 .notification-status.critical { background:#ef7070; }
html.havin-v083-rc123 .notification-status.routine { background:#64c7ee; }
html.havin-v083-rc123 .notification-dismiss-rc123 { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:10px; background:transparent; color:#7f90a5; cursor:pointer; }
html.havin-v083-rc123 .notification-dismiss-rc123:hover { background:rgba(255,255,255,.05); color:#d8e4ef; }

/* ---------- Platform settings / Plan & billing ---------- */
html.havin-v083-rc123 .hv60-platform-layout { gap:18px; }
html.havin-v083-rc123 .hv60-platform-nav { border-color:var(--rc123-line); }
html.havin-v083-rc123 .hv60-platform-nav a { min-height:44px; }
html.havin-v083-rc123 .hv60-plan-status { border-radius:18px; border-color:var(--rc123-line); }
html.havin-v083-rc123 .entitlement-selection-v080 { gap:16px; }
html.havin-v083-rc123 .entitlement-save-v123 { width:100%; min-height:48px; margin-top:2px; }
html.havin-v083-rc123 .entitlement-selection-grid-v080 > div > strong small { color:#aebed0; }
html.havin-v083-rc123 .havin-trial-note-v080 { display:block; padding:0 6px; color:#899aaf; font-size:.83rem; line-height:1.45; text-align:center; }

/* ---------- Trust Center: active topic selector; preserve context ---------- */
html.havin-v083-rc123 .hv60-trust-layout-rc123-final { grid-template-columns:1fr; gap:18px; }
html.havin-v083-rc123 .trust-topic-nav-rc123 { position:sticky; top:8px; z-index:4; display:flex!important; gap:7px!important; overflow-x:auto!important; padding:7px!important; border:1px solid var(--rc123-line); border-radius:17px; background:rgba(8,16,29,.92); backdrop-filter:blur(18px); scrollbar-width:none; }
html.havin-v083-rc123 .trust-topic-nav-rc123::-webkit-scrollbar { display:none; }
html.havin-v083-rc123 .trust-topic-nav-rc123 button { flex:0 0 auto!important; width:auto!important; min-width:0!important; min-height:40px!important; padding:7px 12px!important; display:flex!important; align-items:center!important; border:1px solid transparent!important; border-radius:11px!important; background:transparent!important; color:#91a1b6!important; white-space:nowrap; }
html.havin-v083-rc123 .trust-topic-nav-rc123 button span { display:none!important; }
html.havin-v083-rc123 .trust-topic-nav-rc123 button strong { font-size:.86rem; font-weight:740; }
html.havin-v083-rc123 .trust-topic-nav-rc123 button.active { border-color:rgba(65,178,228,.34)!important; background:linear-gradient(135deg,rgba(30,58,138,.23),rgba(63,167,225,.08))!important; color:#b7e6fa!important; }
html.havin-v083-rc123 #trust-active-document { scroll-margin-top:82px; }

/* ---------- Asset intake / Group organization ---------- */
html.havin-v083-rc123 .group-create-modal-rc123 > p { margin:0; }
html.havin-v083-rc123 .capture-group-control-rc123 .portfolio-inline-add-rc4 { min-height:48px; }

/* ---------- Mobile shell: stable Safari dock + restrained Halo centerpiece ---------- */
@media (max-width:900px) {
  html.havin-v083-rc123 .mobile-nav-rc5 {
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:72px!important;
    padding:4px 8px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:0!important;
    align-items:center!important;
    border:0!important;
    border-top:1px solid rgba(151,171,198,.14)!important;
    border-radius:0!important;
    background:#08111f!important;
    box-shadow:0 -10px 28px rgba(0,0,0,.28)!important;
    backdrop-filter:none!important;
    transform:translateZ(0);
  }
  html.havin-v083-rc123 .mobile-nav-rc5 .mobile-link {
    min-width:0!important;
    height:64px!important;
    padding:3px 2px!important;
    gap:4px!important;
    justify-content:center!important;
    align-self:center!important;
    border-radius:14px!important;
    font-size:.82rem!important;
  }
  html.havin-v083-rc123 .mobile-nav-rc5 .mobile-link > svg { width:22px; height:22px; }
  html.havin-v083-rc123 .mobile-halo-link-rc5 { transform:none!important; overflow:visible!important; }
  html.havin-v083-rc123 .mobile-halo-orb-rc5 {
    width:58px!important;
    height:42px!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(92,191,238,.28)!important;
    border-radius:15px!important;
    background:linear-gradient(160deg,rgba(255,255,255,.065),rgba(30,58,138,.15) 45%,rgba(8,17,31,.82))!important;
    box-shadow:0 7px 16px rgba(0,0,0,.24),0 4px 18px rgba(63,167,225,.09),inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(0,0,0,.28)!important;
  }
  html.havin-v083-rc123 .mobile-halo-orb-rc5 .halo-mark-image { width:54px!important; height:34px!important; object-fit:contain; }
  html.havin-v083-rc123 .mobile-halo-link-rc5 > span:last-child { color:#D4AF37!important; font-weight:800!important; }
  html.havin-v083-rc123 .mobile-halo-link-rc5.active .mobile-halo-orb-rc5 { border-color:rgba(111,207,247,.42)!important; box-shadow:0 8px 18px rgba(0,0,0,.25),0 5px 21px rgba(63,167,225,.14),inset 0 1px 0 rgba(255,255,255,.11)!important; }
  html.havin-v083-rc123 .page-content { padding-bottom:90px!important; }

  /* Foundation/settings nav is a compact context rail, not a giant card. */
  html.havin-v083-rc123 .hv60-platform-layout { display:flex!important; flex-direction:column!important; gap:14px!important; }
  html.havin-v083-rc123 .hv60-platform-nav {
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    padding:4px 0 5px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    scrollbar-width:none;
  }
  html.havin-v083-rc123 .hv60-platform-nav::-webkit-scrollbar { display:none; }
  html.havin-v083-rc123 .hv60-platform-nav > p { display:none!important; }
  html.havin-v083-rc123 .hv60-platform-nav a {
    flex:0 0 auto!important;
    min-height:42px!important;
    padding:0 11px!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    border:1px solid var(--rc123-line)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.02)!important;
    white-space:nowrap!important;
  }
  html.havin-v083-rc123 .hv60-platform-nav a.active { border-color:rgba(63,167,225,.34)!important; background:rgba(30,58,138,.16)!important; color:#a9e0f8!important; }
  html.havin-v083-rc123 .hv60-platform-header { margin-bottom:2px!important; }
  html.havin-v083-rc123 .hv60-platform-content { min-width:0!important; }
}

@media (display-mode:standalone) and (max-width:900px) {
  html.havin-v083-rc123 .mobile-nav-rc5 { height:calc(72px + env(safe-area-inset-bottom))!important; padding-bottom:env(safe-area-inset-bottom)!important; }
  html.havin-v083-rc123 .page-content { padding-bottom:calc(90px + env(safe-area-inset-bottom))!important; }
}

@media (max-width:720px) {
  html.havin-v083-rc123 .page-content { padding-left:16px!important; padding-right:16px!important; }
  html.havin-v083-rc123 .assets-page-rc6 .page-heading.split-heading { display:grid; grid-template-columns:1fr; gap:13px; }
  html.havin-v083-rc123 .assets-page-rc6 .page-heading-actions { width:100%; }
  html.havin-v083-rc123 .assets-page-rc6 .assets-add-compact-rc6 { width:100%; min-height:50px; justify-content:center; border-radius:14px; font-size:.96rem; }
  html.havin-v083-rc123 .portfolio-browser-heading-rc8 { align-items:flex-start; }
  html.havin-v083-rc123 .portfolio-heading-actions-rc123 { justify-content:flex-start; gap:14px; }
  html.havin-v083-rc123 .portfolio-current-rc113 { width:100%; }

  html.havin-v083-rc123 .assets-command-rc123-final {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  html.havin-v083-rc123 .assets-command-rc123-final .assets-search-v081 { grid-column:1 / -1!important; min-height:50px; }
  html.havin-v083-rc123 .assets-command-rc123-final :where(.assets-filter-button-v081,.assets-manage-trigger-rc6,.assets-sort-control-rc123) { width:100%!important; min-width:0!important; min-height:46px!important; font-size:.88rem!important; padding-inline:9px!important; }
  html.havin-v083-rc123 .assets-sort-control-rc123 { height:46px!important; }
  html.havin-v083-rc123 .assets-sort-control-rc123 > span { font-size:.86rem; }
  html.havin-v083-rc123 .assets-command-rc123-final svg { flex:0 0 auto; }
  html.havin-v083-rc123 .assets-filter-panel-v081 { grid-template-columns:1fr!important; }
  html.havin-v083-rc123 .asset-card-grid-v081 { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; row-gap:18px; width:100%; padding:0; margin:0; }
  html.havin-v083-rc123 .asset-card-v081 { width:100%!important; max-width:none!important; }

  html.havin-v083-rc123 .group-type-picker-rc123 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v083-rc123 .capture-group-control-rc123 { grid-template-columns:minmax(0,1fr) auto; }

  html.havin-v083-rc123 .access-page-rc123-final .page-heading.split-heading { display:grid; grid-template-columns:1fr; gap:12px; }
  html.havin-v083-rc123 .access-page-rc123-final .page-heading-actions { width:100%; }
  html.havin-v083-rc123 .access-page-rc123-final .page-heading-actions .button { width:100%; justify-content:center; min-height:48px; }
  html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs button { min-height:72px!important; grid-template-columns:1fr!important; grid-template-rows:20px auto 20px!important; justify-items:center!important; text-align:center!important; gap:3px!important; padding:7px 4px!important; }
  html.havin-v083-rc123 .access-page-rc123-final .people-view-tabs button span { font-size:.76rem!important; }
  html.havin-v083-rc123 .access-list-toolbar-rc123 { align-items:stretch; flex-direction:column; gap:10px; }
  html.havin-v083-rc123 .access-list-toolbar-rc123 .select-control { width:100%; min-width:0; }
  html.havin-v083-rc123 .access-person-card-rc123 { padding:14px; }
  html.havin-v083-rc123 .access-person-heading-rc123 { grid-template-columns:auto minmax(0,1fr); }
  html.havin-v083-rc123 .access-person-heading-rc123 :where(.owner-pill-rc123,.status-badge) { grid-column:2; justify-self:start; }
  html.havin-v083-rc123 .access-scope-list-rc123 > div { align-items:flex-start; flex-direction:column; }
  html.havin-v083-rc123 .access-scope-actions-rc123 { width:100%; justify-content:space-between; }
  html.havin-v083-rc123 .invite-choice-grid-rc123 { grid-template-columns:1fr; }
  html.havin-v083-rc123 .invite-role-grid-rc123 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html.havin-v083-rc123 .information-profile-card-rc123 { padding:12px; }

  html.havin-v083-rc123 .notification-panel-rc123-final { position:fixed!important; top:74px!important; left:12px!important; right:12px!important; width:auto!important; max-height:calc(100dvh - 164px)!important; }
  html.havin-v083-rc123 .notification-panel-heading { align-items:flex-start; }
  html.havin-v083-rc123 .notification-heading-actions-rc123 { gap:8px; }

  html.havin-v083-rc123 .entitlement-selection-v080 { padding:16px!important; }
  html.havin-v083-rc123 .entitlement-choice-list-v080 label { min-height:62px; }
  html.havin-v083-rc123 .havin-trial-note-v080 { padding-bottom:4px; }

  html.havin-v083-rc123 .trust-topic-nav-rc123 { position:sticky!important; top:4px!important; margin:0 -4px; }
  html.havin-v083-rc123 #trust-active-document { scroll-margin-top:68px; }
}

@media (max-width:360px) {
  html.havin-v083-rc123 .asset-card-grid-v081 { grid-template-columns:1fr!important; }
  html.havin-v083-rc123 .assets-command-rc123-final { grid-template-columns:1fr 1fr!important; }
  html.havin-v083-rc123 .assets-command-rc123-final .assets-search-v081 { grid-column:1 / -1!important; }
  html.havin-v083-rc123 .assets-command-rc123-final .assets-manage-trigger-rc6 { grid-column:1 / -1; }
  html.havin-v083-rc123 .invite-role-grid-rc123 { grid-template-columns:1fr; }
}

/* ==========================================================
   RC12.4 — exhaustive post-RC12.3 screenshot audit lock
   ========================================================== */

/* Asset category is metadata, not an image obstruction. */
html.havin-v083-rc123 .asset-card-image-v081 > .asset-category-v081 { display:none!important; }
html.havin-v083-rc123 .asset-category-inline-rc124 {
  position:static!important;
  inset:auto!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 7px!important;
  padding:4px 8px!important;
  display:inline-flex!important;
  align-items:center!important;
  border:1px solid rgba(130,160,196,.17)!important;
  border-radius:999px!important;
  background:rgba(9,17,31,.62)!important;
  color:#aebed1!important;
  backdrop-filter:none!important;
  font-size:.67rem!important;
  font-weight:760!important;
  line-height:1.1!important;
  letter-spacing:.015em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  transform:none!important;
}
html.havin-v083-rc123 .asset-card-body-v081 { min-width:0; }

/* Portfolio type selection must be fully visible on mobile; no mystery horizontal rail. */
@media (max-width:700px) {
  html.havin-v083-rc123 .portfolio-template-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  html.havin-v083-rc123 .portfolio-template {
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:13px!important;
    display:grid!important;
    align-content:start!important;
    gap:8px!important;
    scroll-snap-align:none!important;
  }
  html.havin-v083-rc123 .portfolio-template > span {
    width:36px!important;
    height:36px!important;
    border-radius:11px!important;
  }
  html.havin-v083-rc123 .portfolio-template strong {
    font-size:.82rem!important;
    line-height:1.25!important;
  }
  html.havin-v083-rc123 .portfolio-template p {
    margin:0!important;
    font-size:.70rem!important;
    line-height:1.42!important;
  }
}

/* Keep portfolio management compact enough to scan on a phone. */
@media (max-width:700px) {
  html.havin-v083-rc123 .portfolio-manager-list-rc6 { gap:8px!important; }
  html.havin-v083-rc123 .portfolio-manager-list-rc6 article {
    min-height:0!important;
    padding:11px 12px!important;
    gap:9px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }
  html.havin-v083-rc123 .portfolio-manager-list-rc6 article > div { min-width:0!important; }
  html.havin-v083-rc123 .portfolio-manager-list-rc6 article strong,
  html.havin-v083-rc123 .portfolio-manager-list-rc6 article small {
    overflow-wrap:anywhere!important;
  }
}

/* At very narrow widths, preserve readability instead of squeezing cards. */
@media (max-width:360px) {
  html.havin-v083-rc123 .portfolio-template-grid { grid-template-columns:1fr!important; }
}

/* Hāvin Beta 1 stabilization — final experience layer.
   Goal: calm premium ownership companion, not administrative inventory software.
   Keep the established dark brand system; improve rhythm, hierarchy, reflow and touch comfort. */

html.havin-v083 {
  --beta-gutter: clamp(20px, 3vw, 38px);
  --beta-card-pad: clamp(18px, 2.4vw, 26px);
  --beta-soft-line: rgba(164, 190, 219, .14);
  --beta-soft-surface: rgba(16, 26, 45, .78);
}

/* A little more air between meaningful groups, without turning every section into a card. */
html.havin-v083 .page-content {
  padding-inline: var(--beta-gutter);
}
html.havin-v083 .page-stack { gap: 22px; }
html.havin-v083 :where(.content-card,.section-block,.maintenance-board,.access-table-card) {
  border-color: var(--beta-soft-line);
}
html.havin-v083 :where(.content-card,.section-block) {
  box-shadow: 0 14px 42px rgba(0,0,0,.10);
}
html.havin-v083 :where(.content-card,.section-block) > .card-heading {
  margin-bottom: 4px;
}
html.havin-v083 :where(.content-card,.section-block) > .card-heading p {
  max-width: 66ch;
}
html.havin-v083 :where(input,select,textarea) {
  min-width: 0;
}
html.havin-v083 :where(.button,.icon-button,.text-button,a) {
  touch-action: manipulation;
}

/* Auth — one unmistakable primary action, quiet recovery, distinct account creation. */
html.havin-v083 .auth-panel {
  padding: clamp(28px, 5vw, 58px);
}
html.havin-v083 .auth-card {
  max-width: 500px;
  padding: clamp(26px, 4vw, 40px);
  border: 1px solid var(--hv-border);
  border-radius: 28px;
  background: linear-gradient(155deg, rgba(18,29,51,.94), rgba(11,17,32,.88));
}
html.havin-v083 .auth-card h2 {
  margin-bottom: 10px;
  font-size: clamp(2rem, 4vw, 2.55rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
html.havin-v083 .auth-intro {
  margin: 0 0 28px;
  max-width: 38ch;
  line-height: 1.55;
}
html.havin-v083 .auth-fields {
  display: grid;
  gap: 18px;
}
html.havin-v083 .auth-field {
  display: grid;
  gap: 8px;
  margin: 0;
  color: #edf3fa;
  font-size: .82rem;
  font-weight: 720;
}
html.havin-v083 .auth-field > span:first-child {
  padding-left: 2px;
}
html.havin-v083 .auth-field input {
  width: 100%;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid rgba(169,190,219,.19);
  border-radius: 14px;
  background: rgba(5,10,20,.60);
  color: #f7f9fc;
  font-size: 1rem;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
html.havin-v083 .auth-field input:focus {
  outline: none;
  border-color: rgba(98,184,235,.62);
  background: rgba(7,13,25,.82);
  box-shadow: 0 0 0 4px rgba(63,167,225,.10);
}
html.havin-v083 .auth-password-field {
  position: relative;
  display: block;
}
html.havin-v083 .auth-password-field input {
  padding-right: 88px;
}
html.havin-v083 .auth-password-toggle {
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  min-width: 70px;
  min-height: 38px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #8fcaec;
  font-size: .72rem;
  font-weight: 720;
  cursor: pointer;
}
html.havin-v083 .auth-password-toggle:hover { background: rgba(98,184,235,.08); }
html.havin-v083 .auth-primary-actions {
  display: grid;
  gap: 13px;
  margin-top: 24px;
}
html.havin-v083 .auth-submit {
  min-height: 56px;
  border-radius: 16px;
  font-size: .96rem;
  box-shadow: 0 14px 34px rgba(47,120,220,.23);
}
html.havin-v083 .auth-forgot {
  min-height: 38px;
  margin: 0 auto;
  padding: 0 10px;
  justify-self: center;
  color: #8dcaec;
}
html.havin-v083 .auth-account-switch {
  margin-top: 18px;
  padding: 18px 4px 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid var(--hv-border);
  color: #8492a8;
  font-size: .8rem;
}
html.havin-v083 .auth-account-switch .text-button {
  min-height: 36px;
  padding-inline: 4px;
}
html.havin-v083 .auth-card .form-error,
html.havin-v083 .auth-card .success-banner {
  margin: 18px 0 0;
}
html.havin-v083 .auth-card .security-note {
  margin-top: 22px;
  padding: 14px 15px;
  border: 1px solid rgba(98,184,235,.10);
  border-radius: 14px;
  background: rgba(30,58,138,.18);
  color: #a9c9e5;
}
html.havin-v083 .auth-legal-links {
  gap: 22px;
}

/* Maintenance/task rows: copy owns the first line; status/actions never crush it. */
html.havin-v083 .maintenance-preview-row {
  align-items: start;
  row-gap: 10px;
}
html.havin-v083 .maintenance-preview-row > div {
  min-width: 0;
}
html.havin-v083 .maintenance-preview-row > div > strong,
html.havin-v083 .service-task-copy-v083 h3 {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

/* Warranty cards: legal-ish information should still feel approachable and readable. */
html.havin-v083 .warranty-row-rc114 {
  padding: clamp(18px, 2.5vw, 24px);
}
html.havin-v083 .warranty-row-heading {
  align-items: flex-start;
  gap: 12px 16px;
  flex-wrap: wrap;
}
html.havin-v083 .warranty-row-heading > div {
  flex: 1 1 260px;
  min-width: 0;
}
html.havin-v083 .warranty-row-heading > div > strong {
  display: block;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
html.havin-v083 .warranty-row-heading > div > span {
  display: block;
  margin-top: 5px;
}
html.havin-v083 .warranty-state {
  flex: 0 0 auto;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
html.havin-v083 .warranty-summary-rc114 {
  max-width: 62ch;
  line-height: 1.55;
}
html.havin-v083 .warranty-facts-rc114 {
  gap: 8px 16px;
  flex-wrap: wrap;
}

/* Halo — use the compact no-floor artwork beside text. Reflective art stays for larger feature moments. */
html.havin-v083 .halo-topbar-mark-rc9 {
  width: 54px;
  min-width: 54px;
  height: 40px;
  display: grid;
  place-items: center;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}
html.havin-v083 .halo-topbar-mark-rc9 .halo-mark-image {
  content: url('/brand/halo/havin-halo-compact.png');
  width: 52px !important;
  max-width: 52px !important;
  height: 34px !important;
  object-fit: contain;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 8px rgba(63,167,225,.24));
}
html.havin-v083 .halo-topbar-primary-rc112 {
  align-items: center;
  gap: 18px;
}
html.havin-v083 .halo-identity-rc9 {
  min-width: 0;
}
html.havin-v083 .halo-identity-rc9 h1 {
  line-height: 1.02;
  letter-spacing: -.04em;
}
html.havin-v083 .halo-asset-context-rc112 {
  gap: 8px 14px;
  flex-wrap: wrap;
}
html.havin-v083 .halo-shell-rc9 :where(textarea,input) {
  font-size: max(16px, 1rem);
}

/* Vault: tabs and filters should feel discoverable, not like a compressed toolbar. */
html.havin-v083 .records-tabs-rc2-v083 {
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
html.havin-v083 .records-tabs-rc2-v083::-webkit-scrollbar { display: none; }
html.havin-v083 .records-tabs-rc2-v083 > button {
  scroll-snap-align: start;
  min-height: 46px;
}
html.havin-v083 .records-command-rc2-v083 {
  gap: 10px;
}
html.havin-v083 .records-filters-rc5 {
  gap: 10px;
}
html.havin-v083 .record-card-rc2-v083 {
  border-color: var(--beta-soft-line);
}
html.havin-v083 .record-body-rc2-v083 h2 {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

/* Filters/controls get comfortable touch targets and less dashboard density. */
html.havin-v083 :where(.filter-bar,.compact-filters,.records-command-rc2-v083) .button,
html.havin-v083 :where(.filter-bar,.compact-filters,.records-command-rc2-v083) button {
  min-height: 44px;
}
html.havin-v083 .page-search {
  min-height: 46px;
}

/* Modals and forms: calm spacing, obvious field grouping. */
html.havin-v083 :where(.modal-card,.modal-content) {
  border-color: var(--beta-soft-line);
}
html.havin-v083 :where(.field,.form-grid,.two-column-form) input,
html.havin-v083 :where(.field,.form-grid,.two-column-form) select {
  min-height: 48px;
}
html.havin-v083 :where(.field,.form-grid,.two-column-form) textarea {
  min-height: 112px;
}
html.havin-v083 .modal-actions {
  margin-top: 6px;
}

/* Asset imagery remains the emotional anchor: fill the card cleanly, never distort. */
html.havin-v083 :where(.asset-card-image-v081,.asset-detail-image) img {
  object-fit: cover;
}
html.havin-v083 .asset-card-placeholder-v081 {
  background: linear-gradient(145deg, rgba(30,58,138,.12), rgba(75,42,114,.10));
}

/* Empty/quiet states should reassure without feeling sterile. */
html.havin-v083 :where(.quiet-state,.empty-state,.home-clear-state-v083) {
  border-color: rgba(118,196,239,.10);
}
html.havin-v083 :where(.quiet-state,.empty-state) p {
  line-height: 1.55;
}

@media (max-width: 760px) {
  html.havin-v083 {
    --beta-gutter: 18px;
    --beta-card-pad: 18px;
  }

  html.havin-v083 .page-content {
    padding-inline: var(--beta-gutter);
    padding-top: 22px;
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
  }
  html.havin-v083 .page-stack { gap: 18px; }

  /* Auth becomes a comfortable full-width sheet, not a card squeezed inside a card. */
  html.havin-v083 .auth-page {
    min-height: 100dvh;
  }
  html.havin-v083 .auth-panel {
    width: 100%;
    padding: max(34px, env(safe-area-inset-top, 0px)) 18px max(28px, env(safe-area-inset-bottom, 0px));
    align-content: center;
    gap: 26px;
  }
  html.havin-v083 .auth-card {
    width: 100%;
    max-width: 520px;
    padding: 24px 20px;
    border-radius: 24px;
  }
  html.havin-v083 .auth-card h2 { font-size: 2.05rem; }
  html.havin-v083 .auth-intro { margin-bottom: 24px; }
  html.havin-v083 .auth-field input { min-height: 54px; }
  html.havin-v083 .auth-account-switch {
    padding-top: 17px;
  }
  html.havin-v083 .auth-legal-links {
    padding-inline: 4px;
    gap: 10px 18px;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Headers: content first, controls second. */
  html.havin-v083 :where(.page-header,.page-heading) {
    align-items: flex-start;
    gap: 14px;
  }
  html.havin-v083 :where(.page-header-actions,.page-heading-actions) {
    width: 100%;
    justify-content: flex-start;
  }

  /* Maintenance row: four desktop columns become a readable two-column mobile row. */
  html.havin-v083 .maintenance-preview-row {
    grid-template-columns: 40px minmax(0,1fr);
    gap: 10px 12px;
    padding-block: 15px;
  }
  html.havin-v083 .maintenance-preview-row > .maintenance-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  html.havin-v083 .maintenance-preview-row > div {
    grid-column: 2;
  }
  html.havin-v083 .maintenance-preview-row > :where(.status-badge,.button) {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
  }
  html.havin-v083 .maintenance-preview-row > .button {
    min-height: 40px;
    padding-inline: 14px;
  }

  /* Warranty status goes below a long title instead of occupying its text lane. */
  html.havin-v083 .warranty-row-heading {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
  }
  html.havin-v083 .warranty-state {
    justify-self: start;
  }
  html.havin-v083 .warranty-row-rc114 {
    padding: 18px;
  }

  /* Halo header is compact enough for the status bar and readable enough to feel premium. */
  html.havin-v083 .halo-topbar-primary-rc112 {
    align-items: flex-start;
  }
  html.havin-v083 .halo-identity-rc9 {
    gap: 10px;
  }
  html.havin-v083 .halo-topbar-mark-rc9 {
    width: 46px;
    min-width: 46px;
    height: 34px;
  }
  html.havin-v083 .halo-topbar-mark-rc9 .halo-mark-image {
    width: 45px !important;
    max-width: 45px !important;
    height: 29px !important;
  }
  html.havin-v083 .halo-new-chat-rc9 {
    min-height: 42px;
    padding-inline: 13px;
  }

  /* Vault tabs visibly scroll as a coherent rail; cards remain readable. */
  html.havin-v083 .records-tabs-rc2-v083 {
    width: calc(100% + 36px);
    margin-inline: -18px;
    padding-inline: 18px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  html.havin-v083 .records-tabs-rc2-v083 > button {
    flex: 0 0 auto;
    min-width: 112px;
    padding-inline: 13px;
  }
  html.havin-v083 .records-command-rc2-v083 {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
  }
  html.havin-v083 .records-filters-rc5 {
    display: grid;
    grid-template-columns: 1fr;
  }
  html.havin-v083 .record-card-rc2-v083 {
    padding: 17px;
  }
  html.havin-v083 .record-actions-rc2-v083 {
    width: 100%;
  }

  /* Bottom nav owns the safe area and keeps a dark edge behind the home indicator. */
  html.havin-v083 .mobile-nav {
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
    background: rgba(5,12,24,.98);
    border-top-color: rgba(137,166,199,.16);
  }
}

@media (max-width: 390px) {
  html.havin-v083 { --beta-gutter: 16px; }
  html.havin-v083 .auth-panel { padding-inline: 14px; }
  html.havin-v083 .auth-card { padding: 22px 17px; }
  html.havin-v083 .auth-password-toggle span { display: none; }
  html.havin-v083 .auth-password-toggle { min-width: 42px; }
  html.havin-v083 .auth-password-field input { padding-right: 54px; }
  html.havin-v083 .records-tabs-rc2-v083 {
    width: calc(100% + 32px);
    margin-inline: -16px;
    padding-inline: 16px;
  }
}

@media (hover: hover) and (pointer: fine) {
  html.havin-v083 :where(.content-card,.asset-card,.record-card-rc2-v083) {
    transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v083 *,
  html.havin-v083 *::before,
  html.havin-v083 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* Beta 1 route audit — secondary flows should feel like the same ownership companion,
   not a collection of administrative forms. Loaded after the primary stabilization layer. */

/* Watch: five useful views remain easy to scan without stretching awkwardly. */
html.havin-v083 .watch-tabs-rc3 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 7px;
}
html.havin-v083 .watch-tabs-rc3 > button {
  min-width: 0;
  min-height: 48px;
  padding-inline: 10px;
  justify-content: center;
}
html.havin-v083 .watch-context-rc2-v083 {
  gap: 14px 20px;
  align-items: center;
}
html.havin-v083 .watch-context-rc2-v083 > div {
  min-width: 0;
}
html.havin-v083 .watch-context-rc2-v083 > div > span {
  line-height: 1.45;
}
html.havin-v083 .watch-asset-group-rc2-v083 {
  border-color: rgba(164,190,219,.13);
}
html.havin-v083 .watch-asset-header-rc5 {
  gap: 13px;
}
html.havin-v083 .watch-asset-identity-rc2-v083 {
  min-width: 0;
}
html.havin-v083 .watch-asset-identity-rc2-v083 h2 {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

/* Password recovery shares the sign-in screen's calmer form proportions. */
html.havin-v083 .auth-recovery-page {
  min-height: 100dvh;
  padding: max(28px, env(safe-area-inset-top, 0px)) clamp(18px, 4vw, 42px) max(28px, env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 15% 10%, rgba(63,167,225,.10), transparent 28rem),
    radial-gradient(circle at 88% 28%, rgba(75,42,114,.14), transparent 30rem),
    var(--hv-bg);
}
html.havin-v083 .auth-recovery-card {
  width: min(100%, 500px);
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--hv-border);
  border-radius: 26px;
  background: linear-gradient(155deg, rgba(18,29,51,.94), rgba(11,17,32,.90));
  box-shadow: var(--hv-shadow);
}
html.havin-v083 .auth-recovery-card label {
  display: grid;
  gap: 8px;
  margin-bottom: 17px;
  color: #edf3fa;
  font-size: .82rem;
  font-weight: 720;
}
html.havin-v083 .auth-recovery-card input {
  width: 100%;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid rgba(169,190,219,.19);
  border-radius: 14px;
  background: rgba(5,10,20,.60);
  color: #f7f9fc;
  font-size: 1rem;
}
html.havin-v083 .auth-recovery-card > .button-primary {
  min-height: 54px;
  margin-top: 5px;
}
html.havin-v083 .auth-recovery-link {
  min-height: 38px;
  margin: 16px auto 0;
  justify-content: center;
}

/* Intake/setup: keep photo-led ownership setup feeling visual, not form-led. */
html.havin-v083 .streamlined-asset-onboarding {
  max-width: 1040px;
  margin-inline: auto;
}
html.havin-v083 .streamlined-capture {
  gap: 20px;
}
html.havin-v083 .capture-photo-grid {
  gap: 14px;
}
html.havin-v083 .capture-photo-card {
  border-color: rgba(118,196,239,.16);
  background: linear-gradient(145deg, rgba(15,28,49,.86), rgba(9,16,30,.86));
}
html.havin-v083 .capture-photo-card :where(strong,h3) {
  text-wrap: pretty;
}
html.havin-v083 .streamlined-asset-onboarding :where(input,select,textarea) {
  font-size: max(16px, .95rem);
}

/* Settings, access, transfer and portfolio management should read as grouped decisions. */
html.havin-v083 :where(
  .settings-page,
  .people-page,
  .transfers-page,
  .create-transfer-page,
  .accept-transfer-page,
  .create-portfolio-page,
  .edit-portfolio-page,
  .hv60-platform-page
) :where(.content-card,.section-block,.hv60-card) {
  border-color: rgba(164,190,219,.13);
}
html.havin-v083 :where(
  .settings-page,
  .people-page,
  .transfers-page,
  .create-transfer-page,
  .accept-transfer-page,
  .create-portfolio-page,
  .edit-portfolio-page,
  .hv60-platform-page
) :where(input,select,textarea) {
  font-size: max(16px, .92rem);
}
html.havin-v083 :where(.form-grid,.two-column-form) {
  row-gap: 18px;
  column-gap: 16px;
}
html.havin-v083 :where(.form-grid,.two-column-form) label {
  min-width: 0;
}

/* Dialogs are generous enough to read, but never exceed the phone viewport. */
html.havin-v083 :where(.modal-card,.modal-content) {
  max-width: min(680px, calc(100vw - 32px));
}
html.havin-v083 .modal-actions .button {
  min-height: 44px;
}

/* Small horizontal data surfaces may scroll, but the primary page never should. */
html.havin-v083 :where(.access-table-card,.table-wrap,.data-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

@media (max-width: 760px) {
  html.havin-v083 .watch-tabs-rc3 {
    width: calc(100% + 36px);
    margin-inline: -18px;
    padding: 4px 18px 8px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    background: transparent;
    border: 0;
  }
  html.havin-v083 .watch-tabs-rc3::-webkit-scrollbar { display: none; }
  html.havin-v083 .watch-tabs-rc3 > button {
    flex: 0 0 auto;
    min-width: 104px;
    min-height: 46px;
    scroll-snap-align: start;
  }
  html.havin-v083 .watch-context-rc2-v083 {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  html.havin-v083 .watch-context-rc2-v083 .page-search {
    width: 100%;
  }
  html.havin-v083 .watch-asset-header-rc5 {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto;
    align-items: start;
  }
  html.havin-v083 .watch-view-asset {
    grid-column: 2 / -1;
    justify-self: start;
  }

  html.havin-v083 .auth-recovery-page {
    padding-inline: 16px;
  }
  html.havin-v083 .auth-recovery-card {
    padding: 24px 20px;
  }

  html.havin-v083 .capture-photo-grid {
    grid-template-columns: 1fr;
  }
  html.havin-v083 .capture-photo-card {
    min-height: 168px;
  }

  html.havin-v083 :where(.form-grid,.two-column-form) {
    grid-template-columns: 1fr;
  }
  html.havin-v083 :where(.form-grid,.two-column-form) > *,
  html.havin-v083 .form-grid .span-2 {
    grid-column: 1;
  }

  html.havin-v083 :where(.modal-card,.modal-content) {
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  }
  html.havin-v083 .modal-actions {
    gap: 9px;
  }
  html.havin-v083 .modal-actions .button {
    flex: 1 1 140px;
  }
}

@media (max-width: 390px) {
  html.havin-v083 .watch-tabs-rc3 {
    width: calc(100% + 32px);
    margin-inline: -16px;
    padding-inline: 16px;
  }
  html.havin-v083 .auth-recovery-page { padding-inline: 13px; }
  html.havin-v083 .auth-recovery-card { padding-inline: 17px; }
}
/* Hāvin Beta 1.1 — physical-device stabilization.
   This layer is intentionally presentation-only: no authorization, persistence, or
   entitlement behavior belongs here. It normalizes the mobile screen rhythm exposed
   by TestFlight without changing the established desktop ownership experience. */

html.havin-v083 {
  --beta11-mobile-control: rgba(14, 24, 42, .82);
  --beta11-mobile-border: rgba(155, 184, 216, .14);
}

/* Keep primary route headers on one visual system. */
html.havin-v083 .page-heading {
  min-width: 0;
}
html.havin-v083 .page-heading > div:first-child {
  min-width: 0;
}
html.havin-v083 .page-heading h1,
html.havin-v083 .watch-hero-copy-rc3 h1 {
  text-wrap: balance;
}

/* Recent Updates: details/summary must lay out independently. The old row grid was
   applied to <details> itself, which left the expanded content fighting the summary. */
html.havin-v083 details.home-quiet-row-rc3 {
  display: block;
}
html.havin-v083 details.home-quiet-row-rc3 > summary {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  cursor: pointer;
  list-style: none;
}
html.havin-v083 details.home-quiet-row-rc3 > summary::-webkit-details-marker {
  display: none;
}
html.havin-v083 details.home-quiet-row-rc3 > summary > span {
  min-width: 0;
}
html.havin-v083 details.home-quiet-row-rc3 > summary > span :where(strong, small) {
  overflow-wrap: anywhere;
}
html.havin-v083 details.home-quiet-row-rc3 > summary > svg:last-child {
  transition: transform .18s ease;
}
html.havin-v083 details.home-quiet-row-rc3[open] > summary > svg:last-child {
  transform: rotate(90deg);
}
html.havin-v083 .home-automation-rc3 {
  min-width: 0;
  margin-top: 12px;
}
html.havin-v083 .home-automation-rc3 article {
  min-width: 0;
}
html.havin-v083 .home-automation-rc3 article :where(span, strong, small) {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  /* The page itself never becomes the horizontal scroller. Purpose-built rails may
     scroll inside their own bounds, but their negative-margin legacy treatment is gone. */
  html.havin-v083 .page-content,
  html.havin-v083 .page-stack,
  html.havin-v083 .main-column {
    min-width: 0;
    max-width: 100%;
  }
  html.havin-v083 .page-content {
    overflow-x: clip;
  }

  /* Primary headers use the same mobile baseline across Assets, Vault and secondary
     screens. Actions sit below the title instead of competing for its line. */
  html.havin-v083 .page-heading {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 12px;
  }
  html.havin-v083 .page-heading h1 {
    margin-bottom: 7px;
    font-size: clamp(2.25rem, 10.5vw, 2.75rem);
    line-height: .98;
    letter-spacing: -.045em;
  }
  html.havin-v083 .page-heading p {
    max-width: 40rem;
    font-size: .9rem;
    line-height: 1.48;
  }
  html.havin-v083 .page-heading-actions {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    flex-wrap: wrap;
  }
  html.havin-v083 .page-heading-actions > :where(.button, button, a) {
    min-height: 44px;
  }

  /* Watch still gets its glance panel, but its title now sits on the same visual
     baseline as the other first-level screens. */
  html.havin-v083 .watch-hero-rc3 {
    padding: 20px 18px;
    border-radius: 24px;
  }
  html.havin-v083 .watch-heading-row-rc4 {
    align-items: flex-start;
    gap: 12px;
  }
  html.havin-v083 .watch-hero-copy-rc3 h1 {
    font-size: clamp(2.25rem, 10.5vw, 2.75rem);
    line-height: .98;
    letter-spacing: -.045em;
  }
  html.havin-v083 .watch-refresh-rc3 {
    flex: 0 0 auto;
    min-height: 42px;
  }

  /* Watch and Vault use the same bounded segmented-rail geometry. This keeps their
     left/right edges aligned with page content while retaining intentional scrolling. */
  html.havin-v083 .watch-tabs-rc3,
  html.havin-v083 .records-tabs-rc2-v083 {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding: 6px !important;
    display: grid !important;
    grid-auto-flow: column;
    justify-content: start !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    border: 1px solid var(--beta11-mobile-border) !important;
    border-radius: 18px !important;
    background: var(--beta11-mobile-control) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
  }
  html.havin-v083 .watch-tabs-rc3::-webkit-scrollbar,
  html.havin-v083 .records-tabs-rc2-v083::-webkit-scrollbar {
    display: none;
  }
  html.havin-v083 .watch-tabs-rc3 {
    grid-auto-columns: minmax(88px, 1fr) !important;
  }
  html.havin-v083 .records-tabs-rc2-v083 {
    grid-auto-columns: minmax(96px, 1fr) !important;
  }
  html.havin-v083 .watch-tabs-rc3 > button,
  html.havin-v083 .records-tabs-rc2-v083 > button {
    min-width: 0 !important;
    width: auto !important;
    min-height: 46px !important;
    padding: 8px 10px !important;
    justify-content: center;
    white-space: nowrap;
    border-radius: 13px;
    scroll-snap-align: start;
  }

  /* Search + filter controls share a common baseline instead of producing one-off
     heights between Watch and Vault. */
  html.havin-v083 .watch-context-rc2-v083,
  html.havin-v083 .records-command-rc2-v083 {
    width: 100%;
    min-width: 0;
    align-items: stretch;
    gap: 9px;
  }
  html.havin-v083 .watch-context-rc2-v083 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  html.havin-v083 .records-command-rc2-v083 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  html.havin-v083 :where(.watch-search-rc2-v083, .records-command-rc2-v083 .page-search) {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }
  html.havin-v083 .records-command-rc2-v083 > .button {
    min-height: 46px;
    align-self: stretch;
  }

  /* Home / Recent Updates: expanded rows become a simple mobile timeline. */
  html.havin-v083 details.home-quiet-row-rc3 {
    padding: 15px;
  }
  html.havin-v083 details.home-quiet-row-rc3 > summary {
    grid-template-columns: 26px minmax(0, 1fr) 18px;
    gap: 10px;
  }
  html.havin-v083 .home-automation-rc3 {
    display: grid;
    gap: 8px;
    padding: 10px 0 0 36px;
  }
  html.havin-v083 .home-automation-rc3 article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    align-items: baseline;
    padding: 10px 0;
  }
  html.havin-v083 .home-automation-rc3 article > span {
    grid-column: 1 / -1;
    font-size: .68rem;
  }
  html.havin-v083 .home-automation-rc3 article > strong {
    grid-column: 1;
    line-height: 1.35;
  }
  html.havin-v083 .home-automation-rc3 article > small {
    grid-column: 2;
    white-space: nowrap;
  }
  html.havin-v083 .home-automation-rc3 > button {
    width: fit-content;
    min-height: 40px;
    margin-top: 2px;
  }
}

@media (max-width: 390px) {
  html.havin-v083 .watch-tabs-rc3 {
    grid-auto-columns: minmax(84px, 1fr) !important;
  }
  html.havin-v083 .records-tabs-rc2-v083 {
    grid-auto-columns: minmax(92px, 1fr) !important;
  }
  html.havin-v083 .home-automation-rc3 {
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v083 details.home-quiet-row-rc3 > summary > svg:last-child {
    transition: none;
  }
}
/* Hāvin Beta 1.2 — physical-device UI correction pass.
   Presentation only. Keeps authorization, ownership and data boundaries unchanged. */

html.havin-v083 {
  --beta12-mobile-gutter: 18px;
  --beta12-header-title: clamp(2.65rem, 12vw, 3.25rem);
  --beta12-chat-surface: rgba(10, 18, 33, .86);
  --beta12-chat-line: rgba(152, 188, 220, .13);
}

/* ---------------- First-level mobile headers ---------------- */
@media (max-width: 760px) {
  html.havin-v083 .assets-page > .page-heading,
  html.havin-v083 .records-page > .page-heading,
  html.havin-v083 .watch-page > .watch-hero-rc3 {
    width: 100%;
    margin: 0 0 6px;
  }

  html.havin-v083 .assets-page > .page-heading,
  html.havin-v083 .records-page > .page-heading {
    gap: 15px;
  }

  html.havin-v083 .assets-page > .page-heading .eyebrow,
  html.havin-v083 .watch-page .watch-hero-copy-rc3 .eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #69c3ed;
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .18em;
    text-transform: uppercase;
  }

  html.havin-v083 .assets-page > .page-heading h1,
  html.havin-v083 .records-page > .page-heading h1,
  html.havin-v083 .watch-page .watch-hero-copy-rc3 h1 {
    margin: 0 0 12px;
    font-size: var(--beta12-header-title);
    line-height: .96;
    letter-spacing: -.055em;
    font-weight: 780;
    text-wrap: balance;
  }

  html.havin-v083 .assets-page > .page-heading p,
  html.havin-v083 .records-page > .page-heading p,
  html.havin-v083 .watch-page .watch-hero-copy-rc3 > p {
    margin: 0;
    max-width: 36rem;
    color: #95a3b8;
    font-size: 1rem;
    line-height: 1.45;
  }

  html.havin-v083 .assets-page > .page-heading .page-heading-actions,
  html.havin-v083 .records-page > .page-heading .page-heading-actions {
    width: 100%;
    margin-top: 1px;
  }

  html.havin-v083 .assets-page > .page-heading .page-heading-actions > button,
  html.havin-v083 .records-page > .page-heading .page-heading-actions > button {
    width: 100%;
    min-height: 54px;
    justify-content: center;
    border-radius: 16px;
    font-size: .94rem;
  }

  /* Watch uses the same header rhythm instead of presenting a completely different hero card. */
  html.havin-v083 .watch-page > .watch-hero-rc3 {
    padding: 0;
    display: grid;
    gap: 17px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  html.havin-v083 .watch-page .watch-heading-row-rc4 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  html.havin-v083 .watch-page .watch-refresh-rc3 {
    width: 100%;
    min-height: 50px;
    justify-content: center;
    border: 1px solid rgba(105, 195, 237, .18);
    border-radius: 15px;
    background: rgba(16, 31, 51, .72);
    color: #b3dff4;
  }

  html.havin-v083 .watch-page .watch-hero-glance-rc3 {
    width: 100%;
    padding: 6px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    border: 1px solid var(--beta12-chat-line);
    border-radius: 18px;
    background: rgba(13, 24, 42, .72);
  }

  html.havin-v083 .watch-page .watch-hero-glance-rc3 > button {
    min-width: 0;
    min-height: 72px;
    border-radius: 13px;
  }
}

/* ---------------- Assets grid ---------------- */
@media (max-width: 760px) {
  html.havin-v083 .asset-card-grid-v081 {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
    align-items: start;
    justify-items: stretch;
  }

  html.havin-v083 .asset-card-v081 {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 18px;
  }

  html.havin-v083 .asset-card-v081 > a {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
  }

  html.havin-v083 .asset-card-image-v081 {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    overflow: hidden;
  }

  html.havin-v083 .asset-card-image-v081 img,
  html.havin-v083 .asset-card-placeholder-v081 {
    width: 100%;
    height: 100%;
  }

  html.havin-v083 .asset-card-body-v081 {
    width: 100%;
    min-width: 0;
    padding: 12px 12px 14px;
  }

  html.havin-v083 .asset-card-heading-v081,
  html.havin-v083 .asset-card-heading-v081 > div {
    width: 100%;
    min-width: 0;
  }

  html.havin-v083 .asset-card-heading-v081 h3 {
    font-size: .94rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  html.havin-v083 .asset-card-heading-v081 p {
    width: 100%;
    margin-top: 5px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.35;
  }

  html.havin-v083 .asset-card-status-v081 {
    min-height: 0;
    margin-top: 9px;
    align-items: flex-start;
    line-height: 1.32;
  }

  html.havin-v083 .asset-card-context-v081 {
    margin-top: 8px;
    line-height: 1.3;
  }
}

@media (max-width: 390px) {
  html.havin-v083 .asset-card-grid-v081 { gap: 15px 11px !important; }
  html.havin-v083 .asset-card-body-v081 { padding-inline: 9px; }
}

/* ---------------- Bottom navigation: Halo is one coherent invitation ---------------- */
@media (max-width: 900px) {
  html.havin-v083-rc5 .mobile-nav-rc5 {
    height: 76px;
    padding: 6px 7px calc(5px + env(safe-area-inset-bottom, 0px));
    align-items: stretch;
  }

  html.havin-v083-rc5 .mobile-nav-rc5 .mobile-link {
    height: 62px;
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5 {
    height: 62px !important;
    margin: 0 2px;
    padding: 5px 4px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    overflow: visible;
    border: 1px solid rgba(101, 197, 239, .24);
    border-radius: 16px;
    background: linear-gradient(160deg, rgba(75, 42, 114, .18), rgba(30, 58, 138, .18));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 7px 20px rgba(0,0,0,.12);
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5:hover,
  html.havin-v083-rc5 .mobile-halo-link-rc5.active {
    border-color: rgba(105, 205, 247, .44);
    background: linear-gradient(160deg, rgba(75, 42, 114, .27), rgba(30, 78, 138, .25));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 7px 24px rgba(30,58,138,.20);
  }

  html.havin-v083-rc5 .mobile-halo-orb-rc5 {
    width: 48px;
    height: 33px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
  }

  html.havin-v083-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    width: 48px !important;
    max-width: 48px !important;
    height: 28px !important;
    object-fit: contain;
    filter: drop-shadow(0 0 7px rgba(63,167,225,.28));
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5 > span:last-child {
    color: #9bdcf8;
    font-size: .58rem;
    font-weight: 780;
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5.active > span:last-child {
    color: #f1d56c;
  }
}

/* ---------------- Halo: messenger-style assistant ---------------- */
html.havin-v083 .halo-page-rc5 {
  width: min(820px, 100%);
  gap: 12px;
}

html.havin-v083 .halo-topbar-rc9 {
  padding: 12px 0 14px;
  display: grid;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid var(--beta12-chat-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

html.havin-v083 .halo-topbar-primary-rc112 {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

html.havin-v083 .halo-identity-rc9 {
  display: flex;
  align-items: center;
  gap: 12px;
}

html.havin-v083 .halo-topbar-mark-rc9 {
  width: 70px;
  min-width: 70px;
  height: 44px;
  overflow: visible;
  display: grid;
  place-items: center;
}

html.havin-v083 .halo-topbar-mark-rc9 .halo-mark-image {
  content: url('/brand/halo/havin-halo-compact.png');
  width: 66px !important;
  max-width: 66px !important;
  height: 38px !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 0 9px rgba(63,167,225,.28));
}

html.havin-v083 .halo-identity-rc9 .eyebrow {
  margin-bottom: 3px;
  font-size: .65rem;
}

html.havin-v083 .halo-identity-rc9 h1 {
  margin: 0;
  font-size: clamp(1.75rem, 6vw, 2.2rem);
  line-height: 1;
}

html.havin-v083 .halo-new-chat-rc9 {
  min-height: 42px;
  padding-inline: 14px;
  border-radius: 14px;
}

html.havin-v083 .halo-asset-context-rc112 {
  min-height: 36px;
  padding: 7px 10px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(146, 181, 215, .09);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
}

html.havin-v083 .halo-asset-context-rc112 > span {
  font-size: .63rem;
}

html.havin-v083 .halo-asset-context-rc112 > strong {
  font-size: .78rem;
}

html.havin-v083 .halo-workspace-rc9 {
  min-height: 54dvh;
  padding: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--beta12-chat-line);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(13, 23, 41, .84), rgba(8, 14, 27, .90));
  overflow: hidden;
}

html.havin-v083 .halo-empty-rc9 {
  flex: 1;
  min-height: 260px;
  padding: 20px 18px 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 13px;
}

html.havin-v083 .halo-ready-rc9 {
  padding: 0;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  background: transparent;
}

html.havin-v083 .halo-ready-mark-rc5 {
  width: 58px;
  min-width: 58px;
  height: 40px;
  display: grid;
  place-items: center;
  overflow: visible;
}

html.havin-v083 .halo-ready-mark-rc5 .halo-mark-image {
  content: url('/brand/halo/havin-halo-compact.png');
  width: 55px !important;
  max-width: 55px !important;
  height: 32px !important;
  object-fit: contain !important;
}

html.havin-v083 .halo-ready-rc9 strong {
  display: block;
  font-size: 1rem;
  line-height: 1.25;
}

html.havin-v083 .halo-ready-rc9 p {
  margin: 4px 0 0;
  max-width: 38rem;
  color: #8493a8;
  font-size: .77rem;
  line-height: 1.4;
}

html.havin-v083 .halo-suggestions-rc9 {
  width: 100%;
  padding: 0 0 3px;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
html.havin-v083 .halo-suggestions-rc9::-webkit-scrollbar { display: none; }

html.havin-v083 .halo-suggestions-rc9 > button {
  flex: 0 0 auto;
  max-width: 260px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(103, 188, 231, .15);
  border-radius: 999px;
  background: rgba(36, 75, 118, .12);
  color: #b7dff2;
  font-size: .7rem;
  line-height: 1.25;
  text-align: left;
  scroll-snap-align: start;
}

html.havin-v083 .halo-thread-rc9 {
  flex: 1;
  min-height: 300px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

html.havin-v083 .halo-message-rc9 {
  width: fit-content;
  max-width: 88%;
  padding: 12px 14px;
  border-radius: 18px;
  box-shadow: none;
}

html.havin-v083 .halo-message-rc9.user {
  margin-left: auto;
  border: 1px solid rgba(84, 132, 221, .28);
  border-bottom-right-radius: 6px;
  background: rgba(30, 58, 138, .28);
}

html.havin-v083 .halo-message-rc9.assistant {
  margin-right: auto;
  border: 1px solid rgba(139, 177, 210, .10);
  border-bottom-left-radius: 6px;
  background: rgba(12, 23, 41, .92);
}

html.havin-v083 .halo-answer-heading-rc5 {
  margin-bottom: 7px;
}

html.havin-v083 .halo-answer-mark-rc5 {
  width: 34px;
  height: 24px;
  display: grid;
  place-items: center;
  overflow: visible;
}

html.havin-v083 .halo-answer-mark-rc5 .halo-mark-image {
  content: url('/brand/halo/havin-halo-compact.png');
  width: 32px !important;
  max-width: 32px !important;
  height: 20px !important;
  object-fit: contain !important;
}

html.havin-v083 .halo-typing-rc9 {
  width: fit-content;
  max-width: 80%;
  padding: 10px 13px;
  border: 1px solid rgba(139, 177, 210, .10);
  border-radius: 17px 17px 17px 6px;
  background: rgba(12, 23, 41, .92);
}

html.havin-v083 .halo-composer-rc9 {
  margin: 0;
  padding: 11px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  align-items: end;
  border: 0;
  border-top: 1px solid var(--beta12-chat-line);
  border-radius: 0;
  background: rgba(8, 15, 28, .96);
}

html.havin-v083 .halo-composer-rc9 textarea {
  min-height: 48px;
  max-height: 128px;
  margin: 0;
  padding: 13px 14px;
  resize: none;
  border: 1px solid rgba(143, 176, 209, .13);
  border-radius: 16px;
  background: rgba(4, 9, 18, .72);
  line-height: 1.35;
}

html.havin-v083 .halo-composer-actions-rc5 {
  display: flex;
  align-items: end;
}

html.havin-v083 .halo-composer-actions-rc5 > small {
  display: none;
}

html.havin-v083 .halo-send-rc5 {
  min-width: 50px;
  min-height: 48px;
  padding: 0 13px;
  border-radius: 15px;
}

html.havin-v083 .halo-send-rc5 .halo-mark-image {
  width: 27px !important;
  max-width: 27px !important;
  height: 17px !important;
  object-fit: contain;
}

html.havin-v083 .halo-session-note-bottom-rc112 {
  margin: 0;
  padding: 9px 13px 11px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  border: 0;
  border-top: 1px solid rgba(143, 176, 209, .07);
  border-radius: 0;
  background: rgba(8, 15, 28, .96);
  color: #6f8096;
  font-size: .66rem;
}

html.havin-v083 .halo-session-note-bottom-rc112::after {
  content: 'Private Hāvin context + official sources when needed.';
  flex-basis: 100%;
  padding-left: 21px;
  color: #60748c;
}

html.havin-v083 .halo-disclaimer-rc9 {
  margin: 1px 4px 0;
  font-size: .62rem;
  line-height: 1.4;
}

@media (max-width: 760px) {
  html.havin-v083 .halo-page-rc5 { gap: 10px; }
  html.havin-v083 .halo-topbar-rc9 { padding-top: 2px; }
  html.havin-v083 .halo-topbar-primary-rc112 { grid-template-columns: minmax(0,1fr) auto; }
  html.havin-v083 .halo-topbar-mark-rc9 { width: 58px; min-width: 58px; height: 38px; }
  html.havin-v083 .halo-topbar-mark-rc9 .halo-mark-image { width: 56px !important; max-width: 56px !important; height: 32px !important; }
  html.havin-v083 .halo-identity-rc9 { gap: 9px; }
  html.havin-v083 .halo-identity-rc9 h1 { font-size: 1.78rem; }
  html.havin-v083 .halo-new-chat-rc9 { min-height: 40px; padding-inline: 12px; font-size: .75rem; }
  html.havin-v083 .halo-workspace-rc9 { min-height: calc(100dvh - 300px); border-radius: 20px; }
  html.havin-v083 .halo-empty-rc9 { min-height: 230px; padding: 16px 14px 11px; }
  html.havin-v083 .halo-thread-rc9 { min-height: 290px; padding: 14px; }
  html.havin-v083 .halo-message-rc9 { max-width: 91%; }
  html.havin-v083 .halo-composer-rc9 { grid-template-columns: minmax(0,1fr) auto; padding: 9px; }
  html.havin-v083 .halo-send-rc5 { min-width: 48px; padding-inline: 10px; font-size: 0; }
  html.havin-v083 .halo-send-rc5 .halo-mark-image { margin: 0; }
}
/* Hāvin Beta 1.3 — physical-device coherence pass.
   One first-level hierarchy, one control rhythm, one conversational Halo surface. */

html.havin-v083 {
  --b13-page-blue: #69c3ed;
  --b13-text: #f4f7fb;
  --b13-muted: #94a2b7;
  --b13-line: rgba(145, 180, 214, .13);
  --b13-surface: rgba(13, 24, 42, .78);
  --b13-surface-strong: rgba(15, 27, 48, .94);
  --b13-control: rgba(15, 26, 45, .88);
  --b13-radius: 16px;
}

/* ---------- Boot / transition states ---------- */
html.havin-native-ios .auth-page:has(> .auth-card > .brand + p.muted),
html.havin-v083 .auth-page:has(> .auth-card > .brand + p.muted),
html.havin-v083 .app-loading {
  width: 100%;
  min-height: 100dvh;
  padding: max(24px, env(safe-area-inset-top, 0px)) 24px max(24px, env(safe-area-inset-bottom, 0px));
  display: grid;
  place-items: center;
  align-content: center;
  background: #070b15;
}

html.havin-native-ios .auth-page:has(> .auth-card > .brand + p.muted) > .auth-card,
html.havin-v083 .auth-page:has(> .auth-card > .brand + p.muted) > .auth-card,
html.havin-v083 .app-loading {
  width: min(260px, 78vw);
  margin: 0 auto;
  padding: 0;
  justify-items: center;
  gap: 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

html.havin-native-ios .auth-page:has(> .auth-card > .brand + p.muted) .brand,
html.havin-v083 .auth-page:has(> .auth-card > .brand + p.muted) .brand,
html.havin-v083 .app-loading .brand {
  width: 180px;
  max-width: 62vw;
  margin: 0;
}

html.havin-native-ios .auth-page:has(> .auth-card > .brand + p.muted) .brand-logo,
html.havin-v083 .auth-page:has(> .auth-card > .brand + p.muted) .brand-logo,
html.havin-v083 .app-loading .brand-logo {
  width: 100%;
  height: auto;
  object-fit: contain;
}

html.havin-native-ios .auth-page:has(> .auth-card > .brand + p.muted) p,
html.havin-v083 .auth-page:has(> .auth-card > .brand + p.muted) p,
html.havin-v083 .app-loading p {
  margin: 0;
  color: #8291a6;
  font-size: .82rem;
  line-height: 1.4;
}

html.havin-native-ios .auth-page:has(> .auth-card > .brand + p.muted) p::before,
html.havin-v083 .auth-page:has(> .auth-card > .brand + p.muted) p::before,
html.havin-v083 .app-loading p::before {
  content: '';
  width: 18px;
  height: 18px;
  margin: 0 auto 10px;
  display: block;
  border: 2px solid rgba(105, 195, 237, .18);
  border-top-color: rgba(105, 195, 237, .88);
  border-radius: 50%;
  animation: b13-spin .8s linear infinite;
}

@keyframes b13-spin { to { transform: rotate(360deg); } }

/* ---------- First-level page hierarchy ---------- */
html.havin-v083 .first-level-page-header {
  width: 100%;
  margin: 0 0 18px;
  align-items: end;
  gap: 18px;
}

html.havin-v083 .first-level-page-copy .eyebrow,
html.havin-v083 .watch-page .watch-hero-copy-rc3 .eyebrow {
  display: block;
  margin: 0 0 8px;
  color: var(--b13-page-blue);
  font-size: .72rem;
  font-weight: 820;
  line-height: 1.1;
  letter-spacing: .18em;
  text-transform: uppercase;
}

html.havin-v083 .first-level-page-copy h1,
html.havin-v083 .watch-page .watch-hero-copy-rc3 h1 {
  margin: 0;
  color: var(--b13-text);
  font-size: clamp(2.15rem, 6vw, 3rem);
  font-weight: 780;
  line-height: 1;
  letter-spacing: -.045em;
  text-wrap: balance;
}

html.havin-v083 .first-level-page-copy p,
html.havin-v083 .watch-page .watch-hero-copy-rc3 > p {
  max-width: 44rem;
  margin: 10px 0 0;
  color: var(--b13-muted);
  font-size: .98rem;
  line-height: 1.48;
}

html.havin-v083 .first-level-page-actions > :is(button, a) {
  min-height: 48px;
  border-radius: 15px;
}

@media (max-width: 900px) {
  html.havin-v083 .page-content {
    padding-inline: 16px;
  }

  html.havin-v083 .first-level-page-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 18px;
  }

  html.havin-v083 .first-level-page-copy h1,
  html.havin-v083 .watch-page .watch-hero-copy-rc3 h1 {
    font-size: clamp(2.05rem, 9vw, 2.45rem);
  }

  html.havin-v083 .first-level-page-copy p,
  html.havin-v083 .watch-page .watch-hero-copy-rc3 > p {
    font-size: .96rem;
  }

  html.havin-v083 .first-level-page-actions,
  html.havin-v083 .first-level-page-actions > :is(button, a) {
    width: 100%;
  }

  html.havin-v083 .first-level-page-actions > :is(button, a) {
    min-height: 52px;
    justify-content: center;
  }
}

/* Watch historically used a bespoke hero. Make its visual order identical to PageHeader. */
@media (max-width: 900px) {
  html.havin-v083 .watch-page > .watch-hero-rc3 {
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    gap: 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  html.havin-v083 .watch-page .watch-hero-copy-rc3 {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  html.havin-v083 .watch-page .watch-heading-row-rc4 { display: contents; }
  html.havin-v083 .watch-page .watch-heading-row-rc4 > div { order: 1; }
  html.havin-v083 .watch-page .watch-hero-copy-rc3 > p { order: 2; }
  html.havin-v083 .watch-page .watch-refresh-rc3 {
    order: 3;
    width: 100%;
    min-height: 52px;
    margin-top: 14px;
    justify-content: center;
    border: 1px solid rgba(105, 195, 237, .18);
    border-radius: 15px;
    background: rgba(13, 29, 48, .78);
    color: #b8e2f5;
  }

  html.havin-v083 .watch-page .watch-hero-glance-rc3 {
    width: 100%;
    margin: 0;
    padding: 6px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    border: 1px solid var(--b13-line);
    border-radius: 18px;
    background: var(--b13-surface);
  }

  html.havin-v083 .watch-page .watch-hero-glance-rc3 > button {
    min-width: 0;
    min-height: 68px;
    padding: 10px 6px;
    border-radius: 13px;
  }
}

/* ---------- Assets: deliberate command layout ---------- */
@media (max-width: 900px) {
  html.havin-v083 .portfolio-browser-rc8 {
    margin-top: 2px;
  }

  html.havin-v083 .portfolio-browser-heading-rc8 {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
  }

  html.havin-v083 .portfolio-browser-heading-rc8 > div:first-child {
    min-width: 0;
  }

  html.havin-v083 .portfolio-heading-actions-rc123 {
    flex: 0 0 auto;
    justify-content: flex-end;
  }

  html.havin-v083 .portfolio-heading-actions-rc123 .text-button {
    min-height: 36px;
    padding-inline: 4px;
    font-size: .82rem;
    white-space: nowrap;
  }

  html.havin-v083 .assets-command-rc123-final {
    width: 100%;
    padding: 10px;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
    align-items: stretch;
    border: 1px solid var(--b13-line);
    border-radius: 18px;
    background: rgba(12, 22, 38, .78);
  }

  html.havin-v083 .assets-command-rc123-final .assets-search-v081 {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    margin: 0;
    border-radius: 14px;
  }

  html.havin-v083 .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-sort-control-rc123, .assets-manage-trigger-rc6) {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid rgba(151, 177, 209, .12);
    border-radius: 14px;
    background: var(--b13-control);
    color: #dce6f0;
    font-size: .78rem;
    font-weight: 720;
    box-sizing: border-box;
  }

  html.havin-v083 .assets-command-rc123-final .assets-sort-control-rc123 {
    position: relative;
    overflow: hidden;
  }

  html.havin-v083 .assets-command-rc123-final .assets-sort-control-rc123 select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }

  html.havin-v083 .assets-command-rc123-final .assets-sort-control-rc123 > svg:last-child { display: none; }

  html.havin-v083 .asset-card-grid-v081 {
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
    justify-items: stretch !important;
    align-items: start;
  }

  html.havin-v083 .asset-card-v081 {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    justify-self: stretch;
  }

  html.havin-v083 .asset-card-v081 > a,
  html.havin-v083 .asset-card-image-v081,
  html.havin-v083 .asset-card-body-v081 {
    width: 100%;
    min-width: 0;
  }

  html.havin-v083 .asset-card-image-v081 {
    aspect-ratio: 1 / 1;
    height: auto !important;
  }

  html.havin-v083 .asset-card-body-v081 {
    padding: 10px 8px 12px;
  }

  html.havin-v083 .asset-card-heading-v081 h3 {
    font-size: .94rem;
    line-height: 1.22;
    overflow-wrap: anywhere;
  }

  html.havin-v083 .asset-card-heading-v081 p {
    margin-top: 4px;
    font-size: .76rem;
    line-height: 1.3;
    white-space: normal;
  }
}

/* ---------- Vault command and segmented navigation ---------- */
@media (max-width: 900px) {
  html.havin-v083 .records-tabs-rc2-v083 {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    overflow: visible;
  }

  html.havin-v083 .records-tabs-rc2-v083 > button {
    min-width: 0;
    min-height: 64px;
    padding: 8px 4px;
  }

  html.havin-v083 .records-command-rc2-v083 {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px;
    gap: 8px;
    align-items: stretch;
  }

  html.havin-v083 .records-command-rc2-v083 .page-search {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    margin: 0;
  }

  html.havin-v083 .records-command-rc2-v083 > button {
    width: 52px;
    min-width: 52px;
    min-height: 50px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 14px;
  }

  html.havin-v083 .records-command-rc2-v083 > button > span { display: none; }
}

/* ---------- Watch workspace ---------- */
@media (max-width: 900px) {
  html.havin-v083 .watch-tabs-rc3 {
    width: 100%;
    margin: 0;
    padding: 5px;
    display: grid;
    grid-template-columns: repeat(5, minmax(72px, 1fr));
    gap: 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  html.havin-v083 .watch-tabs-rc3::-webkit-scrollbar { display: none; }

  html.havin-v083 .watch-tabs-rc3 > button {
    min-width: 72px;
    min-height: 62px;
    padding: 7px 5px;
  }

  html.havin-v083 .watch-context-rc2-v083 {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  html.havin-v083 .watch-search-rc2-v083 {
    width: 100%;
    min-width: 0;
  }
}

/* ---------- Home: keep the first screen composed and aligned ---------- */
@media (max-width: 900px) {
  html.havin-v083 .home-hero-rc3 {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  html.havin-v083 .home-hero-copy-rc3,
  html.havin-v083 .home-world-rc3,
  html.havin-v083 .home-today-rc3,
  html.havin-v083 .home-assets-rc3,
  html.havin-v083 .home-upcoming-rc3,
  html.havin-v083 .home-quiet-work-rc3 {
    width: 100%;
    min-width: 0;
  }

  html.havin-v083 .home-glance-rc4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  html.havin-v083 .home-hero-actions-rc3 {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- Halo: messenger inside Hāvin ---------- */
html.havin-v083 .halo-chat-page {
  width: min(760px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 10px;
}

html.havin-v083 .halo-chat-header {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 4px 0 8px;
}

html.havin-v083 .halo-chat-identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

html.havin-v083 .halo-chat-header-mark {
  width: 66px;
  min-width: 66px;
  height: 40px;
  display: grid;
  place-items: center;
  overflow: visible;
}

html.havin-v083 .halo-chat-header-mark .halo-mark-image {
  width: 60px !important;
  max-width: 60px !important;
  height: 32px !important;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 0 7px rgba(63, 167, 225, .25));
}

html.havin-v083 .halo-chat-identity .eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--b13-page-blue);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

html.havin-v083 .halo-chat-identity h1 {
  margin: 0;
  color: var(--b13-text);
  font-size: clamp(1.55rem, 5vw, 1.95rem);
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.035em;
}

html.havin-v083 .halo-chat-new {
  flex: 0 0 auto;
  min-height: 42px;
  padding-inline: 14px;
  border-radius: 14px;
}

html.havin-v083 .halo-chat-context {
  min-height: 38px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--b13-line);
  border-radius: 13px;
  background: rgba(255,255,255,.018);
}

html.havin-v083 .halo-chat-context > span {
  color: #8796aa;
  font-size: .62rem;
  font-weight: 680;
  letter-spacing: .10em;
  text-transform: uppercase;
}

html.havin-v083 .halo-chat-context > strong {
  min-width: 0;
  color: #e9eef5;
  font-size: .78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.havin-v083 .halo-chat-shell {
  width: 100%;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--b13-line);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(12, 21, 38, .92), rgba(7, 13, 25, .96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

html.havin-v083 .halo-chat-thread {
  flex: 1;
  min-height: 0;
  padding: 18px 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}

html.havin-v083 .halo-chat-message {
  width: fit-content;
  max-width: min(82%, 560px);
  padding: 11px 13px;
  border-radius: 17px;
  font-size: .91rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

html.havin-v083 .halo-chat-message p { margin: 0; }

html.havin-v083 .halo-chat-message.assistant {
  align-self: flex-start;
  border: 1px solid rgba(114, 156, 201, .13);
  border-bottom-left-radius: 6px;
  background: rgba(17, 30, 52, .86);
  color: #dce6f1;
}

html.havin-v083 .halo-chat-message.assistant.welcome {
  max-width: min(88%, 580px);
}

html.havin-v083 .halo-chat-message.assistant.error {
  border-color: rgba(221, 174, 91, .24);
  background: rgba(66, 49, 24, .24);
}

html.havin-v083 .halo-chat-message.user {
  align-self: flex-end;
  border: 1px solid rgba(86, 151, 229, .25);
  border-bottom-right-radius: 6px;
  background: linear-gradient(145deg, rgba(24, 56, 105, .94), rgba(20, 43, 80, .96));
  color: #f1f5fa;
}

html.havin-v083 .halo-chat-you {
  display: block;
  margin-bottom: 4px;
  color: #83d1f4;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}

html.havin-v083 .halo-chat-message-author {
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #eef6fc;
  font-size: .72rem;
}

html.havin-v083 .halo-chat-message-author .halo-mark-image {
  width: 28px !important;
  max-width: 28px !important;
  height: 15px !important;
  object-fit: contain;
}

html.havin-v083 .halo-chat-starters {
  align-self: flex-start;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: 7px;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
html.havin-v083 .halo-chat-starters::-webkit-scrollbar { display: none; }

html.havin-v083 .halo-chat-starters > button {
  flex: 0 0 auto;
  min-height: 36px;
  max-width: 250px;
  padding: 7px 11px;
  border: 1px solid rgba(105, 195, 237, .16);
  border-radius: 999px;
  background: rgba(31, 72, 111, .13);
  color: #b8dff2;
  font-size: .72rem;
  line-height: 1.25;
  text-align: left;
  scroll-snap-align: start;
}

html.havin-v083 .halo-chat-context-divider {
  align-self: center;
  margin: 4px 0;
  color: #6f8198;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

html.havin-v083 .halo-chat-typing {
  align-self: flex-start;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #7f91a8;
  font-size: .72rem;
}

html.havin-v083 .halo-chat-typing .halo-mark-image {
  width: 26px !important;
  max-width: 26px !important;
  height: 14px !important;
  object-fit: contain;
}

html.havin-v083 .halo-chat-facts,
html.havin-v083 .halo-chat-steps,
html.havin-v083 .halo-chat-warnings {
  margin: 9px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 5px;
}

html.havin-v083 .halo-chat-steps {
  padding-left: 22px;
}

html.havin-v083 .halo-chat-warnings {
  list-style: none;
  padding: 8px 10px;
  border: 1px solid rgba(217, 181, 92, .2);
  border-radius: 10px;
  background: rgba(126, 92, 24, .1);
  color: #dfc98d;
}

html.havin-v083 .halo-chat-warnings li::before {
  content: 'Important: ';
  font-weight: 700;
}

html.havin-v083 .halo-chat-follow-up {
  margin-top: 9px;
  min-height: 34px;
  padding: 6px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(105, 195, 237, .15);
  border-radius: 10px;
  background: rgba(27, 65, 101, .15);
  color: #b8def1;
  font-size: .72rem;
}

html.havin-v083 .halo-chat-sources {
  margin-top: 9px;
  color: #8c9cb0;
  font-size: .68rem;
}

html.havin-v083 .halo-chat-sources ul {
  margin: 7px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 5px;
}

html.havin-v083 .halo-chat-sources li span { margin-left: 6px; color: #687a91; }

html.havin-v083 .halo-chat-composer {
  flex: 0 0 auto;
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  border-top: 1px solid var(--b13-line);
  background: rgba(7, 13, 25, .97);
}

html.havin-v083 .halo-chat-composer textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  max-height: 124px;
  padding: 12px 13px;
  resize: vertical;
  border: 1px solid rgba(143, 174, 207, .14);
  border-radius: 14px;
  background: rgba(5, 10, 20, .82);
  color: #edf3f9;
  font: inherit;
  line-height: 1.4;
}

html.havin-v083 .halo-chat-composer textarea::placeholder { color: #63758d; }

html.havin-v083 .halo-chat-send {
  min-width: 68px;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(94, 192, 235, .30);
  border-radius: 13px;
  background: linear-gradient(145deg, #1f6f9f, #265f8a);
  color: #f5fbff;
  font-size: .78rem;
  font-weight: 780;
}

html.havin-v083 .halo-chat-send:disabled {
  opacity: .42;
  cursor: default;
}

html.havin-v083 .halo-chat-meta {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 12px 9px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  border-top: 1px solid rgba(145, 180, 214, .07);
  color: #687a90;
  font-size: .62rem;
  line-height: 1.4;
}

html.havin-v083 .halo-chat-disclaimer {
  margin: 1px 4px 0;
  color: #536278;
  font-size: .62rem;
  line-height: 1.45;
}

html.havin-v083 .halo-chat-loading,
html.havin-v083 .halo-chat-upgrade {
  min-height: 260px;
  padding: 24px;
  display: grid;
  align-content: center;
  gap: 10px;
  border: 1px solid var(--b13-line);
  border-radius: 20px;
  background: var(--b13-surface);
}

html.havin-v083 .halo-chat-loading { justify-items: center; color: #8292a7; }
html.havin-v083 .halo-chat-upgrade h2 { margin: 0; color: var(--b13-text); }
html.havin-v083 .halo-chat-upgrade p { margin: 0; color: var(--b13-muted); }
html.havin-v083 .halo-chat-upgrade > div { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 900px) {
  html.havin-v083 .halo-chat-page { gap: 9px; }

  html.havin-v083 .halo-chat-header {
    padding-top: 0;
  }

  html.havin-v083 .halo-chat-header-mark {
    width: 58px;
    min-width: 58px;
  }

  html.havin-v083 .halo-chat-header-mark .halo-mark-image {
    width: 54px !important;
    max-width: 54px !important;
    height: 29px !important;
  }

  html.havin-v083 .halo-chat-new {
    min-height: 40px;
    padding-inline: 12px;
    font-size: .74rem;
  }

  html.havin-v083 .halo-chat-context {
    min-height: 36px;
  }

  html.havin-v083 .halo-chat-shell {
    height: calc(100dvh - 302px - env(safe-area-inset-bottom, 0px));
    min-height: 420px;
    max-height: 660px;
    border-radius: 19px;
  }

  html.havin-v083 .halo-chat-thread {
    padding: 14px 12px 10px;
  }

  html.havin-v083 .halo-chat-message {
    max-width: 86%;
    font-size: .88rem;
  }

  html.havin-v083 .halo-chat-composer {
    padding: 8px;
  }

  html.havin-v083 .halo-chat-composer textarea,
  html.havin-v083 .halo-chat-send {
    min-height: 44px;
  }

  html.havin-v083 .halo-chat-send {
    min-width: 64px;
    padding-inline: 12px;
  }
}

@media (max-width: 390px) {
  html.havin-v083 .page-content { padding-inline: 13px; }
  html.havin-v083 .assets-command-rc123-final { padding: 8px; gap: 6px !important; }
  html.havin-v083 .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-sort-control-rc123, .assets-manage-trigger-rc6) { font-size: .72rem; padding-inline: 5px; }
  html.havin-v083 .asset-card-grid-v081 { gap: 14px 9px !important; }
  html.havin-v083 .halo-chat-identity h1 { font-size: 1.48rem; }
  html.havin-v083 .halo-chat-context > span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v083 .auth-page p::before,
  html.havin-v083 .app-loading p::before { animation: none; }
  html.havin-v083 .halo-chat-thread { scroll-behavior: auto; }
}
/* Hāvin Beta 1.4 — Halo completion, context switching, and native startup continuity. */

html.havin-v083 {
  --b14-halo-sky: #69c3ed;
  --b14-halo-gold: #edcf75;
  --b14-halo-purple: #24104f;
  --b14-halo-blue: #263f9f;
  --b14-halo-electric: #1e68ff;
}

/* ---------- Halo context is an action, not a passive label ---------- */
html.havin-v083 .halo-chat-context-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

html.havin-v083 button.halo-chat-context {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(105, 195, 237, .18);
  border-radius: 13px;
  background: rgba(14, 26, 45, .72);
  color: inherit;
  text-align: left;
  cursor: pointer;
}

html.havin-v083 button.halo-chat-context:hover,
html.havin-v083 button.halo-chat-context[aria-expanded='true'] {
  border-color: rgba(105, 195, 237, .34);
  background: rgba(18, 35, 58, .86);
}

html.havin-v083 button.halo-chat-context > span {
  color: #8796aa;
  font-size: .62rem;
  font-weight: 720;
  letter-spacing: .10em;
  text-transform: uppercase;
}

html.havin-v083 button.halo-chat-context > strong {
  min-width: 0;
  overflow: hidden;
  color: #edf3f8;
  font-size: .80rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.havin-v083 button.halo-chat-context > em {
  color: var(--b14-halo-sky);
  font-size: .70rem;
  font-style: normal;
  font-weight: 780;
}

html.havin-v083 button.halo-chat-context > svg {
  color: var(--b14-halo-sky);
  transition: transform .16s ease;
}

html.havin-v083 button.halo-chat-context[aria-expanded='true'] > svg { transform: rotate(180deg); }

html.havin-v083 .halo-context-picker {
  position: absolute;
  z-index: 30;
  top: calc(100% + 7px);
  left: 0;
  right: 0;
  max-height: min(430px, 58dvh);
  padding: 11px;
  display: grid;
  gap: 9px;
  overflow: hidden;
  border: 1px solid rgba(105, 195, 237, .22);
  border-radius: 16px;
  background: #0d1629;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255,255,255,.035);
}

html.havin-v083 .halo-context-picker-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

html.havin-v083 .halo-context-picker-heading > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

html.havin-v083 .halo-context-picker-heading span {
  color: var(--b14-halo-sky);
  font-size: .60rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

html.havin-v083 .halo-context-picker-heading strong {
  color: #f2f6fb;
  font-size: .88rem;
}

html.havin-v083 .halo-context-picker-heading button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(151, 177, 209, .13);
  border-radius: 10px;
  background: rgba(255,255,255,.025);
  color: #9aa8bd;
}

html.havin-v083 .halo-context-search {
  min-height: 42px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(151, 177, 209, .14);
  border-radius: 12px;
  background: rgba(5, 10, 20, .72);
  color: #8fa2b9;
}

html.havin-v083 .halo-context-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #edf3f8;
  font: inherit;
  font-size: .80rem;
}

html.havin-v083 .halo-context-search input::placeholder { color: #65768c; }

html.havin-v083 .halo-context-options {
  min-height: 0;
  display: grid;
  gap: 5px;
  align-content: start;
  grid-auto-rows: min-content;
  overflow-y: auto;
  overscroll-behavior: contain;
}

html.havin-v083 .halo-context-options > button {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: rgba(255,255,255,.018);
  color: #dce5ef;
  text-align: left;
}

html.havin-v083 .halo-context-options > button:hover { background: rgba(105, 195, 237, .06); }
html.havin-v083 .halo-context-options > button.selected {
  border-color: rgba(105, 195, 237, .20);
  background: rgba(38, 63, 159, .20);
}

html.havin-v083 .halo-context-options > button > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

html.havin-v083 .halo-context-options strong {
  overflow: hidden;
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.havin-v083 .halo-context-options small {
  overflow: hidden;
  color: #73859b;
  font-size: .64rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.havin-v083 .halo-context-options > p {
  margin: 12px 4px;
  color: #73859b;
  font-size: .72rem;
}

/* New chat is deliberately obvious, while asset switching lives in the explicit context row. */
html.havin-v083 .halo-chat-new {
  border: 1px solid rgba(139, 219, 250, .72) !important;
  background: var(--b14-halo-sky) !important;
  color: #081321 !important;
  box-shadow: 0 6px 18px rgba(30, 104, 255, .14);
  font-weight: 800;
}

html.havin-v083 .halo-chat-new:hover { background: #83d2f2 !important; }

/* ---------- Bottom nav: one Halo tile, one logo, no nested card ---------- */
@media (max-width: 900px) {
  html.havin-v083-rc5 .mobile-nav-rc5 {
    min-height: 82px;
    height: calc(82px + env(safe-area-inset-bottom, 0px));
    padding: 6px 7px calc(6px + env(safe-area-inset-bottom, 0px));
    align-items: stretch;
  }

  html.havin-v083-rc5 .mobile-nav-rc5 .mobile-link {
    height: 68px;
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5,
  html.havin-v083-rc5 .mobile-halo-link-rc5:hover,
  html.havin-v083-rc5 .mobile-halo-link-rc5.active {
    isolation: isolate;
    height: 68px !important;
    margin: 0 2px;
    padding: 5px 4px 4px !important;
    gap: 2px;
    overflow: hidden;
    border: 1px solid rgba(110, 165, 226, .45);
    border-radius: 18px;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 58%, #1e68ff 125%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(5, 8, 19, .28);
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5.active {
    border-color: rgba(105, 195, 237, .72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 25px rgba(30, 104, 255, .20);
  }

  html.havin-v083-rc5 .mobile-halo-orb-rc5 {
    width: 54px;
    height: 38px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.havin-v083-rc5 .mobile-halo-orb-rc5::before,
  html.havin-v083-rc5 .mobile-halo-orb-rc5::after { content: none !important; }

  html.havin-v083-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    width: 54px !important;
    max-width: 54px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    mix-blend-mode: screen;
    filter: drop-shadow(0 0 8px rgba(93, 183, 255, .42));
  }

  html.havin-v083-rc5 .mobile-halo-link-rc5 > span:last-child,
  html.havin-v083-rc5 .mobile-halo-link-rc5.active > span:last-child {
    color: var(--b14-halo-gold) !important;
    font-size: .62rem;
    font-weight: 850;
    line-height: 1;
  }
}

@media (max-width: 390px) {
  html.havin-v083 button.halo-chat-context {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  html.havin-v083 button.halo-chat-context > em { display: none; }
  html.havin-v083 .halo-context-picker { max-height: 54dvh; }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-v083 button.halo-chat-context > svg { transition: none; }
}
/* Hāvin Beta 1.5 — native viewport ownership, Halo picker stability, and raised Halo nav. */

/* Browser/PWA keeps normal document scrolling. The installed iOS app owns the viewport:
   header and footer stay fixed while .page-content is the only vertical page scroller. */
@media (max-width: 900px) {
  html.havin-native-ios,
  html.havin-native-ios body,
  html.havin-native-ios #root {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
  }

  html.havin-native-ios body {
    position: fixed;
    inset: 0;
  }

  html.havin-native-ios .app-shell {
    width: 100%;
    height: 100dvh;
    min-height: 0;
    max-height: 100dvh;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
  }

  html.havin-native-ios .main-column {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  html.havin-native-ios .topbar {
    position: relative !important;
    z-index: 40;
    top: auto !important;
    grid-row: 1;
    flex: 0 0 auto;
  }

  html.havin-native-ios .page-content {
    grid-row: 2;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    margin: 0 auto;
    padding-bottom: 28px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
  }

  /* WKWebView zooms focused controls below 16px. Keep native form fields at the iOS
     no-auto-zoom threshold instead of disabling user pinch zoom at the viewport level. */
  html.havin-native-ios input,
  html.havin-native-ios select,
  html.havin-native-ios textarea {
    font-size: 16px !important;
  }

  /* Halo's asset chooser becomes a bounded sheet within the owned center viewport.
     Its results scroll internally; focusing search can no longer enlarge/trap the page. */
  html.havin-native-ios .halo-context-picker {
    position: fixed;
    z-index: 70;
    top: calc(env(safe-area-inset-top, 0px) + 78px);
    left: 14px;
    right: 14px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 76px);
    width: auto;
    max-height: none;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
  }

  html.havin-native-ios .halo-context-search input {
    font-size: 16px !important;
    line-height: 1.3;
  }

  html.havin-native-ios .halo-context-options {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* The footer itself is slightly slimmer. Halo is the single raised destination tile:
     one gradient surface extending through the safe-area bottom and a modest cap above
     the footer, echoing Hāvin's earlier center Add treatment without becoming oversized. */
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    position: relative !important;
    z-index: 45;
    inset: auto !important;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    min-height: calc(70px + env(safe-area-inset-bottom, 0px));
    height: calc(70px + env(safe-area-inset-bottom, 0px));
    margin: 0;
    padding: 5px 7px calc(5px + env(safe-area-inset-bottom, 0px));
    align-items: start;
    overflow: visible;
    background: rgba(5, 12, 24, .992);
    backdrop-filter: blur(20px) saturate(125%);
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link {
    height: 56px;
    min-height: 56px;
    padding-top: 5px;
    padding-bottom: 4px;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    align-self: end;
    height: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(78px + env(safe-area-inset-bottom, 0px));
    margin: -13px 2px calc(-5px - env(safe-area-inset-bottom, 0px));
    padding: 8px 4px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 2px;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 58%, #1e68ff 125%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 -5px 22px rgba(30,104,255,.15);
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 {
    width: 58px;
    height: 40px;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    width: 58px !important;
    max-width: 58px !important;
    height: 36px !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5 > span:last-child {
    margin-top: 1px;
    color: var(--b14-halo-gold) !important;
    font-size: .64rem;
  }

  /* Halo already owns an internal conversation scroller; when the app shell becomes
     fixed-height, let the chat consume the available center viewport rather than using
     the older document-viewport subtraction. */
  html.havin-native-ios .halo-chat-page {
    height: 100%;
    min-height: 0;
  }

  html.havin-native-ios .halo-chat-shell {
    min-height: 360px;
    height: min(620px, calc(100% - 126px));
    max-height: none;
  }
}

@media (max-width: 390px) {
  html.havin-native-ios .halo-context-picker {
    left: 10px;
    right: 10px;
  }
}
/* Hāvin Beta 1.6 — compact native chrome, full-height Halo, and coherent Assets controls. */

@media (max-width: 900px) {
  /* Keep the installed app as one owned viewport, but give content nearly all of the
     vertical space. The full-width footer is deliberately ~30% shallower than Beta 1.5. */
  html.havin-native-ios .app-shell {
    grid-template-rows: minmax(0, 1fr) auto;
  }

  html.havin-native-ios .page-content {
    padding-bottom: 8px;
    scroll-padding-bottom: 8px;
  }

  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    min-height: calc(50px + env(safe-area-inset-bottom, 0px));
    height: calc(50px + env(safe-area-inset-bottom, 0px));
    padding: 2px 6px calc(2px + env(safe-area-inset-bottom, 0px));
    align-items: start;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link {
    height: 44px;
    min-height: 44px;
    padding: 2px 2px 1px;
    gap: 1px;
    font-size: .50rem;
    line-height: 1;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link > svg {
    width: 18px;
    height: 18px;
  }

  /* Raised Halo remains the visual invitation, but is ~20% shorter than Beta 1.5. */
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    align-self: end;
    height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(62px + env(safe-area-inset-bottom, 0px));
    margin: -9px 2px calc(-2px - env(safe-area-inset-bottom, 0px));
    padding: 4px 3px calc(2px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 0;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 58%, #1e68ff 125%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 -4px 18px rgba(30,104,255,.13);
  }

  /* There is one Halo surface only. Strip every legacy inner card/line treatment from
     the image wrapper so the glowing ring floats directly on the gradient. */
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::after,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 {
    width: 48px;
    height: 27px;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::after {
    content: none !important;
    display: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    width: 48px !important;
    max-width: 48px !important;
    height: 27px !important;
    object-fit: contain !important;
    object-position: center !important;
    mix-blend-mode: screen;
    filter: drop-shadow(0 0 7px rgba(93,183,255,.36));
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5 > span:last-child,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active > span:last-child {
    margin-top: 0;
    color: var(--b14-halo-gold) !important;
    font-size: .56rem;
    line-height: 1;
  }

  /* Halo owns the complete center viewport. Header/context remain above the conversation;
     thread/composer fill everything else instead of stopping at an arbitrary 620px cap. */
  html.havin-native-ios .page-content:has(.halo-chat-page) {
    height: 100%;
    min-height: 0;
    padding-top: 12px;
    padding-bottom: 6px;
    overflow: hidden;
  }

  html.havin-native-ios .halo-chat-page {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 8px;
  }

  html.havin-native-ios .halo-chat-header {
    padding: 0 0 4px;
  }

  html.havin-native-ios .halo-chat-shell {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html.havin-native-ios .halo-chat-thread {
    min-height: 0;
    padding: 14px 12px 10px;
  }

  html.havin-native-ios .halo-chat-disclaimer {
    margin: 0 3px;
    color: #596a80;
    font-size: .60rem;
    line-height: 1.35;
  }

  /* Native modal owns its own scroll. The blurred page behind it is frozen. */
  html.havin-native-ios.havin-modal-open .page-content {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  html.havin-native-ios .modal-backdrop {
    padding: calc(env(safe-area-inset-top, 0px) + 74px) 12px calc(env(safe-area-inset-bottom, 0px) + 56px);
    place-items: end center;
    overflow: hidden;
    overscroll-behavior: none;
  }

  html.havin-native-ios .modal {
    width: min(620px, 100%);
    max-height: 72dvh;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border-radius: 18px 18px 0 0;
  }

  html.havin-native-ios .modal-header {
    position: relative;
    top: auto;
  }

  html.havin-native-ios .modal-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  html.havin-native-ios .portfolio-picker-grid-rc113 {
    min-height: 0;
    padding-bottom: 12px;
  }

  /* Assets command center: search first, then three equally legible actions. */
  html.havin-native-ios .assets-command-rc123-final {
    width: 100%;
    padding: 9px;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px !important;
    border: 1px solid rgba(145,180,214,.14);
    border-radius: 16px;
    background: rgba(10,19,33,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  }

  html.havin-native-ios .assets-command-rc123-final .assets-search-v081 {
    grid-column: 1 / -1;
    min-height: 46px;
    border-radius: 12px;
    background: rgba(5,11,21,.76);
  }

  html.havin-native-ios .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-sort-control-rc123, .assets-manage-trigger-rc6) {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    height: 42px;
    padding: 0 6px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 12px;
    font-size: .67rem;
    font-weight: 760;
    white-space: nowrap;
  }

  html.havin-native-ios .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-manage-trigger-rc6) svg,
  html.havin-native-ios .assets-command-rc123-final .assets-sort-control-rc123 > svg:first-child {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }

  html.havin-native-ios .assets-filter-button-v081.active,
  html.havin-native-ios .assets-manage-trigger-rc6.active {
    border-color: rgba(105,195,237,.30);
    background: linear-gradient(125deg, rgba(75,42,114,.18), rgba(30,58,138,.16));
    color: #dff4fd;
  }

  html.havin-native-ios .assets-filter-panel-v081,
  html.havin-native-ios .asset-manage-toolbar-rc6 {
    margin-top: -2px;
    padding: 10px;
    border-radius: 15px;
  }

  html.havin-native-ios .assets-filter-panel-v081 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  html.havin-native-ios .asset-manage-toolbar-rc6 {
    gap: 8px;
  }

  /* Selection affordances are true squares in grid/list/table modes. */
  html.havin-native-ios .asset-select,
  html.havin-native-ios .asset-card-v081 .asset-select {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    display: grid !important;
    place-items: center;
    border-radius: 10px !important;
    line-height: 1;
  }
}

@media (max-width: 390px) {
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    min-height: calc(48px + env(safe-area-inset-bottom, 0px));
    height: calc(48px + env(safe-area-inset-bottom, 0px));
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link {
    height: 42px;
    min-height: 42px;
  }
}
/* Native iOS surface. StoreKit owns native subscription purchases and management;
   browser/PWA billing continues to use its existing web checkout. */

/* WKWebView can expose its document backing layer at safe-area/scroll boundaries.
   Keep every native root layer on Hāvin's dark application surface so the status-bar
   and home-indicator edges never flash the legacy ivory web background. */
html.havin-native-ios,
html.havin-native-ios body,
html.havin-native-ios #root {
  background: var(--hv-bg);
  min-height: 100dvh;
}

html.havin-native-ios,
html.havin-native-ios body {
  overscroll-behavior-y: none;
}

/* The sticky app chrome owns the status-bar safe area. Scrolled ownership content may
   pass underneath the header, but it must never remain readable behind iOS time/signal UI. */
@media (max-width: 900px) {
  html.havin-native-ios .topbar {
    height: calc(64px + env(safe-area-inset-top, 0px));
    min-height: calc(64px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    background: rgba(5,12,24,.985);
    border-bottom-color: rgba(137,166,199,.15);
    backdrop-filter: blur(20px) saturate(125%);
  }
}

html.havin-native-ios .havin-storekit-actions-v056 small {
  display: block;
  color: var(--hv-text-3);
  font-size: .74rem;
  line-height: 1.45;
}

html.havin-native-ios .havin-restore-purchases-v056 {
  align-self: center;
}

html.havin-native-ios .hv56-welcome-offer {
  width: min(620px, calc(100% - 24px));
}

html.havin-native-ios .hv56-welcome-benefits {
  margin-top: 18px;
  padding: 16px 17px;
  border: 1px solid rgba(137,166,199,.16);
  border-radius: 17px;
  background: rgba(105,190,233,.07);
}

html.havin-native-ios .hv56-welcome-benefits strong {
  display: block;
  margin-bottom: 8px;
  color: var(--hv-text);
}

html.havin-native-ios .hv56-welcome-benefits ul {
  margin: 0;
}

html.havin-native-ios .hv56-welcome-pro-note {
  font-size: .85rem;
}

@media (max-width: 620px) {
  html.havin-native-ios .hv56-welcome-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  html.havin-native-ios .hv56-welcome-actions .button {
    width: 100%;
  }
}
/* Hāvin Beta 1.7 — physical-device layout authority.
   This file intentionally loads after ios-native.css so the installed iOS viewport has one
   final source of truth instead of accumulating conflicting historical mobile overrides. */

@media (max-width: 900px) {
  /* ---------- Native viewport / fixed chrome ---------- */
  html.havin-native-ios,
  html.havin-native-ios body,
  html.havin-native-ios #root,
  html.havin-native-ios .app-shell {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .app-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) calc(42px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.havin-native-ios .main-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .topbar {
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto !important;
  }

  html.havin-native-ios .page-content {
    grid-row: 2 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    scroll-padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  html.havin-native-ios .page-content > .page-stack,
  html.havin-native-ios .page-content > :is(.home-rc3, .assets-page, .watch-page, .records-page) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* ---------- Deliberately shallow footer ---------- */
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 0 5px env(safe-area-inset-bottom, 0px) !important;
    align-items: start !important;
    overflow: visible !important;
    background: rgba(5, 12, 24, .994) !important;
    border-top: 1px solid rgba(137, 166, 199, .13) !important;
    backdrop-filter: blur(20px) saturate(125%);
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link {
    height: 42px !important;
    min-height: 42px !important;
    padding: 2px 2px 1px !important;
    gap: 1px !important;
    font-size: .49rem !important;
    line-height: 1 !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link > svg {
    width: 17px !important;
    height: 17px !important;
  }

  /* Halo is only modestly taller than the footer: enough to invite use, not consume it. */
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    align-self: end !important;
    height: calc(53px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(53px + env(safe-area-inset-bottom, 0px)) !important;
    margin: -11px 2px 0 !important;
    padding: 3px 3px env(safe-area-inset-bottom, 0px) !important;
    gap: 0 !important;
    border: 1px solid rgba(105,195,237,.34) !important;
    border-bottom: 0 !important;
    border-radius: 15px 15px 0 0 !important;
    overflow: hidden !important;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 58%, #1e68ff 125%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 -3px 15px rgba(30,104,255,.12) !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::after,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark::after,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::after,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark::after {
    content: none !important;
    display: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 {
    width: 43px !important;
    height: 24px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    width: 43px !important;
    max-width: 43px !important;
    height: 24px !important;
    object-fit: contain !important;
    object-position: center !important;
    mix-blend-mode: screen !important;
    filter: drop-shadow(0 0 6px rgba(93,183,255,.32)) !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5 > span:last-child,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active > span:last-child {
    margin: 0 !important;
    color: #edcf75 !important;
    font-size: .53rem !important;
    line-height: 1 !important;
  }

  /* ---------- Halo = messenger inside Hāvin ---------- */
  html.havin-native-ios .page-content:has(> .halo-chat-page) {
    padding: 10px 12px 0 !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-page {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-header,
  html.havin-native-ios .halo-chat-context-wrap,
  html.havin-native-ios .halo-chat-disclaimer {
    flex: 0 0 auto !important;
  }

  html.havin-native-ios .halo-chat-header {
    padding: 0 2px 2px !important;
    margin: 0 !important;
  }

  html.havin-native-ios .halo-chat-context {
    min-height: 45px !important;
    padding: 8px 11px !important;
    border-radius: 14px !important;
  }

  html.havin-native-ios .halo-chat-shell {
    flex: 1 1 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  html.havin-native-ios .halo-chat-thread {
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    padding: 14px 11px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 11px !important;
  }

  html.havin-native-ios .halo-chat-message {
    width: fit-content !important;
    max-width: 84% !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border-radius: 18px !important;
  }

  html.havin-native-ios .halo-chat-message.user {
    align-self: flex-end !important;
    border-bottom-right-radius: 6px !important;
  }

  html.havin-native-ios .halo-chat-message.assistant {
    align-self: flex-start !important;
    border-bottom-left-radius: 6px !important;
  }

  html.havin-native-ios .halo-chat-message.welcome {
    max-width: 88% !important;
  }

  html.havin-native-ios .halo-chat-message p {
    font-size: .86rem !important;
    line-height: 1.48 !important;
  }

  html.havin-native-ios .halo-chat-starters {
    width: 100% !important;
    flex: 0 0 auto !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none;
    padding-bottom: 2px !important;
  }
  html.havin-native-ios .halo-chat-starters::-webkit-scrollbar { display: none; }

  html.havin-native-ios .halo-chat-composer {
    position: relative !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 9px !important;
    border-top: 1px solid rgba(145,180,214,.12) !important;
    background: rgba(6,13,25,.975) !important;
  }

  html.havin-native-ios .halo-chat-composer textarea {
    min-height: 44px !important;
    max-height: 112px !important;
    border-radius: 15px !important;
  }

  html.havin-native-ios .halo-chat-privacy {
    padding: 7px 11px 8px !important;
    font-size: .54rem !important;
    line-height: 1.25 !important;
  }

  html.havin-native-ios .halo-chat-disclaimer {
    margin: 0 !important;
    padding: 0 4px 5px !important;
    color: #55667c !important;
    font-size: .49rem !important;
    line-height: 1.25 !important;
  }

  /* ---------- Modal/body scroll isolation ---------- */
  html.havin-native-ios.havin-modal-open body,
  html.havin-native-ios.havin-modal-open #root,
  html.havin-native-ios.havin-modal-open .app-shell,
  html.havin-native-ios.havin-modal-open .main-column,
  html.havin-native-ios.havin-modal-open .page-content {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.havin-native-ios .modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100 !important;
    padding: calc(env(safe-area-inset-top, 0px) + 76px) 12px calc(env(safe-area-inset-bottom, 0px) + 48px) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
  }

  html.havin-native-ios .modal {
    width: min(620px, 100%) !important;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 132px) !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 18px 18px 0 0 !important;
    touch-action: pan-y;
  }

  html.havin-native-ios .modal-header {
    flex: 0 0 auto !important;
  }

  html.havin-native-ios .modal-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  /* ---------- Assets command bar: simple search + three explicit actions ---------- */
  html.havin-native-ios .assets-command-rc123-final {
    width: 100% !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.havin-native-ios .assets-command-rc123-final .assets-search-v081 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 45px !important;
    height: 45px !important;
    padding: 0 12px !important;
    margin: 0 0 1px !important;
    border: 1px solid rgba(145,180,214,.16) !important;
    border-radius: 14px !important;
    background: rgba(8,15,27,.92) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.018) !important;
  }

  html.havin-native-ios .assets-command-rc123-final .assets-search-v081 svg {
    width: 17px !important;
    height: 17px !important;
  }

  html.havin-native-ios .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-sort-control-rc123, .assets-manage-trigger-rc6) {
    width: 100% !important;
    min-width: 0 !important;
    height: 39px !important;
    min-height: 39px !important;
    padding: 0 7px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    overflow: hidden !important;
    border: 1px solid rgba(145,180,214,.13) !important;
    border-radius: 12px !important;
    background: rgba(13,24,42,.84) !important;
    color: #c7d4e3 !important;
    font-size: .67rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-indent: 0 !important;
  }

  html.havin-native-ios .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-manage-trigger-rc6) {
    font-size: .67rem !important;
    color: #c7d4e3 !important;
  }

  html.havin-native-ios .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-manage-trigger-rc6) svg,
  html.havin-native-ios .assets-command-rc123-final .assets-sort-control-rc123 > svg:first-child {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }

  html.havin-native-ios .assets-command-rc123-final .assets-sort-control-rc123 > svg:last-child { display: none !important; }

  html.havin-native-ios .assets-filter-button-v081.active,
  html.havin-native-ios .assets-manage-trigger-rc6.active {
    border-color: rgba(105,195,237,.32) !important;
    background: linear-gradient(125deg, rgba(75,42,114,.22), rgba(30,58,138,.18)) !important;
    color: #dff4fd !important;
  }

  html.havin-native-ios .assets-filter-panel-v081 {
    margin-top: 0 !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    border-radius: 14px !important;
  }

  html.havin-native-ios .assets-filter-panel-v081 > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  html.havin-native-ios .assets-filter-panel-v081 label {
    min-width: 0 !important;
  }

  html.havin-native-ios .asset-manage-toolbar-rc6 {
    margin-top: 0 !important;
    padding: 9px !important;
    gap: 7px !important;
    border-radius: 14px !important;
  }

  html.havin-native-ios .asset-select,
  html.havin-native-ios .asset-card-v081 .asset-select {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    border-radius: 9px !important;
  }

  /* ---------- Pre-use maintenance is guidance, never a permanent red alarm ---------- */
  html.havin-native-ios .service-guidance-group-rc123:not(.historical) {
    border-color: rgba(237,207,117,.22) !important;
    background: linear-gradient(115deg, rgba(237,207,117,.055), rgba(30,58,138,.035)) !important;
  }

  html.havin-native-ios .service-guidance-group-rc123:not(.historical) > summary > span > svg,
  html.havin-native-ios .service-guidance-group-rc123:not(.historical) > summary > span > strong {
    color: #edcf75 !important;
  }

  html.havin-native-ios .service-guidance-group-rc123:not(.historical) > summary > span > strong {
    font-size: 0 !important;
  }

  html.havin-native-ios .service-guidance-group-rc123:not(.historical) > summary > span > strong::after {
    content: 'Know before you go';
    font-size: .72rem;
    font-weight: 780;
    letter-spacing: 0;
  }

  html.havin-native-ios .service-guidance-item-rc123 > strong {
    color: #edcf75 !important;
  }
}
/* Beta 1.7 native gesture correction.
   The page remains frozen while a modal is open, but the sheet must retain vertical touch
   panning in WKWebView. An ancestor touch-action:none would suppress the child scroller. */
@media (max-width: 900px) {
  html.havin-native-ios .modal-backdrop,
  html.havin-native-ios .modal,
  html.havin-native-ios .modal-content {
    touch-action: pan-y !important;
  }
}
/* Hāvin Beta 1.8 — demo-critical native polish authority.
   This file loads last. It fixes the physical-device chrome instead of layering another
   competing footer reserve on top of historical mobile styles. */

@media (max-width: 900px) {
  /* ---------- Native shell: footer overlays its own reserved scroll area ---------- */
  html.havin-native-ios .app-shell {
    position: relative !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }

  html.havin-native-ios .main-column {
    grid-row: 1 !important;
    min-height: 0 !important;
  }

  html.havin-native-ios .page-content {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px) + 4px) !important;
    scroll-padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px) + 8px) !important;
  }

  html.havin-native-ios .page-content:has(> .halo-chat-page) {
    padding: 10px 12px calc(42px + env(safe-area-inset-bottom, 0px) + 4px) !important;
  }

  html.havin-native-ios .page-content > .page-stack,
  html.havin-native-ios .assets-page,
  html.havin-native-ios .asset-detail-page,
  html.havin-native-ios .home-rc3,
  html.havin-native-ios .asset-card-grid-v081 {
    margin-bottom: 0 !important;
  }

  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    position: absolute !important;
    z-index: 80 !important;
    grid-row: auto !important;
    inset: auto 0 0 !important;
    width: 100% !important;
    height: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
  }

  /* ---------- Halo destination: one finished, centered invitation ---------- */
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    align-self: end !important;
    height: calc(54px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(54px + env(safe-area-inset-bottom, 0px)) !important;
    margin: -12px 3px 0 !important;
    padding: 3px 4px calc(env(safe-area-inset-bottom, 0px) + 3px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border: 1px solid rgba(111, 203, 244, .42) !important;
    border-bottom: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden !important;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 58%, #1e68ff 125%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 -4px 18px rgba(30,104,255,.16) !important;
    transform: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 {
    width: 58px !important;
    min-width: 58px !important;
    height: 30px !important;
    min-height: 30px !important;
    flex: 0 0 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5::after,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark::before,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark::after {
    content: none !important;
    display: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-orb-rc5 .halo-mark-image {
    width: 58px !important;
    max-width: 58px !important;
    height: 30px !important;
    object-fit: contain !important;
    object-position: center !important;
    clip-path: none !important;
    transform: translateY(1px) !important;
    mix-blend-mode: screen !important;
    filter: drop-shadow(0 0 7px rgba(93,183,255,.38)) !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5 > span:last-child,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active > span:last-child {
    margin: 0 !important;
    color: #edcf75 !important;
    font-size: .56rem !important;
    font-weight: 780 !important;
    line-height: 1.05 !important;
  }

  /* ---------- Asset detail tabs belong to the page, not the viewport ---------- */
  html.havin-native-ios .asset-detail-page .detail-tabs {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    width: 100% !important;
    margin: 0 !important;
    align-self: stretch !important;
    backdrop-filter: none !important;
  }

  /* ---------- Home ownership rail: clean photographs, no accidental outline ---------- */
  html.havin-native-ios .home-asset-rail-rc3 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    scrollbar-width: none !important;
  }
  html.havin-native-ios .home-asset-rail-rc3::-webkit-scrollbar { display: none !important; }

  html.havin-native-ios .home-asset-card-rc3,
  html.havin-native-ios .home-asset-photo-rc3,
  html.havin-native-ios .home-asset-card-rc3:hover .home-asset-photo-rc3 {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  html.havin-native-ios .home-asset-photo-rc3 {
    isolation: isolate !important;
    background-clip: padding-box !important;
    transform: none !important;
  }

  /* ---------- Assets: final rows scroll cleanly to the footer edge ---------- */
  html.havin-native-ios .assets-page > .asset-card-grid-v081,
  html.havin-native-ios .assets-page > .asset-list-view,
  html.havin-native-ios .assets-page > .asset-table-view,
  html.havin-native-ios .assets-page > .pagination-bar {
    margin-bottom: 0 !important;
  }
}
/* Hāvin Beta 1.9 — physical-device finalization.
   Final presentation authority for the remaining TestFlight geometry defects. */

@media (max-width: 900px) {
  /* One first-level visual system. Assets, Watch, and Vault all use PageHeader. */
  html.havin-v083 :where(.assets-page, .watch-page, .records-page) > .page-heading {
    width: 100% !important;
    margin: 0 0 8px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  html.havin-v083 :where(.assets-page, .watch-page, .records-page) > .page-heading .eyebrow {
    display: block !important;
    margin: 0 0 8px !important;
    color: #69c3ed !important;
    font-size: .69rem !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
  }

  html.havin-v083 :where(.assets-page, .watch-page, .records-page) > .page-heading h1 {
    margin: 0 0 8px !important;
    font-size: clamp(2.15rem, 9.5vw, 2.65rem) !important;
    font-weight: 780 !important;
    line-height: .98 !important;
    letter-spacing: -.048em !important;
  }

  html.havin-v083 :where(.assets-page, .watch-page, .records-page) > .page-heading p {
    margin: 0 !important;
    max-width: 40rem !important;
    color: #98a6ba !important;
    font-size: .91rem !important;
    line-height: 1.46 !important;
  }

  html.havin-v083 :where(.assets-page, .watch-page, .records-page) > .page-heading .page-heading-actions {
    width: 100% !important;
    margin: 0 !important;
  }

  html.havin-v083 :where(.assets-page, .watch-page, .records-page) > .page-heading .page-heading-actions > :where(button, a, .button) {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    border-radius: 15px !important;
  }

  /* Watch summary remains useful, but it is now content below the shared header. */
  html.havin-v083 .watch-page .watch-summary-rc10 {
    width: 100% !important;
    padding: 6px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    border: 1px solid rgba(152,188,220,.13) !important;
    border-radius: 18px !important;
    background: rgba(13,24,42,.72) !important;
    box-shadow: none !important;
  }
  html.havin-v083 .watch-page .watch-summary-rc10 > button {
    min-width: 0 !important;
    min-height: 64px !important;
    border-radius: 13px !important;
  }

  /* Assets: every two-column card owns its lane; media and copy share one left edge. */
  html.havin-v083 .assets-page .asset-card-grid-v081 {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }
  html.havin-v083 .assets-page .asset-card-v081,
  html.havin-v083 .assets-page .asset-card-v081 > a,
  html.havin-v083 .assets-page .asset-card-image-v081,
  html.havin-v083 .assets-page .asset-card-body-v081 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  html.havin-v083 .assets-page .asset-card-v081 { height: 100% !important; }
  html.havin-v083 .assets-page .asset-card-v081 > a {
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }
  html.havin-v083 .assets-page .asset-card-image-v081 {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }
  html.havin-v083 .assets-page .asset-card-image-v081 :where(img, .asset-card-placeholder-v081) {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  html.havin-v083 .assets-page .asset-card-body-v081 {
    padding: 11px 10px 13px !important;
    text-align: left !important;
  }
  html.havin-v083 .assets-page .asset-card-heading-v081,
  html.havin-v083 .assets-page .asset-card-heading-v081 > div {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Halo page art: never clip or crop the approved compact mark. */
  html.havin-v083 .halo-chat-header-mark {
    width: 64px !important;
    min-width: 64px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html.havin-v083 .halo-chat-header-mark .halo-mark-image {
    width: 62px !important;
    max-width: 62px !important;
    height: 32px !important;
    object-fit: contain !important;
    object-position: center !important;
    clip-path: none !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 0 8px rgba(93,183,255,.30)) !important;
  }
  html.havin-v083 .halo-chat-message-author .halo-mark-image,
  html.havin-v083 .halo-chat-typing .halo-mark-image {
    object-fit: contain !important;
    clip-path: none !important;
  }

  /* Halo is a messenger: compact greeting, message history owns the space, composer stays obvious. */
  html.havin-v083 .halo-chat-message.assistant.welcome {
    max-width: 72% !important;
    padding: 10px 12px !important;
  }
  html.havin-v083 .halo-chat-starters {
    display: none !important;
  }
  html.havin-v083 .halo-chat-shell-loading .halo-chat-thread {
    justify-content: flex-end !important;
  }
  html.havin-v083 .halo-chat-meta {
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 4px 2px 0 !important;
    border: 0 !important;
    color: #66778e !important;
    font-size: .58rem !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }
  html.havin-v083 .halo-chat-composer {
    order: 2 !important;
  }

  /* Native footer: one layout model. The footer owns its own grid row, so pages do not
     reserve a second invisible footer-height band. Halo is an independent four-corner tile. */
  html.havin-native-ios .app-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    position: relative !important;
  }
  html.havin-native-ios .main-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 100% !important;
  }
  html.havin-native-ios .page-content,
  html.havin-native-ios .page-content:has(> .halo-chat-page) {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    scroll-padding-bottom: 0 !important;
  }
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    z-index: 80 !important;
    width: 100% !important;
    height: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 0 5px env(safe-area-inset-bottom, 0px) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: start !important;
    overflow: visible !important;
    background: rgba(5,12,24,.994) !important;
    border-top: 1px solid rgba(137,166,199,.13) !important;
  }
  html.havin-native-ios .mobile-nav-rc5 .mobile-link {
    height: 58px !important;
    min-height: 58px !important;
    padding: 7px 2px 5px !important;
    align-self: start !important;
  }
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: start center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
  }
  html.havin-native-ios .mobile-halo-tile-rc10 {
    width: min(76px, calc(100% - 6px)) !important;
    height: 68px !important;
    min-height: 68px !important;
    margin-top: -12px !important;
    padding: 7px 6px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border: 1px solid rgba(111,203,244,.38) !important;
    border-radius: 17px !important;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 58%, #1e68ff 128%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 7px 20px rgba(2,7,18,.34), 0 0 18px rgba(30,104,255,.13) !important;
    overflow: hidden !important;
  }
  html.havin-native-ios .mobile-halo-orb-rc5 {
    width: 60px !important;
    height: 31px !important;
    min-height: 31px !important;
    flex: 0 0 31px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  html.havin-native-ios .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-halo-orb-rc5::after { content: none !important; display: none !important; }
  html.havin-native-ios .mobile-halo-orb-rc5 .halo-mark-image {
    width: 60px !important;
    max-width: 60px !important;
    height: 31px !important;
    object-fit: contain !important;
    object-position: center !important;
    clip-path: none !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 0 7px rgba(93,183,255,.34)) !important;
  }
  html.havin-native-ios .mobile-halo-label-rc10 {
    margin: 0 !important;
    color: #edcf75 !important;
    font-size: .58rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  /* Third intake capture is real intake-only ownership/ID evidence in component source. */

  /* Asset detail owns one editable presentation photo. Intake evidence is not a gallery control. */
  html.havin-v083 .asset-detail-page .asset-photo-actions-rc122 {
    left: 12px !important;
    right: auto !important;
    bottom: 12px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    max-width: calc(100% - 24px) !important;
  }
  html.havin-v083 .asset-detail-page .asset-primary-photo-button {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 132px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 1px solid rgba(184,207,230,.24) !important;
    border-radius: 12px !important;
    background: rgba(5,11,22,.88) !important;
    color: #f2f6fb !important;
    font-size: .72rem !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.18) !important;
  }
  html.havin-v083 .asset-detail-page .asset-primary-photo-button > svg { flex: 0 0 auto !important; }
}

@media (max-width: 390px) {
  html.havin-v083 .assets-page .asset-card-grid-v081 { gap-inline: 10px !important; }
  html.havin-v083 .assets-page .asset-card-body-v081 { padding-inline: 8px !important; }
}
/* Hāvin product UI authority
   Stable, release-agnostic presentation layer used while historical styles are retired.
   This file intentionally owns first-level layout, typography, navigation, high-traffic
   cards, Halo messenger geometry, and native safe-area behavior. */

html.havin-product-ui {
  --ui-bg: #07101f;
  --ui-bg-deep: #050b16;
  --ui-navy: #0d1426;
  --ui-purple: #4b2a72;
  --ui-blue: #1e3a8a;
  --ui-sky: #3fa7e1;
  --ui-gold: #d4af37;
  --ui-text: #f5f8fc;
  --ui-text-soft: #c6d0de;
  --ui-muted: #8e9db2;
  --ui-muted-2: #6f7e92;
  --ui-line: rgba(166, 190, 220, .14);
  --ui-line-strong: rgba(166, 190, 220, .24);
  --ui-surface: rgba(14, 24, 40, .72);
  --ui-surface-soft: rgba(255, 255, 255, .035);
  --ui-surface-hover: rgba(255, 255, 255, .055);
  --ui-1: 4px;
  --ui-2: 8px;
  --ui-3: 12px;
  --ui-4: 16px;
  --ui-5: 20px;
  --ui-6: 24px;
  --ui-7: 32px;
  --ui-8: 40px;
  --ui-9: 48px;
  --ui-10: 64px;
  --ui-radius-control: 12px;
  --ui-radius-card: 16px;
  --ui-radius-surface: 20px;
  --ui-control: 44px;
  --ui-gutter: clamp(20px, 3vw, 40px);
  --ui-content: 1420px;
  color-scheme: dark;
  background: var(--ui-bg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  font-synthesis: none;
}

html.havin-product-ui,
html.havin-product-ui body,
html.havin-product-ui #root,
html.havin-product-ui .app-shell,
html.havin-product-ui .main-column,
html.havin-product-ui .page-content,
html.havin-product-ui .page-content > * {
  box-sizing: border-box;
  min-width: 0;
}

html.havin-product-ui body {
  margin: 0;
  color: var(--ui-text);
  background:
    radial-gradient(circle at 78% -12%, rgba(30, 58, 138, .10), transparent 32rem),
    var(--ui-bg);
}

html.havin-product-ui .page-content {
  overflow-x: clip;
}

html.havin-product-ui .page-content > * {
  width: min(100%, var(--ui-content));
  margin-inline: auto;
}

html.havin-product-ui h1,
html.havin-product-ui h2,
html.havin-product-ui h3,
html.havin-product-ui h4,
html.havin-product-ui strong,
html.havin-product-ui button,
html.havin-product-ui input,
html.havin-product-ui textarea,
html.havin-product-ui select {
  font-family: inherit;
}

html.havin-product-ui h1,
html.havin-product-ui h2,
html.havin-product-ui h3,
html.havin-product-ui h4 {
  color: var(--ui-text);
  text-wrap: balance;
}

html.havin-product-ui h1 { font-weight: 700 !important; letter-spacing: -.035em !important; }
html.havin-product-ui h2 { font-weight: 650 !important; letter-spacing: -.022em !important; }
html.havin-product-ui h3 { font-weight: 650 !important; letter-spacing: -.012em !important; }
html.havin-product-ui p { color: var(--ui-muted); }
html.havin-product-ui .eyebrow {
  color: var(--ui-sky) !important;
  font-size: .68rem !important;
  font-weight: 650 !important;
  letter-spacing: .13em !important;
}

/* Shell */
html.havin-product-ui .desktop-rail {
  background: rgba(6, 12, 23, .96) !important;
  border-right: 1px solid var(--ui-line) !important;
  box-shadow: none !important;
}

html.havin-product-ui .rail-link {
  min-height: 42px !important;
  border-radius: 10px !important;
  font-weight: 550 !important;
}

html.havin-product-ui .rail-link.active {
  background: rgba(30, 58, 138, .18) !important;
  box-shadow: inset 2px 0 0 var(--ui-sky) !important;
}

html.havin-product-ui .rail-halo-rc5 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.havin-product-ui .rail-halo-rc5.active {
  background: rgba(30, 58, 138, .16) !important;
}

html.havin-product-ui .topbar {
  background: rgba(6, 12, 23, .90) !important;
  border-bottom: 1px solid var(--ui-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(118%);
}

html.havin-product-ui .global-search,
html.havin-product-ui .mobile-search-field,
html.havin-product-ui .page-search,
html.havin-product-ui .assets-search-v081 {
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(12, 21, 36, .76) !important;
  box-shadow: none !important;
}

html.havin-product-ui .icon-button {
  min-width: var(--ui-control) !important;
  width: var(--ui-control) !important;
  min-height: var(--ui-control) !important;
  height: var(--ui-control) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(13, 22, 37, .62) !important;
  color: var(--ui-text-soft) !important;
  box-shadow: none !important;
}

html.havin-product-ui .button,
html.havin-product-ui button.button {
  min-height: var(--ui-control) !important;
  border-radius: var(--ui-radius-control) !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

html.havin-product-ui .button-primary {
  border-color: rgba(63, 167, 225, .25) !important;
  background: linear-gradient(135deg, #244698, #315eaa) !important;
  box-shadow: 0 8px 20px rgba(30, 58, 138, .16) !important;
}

html.havin-product-ui .button-secondary {
  border-color: var(--ui-line) !important;
  background: rgba(14, 24, 40, .68) !important;
  color: var(--ui-text-soft) !important;
  box-shadow: none !important;
}

html.havin-product-ui .text-button,
html.havin-product-ui .text-link {
  font-weight: 600 !important;
}

/* One first-level page rhythm */
html.havin-product-ui .first-level-page-header,
html.havin-product-ui :where(.assets-page, .watch-page, .records-page) > .page-heading {
  width: 100% !important;
  margin: 0 0 var(--ui-2) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: var(--ui-6) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.havin-product-ui .first-level-page-copy { min-width: 0; max-width: 760px; }
html.havin-product-ui .first-level-page-copy h1,
html.havin-product-ui :where(.assets-page, .watch-page, .records-page) > .page-heading h1 {
  margin: 0 0 var(--ui-2) !important;
  font-size: clamp(2rem, 3vw, 2.65rem) !important;
  line-height: 1 !important;
}

html.havin-product-ui .first-level-page-copy p,
html.havin-product-ui :where(.assets-page, .watch-page, .records-page) > .page-heading p {
  margin: 0 !important;
  max-width: 680px !important;
  color: var(--ui-muted) !important;
  font-size: .93rem !important;
  line-height: 1.48 !important;
}

html.havin-product-ui .first-level-page-actions,
html.havin-product-ui .page-heading-actions {
  width: auto !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* Home: command center, not an authenticated marketing hero */
html.havin-product-ui .home-rc3 {
  gap: var(--ui-7) !important;
}

html.havin-product-ui .home-hero-rc3 {
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html.havin-product-ui .home-world-rc3 {
  display: none !important;
}

html.havin-product-ui .home-hero-copy-rc3 {
  max-width: 900px !important;
}

html.havin-product-ui .home-hero-meta-rc3 {
  margin: 0 0 var(--ui-3) !important;
  color: var(--ui-muted) !important;
  font-size: .76rem !important;
}

html.havin-product-ui .home-portfolio-chip-rc3 {
  border: 1px solid var(--ui-line) !important;
  background: rgba(255, 255, 255, .025) !important;
  color: var(--ui-text-soft) !important;
}

html.havin-product-ui .home-hero-copy-rc3 h1 {
  margin: 0 0 var(--ui-2) !important;
  max-width: 760px !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1 !important;
}

html.havin-product-ui .home-hero-copy-rc3 > p {
  margin: 0 !important;
  max-width: 650px !important;
  color: var(--ui-muted) !important;
  font-size: .96rem !important;
  line-height: 1.5 !important;
}

html.havin-product-ui .home-glance-rc4 {
  width: min(100%, 600px) !important;
  margin: var(--ui-5) 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--ui-2) !important;
}

html.havin-product-ui .home-glance-rc4 button {
  min-height: 58px !important;
  padding: var(--ui-2) var(--ui-3) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(255, 255, 255, .022) !important;
  box-shadow: none !important;
  text-align: left !important;
}

html.havin-product-ui .home-glance-rc4 strong {
  color: var(--ui-text) !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
}

html.havin-product-ui .home-glance-rc4 span {
  color: var(--ui-muted) !important;
  font-size: .68rem !important;
  font-weight: 550 !important;
}

html.havin-product-ui .home-hero-actions-rc3 {
  width: min(100%, 720px) !important;
  margin-top: var(--ui-3) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: var(--ui-2) !important;
}

html.havin-product-ui .home-ask-rc3 {
  min-height: 50px !important;
  padding: 7px var(--ui-3) !important;
  border: 1px solid rgba(63, 167, 225, .18) !important;
  border-radius: var(--ui-radius-control) !important;
  background: linear-gradient(105deg, rgba(75, 42, 114, .14), rgba(30, 58, 138, .10)) !important;
  box-shadow: none !important;
}

html.havin-product-ui .home-ask-icon-rc3 {
  width: 48px !important;
  min-width: 48px !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.havin-product-ui .home-add-rc3 {
  min-height: 50px !important;
  padding-inline: var(--ui-4) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(13, 22, 37, .64) !important;
  box-shadow: none !important;
}

html.havin-product-ui .home-section-title-rc3 {
  margin-bottom: var(--ui-3) !important;
  align-items: flex-end !important;
}

html.havin-product-ui .home-section-title-rc3 h2 {
  margin: 2px 0 0 !important;
  font-size: 1.25rem !important;
}

html.havin-product-ui .home-today-rc3,
html.havin-product-ui .home-assets-rc3,
html.havin-product-ui .home-upcoming-rc3,
html.havin-product-ui .home-quiet-work-rc3 {
  margin-top: 0 !important;
}

html.havin-product-ui .home-attention-item-rc3 {
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(14, 24, 40, .58) !important;
  box-shadow: none !important;
}

html.havin-product-ui .home-asset-rail-rc3 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--ui-4) !important;
  overflow: visible !important;
  padding: 0 !important;
  scroll-snap-type: none !important;
}

html.havin-product-ui .home-asset-card-rc3 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html.havin-product-ui .home-asset-photo-rc3 {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background-color: rgba(13, 22, 37, .72) !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

html.havin-product-ui .home-asset-card-rc3 > div:last-child {
  width: 100% !important;
  min-width: 0 !important;
  padding: var(--ui-2) 2px 0 !important;
}

html.havin-product-ui .home-asset-card-rc3 > div:last-child strong,
html.havin-product-ui .home-asset-card-rc3 > div:last-child span {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html.havin-product-ui .home-asset-card-rc3 > div:last-child strong {
  color: var(--ui-text) !important;
  font-size: .87rem !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
}

html.havin-product-ui .home-asset-card-rc3 > div:last-child span {
  margin-top: 2px !important;
  color: var(--ui-muted) !important;
  font-size: .72rem !important;
  white-space: nowrap !important;
}

/* Assets */
html.havin-product-ui .assets-page {
  gap: var(--ui-5) !important;
}

html.havin-product-ui .portfolio-browser-rc8 {
  margin: 0 !important;
  padding: var(--ui-3) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(13, 22, 37, .45) !important;
  box-shadow: none !important;
}

html.havin-product-ui .portfolio-current-rc113 {
  min-height: 68px !important;
  padding: var(--ui-2) !important;
  border: 0 !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(255, 255, 255, .024) !important;
  box-shadow: none !important;
}

html.havin-product-ui .asset-group-rail-rc123 {
  margin-top: var(--ui-2) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  overflow: visible !important;
}

html.havin-product-ui .asset-group-rail-rc123 button {
  min-height: 34px !important;
  padding-inline: var(--ui-3) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
  font-weight: 600 !important;
}

html.havin-product-ui .assets-command-rc123-final {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto auto auto !important;
  gap: var(--ui-2) !important;
  align-items: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.havin-product-ui .assets-filter-panel-v081,
html.havin-product-ui .asset-manage-toolbar-rc6 {
  margin: 0 !important;
  padding: var(--ui-4) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(13, 22, 37, .70) !important;
  box-shadow: none !important;
}

html.havin-product-ui .asset-card-grid-v081 {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: var(--ui-5) var(--ui-4) !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

html.havin-product-ui .asset-card-v081 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(14, 24, 40, .58) !important;
  box-shadow: none !important;
  transform: none !important;
}

html.havin-product-ui .asset-card-v081 > a {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  text-align: left !important;
}

html.havin-product-ui .asset-card-image-v081,
html.havin-product-ui .asset-card-placeholder-v081 {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  object-fit: cover !important;
  background: #0a111e !important;
}

html.havin-product-ui .asset-card-image-v081 img,
html.havin-product-ui .asset-card-placeholder-v081 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html.havin-product-ui .asset-card-body-v081 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--ui-3) !important;
  text-align: left !important;
}

html.havin-product-ui .asset-card-heading-v081,
html.havin-product-ui .asset-card-heading-v081 > div {
  width: 100% !important;
  min-width: 0 !important;
}

html.havin-product-ui .asset-card-heading-v081 h3 {
  margin: 0 !important;
  font-size: .92rem !important;
  line-height: 1.16 !important;
  font-weight: 650 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html.havin-product-ui .asset-card-context-v081 {
  color: var(--ui-muted) !important;
  font-size: .73rem !important;
  line-height: 1.35 !important;
}

/* Halo: messenger inside Hāvin, not an AI landing card */
html.havin-product-ui .halo-chat-page {
  width: min(100%, 960px) !important;
  min-height: calc(100dvh - 100px) !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--ui-2) !important;
}

html.havin-product-ui .halo-chat-header {
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html.havin-product-ui .halo-chat-identity {
  gap: var(--ui-2) !important;
}

html.havin-product-ui .halo-chat-header-mark {
  width: 50px !important;
  min-width: 50px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.havin-product-ui .halo-chat-header-mark .halo-mark-image,
html.havin-product-ui .halo-chat-header-mark .halo-mark {
  width: 50px !important;
  max-width: 50px !important;
  height: 28px !important;
  object-fit: contain !important;
  object-position: center !important;
  clip-path: none !important;
  transform: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 6px rgba(63, 167, 225, .24)) !important;
}

html.havin-product-ui .halo-chat-identity .eyebrow {
  display: none !important;
}

html.havin-product-ui .halo-chat-identity h1 {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  letter-spacing: -.015em !important;
}

html.havin-product-ui .halo-chat-new {
  min-height: 38px !important;
  height: 38px !important;
  padding-inline: var(--ui-3) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ui-text-soft) !important;
}

html.havin-product-ui .halo-chat-context {
  min-height: 40px !important;
  padding: 0 var(--ui-3) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(12, 21, 36, .58) !important;
  box-shadow: none !important;
}

html.havin-product-ui .halo-chat-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.havin-product-ui .halo-chat-thread {
  flex: 1 1 auto !important;
  min-height: 280px !important;
  padding: var(--ui-4) 2px var(--ui-3) !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  scroll-padding-bottom: var(--ui-4) !important;
}

html.havin-product-ui .halo-chat-message {
  max-width: min(78%, 680px) !important;
  margin-block: 0 var(--ui-2) !important;
  padding: 10px 13px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  box-shadow: none !important;
}

html.havin-product-ui .halo-chat-message.assistant {
  align-self: flex-start !important;
  border-color: var(--ui-line) !important;
  background: rgba(14, 24, 40, .50) !important;
}

html.havin-product-ui .halo-chat-message.user {
  align-self: flex-end !important;
  border-color: rgba(63, 167, 225, .16) !important;
  background: rgba(30, 58, 138, .20) !important;
}

html.havin-product-ui .halo-chat-message.assistant.welcome {
  max-width: min(70%, 520px) !important;
  padding: 9px 12px !important;
}

html.havin-product-ui .halo-chat-message p {
  margin: 0 !important;
  color: var(--ui-text-soft) !important;
  font-size: .9rem !important;
  line-height: 1.5 !important;
}

html.havin-product-ui .halo-chat-starters {
  display: none !important;
}

html.havin-product-ui .halo-chat-meta {
  width: 100% !important;
  margin: 0 !important;
  padding: 3px var(--ui-2) 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ui-muted-2) !important;
  font-size: .60rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

html.havin-product-ui .halo-chat-composer {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 16px !important;
  background: rgba(10, 18, 31, .94) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .16) !important;
}

html.havin-product-ui .halo-chat-composer textarea {
  min-height: 44px !important;
  max-height: 132px !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, .025) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
  resize: none !important;
}

html.havin-product-ui .halo-chat-send {
  min-width: 64px !important;
  min-height: 44px !important;
  border-radius: 11px !important;
}

html.havin-product-ui .halo-chat-disclaimer {
  margin: 0 !important;
  padding: 3px var(--ui-2) 0 !important;
  color: var(--ui-muted-2) !important;
  font-size: .64rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

/* Watch: three primary states, two quieter secondary states */
html.havin-product-ui .watch-tabs-rc3 {
  width: min(100%, 720px) !important;
  padding: 4px !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 4px !important;
  overflow: visible !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(10, 18, 31, .56) !important;
}

html.havin-product-ui .watch-tabs-rc3 button {
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 0 var(--ui-2) !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
  font-weight: 600 !important;
}

html.havin-product-ui .watch-tabs-rc3 button:nth-child(-n + 3) {
  grid-column: span 2 !important;
}

html.havin-product-ui .watch-tabs-rc3 button:nth-child(4),
html.havin-product-ui .watch-tabs-rc3 button:nth-child(5) {
  grid-column: span 3 !important;
  min-height: 34px !important;
  color: var(--ui-muted-2) !important;
  font-size: .76rem !important;
}

html.havin-product-ui .watch-tabs-rc3 button.active {
  color: var(--ui-text) !important;
  background: rgba(30, 58, 138, .20) !important;
  box-shadow: inset 0 0 0 1px rgba(63, 167, 225, .12) !important;
}

html.havin-product-ui .watch-summary-rc10 {
  display: none !important;
}

/* Vault */
html.havin-product-ui .records-tabs-rc2-v083 {
  width: min(100%, 660px) !important;
  padding: 4px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
  overflow: visible !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-control) !important;
  background: rgba(10, 18, 31, .56) !important;
}

html.havin-product-ui .records-tabs-rc2-v083 button {
  min-height: 40px !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
  font-weight: 600 !important;
}

html.havin-product-ui .records-tabs-rc2-v083 button.active {
  color: var(--ui-text) !important;
  background: rgba(30, 58, 138, .20) !important;
}

html.havin-product-ui .record-card-rc2-v083 {
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(14, 24, 40, .56) !important;
  box-shadow: none !important;
}

/* Settings */
html.havin-product-ui .settings-layout-rc7 {
  gap: var(--ui-6) !important;
}

html.havin-product-ui .settings-subnav-rc7 {
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(13, 22, 37, .56) !important;
  box-shadow: none !important;
}

html.havin-product-ui .settings-category-list-rc7 button {
  font-weight: 600 !important;
}

html.havin-product-ui .settings-section,
html.havin-product-ui .settings-card,
html.havin-product-ui .settings-hub-card-rc7,
html.havin-product-ui .settings-hub-link-rc7 {
  border-color: var(--ui-line) !important;
  border-radius: var(--ui-radius-card) !important;
  background: rgba(14, 24, 40, .56) !important;
  box-shadow: none !important;
}

/* Modals */
html.havin-product-ui .modal-backdrop {
  background: rgba(2, 5, 10, .72) !important;
  backdrop-filter: blur(8px) !important;
}

html.havin-product-ui .modal {
  border: 1px solid var(--ui-line-strong) !important;
  border-radius: var(--ui-radius-surface) !important;
  background: #0d1625 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .38) !important;
}

/* Mobile */
@media (max-width: 900px) {
  html.havin-product-ui { --ui-gutter: 18px; }

  html.havin-product-ui .page-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--ui-gutter) !important;
    padding-right: var(--ui-gutter) !important;
    overflow-x: hidden !important;
  }

  html.havin-product-ui .page-content > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html.havin-product-ui .first-level-page-header,
  html.havin-product-ui :where(.assets-page, .watch-page, .records-page) > .page-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: var(--ui-3) !important;
  }

  html.havin-product-ui .first-level-page-copy h1,
  html.havin-product-ui :where(.assets-page, .watch-page, .records-page) > .page-heading h1 {
    font-size: clamp(2rem, 9vw, 2.45rem) !important;
  }

  html.havin-product-ui .first-level-page-actions,
  html.havin-product-ui .page-heading-actions {
    width: 100% !important;
  }

  html.havin-product-ui .first-level-page-actions > :where(button, a, .button),
  html.havin-product-ui .page-heading-actions > :where(button, a, .button) {
    width: auto !important;
    min-height: 44px !important;
  }

  html.havin-product-ui .home-rc3 { gap: var(--ui-6) !important; }
  html.havin-product-ui .home-hero-copy-rc3 h1 { font-size: clamp(1.95rem, 9vw, 2.4rem) !important; }
  html.havin-product-ui .home-hero-actions-rc3 { grid-template-columns: 1fr !important; }
  html.havin-product-ui .home-ask-rc3,
  html.havin-product-ui .home-add-rc3 { width: 100% !important; }
  html.havin-product-ui .home-asset-rail-rc3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--ui-4) var(--ui-3) !important; }
  html.havin-product-ui .home-asset-photo-rc3 { aspect-ratio: 1 / 1 !important; }

  html.havin-product-ui .assets-command-rc123-final {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ui-2) !important;
  }
  html.havin-product-ui .assets-command-rc123-final .assets-search-v081 { grid-column: 1 / -1 !important; }
  html.havin-product-ui .assets-command-rc123-final > :is(.assets-filter-button-v081, .assets-sort-control-rc123, .assets-manage-trigger-rc6) {
    width: 100% !important;
    min-width: 0 !important;
  }

  html.havin-product-ui .asset-card-grid-v081 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--ui-4) var(--ui-3) !important;
  }
  html.havin-product-ui .asset-card-image-v081,
  html.havin-product-ui .asset-card-placeholder-v081 { aspect-ratio: 1 / 1 !important; }
  html.havin-product-ui .asset-card-body-v081 { padding: 10px 9px 12px !important; }
  html.havin-product-ui .asset-card-heading-v081 h3 { font-size: .84rem !important; }

  html.havin-product-ui .watch-tabs-rc3,
  html.havin-product-ui .records-tabs-rc2-v083 { width: 100% !important; }

  html.havin-product-ui .settings-layout-rc7 {
    grid-template-columns: 1fr !important;
    gap: var(--ui-4) !important;
  }
  html.havin-product-ui .settings-subnav-rc7 {
    position: static !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  html.havin-product-ui .settings-category-list-rc7 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  html.havin-product-ui .settings-category-list-rc7 button {
    width: 100% !important;
    min-height: 46px !important;
    padding-inline: var(--ui-3) !important;
    border: 1px solid var(--ui-line) !important;
    border-radius: var(--ui-radius-control) !important;
    background: rgba(13, 22, 37, .52) !important;
    text-align: left !important;
  }

  html.havin-product-ui .records-tabs-rc2-v083 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.havin-product-ui .modal-backdrop {
    padding: 18px 10px 0 !important;
    align-items: flex-end !important;
  }
  html.havin-product-ui .modal {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 28px) !important;
    border-radius: 20px 20px 0 0 !important;
  }

  /* Bottom navigation: all five destinations share one baseline. Halo is distinct but never protrudes. */
  html.havin-product-ui .mobile-nav.mobile-nav-rc5 {
    position: fixed !important;
    z-index: 80 !important;
    inset: auto 0 0 !important;
    width: 100% !important;
    height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 4px 7px env(safe-area-inset-bottom, 0px) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    overflow: visible !important;
    border-top: 1px solid rgba(166, 190, 220, .13) !important;
    background: rgba(5, 11, 22, .975) !important;
    backdrop-filter: blur(20px) saturate(120%) !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, .18) !important;
  }

  html.havin-product-ui .mobile-nav-rc5 .mobile-link,
  html.havin-product-ui .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-product-ui .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-product-ui .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 3px 2px !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: #78889d !important;
    font-size: .57rem !important;
    font-weight: 600 !important;
  }

  html.havin-product-ui .mobile-nav-rc5 .mobile-link.active { color: var(--ui-text) !important; }
  html.havin-product-ui .mobile-nav-rc5 .mobile-link.active > svg { color: var(--ui-sky) !important; }

  html.havin-product-ui .mobile-halo-tile-rc10 {
    width: min(58px, calc(100% - 4px)) !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 4px 4px 3px !important;
    display: grid !important;
    grid-template-rows: 28px auto !important;
    place-items: center !important;
    gap: 2px !important;
    overflow: visible !important;
    border: 1px solid rgba(63, 167, 225, .22) !important;
    border-radius: 13px !important;
    background: linear-gradient(145deg, rgba(75, 42, 114, .42), rgba(30, 58, 138, .48)) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .06) !important;
  }

  html.havin-product-ui .mobile-halo-link-rc5.active .mobile-halo-tile-rc10 {
    border-color: rgba(63, 167, 225, .46) !important;
    background: linear-gradient(145deg, rgba(75, 42, 114, .55), rgba(30, 58, 138, .62)) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 0 12px rgba(63, 167, 225, .08) !important;
  }

  html.havin-product-ui .mobile-halo-orb-rc5,
  html.havin-product-ui .mobile-halo-orb-rc5::before,
  html.havin-product-ui .mobile-halo-orb-rc5::after,
  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark,
  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark::before,
  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark::after {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.havin-product-ui .mobile-halo-orb-rc5::before,
  html.havin-product-ui .mobile-halo-orb-rc5::after,
  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark::before,
  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark::after {
    content: none !important;
    display: none !important;
  }

  html.havin-product-ui .mobile-halo-orb-rc5 {
    width: 48px !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
  }

  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark,
  html.havin-product-ui .mobile-halo-orb-rc5 .halo-mark-image {
    width: 48px !important;
    max-width: 48px !important;
    height: 27px !important;
    object-fit: contain !important;
    object-position: center !important;
    clip-path: none !important;
    transform: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: drop-shadow(0 0 5px rgba(63, 167, 225, .22)) !important;
  }

  html.havin-product-ui .mobile-halo-label-rc10 {
    margin: 0 !important;
    color: #e4c966 !important;
    font-size: .55rem !important;
    line-height: 1 !important;
    font-weight: 650 !important;
  }

  html.havin-product-ui .halo-chat-page {
    min-height: calc(100dvh - 120px - env(safe-area-inset-bottom, 0px)) !important;
  }

  html.havin-product-ui .halo-chat-thread {
    min-height: 0 !important;
    padding: var(--ui-3) 0 !important;
  }

  html.havin-product-ui .halo-chat-message {
    max-width: 88% !important;
  }

  html.havin-product-ui .halo-chat-disclaimer {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 390px) {
  html.havin-product-ui { --ui-gutter: 16px; }
  html.havin-product-ui .home-asset-rail-rc3,
  html.havin-product-ui .asset-card-grid-v081 { gap-inline: 10px !important; }
  html.havin-product-ui .asset-card-body-v081 { padding-inline: 8px !important; }
}

@media (max-width: 350px) {
  html.havin-product-ui .home-asset-rail-rc3,
  html.havin-product-ui .asset-card-grid-v081 { grid-template-columns: 1fr !important; }
  html.havin-product-ui .home-asset-photo-rc3,
  html.havin-product-ui .asset-card-image-v081,
  html.havin-product-ui .asset-card-placeholder-v081 { aspect-ratio: 4 / 3 !important; }
}

/* Installed iOS: one scroll area plus one footer row; no double reserved footer band. */
@media (max-width: 900px) {
  html.havin-native-ios.havin-product-ui,
  html.havin-native-ios.havin-product-ui body,
  html.havin-native-ios.havin-product-ui #root,
  html.havin-native-ios.havin-product-ui .app-shell {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  html.havin-native-ios.havin-product-ui .app-shell {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) calc(62px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.havin-native-ios.havin-product-ui .main-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  html.havin-native-ios.havin-product-ui .topbar {
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    min-height: calc(54px + env(safe-area-inset-top, 0px)) !important;
  }

  html.havin-native-ios.havin-product-ui .page-content {
    grid-row: 2 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding-bottom: 12px !important;
    scroll-padding-bottom: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.havin-native-ios.havin-product-ui .mobile-nav.mobile-nav-rc5 {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  html.havin-native-ios.havin-product-ui .page-content:has(> .halo-chat-page) {
    padding: 10px 12px 8px !important;
    overflow: hidden !important;
  }

  html.havin-native-ios.havin-product-ui .halo-chat-page {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html.havin-native-ios.havin-product-ui .halo-chat-shell {
    flex: 1 1 0 !important;
    min-height: 0 !important;
  }

  html.havin-native-ios.havin-product-ui .halo-chat-thread {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.havin-native-ios.havin-product-ui .halo-chat-disclaimer {
    padding-bottom: 0 !important;
  }

  html.havin-native-ios.havin-product-ui input,
  html.havin-native-ios.havin-product-ui textarea,
  html.havin-native-ios.havin-product-ui select {
    font-size: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-product-ui *,
  html.havin-product-ui *::before,
  html.havin-product-ui *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}
/* Hāvin responsive product geometry
   Permanent responsive companion to product-system.css. This module exists to make
   breakpoint behavior explicit while historical release CSS is retired. It is not a
   release patch: selectors are semantic/product-level and may absorb legacy rules over time. */

html.havin-product-ui .home-asset-rail-rc3 {
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-template-rows: none !important;
}

html.havin-product-ui .home-asset-card-rc3 {
  grid-column: auto !important;
  grid-row: auto !important;
  scroll-snap-align: none !important;
}

html.havin-product-ui .home-assets-rc3,
html.havin-product-ui .home-asset-rail-rc3,
html.havin-product-ui .asset-card-grid-v081,
html.havin-product-ui .asset-card-v081,
html.havin-product-ui .asset-card-v081 > a,
html.havin-product-ui .asset-card-body-v081 {
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 900px) {
  html.havin-product-ui .home-assets-rc3 {
    width: 100% !important;
    overflow: visible !important;
  }

  html.havin-product-ui .home-asset-rail-rc3 {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-rows: none !important;
    gap: 16px 12px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  html.havin-product-ui .home-asset-card-rc3 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  html.havin-product-ui .home-asset-photo-rc3 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 16px !important;
  }

  html.havin-product-ui .home-asset-card-rc3 > div:last-child {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 1px 0 !important;
    overflow: hidden !important;
  }

  html.havin-product-ui .home-asset-card-rc3 > div:last-child strong,
  html.havin-product-ui .home-asset-card-rc3 > div:last-child span {
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Keep page actions on the same content grid instead of inheriting old right offsets. */
  html.havin-product-ui .first-level-page-header,
  html.havin-product-ui .page-heading.first-level-page-header,
  html.havin-product-ui :where(.assets-page, .watch-page, .records-page) > .page-heading {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  /* Assets: explicitly erase historic list-style card geometry on touch layouts. */
  html.havin-product-ui .asset-card-grid-v081 {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 16px 10px !important;
  }

  html.havin-product-ui .asset-card-v081,
  html.havin-product-ui .asset-card-v081 > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.havin-product-ui .asset-card-v081 > a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  html.havin-product-ui .asset-card-image-v081,
  html.havin-product-ui .asset-card-placeholder-v081 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  html.havin-product-ui .asset-card-body-v081 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 9px 12px !important;
  }

  /* Footer is one restrained platform control. Halo is a contained destination, not a FAB. */
  html.havin-product-ui .mobile-nav.mobile-nav-rc5 {
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    overflow: visible !important;
  }

  html.havin-product-ui .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-product-ui .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-product-ui .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    margin: 0 !important;
    align-self: center !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* Messenger composer stays visually attached to the conversation and above the footer. */
  html.havin-product-ui .halo-chat-page,
  html.havin-product-ui .halo-chat-shell,
  html.havin-product-ui .halo-chat-thread,
  html.havin-product-ui .halo-chat-composer {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Keep long asset-context placeholder copy on one clean composer line. The actual
     message text keeps the normal readable size once the owner starts typing. */
  html.havin-product-ui .halo-chat-composer textarea::placeholder {
    font-size: .78rem !important;
    white-space: nowrap !important;
  }
}

/* Tablet/intermediate layouts use the extra width instead of stretching phone cards.
   Extra component specificity is intentional here: this is the final responsive authority
   while older release styles are still imported ahead of it. */
@media (min-width: 700px) and (max-width: 900px) {
  html.havin-product-ui .home-assets-rc3 .home-asset-rail-rc3,
  html.havin-product-ui .assets-page .asset-card-grid.asset-card-grid-v081 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 18px 12px !important;
  }

  html.havin-product-ui .home-assets-rc3 .home-asset-photo-rc3,
  html.havin-product-ui .assets-page .asset-card-v081 .asset-card-image-v081,
  html.havin-product-ui .assets-page .asset-card-v081 .asset-card-placeholder-v081 {
    aspect-ratio: 4 / 3 !important;
  }
}

@media (max-width: 360px) {
  html.havin-product-ui .home-asset-rail-rc3,
  html.havin-product-ui .asset-card-grid-v081 {
    grid-template-columns: 1fr !important;
  }

  html.havin-product-ui .home-asset-photo-rc3,
  html.havin-product-ui .asset-card-image-v081,
  html.havin-product-ui .asset-card-placeholder-v081 {
    aspect-ratio: 4 / 3 !important;
  }
}

@media (min-width: 901px) {
  html.havin-product-ui .home-asset-rail-rc3 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-rows: none !important;
    overflow: visible !important;
  }
}/* Hāvin Build 33 — final native messenger/footer authority.
   This file intentionally loads last. It restores the approved flat five-column footer,
   makes Halo one self-contained rounded-square destination, and removes the empty content
   gap that had reappeared above the footer. */

@media (max-width: 900px) {
  /* Native app owns one content region plus one footer region. No second invisible footer band. */
  html.havin-native-ios,
  html.havin-native-ios body,
  html.havin-native-ios #root,
  html.havin-native-ios .app-shell {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .app-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) calc(62px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.havin-native-ios .main-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .page-content {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    scroll-padding-bottom: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  /* Halo fills the available content height instead of ending early and leaving a dead band. */
  html.havin-native-ios .page-content:has(> .halo-chat-page) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 10px 12px 6px !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-page {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-shell {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-thread {
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    scroll-behavior: smooth;
  }

  html.havin-native-ios .halo-chat-disclaimer {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 4px 1px !important;
  }

  /* Approved mobile footer: flat five-column bar; Halo is the only contained destination. */
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    z-index: 80 !important;
    width: 100% !important;
    height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 4px 6px env(safe-area-inset-bottom, 0px) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    align-items: start !important;
    overflow: visible !important;
    background: rgba(5, 12, 24, .995) !important;
    border-top: 1px solid rgba(137, 166, 199, .13) !important;
    backdrop-filter: blur(20px) saturate(125%);
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 5px 2px 3px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #7d8da3 !important;
    font-size: .59rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link > svg {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link.active:not(.mobile-halo-link-rc5) {
    color: #dce7f3 !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-link.active:not(.mobile-halo-link-rc5) > svg {
    color: #69c3ed !important;
  }

  /* The whole Halo destination is one rounded square. The nested markup is presentation-free. */
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5:hover,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    width: min(74px, calc(100% - 6px)) !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: -7px auto 0 !important;
    padding: 0 !important;
    align-self: start !important;
    justify-self: center !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(105, 195, 237, .30) !important;
    border-radius: 17px !important;
    background: linear-gradient(150deg, #24104f 0%, #263f9f 60%, #1e68ff 132%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 6px 16px rgba(2,7,18,.30), 0 0 14px rgba(30,104,255,.10) !important;
    overflow: hidden !important;
    transform: none !important;
  }

  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    border-color: rgba(105, 195, 237, .54) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 7px 18px rgba(2,7,18,.32), 0 0 18px rgba(30,104,255,.16) !important;
  }

  html.havin-native-ios .mobile-halo-tile-rc10 {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 5px 5px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.havin-native-ios .mobile-halo-orb-rc5 {
    width: 56px !important;
    height: 29px !important;
    min-height: 29px !important;
    flex: 0 0 29px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.havin-native-ios .mobile-halo-orb-rc5::before,
  html.havin-native-ios .mobile-halo-orb-rc5::after { content: none !important; display: none !important; }

  html.havin-native-ios .mobile-halo-orb-rc5 .halo-mark-image {
    width: 56px !important;
    max-width: 56px !important;
    height: 29px !important;
    object-fit: contain !important;
    object-position: center !important;
    clip-path: none !important;
    transform: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: drop-shadow(0 0 7px rgba(93,183,255,.34)) !important;
  }

  html.havin-native-ios .mobile-halo-label-rc10 {
    margin: 0 !important;
    color: #edcf75 !important;
    font-size: .58rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }
}

@media (max-width: 390px) {
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 { padding-inline: 4px !important; }
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5,
  html.havin-native-ios .mobile-nav-rc5 .mobile-halo-link-rc5.active {
    width: min(70px, calc(100% - 4px)) !important;
  }
}
/* Hāvin Build 34 — native viewport authority.
   The bottom navigation overlays the viewport instead of consuming a second grid row.
   Page content therefore owns the full remaining screen and can never end in a blank band
   above the footer. The footer appearance itself is intentionally unchanged from Build 33. */

@media (max-width: 900px) {
  html.havin-native-ios,
  html.havin-native-ios body,
  html.havin-native-ios #root,
  html.havin-native-ios .app-shell {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  html.havin-native-ios body {
    position: fixed !important;
    inset: 0 !important;
  }

  /* One viewport. Header + content fill it; footer sits on top of the bottom edge. */
  html.havin-native-ios .app-shell {
    position: relative !important;
    display: block !important;
  }

  html.havin-native-ios .main-column {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .topbar {
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto !important;
  }

  html.havin-native-ios .page-content {
    grid-row: 2 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: auto !important;
  }

  /* Remove old page-level footer reserves. The single scroll reserve lives on page-content. */
  html.havin-native-ios .page-content > .page-stack,
  html.havin-native-ios .page-content > :is(.home-rc3, .assets-page, .asset-detail-page, .watch-page, .records-page),
  html.havin-native-ios .assets-page > :is(.asset-card-grid-v081, .asset-list-view, .asset-table-view, .pagination-bar) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Halo has its own internal scroller. Its visible surface ends immediately above the
     overlaying footer; the reserve is behind the footer, not a visible empty strip. */
  html.havin-native-ios .page-content:has(> .halo-chat-page) {
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 10px 12px calc(74px + env(safe-area-inset-bottom, 0px)) !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-page {
    flex: 1 1 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-shell {
    flex: 1 1 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  html.havin-native-ios .halo-chat-thread {
    min-height: 0 !important;
    overflow-y: auto !important;
  }

  /* Preserve the Build 33 footer geometry exactly; only its layout ownership changes. */
  html.havin-native-ios .mobile-nav.mobile-nav-rc5 {
    position: fixed !important;
    z-index: 90 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 4px 6px env(safe-area-inset-bottom, 0px) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: start !important;
    overflow: visible !important;
    background: rgba(5, 12, 24, .995) !important;
    border-top: 1px solid rgba(137, 166, 199, .13) !important;
    backdrop-filter: blur(20px) saturate(125%);
  }
}
/* Hāvin Build 35 — launch interaction / scroll ownership authority.
   This layer intentionally loads last. It does not redesign the product; it closes the
   remaining physical-device interaction gaps: background scroll leakage, focused-list
   scrolling, iOS input zoom, touch targets, clipping, and overlay safe-area behavior. */

@media (max-width: 900px) {
  html.havin-native-ios {
    -webkit-text-size-adjust: 100%;
  }

  html.havin-native-ios body,
  html.havin-native-ios #root,
  html.havin-native-ios .app-shell,
  html.havin-native-ios .main-column,
  html.havin-native-ios .page-content {
    max-width: 100vw !important;
  }

  html.havin-native-ios :where(input, textarea, select) {
    /* iOS zooms focused controls below 16px. Keep the native app stable while typing. */
    font-size: 16px !important;
  }

  html.havin-native-ios :where(button, a, summary, [role="button"], [role="option"]) {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  html.havin-native-ios :where(.button, .icon-button, .text-button, .halo-chat-send, .choice-menu-trigger-rc5) {
    min-height: 44px;
  }

  /* ---------- One scroll owner whenever a focused surface is open ---------- */
  html.havin-native-ios .app-shell:has(.mobile-drawer) .page-content,
  html.havin-native-ios .app-shell:has(.mobile-search-sheet) .page-content,
  html.havin-native-ios .app-shell:has(.add-menu-mobile) .page-content,
  html.havin-native-ios .app-shell:has(.notification-panel) .page-content,
  html.havin-native-ios .page-content:has(.halo-context-picker),
  html.havin-native-ios .page-content:has(.choice-menu-rc5.open),
  html.havin-native-ios.havin-modal-open .page-content {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
  }

  html.havin-native-ios .modal-content:has(.choice-menu-rc5.open) {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  /* The active surface receives vertical scrolling instead of the page behind it. */
  html.havin-native-ios :where(
    .mobile-drawer,
    .mobile-search-sheet,
    .notification-panel,
    .add-menu-mobile,
    .modal-content,
    .choice-menu-popover-rc5,
    .halo-context-options
  ) {
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  html.havin-native-ios .mobile-drawer {
    max-height: 100dvh;
    overflow-y: auto;
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  html.havin-native-ios .mobile-search-sheet {
    max-height: min(72dvh, 640px);
    overflow-y: auto;
  }

  html.havin-native-ios .notification-panel {
    max-height: min(66dvh, 620px);
    overflow-y: auto;
  }

  html.havin-native-ios .add-menu-mobile {
    max-height: min(72dvh, 620px);
    overflow-y: auto;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }

  /* ---------- Halo context chooser ---------- */
  html.havin-native-ios .halo-chat-context-wrap {
    position: relative !important;
    z-index: 32;
  }

  html.havin-native-ios .halo-context-picker {
    position: absolute !important;
    z-index: 96 !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: min(58dvh, 520px) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    overflow: hidden !important;
    box-shadow: 0 18px 52px rgba(0, 0, 0, .48), 0 0 0 1px rgba(63, 167, 225, .08) !important;
  }

  html.havin-native-ios .halo-context-options {
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-padding-block: 8px;
    padding-bottom: 10px;
  }

  html.havin-native-ios .halo-chat-page:has(.halo-context-picker) .halo-chat-thread {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
  }

  html.havin-native-ios .halo-chat-page:has(.halo-context-picker) .halo-chat-composer,
  html.havin-native-ios .halo-chat-page:has(.halo-context-picker) .halo-chat-meta {
    pointer-events: none;
  }

  /* ---------- Reusable custom choice menu ---------- */
  html.havin-native-ios .choice-menu-rc5 {
    position: relative;
  }

  html.havin-native-ios .choice-menu-popover-rc5 {
    max-height: min(50dvh, 420px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 110 !important;
  }

  html.havin-native-ios .choice-menu-popover-rc5 > button {
    min-height: 48px;
  }

  /* ---------- Modal / sheet containment ---------- */
  html.havin-native-ios .modal-backdrop {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.havin-native-ios .modal {
    max-height: min(78dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 52px)) !important;
  }

  html.havin-native-ios .modal-content {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-padding-bottom: 16px;
  }

  /* Onboarding is also a focused surface and must own scrolling independently. */
  html.havin-native-ios body:has(.hv60-onboarding-backdrop) .page-content {
    overflow: hidden !important;
    touch-action: none;
  }

  html.havin-native-ios .hv60-onboarding-backdrop {
    overflow: hidden;
    overscroll-behavior: none;
  }

  html.havin-native-ios .hv60-onboarding {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px);
    overflow: hidden;
  }

  html.havin-native-ios .hv60-onboarding-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* ---------- Page-level launch polish ---------- */
  html.havin-native-ios .page-content {
    overflow-x: clip !important;
  }

  html.havin-native-ios :where(.page-stack, .assets-page, .asset-detail-page, .watch-page, .records-page, .settings-page) {
    min-width: 0;
    max-width: 100%;
  }

  html.havin-native-ios :where(.page-header, .page-header > div, .watch-context-rc2-v083, .records-filters-rc5) {
    min-width: 0;
  }

  html.havin-native-ios :where(.page-header h1, .page-header p, .watch-item-copy, .record-row, .asset-card) {
    overflow-wrap: anywhere;
  }

  /* Preserve Build 34's dead-space fix: ordinary pages can scroll behind the overlay footer,
     but the final content remains visible above it. Halo's own thread/composer owns its space. */
  html.havin-native-ios .page-content:not(:has(> .halo-chat-page)) {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.havin-native-ios .page-content:has(> .halo-chat-page) {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.havin-native-ios *,
  html.havin-native-ios *::before,
  html.havin-native-ios *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Hāvin Build 36 — Build 35 field-test corrections.
   Loaded last so device-tested fixes can be narrow and reversible. */

/* Halo actions must look interactive before the user touches them. */
.halo-chat-new {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 15px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 12px !important;
  background: rgba(15, 23, 42, .58) !important;
  color: #e8eef8 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.halo-chat-new:hover,
.halo-chat-new:focus-visible {
  border-color: rgba(63, 167, 225, .55) !important;
  background: rgba(30, 58, 138, .2) !important;
}
.halo-chat-new:active { transform: translateY(1px); }

/* Asset chooser: keep one scroll owner while it is open. Build 35 freezes the page and
   conversation behind this surface; the options list remains the bounded scroll area. */
.halo-context-picker { isolation: isolate; }
.halo-context-options {
  display: flex !important;
  flex-direction: column;
  min-height: 92px !important;
}
.halo-context-options > button {
  display: flex !important;
  width: 100%;
  flex: 0 0 auto;
}

/* Assets: keep the mobile hero concise and make portfolio management read as an action.
   The source copy is also replaced in Build 36; these selectors protect older cached shells. */
.assets-page .first-level-page-copy > p {
  font-size: 0 !important;
}
.assets-page .first-level-page-copy > p::after {
  content: 'Everything you own. One place.';
  font-size: clamp(1rem, 3.6vw, 1.22rem);
  line-height: 1.45;
}
.assets-page .portfolio-browser-heading-rc8 > div:first-child > strong {
  font-size: 0 !important;
}
.assets-page .portfolio-browser-heading-rc8 > div:first-child > strong::after {
  content: 'Portfolios';
  font-size: 1.35rem;
}
.assets-page .portfolio-heading-actions-rc123 > button:last-child {
  min-height: 38px;
  padding: 0 14px !important;
  border: 1px solid rgba(63, 167, 225, .32) !important;
  border-radius: 11px !important;
  background: rgba(30, 58, 138, .18) !important;
  color: #8ed9ff !important;
  font-size: 0 !important;
  font-weight: 750 !important;
}
.assets-page .portfolio-heading-actions-rc123 > button:last-child::after {
  content: 'Manage';
  font-size: .96rem;
}

/* Keep broader manufacturer operating guidance visible as guidance. The dedicated interactive
   checklist below is intentionally limited to true source-backed cadence_type=pre-use rules. */
.asset-service-v083 .service-guidance-group-rc123:not(.historical) {
  border-color: rgba(63, 167, 225, .24) !important;
  background: rgba(11, 22, 39, .54) !important;
}
.asset-service-v083 .service-guidance-group-rc123:not(.historical) > summary {
  min-height: 58px;
  cursor: pointer;
}
.asset-service-v083 .service-guidance-group-rc123:not(.historical) .service-guidance-item-rc123::before {
  content: none !important;
  display: none !important;
}

/* The asset-level pre-use action is real interaction, not checkbox-looking decoration. */
.asset-quick-actions-v083 .preuse-quick-action-b36 {
  border-color: rgba(63, 167, 225, .28) !important;
  background: linear-gradient(145deg, rgba(30, 58, 138, .15), rgba(13, 20, 38, .72)) !important;
}
.asset-quick-actions-v083 .preuse-quick-action-b36 > svg {
  color: #8ed9ff;
}

.preuse-checklist-b36 {
  display: grid;
  gap: 16px;
}
.preuse-intro-b36 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid rgba(63, 167, 225, .18);
  border-radius: 14px;
  background: rgba(30, 58, 138, .08);
}
.preuse-intro-b36 > svg {
  margin-top: 2px;
  color: #8ed9ff;
}
.preuse-intro-b36 strong,
.preuse-intro-b36 p {
  display: block;
}
.preuse-intro-b36 p {
  margin: 4px 0 0;
  color: #9fb0c7;
  line-height: 1.45;
}
.preuse-items-b36 {
  display: grid;
  gap: 8px;
}
.preuse-item-b36 {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: start;
  min-height: 56px;
  padding: 12px 12px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 13px;
  background: rgba(6, 13, 25, .48);
  cursor: pointer;
}
.preuse-item-b36:hover {
  border-color: rgba(63, 167, 225, .3);
}
.preuse-item-b36.checked {
  border-color: rgba(63, 167, 225, .42);
  background: rgba(30, 58, 138, .13);
}
.preuse-item-b36 > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.preuse-box-b36 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border: 1.5px solid rgba(142, 217, 255, .55);
  border-radius: 6px;
  background: rgba(63, 167, 225, .05);
  color: #ffffff;
}
.preuse-item-b36.checked .preuse-box-b36 {
  border-color: #3fa7e1;
  background: #1e3a8a;
}
.preuse-copy-b36 {
  min-width: 0;
}
.preuse-copy-b36 > strong,
.preuse-copy-b36 > span,
.preuse-copy-b36 > small {
  display: block;
}
.preuse-copy-b36 > strong {
  color: #edf4ff;
  line-height: 1.3;
}
.preuse-copy-b36 > span {
  margin-top: 3px;
  color: #b3c1d2;
  font-size: .86rem;
  line-height: 1.42;
}
.preuse-copy-b36 > small {
  margin-top: 6px;
  color: #72849a;
  font-size: .72rem;
  line-height: 1.3;
}
.preuse-source-link-b36 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: -4px -4px 0 0;
  border-radius: 10px;
  color: #8ed9ff;
  text-decoration: none;
}
.preuse-source-link-b36:hover,
.preuse-source-link-b36:focus-visible {
  background: rgba(63, 167, 225, .1);
}
.preuse-readonly-b36 {
  margin: 0;
  padding: 10px 12px;
  border-radius: 11px;
  background: rgba(148, 163, 184, .07);
  color: #9fb0c7;
  font-size: .82rem;
  line-height: 1.4;
}
.preuse-notice-b36 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}
.preuse-history-b36 {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}
.preuse-history-b36 > div > strong,
.preuse-history-b36 > div > small {
  display: block;
}
.preuse-history-b36 > div > small {
  margin-top: 2px;
  color: #72849a;
  font-size: .76rem;
}
.preuse-history-b36 p {
  margin: 0;
  color: #7e90a7;
  font-size: .82rem;
}
.preuse-history-b36 ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.preuse-history-b36 li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #9fb0c7;
  font-size: .82rem;
}
.preuse-history-b36 li svg { color: #3fa7e1; }
.preuse-actions-b36 { margin-top: 0 !important; }

/* Individual Settings pages only need a return path to the Settings hub. */
.settings-subnav-rc7 .settings-category-list-rc7 { display: none !important; }
.settings-layout-rc7 { grid-template-columns: minmax(0, 1fr) !important; }
.settings-subnav-rc7 { min-width: 0 !important; }
.settings-content { min-width: 0; }

/* Halo SMS uses a normal U.S. national-number field; +1 is product chrome, not data users type. */
.sms-phone-input-rc36 {
  display: flex;
  align-items: stretch;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 11px;
  overflow: hidden;
  background: rgba(5, 12, 24, .7);
}
.sms-country-code-rc36 {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-right: 1px solid rgba(148, 163, 184, .18);
  color: #9fb0c7;
  font-weight: 700;
  white-space: nowrap;
}
.sms-phone-input-rc36 input {
  min-width: 0;
  width: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.sms-phone-input-rc36:focus-within {
  border-color: rgba(63, 167, 225, .55);
  box-shadow: 0 0 0 3px rgba(63, 167, 225, .09);
}

/* Access status pills: keep the indicator inside the badge and on the text baseline. */
.access-page-rc123-final .status-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding-left: 11px !important;
}
.access-page-rc123-final .status-badge .status-dot {
  position: static !important;
  inset: auto !important;
  flex: 0 0 7px;
  width: 7px !important;
  height: 7px !important;
  margin: 0 !important;
  transform: none !important;
}

/* Notification popover belongs below the top navigation, never on top of it. */
.topbar { position: relative; z-index: 70; }
.notification-panel,
.notification-panel-rc123-final {
  top: calc(100% + 8px) !important;
  right: 0 !important;
  z-index: 120 !important;
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  html.havin-native-ios .halo-context-picker {
    max-height: min(62dvh, 560px) !important;
  }

  html.havin-native-ios .halo-context-options {
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
  }

  .notification-panel,
  .notification-panel-rc123-final {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    max-height: min(64dvh, 600px) !important;
  }

  .halo-chat-new {
    min-height: 40px !important;
    padding-inline: 13px !important;
  }

  .sms-verify-controls-v083 .sms-phone-input-rc36 {
    width: 100%;
  }

  .preuse-item-b36 {
    grid-template-columns: 22px minmax(0, 1fr) 34px;
    padding: 12px 10px;
  }
  .preuse-source-link-b36 {
    width: 34px;
    height: 34px;
  }
}
/* Hāvin Build 38 — physical-device acceptance corrections.
   Loaded after Build 36 so the mobile product has one explicit authority for the issues
   observed on TestFlight Build 37: wordmark visibility, Halo New chat affordance,
   and the initial workspace loading surface. */

/* Every native loading state stays on Hāvin's dark surface. This covers both the
   initial portfolio hydration gate and short React/Suspense route transitions. */
html.havin-native-ios .app-loading,
.app-loading-initial-b38 {
  min-height: 100dvh !important;
  padding: 32px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(30, 58, 138, .18), transparent 18rem),
    #050c18 !important;
  color: #f5f8fc !important;
  text-align: center !important;
}

html.havin-native-ios .app-loading .brand,
.app-loading-initial-b38 .brand {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.havin-native-ios .app-loading .brand-logo,
.app-loading-initial-b38 .brand-logo {
  display: block !important;
  width: min(210px, 58vw) !important;
  max-width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.havin-native-ios .app-loading p,
.app-loading-initial-b38 p {
  margin: 0 !important;
  color: #8e9db2 !important;
  font-size: .88rem !important;
  font-weight: 550 !important;
}

.app-loading-indicator-b38 {
  width: 24px;
  height: 24px;
  border: 2px solid rgba(142, 217, 255, .16);
  border-top-color: #3fa7e1;
  border-radius: 50%;
  animation: havin-loading-b38 .8s linear infinite;
}

@keyframes havin-loading-b38 {
  to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
  /* Keep the approved wordmark visible across native iOS, PWA, and mobile web.
     Historical header rules may not squeeze the brand down to a few pixels. */
  html.havin-product-ui .topbar {
    gap: 12px !important;
  }

  html.havin-product-ui .topbar .mobile-brand {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 116px !important;
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html.havin-product-ui .topbar .mobile-brand .brand {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    align-items: flex-start !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html.havin-product-ui .topbar .mobile-brand .brand-logo {
    display: block !important;
    flex: 0 0 auto !important;
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html.havin-product-ui .topbar .topbar-actions {
    flex: 0 0 auto !important;
  }

  /* Build 37 showed the semantic New chat button as bare text. Keep a restrained but
     unmistakable secondary-button treatment everywhere Halo uses the phone layout. */
  html.havin-product-ui .halo-chat-header button.halo-chat-new.button {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(142, 217, 255, .34) !important;
    border-radius: 12px !important;
    background: rgba(30, 58, 138, .18) !important;
    color: #e5eef9 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
    font-size: .86rem !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  html.havin-product-ui .halo-chat-header button.halo-chat-new.button:active {
    border-color: rgba(63, 167, 225, .58) !important;
    background: rgba(30, 58, 138, .30) !important;
    transform: translateY(1px) !important;
  }

  html.havin-native-ios .app-loading,
  html.havin-native-ios .app-loading-initial-b38 {
    min-height: 100dvh !important;
    padding-top: calc(32px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 340px) {
  html.havin-product-ui .topbar {
    gap: 8px !important;
    padding-inline: 12px !important;
  }

  html.havin-product-ui .topbar .mobile-brand,
  html.havin-product-ui .topbar .mobile-brand .brand,
  html.havin-product-ui .topbar .mobile-brand .brand-logo {
    flex-basis: 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-loading-indicator-b38 { animation: none; }
}
/* Hāvin Build 39 — native branding recovery.
   Loaded after Build 38. Owns the first-class loading surface while preserving the
   accepted Build 38 mobile header and Halo button geometry. */

.havin-loading-b39 {
  min-height: 100dvh;
  width: 100%;
  padding: 36px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  background:
    radial-gradient(circle at 50% 42%, rgba(30, 58, 138, .22), transparent 19rem),
    linear-gradient(180deg, #050c18 0%, #07101e 48%, #050c18 100%);
  color: #f5f8fc;
  text-align: center;
  overflow: hidden;
}

.havin-loading-brand-b39 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(76vw, 360px);
  margin: 0 0 30px;
}

.havin-loading-brand-b39 .brand {
  display: inline-flex;
  width: 100%;
  align-items: center;
  margin: 0;
  opacity: 1;
  visibility: visible;
}

.havin-loading-brand-b39 .brand-logo {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  opacity: 1;
  visibility: visible;
}

.havin-loading-indicator-b39 {
  width: 28px;
  height: 28px;
  margin: 0 0 18px;
  border: 2px solid rgba(142, 217, 255, .14);
  border-top-color: #3fa7e1;
  border-right-color: rgba(63, 167, 225, .54);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(63, 167, 225, .10);
  animation: havin-loading-b39-spin .82s linear infinite;
}

.havin-loading-copy-b39 {
  margin: 0;
  color: #91a2b9;
  font-size: .88rem;
  font-weight: 560;
  letter-spacing: .015em;
  line-height: 1.45;
}

@keyframes havin-loading-b39-spin {
  to { transform: rotate(360deg); }
}

/* Build 36 temporarily replaced the Assets subtitle with a CSS pseudo-element for older
   shells. The source now owns the final copy, so Build 39 must retire that fallback or a
   later typography rule makes the real text and pseudo-copy render together. */
html.havin-product-ui .assets-page .first-level-page-copy > p {
  font-size: .93rem !important;
  line-height: 1.48 !important;
}

html.havin-product-ui .assets-page .first-level-page-copy > p::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 900px) {
  html.havin-native-ios .havin-loading-b39 {
    min-height: 100dvh;
    padding-top: calc(36px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px));
  }

  /* Reassert the accepted header geometry after all historical styles. */
  html.havin-product-ui .topbar .mobile-brand,
  html.havin-product-ui .topbar .mobile-brand .brand {
    display: flex !important;
    flex: 0 0 116px !important;
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html.havin-product-ui .topbar .mobile-brand .brand-logo {
    display: block !important;
    flex: 0 0 auto !important;
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* The drawer uses the same Brand component as the topbar. Give that shared wordmark
     explicit geometry so historical drawer styles cannot collapse the image away. */
  html.havin-product-ui .mobile-drawer-header .brand {
    display: inline-flex !important;
    flex: 0 0 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html.havin-product-ui .mobile-drawer-header .brand-logo {
    display: block !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html.havin-product-ui .halo-chat-header button.halo-chat-new.button {
    -webkit-appearance: none !important;
    appearance: none !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(142, 217, 255, .34) !important;
    border-radius: 12px !important;
    background: rgba(30, 58, 138, .18) !important;
    color: #e5eef9 !important;
  }
}

/* Preserve the accepted compact phone geometry on very narrow screens. Build 39 loads
   after Build 38, so this must live here or the later 116px rule wins the cascade. */
@media (max-width: 340px) {
  html.havin-product-ui .topbar {
    gap: 8px !important;
    padding-inline: 12px !important;
  }

  html.havin-product-ui .topbar .mobile-brand,
  html.havin-product-ui .topbar .mobile-brand .brand,
  html.havin-product-ui .topbar .mobile-brand .brand-logo {
    flex-basis: 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .havin-loading-indicator-b39 { animation: none; }
}
.havin-v083-build42 .parts42-stack {
  display: grid;
  gap: 18px;
}

.havin-v083-build42 .parts42-intro,
.havin-v083-build42 .parts42-recommendations,
.havin-v083-build42 .parts42-history,
.havin-v083-build42 .parts42-kit,
.havin-v083-build42 .parts42-filter-summary,
.havin-v083-build42 .parts42-halo-cta,
.havin-v083-build42 .parts42-empty {
  border: 1px solid rgba(130, 155, 194, .2);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(15, 25, 42, .94), rgba(9, 17, 31, .96));
  box-shadow: 0 18px 45px rgba(0, 0, 0, .14);
}

.havin-v083-build42 .parts42-intro {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  padding: 24px;
}

.havin-v083-build42 .parts42-intro.parts57-toolbar {
  align-items: center;
  padding: 15px 18px;
  border-radius: 18px;
}

.havin-v083-build42 .parts57-summary {
  display: block;
  margin-top: 4px;
  color: #f4f7fb;
  font-size: .98rem;
}

.havin-v083-build42 .parts42-intro h2,
.havin-v083-build42 .parts42-kit h2 {
  margin: 6px 0 7px;
  color: #f7f9fd;
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
  letter-spacing: -.035em;
}

.havin-v083-build42 .parts42-intro p,
.havin-v083-build42 .parts42-kit p,
.havin-v083-build42 .parts42-halo-cta p,
.havin-v083-build42 .parts42-setup-prompt p {
  margin: 0;
  max-width: 720px;
  color: #95a4bb;
  line-height: 1.55;
}

.havin-v083-build42 .parts42-intro-actions,
.havin-v083-build42 .parts42-setup-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.havin-v083-build42 .parts42-icon-button,
.havin-v083-build42 .parts42-product .button,
.havin-v083-build42 .parts42-offer-row .button,
.havin-v083-build42 .parts42-kit .button,
.havin-v083-build42 .parts42-halo-cta .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.havin-v083-build42 .parts42-tier-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(128, 155, 198, .2);
  border-radius: 18px;
  background: rgba(7, 14, 26, .78);
}

.havin-v083-build42 .parts42-tier-strip > button {
  min-height: 74px;
  padding: 13px 16px;
  border: 0;
  border-right: 1px solid rgba(128, 155, 198, .16);
  background: transparent;
  color: #8f9db2;
  text-align: left;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.havin-v083-build42 .parts42-tier-strip > button:last-child { border-right: 0; }
.havin-v083-build42 .parts42-tier-strip > button strong { display: block; color: #dce4ef; font-size: .98rem; }
.havin-v083-build42 .parts42-tier-strip > button span { display: block; margin-top: 3px; font-size: .78rem; line-height: 1.35; }
.havin-v083-build42 .parts42-tier-strip > button.active {
  background: linear-gradient(135deg, rgba(31, 72, 159, .68), rgba(38, 100, 208, .42));
  box-shadow: inset 0 0 0 1px rgba(71, 157, 231, .45), 0 12px 30px rgba(22, 91, 217, .14);
  color: #b8d7ef;
}
.havin-v083-build42 .parts42-tier-strip > button.active strong { color: #fff; }

.havin-v083-build42 .parts42-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 16px;
}
.havin-v083-build42 .parts42-section-heading h3 { margin: 3px 0 0; color: #f6f8fc; font-size: 1.28rem; }
.havin-v083-build42 .parts42-section-heading > span { color: #8493aa; font-size: .86rem; }

.havin-v083-build42 .parts42-recommendations { overflow: hidden; }
.havin-v083-build42 .parts42-product { border-top: 1px solid rgba(126, 151, 190, .14); }
.havin-v083-build42 .parts42-product-heading {
  width: 100%;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 12px;
  padding: 17px 22px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.havin-v083-build42 .parts42-product-heading > span:nth-child(2) strong { display: block; color: #f4f7fc; font-size: 1.02rem; }
.havin-v083-build42 .parts42-product-heading > span:nth-child(2) small { color: #7f8da3; }
.havin-v083-build42 .parts42-product-icon {
  width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px;
  color: #52baf0; background: rgba(44, 144, 210, .1); border: 1px solid rgba(65, 157, 218, .14);
}
.havin-v083-build42 .parts42-fit {
  display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px;
  color: #8fdeb1; background: rgba(57, 166, 108, .1); border: 1px solid rgba(65, 176, 116, .18); font-size: .77rem;
}
.havin-v083-build42 .parts42-product-heading > svg { color: #718199; transition: transform .18s ease; }
.havin-v083-build42 .parts42-product-heading > svg.open { transform: rotate(180deg); }
.havin-v083-build42 .parts42-product-body { padding: 0 22px 20px 74px; }
.havin-v083-build42 .parts42-product-main {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(205px, auto); gap: 20px; align-items: center;
  padding: 16px; border-radius: 16px; background: rgba(20, 31, 49, .76); border: 1px solid rgba(128, 153, 189, .14);
}
.havin-v083-build42 .parts42-product-copy h4 { margin: 7px 0 2px; color: #fff; font-size: 1.08rem; }
.havin-v083-build42 .parts42-product-copy p { margin: 0; color: #9caac0; }
.havin-v083-build42 .parts42-product-copy > small { display: block; margin-top: 8px; color: #7e8ca2; line-height: 1.45; }
.havin-v083-build42 .parts42-tier-chip { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .01em; }
.havin-v083-build42 .parts42-tier-chip.budget { color: #afc9de; background: rgba(84, 127, 160, .12); }
.havin-v083-build42 .parts42-tier-chip.best-value { color: #9bd6f4; background: rgba(57, 154, 216, .12); }
.havin-v083-build42 .parts42-tier-chip.premium { color: #d3c0f2; background: rgba(128, 87, 190, .14); }
.havin-v083-build42 .parts42-buy-block { display: grid; justify-items: stretch; gap: 7px; min-width: 210px; }
.havin-v083-build42 .parts42-buy-block .text-button { justify-content: center; font-size: .79rem; }
.havin-v083-build42 .parts42-price { color: #f7f9fd; font-weight: 750; text-align: right; font-size: 1rem; }
.havin-v083-build42 .parts42-no-offer { color: #8391a6; font-size: .84rem; text-align: right; }
.havin-v083-build42 .parts42-why,
.havin-v083-build42 .parts42-nonaffiliate {
  display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; padding: 11px 13px; border-radius: 13px;
}
.havin-v083-build42 .parts42-why { background: rgba(35, 108, 157, .07); color: #79c5ea; }
.havin-v083-build42 .parts42-why svg { flex: 0 0 auto; margin-top: 2px; }
.havin-v083-build42 .parts42-why strong { display: block; color: #c7e4f4; font-size: .82rem; }
.havin-v083-build42 .parts42-why span { display: block; margin-top: 2px; color: #8899b0; font-size: .82rem; line-height: 1.45; }
.havin-v083-build42 .parts42-nonaffiliate { background: rgba(70, 151, 101, .07); color: #78c99b; font-size: .79rem; }
.havin-v083-build42 .parts42-ordered-link,
.havin-v083-build42 .parts42-mini-link {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 0; border: 0; background: transparent; color: #7ea8c1; cursor: pointer; font-size: .78rem;
}
.havin-v083-build42 .parts42-tier-fallback { margin-bottom: 10px; color: #a9b5c6; font-size: .78rem; }

.havin-v083-build42 .parts42-service-ready,
.havin-v083-build42 .parts42-setup-prompt {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 17px 19px; border: 1px solid rgba(126, 154, 195, .18); border-radius: 18px; background: rgba(12, 24, 41, .78);
}
.havin-v083-build42 .parts42-service-ready-icon,
.havin-v083-build42 .parts42-setup-icon {
  width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px;
}
.havin-v083-build42 .parts42-service-ready-icon { color: #8bdfaa; background: rgba(51, 161, 94, .1); }
.havin-v083-build42 .parts42-setup-icon { color: #d9ba4d; background: rgba(217, 181, 49, .09); }
.havin-v083-build42 .parts42-service-ready-copy strong { display: block; color: #f4f7fc; }
.havin-v083-build42 .parts42-service-ready-copy > span:last-child { display: block; color: #8b99ad; font-size: .83rem; margin-top: 2px; }
.havin-v083-build42 .parts42-service-ready .text-button { display: inline-flex; align-items: center; gap: 4px; }
.havin-v083-build42 .parts42-setup-prompt { align-items: start; border-color: rgba(205, 170, 53, .25); background: linear-gradient(135deg, rgba(55, 47, 23, .28), rgba(13, 23, 40, .9)); }
.havin-v083-build42 .parts42-setup-prompt h3 { margin: 3px 0 5px; color: #fff; }
.havin-v083-build42 .parts42-setup-actions { align-self: center; justify-content: flex-end; }
.havin-v083-build42 .parts42-setup-actions > span { color: #78869a; font-size: .76rem; }

.havin-v083-build42 .parts42-filter-summary { overflow: hidden; }
.havin-v083-build42 .parts42-filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; padding: 0 22px 22px; }
.havin-v083-build42 .parts42-filter-card { padding: 14px; border-radius: 15px; background: rgba(18, 30, 49, .72); border: 1px solid rgba(129, 155, 194, .14); }
.havin-v083-build42 .parts42-filter-card strong,
.havin-v083-build42 .parts42-filter-card span,
.havin-v083-build42 .parts42-filter-card b,
.havin-v083-build42 .parts42-filter-card small { display: block; }
.havin-v083-build42 .parts42-filter-card strong { color: #f6f8fc; }
.havin-v083-build42 .parts42-filter-card span { color: #8493a8; font-size: .78rem; margin-top: 2px; }
.havin-v083-build42 .parts42-filter-card b { color: #b9dff2; margin-top: 10px; font-size: 1.05rem; }
.havin-v083-build42 .parts42-filter-card small { color: #79889e; margin-top: 4px; }

.havin-v083-build42 .parts42-kit { padding: 23px; }
.havin-v083-build42 .parts42-kit-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.havin-v083-build42 .parts42-due { padding: 7px 10px; border-radius: 999px; background: rgba(43, 146, 207, .1); color: #82ccec; white-space: nowrap; font-size: .79rem; }
.havin-v083-build42 .parts42-kit-ready { display: flex; gap: 8px; align-items: center; margin: 17px 0 10px; padding: 10px 12px; border-radius: 12px; background: rgba(49, 151, 91, .08); color: #8dd9ab; font-size: .82rem; }
.havin-v083-build42 .parts42-kit-items { border: 1px solid rgba(126, 151, 190, .14); border-radius: 16px; overflow: hidden; }
.havin-v083-build42 .parts42-kit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 15px; background: rgba(16, 27, 44, .66); border-bottom: 1px solid rgba(126, 151, 190, .12); }
.havin-v083-build42 .parts42-kit-row:last-child { border-bottom: 0; }
.havin-v083-build42 .parts42-kit-item-copy span,
.havin-v083-build42 .parts42-kit-item-copy strong,
.havin-v083-build42 .parts42-kit-item-copy small { display: block; }
.havin-v083-build42 .parts42-kit-item-copy span { color: #63bbe8; font-size: .76rem; font-weight: 700; }
.havin-v083-build42 .parts42-kit-item-copy strong { color: #f3f6fb; margin-top: 2px; }
.havin-v083-build42 .parts42-kit-item-copy small { color: #7f8da2; margin-top: 3px; }
.havin-v083-build42 .parts42-kit-item-buy { display: grid; grid-template-columns: auto auto; gap: 5px 8px; align-items: center; justify-items: end; }
.havin-v083-build42 .parts42-kit-item-buy > strong { grid-column: 1 / -1; color: #f6f8fc; }
.havin-v083-build42 .parts42-kit-item-buy .parts42-mini-link { grid-column: 1 / -1; margin-top: 2px; }

.havin-v083-build42 .parts42-history { overflow: hidden; }
.havin-v083-build42 .parts42-history-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 13px 22px; border-top: 1px solid rgba(126, 151, 190, .12); color: #7fc8e8; }
.havin-v083-build42 .parts42-history-row strong { display: block; color: #edf2f8; }
.havin-v083-build42 .parts42-history-row span { color: #7f8da2; font-size: .77rem; }
.havin-v083-build42 .parts42-history-status { padding: 5px 8px; border-radius: 999px; background: rgba(65, 140, 202, .1); text-transform: capitalize; }
.havin-v083-build42 .parts42-history-status.received,
.havin-v083-build42 .parts42-history-status.used { color: #8bdca8; background: rgba(59, 155, 94, .1); }

.havin-v083-build42 .parts42-halo-cta { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 15px; align-items: center; padding: 20px; border-color: rgba(57, 117, 220, .28); background: linear-gradient(135deg, rgba(18, 21, 55, .96), rgba(9, 23, 41, .94)); }
.havin-v083-build42 .parts42-halo-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: rgba(65, 66, 173, .15); border: 1px solid rgba(71, 116, 235, .22); }
.havin-v083-build42 .parts42-halo-cta h3 { margin: 3px 0 4px; color: #fff; font-size: 1.05rem; }
.havin-v083-build42 .parts42-disclosure { margin: -4px 4px 2px; color: #6f7d91; font-size: .72rem; line-height: 1.45; }

.havin-v083-build42 .parts42-compare-product { display: flex; gap: 10px; align-items: center; padding: 12px; margin-bottom: 10px; border-radius: 13px; background: rgba(30, 119, 166, .07); color: #82d0ef; }
.havin-v083-build42 .parts42-compare-product strong,
.havin-v083-build42 .parts42-compare-product span { display: block; }
.havin-v083-build42 .parts42-compare-product strong { color: #edf4fb; }
.havin-v083-build42 .parts42-compare-product span { color: #8595aa; font-size: .8rem; }
.havin-v083-build42 .parts42-offer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 13px 0; border-bottom: 1px solid rgba(126, 151, 190, .12); }
.havin-v083-build42 .parts42-offer-row > div:first-child strong,
.havin-v083-build42 .parts42-offer-row > div:first-child span,
.havin-v083-build42 .parts42-offer-price strong,
.havin-v083-build42 .parts42-offer-price small { display: block; }
.havin-v083-build42 .parts42-offer-row > div:first-child strong { color: #eef3fa; }
.havin-v083-build42 .parts42-offer-row > div:first-child span { color: #7f8da2; font-size: .76rem; }
.havin-v083-build42 .parts42-offer-price { text-align: right; }
.havin-v083-build42 .parts42-offer-price strong { color: #f5f8fc; }
.havin-v083-build42 .parts42-offer-price small { color: #6fc7ea; font-size: .68rem; }
.havin-v083-build42 .parts42-offer-note { grid-column: 1 / -1; margin: 0; color: #78ad8b; font-size: .72rem; }
.havin-v083-build42 .parts42-modal-disclosure { margin: 14px 0 0; color: #758399; font-size: .73rem; line-height: 1.45; }

.havin-v083-build42 .parts42-preferences,
.havin-v083-build42 .parts42-filter-form { display: grid; gap: 14px; }
.havin-v083-build42 .parts42-preferences > label,
.havin-v083-build42 .parts42-filter-form > label,
.havin-v083-build42 .parts42-form-row > label,
.havin-v083-build42 .parts42-dimensions > label { color: #b9c4d3; font-size: .82rem; font-weight: 650; }
.havin-v083-build42 .parts42-preferences label small { display: block; margin-top: 3px; color: #76859a; font-weight: 400; }
.havin-v083-build42 .parts42-preference-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.havin-v083-build42 .parts42-preference-tiers button { padding: 12px; border: 1px solid rgba(126, 151, 190, .16); border-radius: 13px; background: rgba(13, 24, 40, .78); color: #8e9caf; text-align: left; cursor: pointer; }
.havin-v083-build42 .parts42-preference-tiers button.active { border-color: rgba(67, 151, 223, .52); background: rgba(31, 91, 171, .18); }
.havin-v083-build42 .parts42-preference-tiers strong,
.havin-v083-build42 .parts42-preference-tiers span { display: block; }
.havin-v083-build42 .parts42-preference-tiers strong { color: #edf3fa; }
.havin-v083-build42 .parts42-preference-tiers span { margin-top: 3px; font-size: .73rem; line-height: 1.35; }
.havin-v083-build42 .parts42-retailer-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 8px; }
.havin-v083-build42 .parts42-retailer-checks label { display: flex; align-items: center; gap: 8px; padding: 10px; border: 1px solid rgba(126, 151, 190, .13); border-radius: 11px; color: #dce5ef; background: rgba(14, 24, 40, .66); }
.havin-v083-build42 .parts42-muted { color: #7e8da2; font-size: .8rem; }

.havin-v083-build42 .parts42-filter-form input,
.havin-v083-build42 .parts42-filter-form select,
.havin-v083-build42 .parts42-filter-form textarea {
  display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px;
  margin-top: 6px; padding: 10px 12px; border: 1px solid #354458; border-radius: 10px;
  background: #111d2d; color: #f1f5fa; font: inherit; font-size: 16px;
}
.havin-v083-build42 .parts42-filter-form textarea { min-height: 80px; resize: vertical; }
.havin-v083-build42 .parts42-dimensions { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 7px; align-items: end; }
.havin-v083-build42 .parts42-dimensions > span { padding-bottom: 11px; color: #708096; }
.havin-v083-build42 .parts42-form-row { display: grid; grid-template-columns: .7fr 1fr 1fr; gap: 9px; }
.havin-v083-build42 .parts42-filter-note { display: flex; gap: 8px; align-items: flex-start; padding: 10px; border-radius: 11px; background: rgba(45, 121, 166, .07); color: #87bdd7; font-size: .76rem; line-height: 1.45; }

.havin-v083-build42 .parts42-notice { padding: 11px 13px; border-radius: 12px; font-size: .82rem; }
.havin-v083-build42 .parts42-notice.warning { color: #e3c271; background: rgba(203, 157, 35, .08); border: 1px solid rgba(203, 157, 35, .16); }
.havin-v083-build42 .parts42-empty { display: flex; align-items: center; gap: 14px; padding: 20px; color: #72bee2; }
.havin-v083-build42 .parts42-empty > div { flex: 1; }
.havin-v083-build42 .parts42-empty h3 { margin: 0 0 3px; color: #f4f7fb; }
.havin-v083-build42 .parts42-empty p { margin: 0; color: #8796aa; line-height: 1.45; }
.havin-v083-build42 .parts42-skeleton { height: 190px; border-radius: 22px; background: linear-gradient(90deg, rgba(20, 31, 48, .8), rgba(29, 43, 64, .9), rgba(20, 31, 48, .8)); background-size: 200% 100%; animation: parts42Shimmer 1.4s linear infinite; }
.havin-v083-build42 .parts42-skeleton.short { height: 100px; }
@keyframes parts42Shimmer { to { background-position: -200% 0; } }

@media (max-width: 760px) {
  .havin-v083-build42 .parts42-stack { gap: 13px; }
  .havin-v083-build42 .parts42-intro { display: grid; padding: 18px; border-radius: 18px; }
  .havin-v083-build42 .parts42-intro.parts57-toolbar { padding: 14px; }
  .havin-v083-build42 .parts42-intro-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .havin-v083-build42 .parts42-intro-actions .button { width: 100%; padding-inline: 10px; }
  .havin-v083-build42 .parts42-tier-strip { border-radius: 15px; }
  .havin-v083-build42 .parts42-tier-strip > button { min-height: 58px; padding: 10px 7px; text-align: center; }
  .havin-v083-build42 .parts42-tier-strip > button span { display: none; }
  .havin-v083-build42 .parts42-product-heading { grid-template-columns: 38px minmax(0, 1fr) 18px; padding: 15px 14px; gap: 9px; }
  .havin-v083-build42 .parts42-fit { grid-column: 2; width: max-content; padding: 4px 7px; }
  .havin-v083-build42 .parts42-product-heading > svg { grid-column: 3; grid-row: 1; }
  .havin-v083-build42 .parts42-product-body { padding: 0 13px 15px; }
  .havin-v083-build42 .parts42-product-main { grid-template-columns: 1fr; padding: 14px; }
  .havin-v083-build42 .parts42-buy-block { min-width: 0; }
  .havin-v083-build42 .parts42-price { text-align: left; }
  .havin-v083-build42 .parts42-service-ready,
  .havin-v083-build42 .parts42-setup-prompt { grid-template-columns: auto minmax(0, 1fr); padding: 14px; }
  .havin-v083-build42 .parts42-service-ready .text-button,
  .havin-v083-build42 .parts42-setup-actions { grid-column: 1 / -1; width: 100%; justify-content: flex-start; }
  .havin-v083-build42 .parts42-setup-actions .button { flex: 1; }
  .havin-v083-build42 .parts42-kit { padding: 16px; border-radius: 18px; }
  .havin-v083-build42 .parts42-kit-heading { display: block; }
  .havin-v083-build42 .parts42-due { display: inline-flex; margin-top: 8px; }
  .havin-v083-build42 .parts42-kit-row { grid-template-columns: 1fr; }
  .havin-v083-build42 .parts42-kit-item-buy { grid-template-columns: 1fr 1fr; justify-items: stretch; }
  .havin-v083-build42 .parts42-kit-item-buy > strong { text-align: left; }
  .havin-v083-build42 .parts42-kit-item-buy .button,
  .havin-v083-build42 .parts42-kit-item-buy .text-button { width: 100%; justify-content: center; }
  .havin-v083-build42 .parts42-halo-cta { grid-template-columns: auto 1fr; padding: 16px; border-radius: 18px; }
  .havin-v083-build42 .parts42-halo-cta .button { grid-column: 1 / -1; width: 100%; }
  .havin-v083-build42 .parts42-offer-row { grid-template-columns: 1fr auto; }
  .havin-v083-build42 .parts42-offer-row .button { grid-column: 1 / -1; width: 100%; }
  .havin-v083-build42 .parts42-preference-tiers { grid-template-columns: 1fr; }
  .havin-v083-build42 .parts42-form-row { grid-template-columns: 1fr 1fr; }
  .havin-v083-build42 .parts42-form-row > label:last-child { grid-column: 1 / -1; }
  .havin-v083-build42 .parts42-dimensions { grid-template-columns: 1fr auto 1fr; }
  .havin-v083-build42 .parts42-dimensions > label:last-child { grid-column: 1 / 2; }
  .havin-v083-build42 .parts42-dimensions > span:nth-of-type(2) { display: none; }
  .havin-v083-build42 .parts42-filter-grid { grid-template-columns: 1fr; padding: 0 14px 14px; }
  .havin-v083-build42 .parts42-section-heading { padding: 17px 15px 12px; }
  .havin-v083-build42 .parts42-history-row { padding: 12px 15px; }
}
.havin-v083-build42 .parts42-kit-checkout {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: -2px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(70, 157, 218, .15);
  border-radius: 12px;
  background: rgba(35, 109, 158, .07);
  color: #83bedb;
  font-size: .78rem;
  line-height: 1.45;
}

.havin-v083-build42 .parts42-kit-checkout svg {
  flex: 0 0 auto;
  margin-top: 1px;
}

.havin-v083-build42 .parts42-kit-checkout strong {
  color: #c9e6f4;
}

.havin-v083-build42 .parts42-history-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.havin-v083-build42 .parts42-history-actions .text-button {
  min-height: 34px;
  padding: 4px 6px;
  font-size: .75rem;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .havin-v083-build42 .parts42-history-row {
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
  }

  .havin-v083-build42 .parts42-history-actions {
    grid-column: 2;
    justify-content: flex-start;
  }

  .havin-v083-build42 .parts42-history-actions .text-button {
    min-height: 40px;
  }
}
/* Hāvin Build 43 — mobile refinement, hierarchy, and quieter commerce surfaces */

html.havin-v083-build43 {
  --b43-line: rgba(128, 151, 181, .22);
  --b43-panel: rgba(8, 18, 34, .96);
  --b43-blue: #3FA7E1;
}

/* Notifications are a header-anchored popover. The header/bell must remain usable. */
html.havin-v083-build43 .topbar { position: relative; }
html.havin-v083-build43 .notification-panel,
html.havin-v083-build43 .notification-panel-rc123-final {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 14px !important;
  left: auto !important;
  width: min(430px, calc(100vw - 28px)) !important;
  max-height: min(68dvh, 590px) !important;
  z-index: 82 !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .38);
}
html.havin-v083-build43 .notification-panel:not(:has(.notification-row-rc123)) { max-height: none !important; }
html.havin-v083-build43 .notification-panel:not(:has(.notification-row-rc123)) > p { margin: 16px 4px 4px; line-height: 1.45; }

/* Add Asset: let hierarchy and spacing explain Portfolio -> Group instead of subtext. */
html.havin-v083-build43 .capture-portfolio-control-rc4,
html.havin-v083-build43 .capture-group-control-rc123 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 10px !important;
  width: 100% !important;
}
html.havin-v083-build43 .capture-portfolio-picker { min-width: 0 !important; width: 100% !important; }
html.havin-v083-build43 .capture-portfolio-picker > span { display: block; margin: 0 0 7px; font-weight: 750; letter-spacing: .01em; }
html.havin-v083-build43 .capture-portfolio-picker > span small { display: none !important; }
html.havin-v083-build43 .capture-portfolio-picker select { width: 100% !important; min-width: 0 !important; }
html.havin-v083-build43 .capture-group-control-rc123 {
  position: relative;
  margin-top: 13px !important;
  padding-top: 16px !important;
  padding-left: 13px !important;
  border-top: 1px solid var(--b43-line);
}
html.havin-v083-build43 .capture-group-control-rc123::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 2px;
  width: 2px;
  border-radius: 2px;
  background: rgba(63, 167, 225, .30);
}
html.havin-v083-build43 .capture-group-control-rc123 .portfolio-inline-add-rc4 span { font-size: 0; }
html.havin-v083-build43 .capture-group-control-rc123 .portfolio-inline-add-rc4 span::after { content: 'New'; font-size: .94rem; }
html.havin-v083-build43 .portfolio-inline-add-rc4 { min-width: 82px; justify-content: center; white-space: nowrap; }

/* Asset sections: compact, scrollable ownership tabs rather than another card row. */
html.havin-v083-build43 .detail-tabs {
  position: sticky;
  top: 0;
  z-index: 28;
  display: flex !important;
  gap: 4px !important;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 6px 4px !important;
  margin-inline: -4px;
  background: rgba(3, 11, 22, .92);
  backdrop-filter: blur(14px);
  border: 0 !important;
  border-bottom: 1px solid var(--b43-line) !important;
  border-radius: 0 !important;
}
html.havin-v083-build43 .detail-tabs::-webkit-scrollbar { display: none; }
html.havin-v083-build43 .detail-tabs button {
  flex: 0 0 auto !important;
  min-height: 39px !important;
  padding: 8px 13px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  white-space: nowrap;
}
html.havin-v083-build43 .detail-tabs button.active {
  background: rgba(30, 58, 138, .30) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(63, 167, 225, .44);
}

/* Parts: don't show purchase-tier controls when there is nothing to choose. */
html.havin-v083-build43 .parts42-stack:has(.parts42-empty) .parts42-tier-strip { display: none !important; }
html.havin-v083-build43 .parts42-stack:has(.parts42-empty) .parts42-disclosure { margin-bottom: 8px; }
html.havin-v083-build43 .parts42-empty { min-height: 0 !important; }
html.havin-v083-build43 .parts42-stack:has(.parts42-empty) .parts42-halo,
html.havin-v083-build43 .parts42-stack:has(.parts42-empty) .parts42-halo-card { padding-block: 18px !important; }

/* Settings detail screens: the hub owns category navigation. Details get only Back -> Settings. */
html.havin-v083-build43 .settings-page:has(.settings-layout-rc7) > .page-header,
html.havin-v083-build43 .settings-page:has(.settings-layout-rc7) > .page-heading { display: none !important; }
html.havin-v083-build43 .settings-layout-rc7 { display: block !important; }
html.havin-v083-build43 .settings-subnav-rc7 { width: auto !important; min-width: 0 !important; margin: 0 0 12px; padding: 0 !important; border: 0 !important; background: transparent !important; }
html.havin-v083-build43 .settings-category-list-rc7 { display: none !important; }
html.havin-v083-build43 .settings-back-rc7 { min-height: 40px; padding-inline: 4px 12px !important; }
html.havin-v083-build43 .settings-content { width: 100% !important; }

/* Home: use the user's actual assets as the visual opening, and reduce repeated calm-state copy. */
html.havin-v083-build43 .home-hero-rc3 {
  overflow: hidden;
  border: 1px solid rgba(63, 167, 225, .18);
  background:
    radial-gradient(circle at 84% 15%, rgba(30, 58, 138, .28), transparent 38%),
    linear-gradient(145deg, rgba(9, 20, 38, .96), rgba(4, 12, 25, .92));
}
html.havin-v083-build43 .home-world-rc3 { display: block !important; }
html.havin-v083-build43 .home-calm-rc3 { padding-block: 16px !important; }
html.havin-v083-build43 .home-calm-rc3 p { max-width: 55ch; }
html.havin-v083-build43 .home-asset-card-rc3 { transition: transform .18s ease, border-color .18s ease; }
@media (hover:hover) {
  html.havin-v083-build43 .home-asset-card-rc3:hover { transform: translateY(-2px); border-color: rgba(63, 167, 225, .42); }
}

/* Halo commerce appears only after an explicit purchase-intent turn. It is a utility surface,
   not an ad slot: restrained cards, compatibility signal first, seller action second. */
html.havin-v083-build43 .halo-commerce-b43 {
  display: grid;
  gap: 8px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid var(--b43-line);
}
html.havin-v083-build43 .halo-commerce-heading-b43 { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #dce8f7; }
html.havin-v083-build43 .halo-commerce-heading-b43 > span { display: inline-flex; align-items: center; gap: 7px; font-weight: 760; }
html.havin-v083-build43 .halo-commerce-heading-b43 > small { color: #8293ab; font-size: .72rem; }
html.havin-v083-build43 .halo-commerce-card-b43 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(79, 116, 166, .30);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(15, 29, 51, .84), rgba(8, 18, 33, .92));
}
html.havin-v083-build43 .halo-commerce-copy-b43 { display: grid; gap: 4px; min-width: 0; }
html.havin-v083-build43 .halo-commerce-copy-b43 > strong { font-size: .94rem; line-height: 1.25; }
html.havin-v083-build43 .halo-commerce-copy-b43 > small { color: #91a1b7; font-size: .75rem; }
html.havin-v083-build43 .halo-commerce-copy-b43 > em { display: inline-flex; align-items: center; gap: 5px; width: fit-content; color: #8ed3f2; font-style: normal; font-size: .72rem; }
html.havin-v083-build43 .halo-commerce-tier-b43 { width: fit-content; color: #a8b6c8; font-size: .68rem; font-weight: 760; text-transform: uppercase; letter-spacing: .06em; }
html.havin-v083-build43 .halo-commerce-tier-b43.best-value { color: #7fd1f3; }
html.havin-v083-build43 .halo-commerce-tier-b43.premium { color: #d4af37; }
html.havin-v083-build43 .halo-commerce-buy-b43 { display: grid; justify-items: end; gap: 7px; text-align: right; }
html.havin-v083-build43 .halo-commerce-buy-b43 > strong { color: #eef4fb; font-size: .9rem; }
html.havin-v083-build43 .halo-commerce-buy-b43 button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid rgba(63, 167, 225, .42);
  border-radius: 10px;
  background: rgba(30, 58, 138, .42);
  color: #eaf7ff;
  font-weight: 730;
}
html.havin-v083-build43 .halo-commerce-disclosure-b43 { margin: 2px 2px 0 !important; color: #708197 !important; font-size: .68rem !important; line-height: 1.35 !important; }
html.havin-v083-build43 .halo-commerce-profile-b43 {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin-top: 12px;
  padding: 10px 11px;
  border: 1px solid rgba(63, 167, 225, .24);
  border-radius: 12px;
  background: rgba(13, 29, 49, .60);
  color: #c7d6e8;
  text-align: left;
}
html.havin-v083-build43 .halo-commerce-profile-b43 span { display: grid; gap: 2px; flex: 1; }
html.havin-v083-build43 .halo-commerce-profile-b43 small { color: #8293aa; }
html.havin-v083-build43 .halo-commerce-error-b43 { margin: 0 14px 8px; color: #d2b584; font-size: .76rem; }

@media (max-width: 900px) {
  html.havin-v083-build43 .notification-panel,
  html.havin-v083-build43 .notification-panel-rc123-final {
    position: absolute !important;
    top: calc(100% + 7px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: min(58dvh, 520px) !important;
  }

  html.havin-v083-build43 .capture-heading-row { gap: 10px !important; }
  html.havin-v083-build43 .capture-portfolio-control-rc4,
  html.havin-v083-build43 .capture-group-control-rc123 { grid-template-columns: minmax(0, 1fr) 86px !important; }
  html.havin-v083-build43 .capture-group-control-rc123 { padding-left: 11px !important; }

  html.havin-v083-build43 .detail-tabs { top: 0; margin-inline: -2px; }

  html.havin-v083-build43 .home-hero-rc3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 20px 16px 16px !important;
  }
  html.havin-v083-build43 .home-world-rc3 {
    min-height: 178px !important;
    margin-top: 2px !important;
    border-radius: 18px !important;
  }
  html.havin-v083-build43 .home-world-photo-rc3 { display: block !important; }
  html.havin-v083-build43 .home-world-status-rc3 { transform: scale(.92); transform-origin: right bottom; }
  html.havin-v083-build43 .home-today-rc3:has(.home-calm-rc3) { padding-block: 17px !important; }
  html.havin-v083-build43 .home-today-rc3:has(.home-calm-rc3) .home-section-title-rc3 h2 { font-size: 1.2rem !important; }

  html.havin-v083-build43 .halo-commerce-card-b43 { grid-template-columns: 1fr; gap: 9px; }
  html.havin-v083-build43 .halo-commerce-buy-b43 { grid-template-columns: 1fr auto; align-items: center; justify-items: stretch; text-align: left; }
  html.havin-v083-build43 .halo-commerce-buy-b43 button { justify-content: center; }
}

@media (max-width: 430px) {
  html.havin-v083-build43 .capture-portfolio-control-rc4,
  html.havin-v083-build43 .capture-group-control-rc123 { grid-template-columns: minmax(0, 1fr) 78px !important; }
  html.havin-v083-build43 .portfolio-inline-add-rc4 { min-width: 76px !important; padding-inline: 9px !important; }
  html.havin-v083-build43 .home-world-rc3 { min-height: 162px !important; }
}
html.havin-v083-build43 .search-groups-b43 { display: grid; gap: 4px; padding: 5px 0 7px; }
html.havin-v083-build43 .search-group-b43 { display: grid; gap: 2px; padding: 2px 6px 5px; }
html.havin-v083-build43 .search-group-b43 + .search-group-b43 { border-top: 1px solid rgba(128,151,181,.16); padding-top: 8px; }
html.havin-v083-build43 .search-group-label-b43 {
  padding: 3px 10px 5px;
  color: #6fbfe6;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
html.havin-v083-build43 .search-group-b43 > button { width: 100%; }
html.havin-v083-build43 .search-group-b43 > button > span { color: #69bee6; }
html.havin-v083-build43 .mobile-search-results-b43 { overflow-y: auto; }
html.havin-v083-build43 .search-groups-b43.mobile { padding-bottom: 4px; }
html.havin-v083-build43 .search-groups-b43.mobile .search-group-b43 { padding-inline: 0; }
html.havin-v083-build43 .search-groups-b43.mobile .search-group-label-b43 { padding-inline: 12px; }
html.havin-v083-build43 .settings-return-shell-b43 { display: grid; gap: 10px; }
html.havin-v083-build43 .settings-return-row-b43 {
  width: min(100%, 1160px);
  margin: 18px auto -2px;
  padding: 0 2px;
}
html.havin-v083-build43 .settings-return-row-b43 > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 7px 10px 7px 6px;
  color: #9dadc1;
  font-weight: 760;
  text-decoration: none;
}
html.havin-v083-build43 .settings-return-shell-b43 .hv60-platform-nav { display: none !important; }
html.havin-v083-build43 .settings-return-shell-b43 .hv60-platform-layout { display: block !important; }
html.havin-v083-build43 .settings-return-shell-b43 .hv60-platform-content { width: 100% !important; }
@media (max-width: 900px) {
  html.havin-v083-build43 .settings-return-row-b43 { margin-top: 8px; padding-inline: 12px; }
  html.havin-v083-build43 .settings-return-shell-b43 .hv60-platform-page { padding-top: 0 !important; }
}
/* Hāvin Build 44 — Parts guidance foundation, dashboard command center, and mobile regression fixes */

html.havin-v083-build44 {
  --b44-line: rgba(128, 151, 181, .22);
  --b44-blue: #3FA7E1;
}

/* P1 regression: older high-specificity RC styles forced the five-section asset hub into a
   four-column grid. Build 44 owns the final layout so every section remains reachable. */
html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 28 !important;
  display: flex !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 4px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
  padding: 6px 4px !important;
  margin-inline: 0 !important;
  background: rgba(3, 11, 22, .94) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b44-line) !important;
  border-radius: 0 !important;
}
html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs::-webkit-scrollbar { display: none; }
html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  min-height: 40px !important;
  padding: 8px 13px !important;
  font-size: .78rem !important;
  white-space: nowrap !important;
}
html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs > button.active {
  background: rgba(30, 58, 138, .32) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(63, 167, 225, .46) !important;
}

/* P1 regression: keep Halo's asset results visible above the native keyboard and make the
   results list—not the whole chat—the scroll owner while choosing context. */
html.havin-v083-build44 .halo-context-picker {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  max-height: min(68dvh, 560px) !important;
  overflow: hidden !important;
}
html.havin-v083-build44 .halo-context-options {
  display: flex !important;
  flex-direction: column !important;
  min-height: 108px !important;
  max-height: min(44dvh, 380px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}
html.havin-v083-build44 .halo-context-options > button {
  display: flex !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 54px !important;
}

/* Halo is a guide into Parts & Supplies, not a retailer wall. Build 44 renders one restrained
   handoff per answer; detailed tiers, sellers and current pricing live in Parts & Supplies. */
html.havin-v083-build44 .halo-purchase-handoff-b44 {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-top: 12px;
  padding: 12px 13px;
  border: 1px solid rgba(63, 167, 225, .34);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(15, 29, 51, .82), rgba(8, 18, 33, .94));
  color: #e7f3ff;
  text-align: left;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}
html.havin-v083-build44 .halo-purchase-handoff-b44:hover {
  border-color: rgba(63, 167, 225, .52);
  background: linear-gradient(145deg, rgba(17, 34, 59, .88), rgba(8, 18, 33, .98));
}
html.havin-v083-build44 .halo-purchase-handoff-b44:active { transform: translateY(1px); }
html.havin-v083-build44 .halo-purchase-handoff-b44:focus-visible { outline: 2px solid rgba(105, 190, 237, .72); outline-offset: 2px; }
html.havin-v083-build44 .halo-purchase-handoff-b44 > span { display: grid; gap: 2px; flex: 1; min-width: 0; }
html.havin-v083-build44 .halo-purchase-handoff-b44 strong { font-size: .91rem; }
html.havin-v083-build44 .halo-purchase-handoff-b44 small { color: #8fa2b9; font-size: .73rem; }
html.havin-v083-build44 .halo-commerce-status-b44 {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 7px 9px;
  border: 1px solid rgba(128, 151, 181, .16);
  border-radius: 10px;
  background: rgba(255, 255, 255, .018);
  color: #879ab2;
  font-size: .72rem;
  line-height: 1.35;
}
html.havin-v083-build44 .halo-commerce-status-b44.checking {
  border-color: rgba(63, 167, 225, .18);
  color: #93afc8;
}

/* Focused Halo handoffs are a pre-checkout guide, not a miniature store. The information density
   stays low while exact fit, current retailer evidence and user preferences remain fully active. */
html.havin-v083-build44 .parts44-purchase-intro h2 {
  margin-bottom: 5px !important;
  letter-spacing: -.02em;
}
html.havin-v083-build44 .parts44-purchase-intro p { max-width: 620px; }
html.havin-v083-build44 .parts44-purchase-trust {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: -2px 0 2px;
  color: #93a8bd;
  font-size: .72rem;
  line-height: 1.4;
}
html.havin-v083-build44 .parts44-purchase-trust svg { flex: 0 0 auto; color: #72b7de; }
html.havin-v083-build44 .parts42-tier-strip button strong { white-space: nowrap; }
html.havin-v083-build44 .parts44-tier-strip-focused {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px !important;
  width: min(100%, 430px);
  padding: 3px !important;
  border: 1px solid rgba(128, 151, 181, .18) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .018) !important;
}
html.havin-v083-build44 .parts44-tier-strip-focused > button {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.havin-v083-build44 .parts44-tier-strip-focused > button span { display: none !important; }
html.havin-v083-build44 .parts44-tier-strip-focused > button strong {
  font-size: .76rem !important;
  letter-spacing: 0 !important;
}
html.havin-v083-build44 .parts44-tier-strip-focused > button.active {
  background: rgba(63, 167, 225, .12) !important;
  box-shadow: inset 0 0 0 1px rgba(63, 167, 225, .34) !important;
  color: #eef8ff !important;
}
html.havin-v083-build44 .parts42-product[data-halo-focus='true'] {
  border-color: rgba(63, 167, 225, .34) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
}
html.havin-v083-build44 .parts42-empty[data-halo-focus-empty='true'] {
  border-color: rgba(63, 167, 225, .28) !important;
  background: linear-gradient(145deg, rgba(11, 24, 42, .72), rgba(7, 16, 29, .86));
}
html.havin-v083-build44 .parts44-retailer-block {
  display: grid !important;
  justify-items: end;
  align-content: center;
  gap: 7px !important;
}
html.havin-v083-build44 .parts44-price-context {
  display: block;
  margin-top: -4px;
  color: #8496aa;
  font-size: .68rem;
  font-weight: 500;
  line-height: 1.3;
}
html.havin-v083-build44 .parts44-retailer-meta {
  display: grid;
  gap: 1px;
  max-width: 290px;
  color: #9bacc0;
  text-align: right;
}
html.havin-v083-build44 .parts44-retailer-meta strong {
  color: #d9e5f2;
  font-size: .69rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .055em;
}
html.havin-v083-build44 .parts44-retailer-meta small {
  color: #8295ad;
  font-size: .68rem;
  line-height: 1.35;
}
html.havin-v083-build44 .parts44-continue-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 205px;
}
html.havin-v083-build44 .parts44-fit-detail {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html.havin-v083-build44 .parts44-fit-detail summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 0;
  color: #7f9ab4;
  font-size: .72rem;
  font-weight: 650;
  cursor: pointer;
  list-style: none;
}
html.havin-v083-build44 .parts44-fit-detail summary::-webkit-details-marker { display: none; }
html.havin-v083-build44 .parts44-fit-detail[open] summary { color: #9bbbd4; }
html.havin-v083-build44 .parts44-fit-detail p {
  max-width: 760px;
  margin: 7px 0 0;
  padding: 9px 11px;
  border-left: 2px solid rgba(63, 167, 225, .24);
  color: #8799ae;
  font-size: .72rem;
  line-height: 1.5;
}
html.havin-v083-build44 .parts44-compare .parts42-offer-row { align-items: center; }
html.havin-v083-build44 .parts44-offer-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
html.havin-v083-build44 .parts44-offer-copy span {
  color: #8194aa;
  font-size: .68rem;
  line-height: 1.35;
}
html.havin-v083-build44 .parts44-retailer-plan strong { margin-right: 4px; }
html.havin-v083-build44 .parts44-kit-retailer {
  color: #8295ad;
  font-size: .68rem;
  line-height: 1.35;
}

/* Commission disclosure belongs next to the outbound action, not hidden in a distant footer.
   It stays visually secondary, but remains comfortably readable before the owner leaves Hāvin. */
html.havin-v083-build44 .parts44-outbound-disclosure {
  display: block;
  max-width: 300px;
  margin-top: -1px;
  color: #a5b6c9;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: right;
}
html.havin-v083-build44 .parts44-outbound-disclosure.compact {
  max-width: 260px;
  margin-top: 1px;
  text-align: right;
}
html.havin-v083-build44 .parts42-offer-note.parts44-affiliate-note {
  color: #a5b6c9;
  font-size: .75rem;
  line-height: 1.45;
}

/* Dashboard: use the full working width for decisions and status instead of decorative asset
   collage imagery. Asset browsing already has its own useful section lower on the page. */
html.havin-v083-build44 .home-b44 { width: 100% !important; max-width: none !important; }
html.havin-v083-build44 .home-command-b44 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr) !important;
  gap: clamp(22px, 3vw, 42px) !important;
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
}
html.havin-v083-build44 .home-command-copy-b44 {
  width: 100% !important;
  max-width: none !important;
  padding: 4px 0 !important;
}
html.havin-v083-build44 .home-command-copy-b44 h1 { max-width: 840px !important; }
html.havin-v083-build44 .home-command-copy-b44 > p { max-width: 760px !important; }
html.havin-v083-build44 .home-command-copy-b44 .home-glance-rc4 { width: min(100%, 720px) !important; }
html.havin-v083-build44 .home-command-copy-b44 .home-hero-actions-rc3 { width: min(100%, 820px) !important; }
html.havin-v083-build44 .home-status-panel-b44 {
  display: grid;
  align-content: start;
  gap: 0;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--b44-line);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(13, 25, 43, .86), rgba(8, 16, 29, .92));
  box-shadow: 0 18px 46px rgba(0, 0, 0, .16);
}
html.havin-v083-build44 .home-status-heading-b44 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 14px;
  border-bottom: 1px solid rgba(128, 151, 181, .14);
}
html.havin-v083-build44 .home-status-heading-b44 h2 {
  margin: 3px 0 0;
  font-size: 1.05rem;
  letter-spacing: -.015em;
}
html.havin-v083-build44 .home-status-refresh-b44 {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  border: 1px solid var(--b44-line);
  border-radius: 11px;
  background: rgba(255, 255, 255, .025);
  color: #a9b9cd;
}
html.havin-v083-build44 .home-status-row-b44 {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 76px;
  padding: 12px 2px;
  border: 0;
  border-bottom: 1px solid rgba(128, 151, 181, .12);
  background: transparent;
  color: #dce8f6;
  text-align: left;
}
html.havin-v083-build44 .home-status-row-b44 > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
html.havin-v083-build44 .home-status-row-b44 small { color: #7f92aa; font-size: .66rem; font-weight: 650; text-transform: uppercase; letter-spacing: .075em; }
html.havin-v083-build44 .home-status-row-b44 strong { overflow: hidden; color: #edf4fc; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
html.havin-v083-build44 .home-status-row-b44 em { overflow: hidden; color: #8ea1b8; font-size: .72rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
html.havin-v083-build44 .home-status-icon-b44 {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(128, 151, 181, .18);
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
  color: #8fa5bf;
}
html.havin-v083-build44 .home-status-row-b44.attention .home-status-icon-b44 { border-color: rgba(212, 175, 55, .28); background: rgba(212, 175, 55, .07); color: #d7bb62; }
html.havin-v083-build44 .home-status-row-b44.clear .home-status-icon-b44 { border-color: rgba(74, 176, 140, .24); background: rgba(74, 176, 140, .07); color: #69c7a4; }
html.havin-v083-build44 .home-status-row-b44:hover { background: rgba(255, 255, 255, .018); }
html.havin-v083-build44 .home-status-foot-b44 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 2px 0;
  color: #73879f;
  font-size: .7rem;
}
html.havin-v083-build44 .home-status-foot-b44 button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #75b8e5;
  font: inherit;
  font-weight: 650;
}

/* Passive confirmations sit over the workspace instead of reflowing pages. They deliberately
   stay compact so saving, deleting, and background completion do not interrupt the next task. */
html.havin-v083-build44 .hv60-toast {
  top: max(76px, calc(env(safe-area-inset-top) + 64px)) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  bottom: auto !important;
  left: auto !important;
  width: min(360px, calc(100vw - 36px)) !important;
  min-height: 48px;
  padding: 11px 12px 11px 14px !important;
  border: 1px solid rgba(128, 151, 181, .24) !important;
  border-left: 3px solid var(--b44-blue) !important;
  border-radius: 13px !important;
  background: rgba(8, 17, 31, .95) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .34) !important;
  backdrop-filter: blur(18px) saturate(120%);
  z-index: 2200 !important;
}
html.havin-v083-build44 .hv60-toast-success { border-left-color: #69c7a4 !important; }
html.havin-v083-build44 .hv60-toast-error { border-left-color: #e87878 !important; }
html.havin-v083-build44 .hv60-toast > span { font-size: .79rem; line-height: 1.35; }
html.havin-v083-build44 .hv60-toast-dismiss { font-size: 18px !important; opacity: .68; }

@media (min-width: 760px) {
  html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs > button { flex: 1 1 0 !important; min-width: 110px !important; }
}

@media (max-width: 980px) {
  html.havin-v083-build44 .home-command-b44 { grid-template-columns: 1fr !important; gap: 18px !important; }
  html.havin-v083-build44 .home-status-panel-b44 { padding: 15px; }
}

@media (max-width: 640px) {
  html.havin-v083-build44 .parts44-retailer-block { justify-items: stretch; }
  html.havin-v083-build44 .parts44-retailer-meta { max-width: 100%; text-align: left; }
  html.havin-v083-build44 .parts44-continue-button { width: 100%; min-width: 0; }
  html.havin-v083-build44 .parts44-outbound-disclosure,
  html.havin-v083-build44 .parts44-outbound-disclosure.compact { max-width: 100%; text-align: left; }
  html.havin-v083-build44 .parts44-compare .parts42-offer-row { align-items: stretch; }
  html.havin-v083-build44 .parts44-purchase-trust { width: 100%; align-items: flex-start; }
}

@media (max-width: 430px) {
  html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs { padding-inline: 2px !important; }
  html.havin-v083-build44 .asset-detail-page-v083 .detail-tabs > button { min-height: 42px !important; padding-inline: 12px !important; font-size: .76rem !important; }
  html.havin-v083-build44 .halo-context-picker { max-height: min(62dvh, 500px) !important; }
  html.havin-v083-build44 .halo-context-options { max-height: min(38dvh, 330px) !important; }
  html.havin-v083-build44 .halo-purchase-handoff-b44 { padding: 11px 12px; border-radius: 12px; }
  html.havin-v083-build44 .parts44-tier-strip-focused { width: 100%; }
  html.havin-v083-build44 .parts44-tier-strip-focused > button { min-height: 40px !important; padding-inline: 7px !important; }
  html.havin-v083-build44 .home-command-b44 { gap: 14px !important; }
  html.havin-v083-build44 .home-status-panel-b44 { padding: 13px; border-radius: 15px; }
  html.havin-v083-build44 .home-status-row-b44 { min-height: 70px; }
  html.havin-v083-build44 .hv60-toast {
    top: max(68px, calc(env(safe-area-inset-top) + 58px)) !important;
    right: 12px !important;
    width: calc(100vw - 24px) !important;
  }
}
/* Hāvin Build 44 — Halo purchase-flow and service-kit refinement */

html.havin-v083-build44 .parts44-stack {
  width: 100%;
  min-width: 0;
}

/* A prepared multi-item service kit is the purchase decision surface. Do not repeat the same
   products as standalone recommendation cards underneath it; keep the tier selector available so
   the owner can deliberately change recommendation level without turning the page into a catalog. */
html.havin-v083-build44 .parts44-stack:has(> .parts42-kit) > .parts42-recommendations {
  display: none !important;
}

/* In a focused Halo multi-item handoff, recommendation level is an input to the plan—not an
   afterthought below it. CSS ordering keeps the JSX/data flow untouched while presenting the
   sequence as context -> trust -> any warning -> Budget/Value/Premium -> verified purchase plan. */
html.havin-v083-build44 .parts44-stack:has(> .parts42-kit) > .parts44-purchase-intro { order: -5; }
html.havin-v083-build44 .parts44-stack:has(> .parts42-kit) > .parts44-purchase-trust { order: -4; }
html.havin-v083-build44 .parts44-stack:has(> .parts42-kit) > .parts42-notice { order: -3; }
html.havin-v083-build44 .parts44-stack:has(> .parts42-kit) > .parts44-tier-strip-focused { order: -2; }

html.havin-v083-build44 .parts44-purchase-intro {
  align-items: end !important;
  gap: 18px !important;
}

html.havin-v083-build44 .parts44-purchase-intro > div:first-child {
  min-width: 0;
}

html.havin-v083-build44 .parts44-purchase-trust {
  padding: 0 2px;
}

/* Halo already established which asset the owner is discussing. Keep that identity visible, but
   shorten the repeated asset hero when the destination is a focused purchase handoff so the buying
   decision appears materially sooner. No actions or asset context are removed. */
html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-hero {
  min-height: 270px !important;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
}

html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-image {
  min-height: 270px !important;
  height: 270px !important;
}

html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-summary {
  padding-block: 20px !important;
}

/* A Halo handoff should feel like a focused pre-checkout decision, not another dashboard. */
html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts42-product-body {
  padding-top: 14px !important;
}

html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts42-product-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px) !important;
  gap: clamp(20px, 4vw, 42px) !important;
  align-items: center !important;
}

html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts42-product-copy {
  min-width: 0;
}

html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts42-product-copy h4 {
  max-width: 700px;
  line-height: 1.2;
}

html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts44-retailer-block {
  width: 100%;
  min-width: 0;
}

html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts44-continue-button {
  width: 100%;
  max-width: 320px;
}

/* Service kits are purchase plans, not a cart. Keep each verified item easy to scan and keep the
   retailer handoff visually separate from the product identity. */
html.havin-v083-build44 .parts42-kit {
  overflow: hidden;
  border: 1px solid rgba(128, 151, 181, .22) !important;
  border-radius: 18px !important;
  background: linear-gradient(155deg, rgba(12, 24, 42, .86), rgba(7, 16, 29, .94)) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .16);
}

html.havin-v083-build44 .parts42-kit-heading {
  gap: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(128, 151, 181, .14);
}

html.havin-v083-build44 .parts42-kit-heading h2 {
  margin-top: 4px !important;
  letter-spacing: -.018em;
}

html.havin-v083-build44 .parts42-kit-heading p {
  max-width: 680px;
}

html.havin-v083-build44 .parts42-kit-ready,
html.havin-v083-build44 .parts44-retailer-plan,
html.havin-v083-build44 .parts44-requested-retailer-plan {
  border-radius: 12px !important;
}

html.havin-v083-build44 .parts44-requested-retailer-plan {
  border-color: rgba(63, 167, 225, .28) !important;
  background: rgba(63, 167, 225, .075) !important;
}

html.havin-v083-build44 .parts44-requested-retailer-plan strong {
  margin-right: 4px;
  color: #dcecf8;
}

html.havin-v083-build44 .parts42-kit-items {
  display: grid !important;
  gap: 0 !important;
  margin-top: 4px;
  border-top: 1px solid rgba(128, 151, 181, .14);
}

html.havin-v083-build44 .parts42-kit-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 310px) !important;
  gap: clamp(18px, 3vw, 36px) !important;
  align-items: center !important;
  padding: 18px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(128, 151, 181, .12) !important;
  background: transparent !important;
}

html.havin-v083-build44 .parts42-kit-row:last-child {
  border-bottom: 0 !important;
}

html.havin-v083-build44 .parts42-kit-item-copy {
  display: grid !important;
  gap: 4px !important;
  min-width: 0;
}

html.havin-v083-build44 .parts42-kit-item-copy > span {
  color: #8ba0b7 !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html.havin-v083-build44 .parts42-kit-item-copy > strong {
  font-size: .96rem !important;
  line-height: 1.25;
}

html.havin-v083-build44 .parts42-kit-item-copy > small {
  color: #8497ad !important;
  line-height: 1.4;
}

html.havin-v083-build44 .parts42-kit-item-buy {
  display: grid !important;
  justify-items: stretch !important;
  align-content: center !important;
  gap: 6px !important;
  width: 100%;
  min-width: 0;
  text-align: right;
}

html.havin-v083-build44 .parts42-kit-item-buy > strong {
  font-size: 1.02rem !important;
}

html.havin-v083-build44 .parts42-kit-item-buy > .button {
  width: 100%;
  justify-content: center;
}

html.havin-v083-build44 .parts42-kit-item-buy > .text-button,
html.havin-v083-build44 .parts42-kit-item-buy > .parts42-mini-link {
  justify-self: end;
}

html.havin-v083-build44 .parts42-kit-item-buy .parts44-outbound-disclosure {
  justify-self: end;
}

html.havin-v083-build44 .parts44-kit-retailer.blocked {
  color: #9faebf;
  font-weight: 650;
}

html.havin-v083-build44 .parts44-kit-unavailable {
  max-width: 310px;
  justify-self: end;
  color: #98a9bc;
  font-size: .72rem;
  line-height: 1.42;
}

/* Bulk is a packaging refinement of an already-verified product. Keep it focused: product identity
   once, package sizes once, then compact seller decisions. It deliberately does not look like a
   second product-tier catalog. */
html.havin-v083-build44 .parts44-pack-stack {
  display: grid;
  gap: 16px;
}

html.havin-v083-build44 .parts44-pack-card {
  min-width: 0;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(128, 151, 181, .22);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(12, 24, 42, .87), rgba(7, 16, 29, .95));
  box-shadow: 0 16px 42px rgba(0, 0, 0, .14);
}

html.havin-v083-build44 .parts44-pack-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(128, 151, 181, .14);
}

html.havin-v083-build44 .parts44-pack-heading > div {
  min-width: 0;
}

html.havin-v083-build44 .parts44-pack-heading h3 {
  margin: 4px 0 5px;
  font-size: clamp(1.1rem, 2vw, 1.38rem);
  letter-spacing: -.015em;
}

html.havin-v083-build44 .parts44-pack-heading p {
  margin: 0;
  max-width: 760px;
  color: #8fa2b7;
  font-size: .78rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

html.havin-v083-build44 .parts44-pack-trust {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 15px;
  padding: 10px 12px;
  border: 1px solid rgba(63, 167, 225, .19);
  border-radius: 11px;
  background: rgba(63, 167, 225, .055);
  color: #a9bed0;
  font-size: .76rem;
  line-height: 1.45;
}

html.havin-v083-build44 .parts44-pack-trust svg {
  flex: 0 0 auto;
  margin-top: 1px;
}

html.havin-v083-build44 .parts44-pack-sizes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
}

html.havin-v083-build44 .parts44-pack-sizes > span {
  color: #8498ad;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

html.havin-v083-build44 .parts44-pack-sizes > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

html.havin-v083-build44 .parts44-pack-sizes strong {
  padding: 5px 9px;
  border: 1px solid rgba(135, 161, 190, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: #d8e5ef;
  font-size: .73rem;
}

html.havin-v083-build44 .parts44-pack-retailer-gap,
html.havin-v083-build44 .parts44-pack-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(128, 151, 181, .16);
  border-radius: 12px;
  background: rgba(255, 255, 255, .025);
}

html.havin-v083-build44 .parts44-pack-retailer-gap > div,
html.havin-v083-build44 .parts44-pack-empty > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

html.havin-v083-build44 .parts44-pack-retailer-gap span,
html.havin-v083-build44 .parts44-pack-empty span {
  color: #8fa2b6;
  font-size: .76rem;
  line-height: 1.4;
}

html.havin-v083-build44 .parts44-pack-offers {
  display: grid;
  margin-top: 17px;
  border-top: 1px solid rgba(128, 151, 181, .14);
}

html.havin-v083-build44 .parts44-pack-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(135px, .36fr) minmax(225px, 285px);
  align-items: center;
  gap: clamp(16px, 3vw, 30px);
  min-width: 0;
  padding: 17px 0;
  border-bottom: 1px solid rgba(128, 151, 181, .12);
}

html.havin-v083-build44 .parts44-pack-offer:last-child {
  border-bottom: 0;
}

html.havin-v083-build44 .parts44-pack-offer-copy,
html.havin-v083-build44 .parts44-pack-price,
html.havin-v083-build44 .parts44-pack-actions {
  display: grid;
  gap: 4px;
  min-width: 0;
}

html.havin-v083-build44 .parts44-pack-offer-copy > span {
  color: #7f96ad;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html.havin-v083-build44 .parts44-pack-offer-copy > strong {
  font-size: .94rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

html.havin-v083-build44 .parts44-pack-offer-copy > small,
html.havin-v083-build44 .parts44-pack-price > span {
  color: #8397ab;
  font-size: .71rem;
  line-height: 1.4;
}

html.havin-v083-build44 .parts44-pack-price {
  text-align: right;
}

html.havin-v083-build44 .parts44-pack-price > strong {
  font-size: 1rem;
}

html.havin-v083-build44 .parts44-pack-actions {
  justify-items: stretch;
}

html.havin-v083-build44 .parts44-pack-actions > .button {
  width: 100%;
  justify-content: center;
}

html.havin-v083-build44 .parts44-pack-actions > .parts42-mini-link,
html.havin-v083-build44 .parts44-pack-actions > .parts44-outbound-disclosure {
  justify-self: end;
  text-align: right;
}

html.havin-v083-build44 .parts44-pack-note {
  margin: 14px 0 0;
  color: #73879d;
  font-size: .69rem;
  line-height: 1.45;
}

/* Comparison is secondary. The modal remains readable without making affiliate rows look like
   sponsored placements. */
html.havin-v083-build44 .parts44-compare .parts42-offer-row {
  grid-template-columns: minmax(0, 1fr) minmax(105px, auto) auto !important;
  gap: 14px !important;
  padding-block: 13px !important;
}

html.havin-v083-build44 .parts44-compare .parts42-offer-price {
  min-width: 105px;
  text-align: right;
}

html.havin-v083-build44 .parts44-compare .parts42-offer-note {
  grid-column: 1 / -1;
  margin: -4px 0 0 !important;
}

@media (max-width: 900px) {
  html.havin-v083-build44 .parts44-pack-offer {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 270px);
  }

  html.havin-v083-build44 .parts44-pack-price {
    grid-column: 1;
    text-align: left;
  }

  html.havin-v083-build44 .parts44-pack-actions {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 760px) {
  html.havin-v083-build44 .parts44-purchase-intro {
    align-items: start !important;
  }

  html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-hero {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-image {
    min-height: 170px !important;
    height: 170px !important;
  }

  html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-summary {
    padding: 18px !important;
  }

  html.havin-v083-build44 .asset-detail-page-v083:has(.parts44-purchase-intro) .asset-detail-summary h1 {
    font-size: clamp(1.65rem, 8vw, 2.1rem) !important;
  }

  html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts42-product-main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts44-retailer-block {
    justify-items: stretch !important;
    padding-top: 14px;
    border-top: 1px solid rgba(128, 151, 181, .13);
  }

  html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts44-retailer-meta,
  html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts44-outbound-disclosure {
    max-width: none;
    text-align: left;
  }

  html.havin-v083-build44 .parts42-product[data-halo-focus='true'] .parts44-continue-button {
    width: 100%;
    max-width: none;
  }

  html.havin-v083-build44 .parts42-kit {
    border-radius: 15px !important;
  }

  html.havin-v083-build44 .parts42-kit-heading {
    align-items: start !important;
  }

  html.havin-v083-build44 .parts42-kit-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    padding: 16px 0 !important;
  }

  html.havin-v083-build44 .parts42-kit-item-buy {
    justify-items: stretch !important;
    padding-top: 12px;
    border-top: 1px solid rgba(128, 151, 181, .1);
    text-align: left;
  }

  html.havin-v083-build44 .parts42-kit-item-buy > .text-button,
  html.havin-v083-build44 .parts42-kit-item-buy > .parts42-mini-link,
  html.havin-v083-build44 .parts42-kit-item-buy .parts44-outbound-disclosure,
  html.havin-v083-build44 .parts44-kit-unavailable {
    justify-self: start;
    max-width: none;
    text-align: left;
  }

  html.havin-v083-build44 .parts44-pack-card {
    padding: 17px;
    border-radius: 15px;
  }

  html.havin-v083-build44 .parts44-pack-heading,
  html.havin-v083-build44 .parts44-pack-sizes,
  html.havin-v083-build44 .parts44-pack-retailer-gap,
  html.havin-v083-build44 .parts44-pack-empty {
    align-items: stretch;
    flex-direction: column;
  }

  html.havin-v083-build44 .parts44-pack-heading > .button {
    width: 100%;
    justify-content: center;
  }

  html.havin-v083-build44 .parts44-pack-sizes > div {
    justify-content: flex-start;
  }

  html.havin-v083-build44 .parts44-pack-offer {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
  }

  html.havin-v083-build44 .parts44-pack-price,
  html.havin-v083-build44 .parts44-pack-actions {
    grid-column: 1;
    grid-row: auto;
    text-align: left;
  }

  html.havin-v083-build44 .parts44-pack-actions {
    padding-top: 11px;
    border-top: 1px solid rgba(128, 151, 181, .1);
  }

  html.havin-v083-build44 .parts44-pack-actions > .parts42-mini-link,
  html.havin-v083-build44 .parts44-pack-actions > .parts44-outbound-disclosure {
    justify-self: start;
    text-align: left;
  }

  html.havin-v083-build44 .parts44-compare .parts42-offer-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  html.havin-v083-build44 .parts44-compare .parts42-offer-copy {
    grid-column: 1 / -1;
  }

  html.havin-v083-build44 .parts44-compare .parts42-offer-price {
    text-align: left;
  }

  html.havin-v083-build44 .parts44-compare .parts42-offer-row > .button {
    min-width: 118px;
  }
}
/* Hāvin Build 45 — intake recovery and mobile asset-detail navigation cleanup */

/*
 * Build 44 deliberately made the five-section asset hub horizontally scrollable and sticky.
 * On phone-sized screens that hides the final destination with no obvious scroll affordance and
 * leaves a detached navigation strip pinned over the page while the owner reads lower sections.
 * Build 45 keeps the reviewed five-area information architecture, but makes every destination
 * visible at once on mobile and lets the section navigation participate in normal page flow.
 */
@media (max-width: 760px) {
  html.havin-v083-build45 .asset-detail-page-v083 .detail-tabs {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 2px !important;
    overflow: visible !important;
    overscroll-behavior-x: auto !important;
    padding: 5px 2px !important;
    margin-inline: 0 !important;
    background: rgba(3, 11, 22, .94) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(128, 151, 181, .22) !important;
    border-radius: 0 !important;
  }

  html.havin-v083-build45 .asset-detail-page-v083 .detail-tabs > button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 8px 2px !important;
    font-size: .72rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  /* Keep the DOM/accessibility name “Parts & Supplies”; use the compact visual label on phones. */
  html.havin-v083-build45 .asset-detail-page-v083 .detail-tabs > button:nth-child(3) {
    font-size: 0 !important;
  }
  html.havin-v083-build45 .asset-detail-page-v083 .detail-tabs > button:nth-child(3)::after {
    content: 'Parts';
    font-size: .72rem;
    line-height: 1.1;
  }
}


/* Build 45 Free Halo commerce scope */
.halo-free-commerce-banner-b45 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 auto 14px;
  width: min(920px, calc(100% - 32px));
  padding: 14px 16px;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  background: var(--surface-raised);
}
.halo-free-commerce-banner-b45 > div { min-width: 0; }
.halo-free-commerce-banner-b45 strong { display: block; margin: 2px 0 3px; }
.halo-free-commerce-banner-b45 p { margin: 0; max-width: 660px; color: var(--text-secondary); font-size: 0.9rem; line-height: 1.45; }
.halo-free-commerce-banner-b45 .button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 680px) {
  .halo-free-commerce-banner-b45 { align-items: flex-start; flex-direction: column; gap: 10px; width: min(100% - 20px, 920px); }
}
/* Hāvin Build 46 — localized release-candidate correction/polish only. */

html.havin-v083-build46 .asset-quick-actions-v083 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
}

html.havin-v083-build46 .asset-quick-actions-v083 > button {
  min-width: 0;
  min-height: 58px !important;
  height: 100%;
}

html.havin-v083-build46 .parts46-context-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 34px;
}

html.havin-v083-build46 .parts46-context-nav .text-button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

html.havin-v083-build46 .parts46-scope-note,
html.havin-v083-build46 .parts46-refresh-notice,
html.havin-v083-build46 .parts46-no-purchase {
  border: 1px solid var(--hv-line);
  border-radius: 14px;
  background: var(--hv-surface-soft);
}

html.havin-v083-build46 .parts46-scope-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
}

html.havin-v083-build46 .parts46-scope-note > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--hv-text-muted);
  font-size: .86rem;
}

html.havin-v083-build46 .parts46-refresh-notice {
  padding: 10px 13px;
  color: var(--hv-text-muted);
  font-size: .86rem;
}

html.havin-v083-build46 .parts46-loading-copy {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--hv-text-muted);
  font-size: .88rem;
}

html.havin-v083-build46 .parts46-no-purchase {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
}

html.havin-v083-build46 .parts46-no-purchase strong {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--hv-text);
  font-size: .86rem;
}

html.havin-v083-build46 .parts46-no-purchase span {
  color: var(--hv-text-muted);
  font-size: .8rem;
}

html.havin-v083-build46 .parts46-kit-summary {
  display: grid;
  gap: 4px;
  padding: 13px 0 4px;
}

html.havin-v083-build46 .parts46-kit-summary strong {
  font-size: 1rem;
}

html.havin-v083-build46 .parts46-kit-summary span {
  color: var(--hv-text-muted);
  font-size: .84rem;
}

html.havin-v083-build46 .parts46-kit-retailer-plan {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 13px;
  border: 1px solid var(--hv-line);
  border-radius: 15px;
}

html.havin-v083-build46 .parts46-kit-retailer-plan > div {
  display: grid;
  gap: 3px;
}

html.havin-v083-build46 .parts46-kit-retailer-plan small {
  color: var(--hv-text-muted);
}

html.havin-v083-build46 .parts46-kit-item-quantity {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 650;
}

html.havin-v083-build46 .parts46-service-items-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}

html.havin-v083-build46 .parts46-service-items-heading h3 {
  margin: 3px 0 0;
}

@media (max-width: 760px) {
  html.havin-v083-build46 .asset-quick-actions-v083 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html.havin-v083-build46 .asset-quick-actions-v083 > button {
    min-height: 62px !important;
    padding: 10px 8px !important;
  }

  html.havin-v083-build46 .parts46-scope-note {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* The existing Service route owns summary, detail and action entry points. */
.service-workspace-group > h3 { margin: 20px 0 10px; font-size: 14px; }
.service-workspace-item { border: 1px solid var(--rc3-border, rgba(255,255,255,.12)); border-radius: 14px; overflow: hidden; }
.service-workspace-item > summary { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; padding: 16px; cursor: pointer; list-style: none; }
.service-workspace-item > summary::-webkit-details-marker { display: none; }
.service-workspace-item > summary:focus-visible, a.maintenance-preview-row:focus-visible { outline: 2px solid var(--accent, #409b83); outline-offset: -3px; }
.service-workspace-item .service-task-copy-v083 { display: grid; gap: 5px; }
.service-workspace-item[open] > summary > svg:last-child { transform: rotate(90deg); }
.service-workspace-detail { display: grid; gap: 14px; padding: 0 16px 18px; overflow-wrap: anywhere; }
.service-workspace-detail p { margin: 0; }
.service-workspace-detail dl { margin: 0; display: grid; gap: 10px; }
.service-workspace-detail dt { font-size: 12px; opacity: .7; }
.service-workspace-detail dd { margin: 4px 0 0; }
.service-workspace-parts { display: grid; gap: 8px; }
a.maintenance-preview-row { color: inherit; text-decoration: none; }
.parts-product-choice { display: grid; gap: 6px; font-size: 13px; }
.parts-product-choice select { width: 100%; min-width: 0; max-width: 100%; padding: 10px; }
@media (max-width: 600px) {
  .service-workspace-item > summary { grid-template-columns: 28px minmax(0, 1fr) 18px; gap: 9px; padding: 12px; }
  .service-workspace-item > summary > .status-badge { grid-column: 2; grid-row: 2; justify-self: start; }
  .service-workspace-item > summary > svg:last-child { grid-column: 3; grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .parts42-stack .spin { animation: none !important; }
}
/* Keep the existing single page scroller inside the actually visible native viewport.
   Safe-area padding remains additional to the keyboard/accessory-adjusted height. */
@media (max-width: 900px) {
  html.havin-native-ios.havin-product-ui .app-shell {
    height: var(--havin-visible-height, 100dvh) !important;
    max-height: var(--havin-visible-height, 100dvh) !important;
    min-height: 0 !important;
    transform: translateY(var(--havin-visible-top, 0px));
  }
  html.havin-native-ios.havin-product-ui .modal {
    max-height: calc(var(--havin-visible-height, 100dvh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px) !important;
  }
  html.havin-native-ios.havin-product-ui .page-content {
    padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
    scroll-padding-block: 16px calc(28px + env(safe-area-inset-bottom, 0px));
  }
}
