* { box-sizing: border-box; }
html { background: var(--bg); color: var(--text); font-family: var(--font); -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.icon { flex: 0 0 auto; }
.app-frame { width: 100%; max-width: var(--content-max); margin: 0 auto; min-height: 100dvh; position: relative; background: var(--bg); }
.content { padding: 12px 16px calc(var(--nav-h) + 30px + env(safe-area-inset-bottom)); }
.content-bare { min-height: 100dvh; padding: 0; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: calc(12px + env(safe-area-inset-top)) 16px 10px; background: color-mix(in srgb, var(--bg) 86%, transparent); backdrop-filter: blur(18px); }
.topbar-left { display: flex; align-items: center; gap: 11px; min-width: 0; }
.avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(145deg, var(--blue-900), var(--blue-600)); color: white; font-weight: 800; box-shadow: var(--shadow-card); }
html[data-theme="dark"] .avatar { background: var(--lime); color: #101820; }
.eyebrow { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 2px; }
.topbar-title { font-size: 17px; line-height: 1.15; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.icon-button { position: relative; width: 42px; height: 42px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); display: inline-grid; place-items: center; cursor: pointer; box-shadow: 0 5px 16px rgba(16,24,40,.04); }
.notification-dot { position: absolute; top: -3px; right: -2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center; background: var(--danger); color: white; font-size: 10px; border: 2px solid var(--bg); }
.demo-ribbon { margin: 2px 16px 5px; border: 1px solid var(--line); background: var(--surface); color: var(--muted); padding: 7px 10px; border-radius: 12px; font-size: 12px; display: inline-flex; align-items: center; gap: 7px; }
.demo-ribbon span { width: 7px; height: 7px; border-radius: 50%; background: var(--warning); }
.live-ribbon span { background: var(--success); }
.fallback-ribbon span { background: var(--warning); }
.flash { margin: 10px 16px 0; padding: 11px 12px; border-radius: 14px; display: flex; justify-content: space-between; gap: 12px; font-size: 13px; border: 1px solid var(--line); background: var(--surface); }
.flash-warning { background: var(--warning-bg); }
.flash button { border: 0; background: transparent; padding: 0; cursor: pointer; }
.muted { color: var(--muted); }
.compact { margin: 3px 0 0; }
.section { margin-top: 20px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.section-heading h2 { font-size: 16px; margin: 0; }
.section-heading a, .section-heading button { font-size: 12px; color: var(--brand-strong); font-weight: 750; border: 0; background: transparent; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.card-pad { padding: 16px; }
.brand-card { background: linear-gradient(145deg, #0b2d6b 0%, #1768e8 100%); color: white; border: 0; overflow: hidden; position: relative; }
.brand-card::after { content: ""; position: absolute; width: 150px; height: 150px; border-radius: 50%; background: rgba(255,255,255,.08); right: -55px; top: -60px; }
html[data-theme="dark"] .brand-card { background: linear-gradient(145deg, #192531 0%, #0f1820 100%); border: 1px solid #293a47; }
html[data-theme="dark"] .brand-card .accent { color: var(--lime); }
.focus-top { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.focus-title { margin: 4px 0 6px; font-size: 22px; letter-spacing: -.03em; }
.focus-count { min-width: 72px; height: 72px; border-radius: 22px; background: rgba(255,255,255,.13); display: grid; place-items: center; font-size: 28px; font-weight: 850; backdrop-filter: blur(8px); }
.progress { height: 8px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; margin: 15px 0 12px; }
.progress > span { display: block; height: 100%; border-radius: inherit; background: white; }
html[data-theme="dark"] .progress > span { background: var(--lime); }
.focus-items { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.focus-items::-webkit-scrollbar { display: none; }
.glass-pill { white-space: nowrap; padding: 7px 9px; border-radius: 999px; background: rgba(255,255,255,.13); font-size: 12px; color: rgba(255,255,255,.9); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.stat-card { padding: 14px; }
.stat-head { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.score { display: flex; align-items: baseline; gap: 4px; margin-top: 8px; }
.score strong { font-size: 30px; }
.score span { color: var(--muted); font-size: 12px; }
.delta { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; color: var(--success); font-weight: 800; margin-top: 4px; }
.funnel-bars { display: flex; align-items: end; height: 52px; gap: 5px; margin-top: 8px; }
.funnel-bars span { flex: 1; min-width: 5px; border-radius: 5px 5px 2px 2px; background: color-mix(in srgb, var(--brand-strong) 75%, var(--surface)); }
html[data-theme="dark"] .funnel-bars span { background: var(--lime); opacity: .8; }
.list-card { overflow: hidden; }
.list-row { display: flex; align-items: center; gap: 11px; padding: 13px 14px; border-bottom: 1px solid var(--line); }
.list-row:last-child { border-bottom: 0; }
.row-icon { width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center; background: var(--info-bg); color: var(--info); flex: 0 0 auto; }
.row-icon.success { background: var(--success-bg); color: var(--success); }
.row-icon.warning { background: var(--warning-bg); color: var(--warning); }
.row-icon.danger { background: var(--danger-bg); color: var(--danger); }
.row-main { min-width: 0; flex: 1; }
.row-main strong { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-main span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-time { color: var(--muted); font-size: 12px; font-weight: 700; flex: 0 0 auto; }
.map-card { display: block; width: 100%; min-height: 190px; overflow: hidden; position: relative; background: linear-gradient(145deg, var(--surface-2), var(--surface)); }
.map-grid { position: absolute; inset: 0; opacity: .75; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 32px 32px; transform: rotate(-5deg) scale(1.15); }
.map-road { position: absolute; width: 110%; height: 22px; background: color-mix(in srgb, var(--brand-strong) 10%, var(--surface)); left: -8%; top: 52%; transform: rotate(-12deg); border-top: 1px solid color-mix(in srgb, var(--brand-strong) 25%, var(--line)); border-bottom: 1px solid color-mix(in srgb, var(--brand-strong) 25%, var(--line)); }
.map-pin-fake { position: absolute; width: 29px; height: 29px; border-radius: 50% 50% 50% 10%; background: var(--brand-strong); color: white; transform: rotate(-45deg); display: grid; place-items: center; box-shadow: var(--shadow-card); }
.map-pin-fake i { width: 7px; height: 7px; border-radius: 50%; background: white; display: block; }
.map-pin-fake.p1 { left: 24%; top: 39%; }
.map-pin-fake.p2 { right: 24%; top: 28%; }
.map-pin-fake.p3 { right: 36%; bottom: 22%; }
.map-overlay { position: absolute; left: 12px; right: 12px; bottom: 12px; background: var(--glass); backdrop-filter: blur(14px); border: 1px solid var(--line); border-radius: 15px; padding: 11px 12px; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.map-overlay strong { font-size: 13px; }
.map-overlay span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.search-box { position: relative; }
.search-box .icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.search-input { width: 100%; height: 50px; padding: 0 14px 0 42px; border-radius: 16px; background: var(--surface); color: var(--text); border: 1px solid var(--line); outline: none; box-shadow: 0 6px 20px rgba(16,24,40,.035); }
.search-input:focus { border-color: color-mix(in srgb, var(--brand-strong) 55%, var(--line)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-strong) 10%, transparent); }
.filter-scroll { display: flex; gap: 7px; overflow-x: auto; padding: 10px 0 4px; scrollbar-width: none; }
.filter-scroll::-webkit-scrollbar { display: none; }
.chip { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; min-height: 35px; padding: 0 11px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); color: var(--muted); font-size: 12px; font-weight: 700; }
.chip.is-active { background: var(--brand); color: var(--on-brand); border-color: var(--brand); }
.projects-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 1px 9px; font-size: 12px; }
.projects-toolbar strong { font-size: 12px; }
.toolbar-link { border: 0; background: transparent; color: var(--brand-strong); font-weight: 800; padding: 0; }
.project-list { display: grid; gap: 10px; }
.project-card { position: relative; border: 1px solid var(--line); background: var(--surface); border-radius: 18px; box-shadow: var(--shadow-card); overflow: hidden; }
.project-card-main { display: flex; gap: 11px; padding: 12px; padding-right: 46px; }
.project-thumb { width: 72px; min-width: 72px; height: 82px; border-radius: 14px; display: grid; place-items: center; color: var(--brand-strong); background: linear-gradient(145deg, color-mix(in srgb, var(--brand-strong) 12%, var(--surface)), var(--surface-2)); }
.project-body { flex: 1; min-width: 0; }
.project-headline-row { display: flex; justify-content: space-between; gap: 7px; }
.project-headline-row h3 { margin: 1px 0 0; font-size: 13px; line-height: 1.25; }
.project-chevron { color: var(--muted-2); }
.project-meta-row { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 8px; color: var(--muted); font-size: 10px; }
.project-meta-row > span:first-child { display: inline-flex; align-items: center; gap: 3px; }
.status-pill { display: inline-flex; align-items: center; min-height: 23px; padding: 0 7px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.tone-success { color: var(--success); background: var(--success-bg); }
.tone-warning { color: var(--warning); background: var(--warning-bg); }
.tone-info { color: var(--info); background: var(--info-bg); }
.tone-neutral { color: var(--muted); background: var(--surface-3); }
.project-bottom-row, .project-number-row { display: flex; justify-content: space-between; gap: 8px; margin-top: 7px; align-items: center; }
.project-bottom-row strong { font-size: 12px; }
.project-bottom-row span, .project-number-row { color: var(--muted); font-size: 9px; }
.favorite-form { position: absolute; right: 8px; top: 8px; }
.favorite-button { width: 33px; height: 33px; border-radius: 11px; box-shadow: none; }
.favorite-button.is-favorite { color: var(--warning); }
.empty-state { text-align: center; padding: 38px 20px; border: 1px dashed var(--line); border-radius: 18px; background: var(--surface); }
.empty-icon { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 18px; background: var(--surface-2); color: var(--muted); display: grid; place-items: center; }
.empty-state h3 { margin: 0 0 7px; font-size: 15px; }
.empty-state p { margin: 0; font-size: 12px; color: var(--muted); }
.hero-project { margin: -2px -16px 0; }
.project-visual { height: 205px; position: relative; overflow: hidden; background: linear-gradient(145deg, #dfe8f7, #edf3fa); }
html[data-theme="dark"] .project-visual { background: linear-gradient(145deg, #1d2b39, #111b24); }
.skyline { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, color-mix(in srgb, var(--brand-strong) 15%, var(--surface)) 35%); clip-path: polygon(0 100%,0 74%,8% 74%,8% 51%,22% 51%,22% 66%,33% 66%,33% 35%,48% 35%,48% 60%,62% 60%,62% 45%,76% 45%,76% 68%,89% 68%,89% 55%,100% 55%,100% 100%); opacity: .8; }
.project-visual-top { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; }
.project-visual .icon-button { background: rgba(255,255,255,.75); backdrop-filter: blur(12px); border-color: rgba(255,255,255,.5); color: #1a2d43; }
.project-visual .favorite-button { position: static; }
.project-summary { margin-top: -22px; position: relative; z-index: 2; border-radius: 24px 24px 0 0; padding: 18px 16px 4px; background: var(--bg); }
.project-summary h1 { margin: 8px 0 4px; font-size: 24px; line-height: 1.1; letter-spacing: -.035em; }
.project-summary-line { display: flex; gap: 9px; flex-wrap: wrap; color: var(--muted); font-size: 12px; margin-top: 10px; }
.tabs { position: sticky; top: 75px; z-index: 14; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--bg); border-bottom: 1px solid var(--line); padding-top: 4px; }
.tab-button { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 12px 6px 10px; color: var(--muted); font-weight: 800; font-size: 12px; }
.tab-button.is-active { color: var(--brand-strong); border-bottom-color: var(--brand-strong); }
.tab-panel { display: none; padding-top: 14px; }
.tab-panel.is-active { display: block; }
.timeline { display: flex; gap: 0; align-items: start; overflow-x: auto; padding: 4px 0 12px; scrollbar-width: none; }
.timeline-step { min-width: 83px; text-align: center; position: relative; color: var(--muted); font-size: 9px; }
.timeline-step::before { content: ""; display: block; width: 11px; height: 11px; margin: 0 auto 7px; border-radius: 50%; background: var(--surface-3); border: 2px solid var(--surface); outline: 1px solid var(--line); position: relative; z-index: 2; }
.timeline-step::after { content: ""; position: absolute; top: 6px; left: 50%; width: 100%; height: 1px; background: var(--line); }
.timeline-step:last-child::after { display: none; }
.timeline-step.done::before { background: var(--success); outline-color: var(--success); }
.timeline-step.current { color: var(--text); font-weight: 850; }
.timeline-step.current::before { background: var(--brand-strong); outline: 4px solid color-mix(in srgb, var(--brand-strong) 13%, transparent); border: 0; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.detail-tile { padding: 13px; }
.detail-tile span { display: block; color: var(--muted); font-size: 10px; }
.detail-tile strong { display: block; margin-top: 5px; font-size: 13px; }
.description { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 0; }
.assignment-card { display: flex; align-items: center; gap: 10px; padding: 13px; }
.assignment-card .avatar { width: 38px; height: 38px; border-radius: 13px; }
.assignment-main { flex: 1; }
.assignment-main strong { font-size: 12px; display: block; }
.assignment-main span { display: block; color: var(--muted); font-size: 10px; margin-top: 2px; }
.offer-button { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--line); background: var(--surface); color: var(--text); border-radius: 16px; padding: 13px 14px; font-weight: 800; font-size: 12px; }
.action-dock { position: fixed; z-index: 25; bottom: calc(var(--nav-h) + 7px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: calc(100% - 26px); max-width: calc(var(--content-max) - 26px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding: 7px; border-radius: 19px; background: var(--glass); backdrop-filter: blur(20px); box-shadow: var(--shadow-float); border: 1px solid var(--line); }
.action-dock button, .action-dock a { min-height: 46px; border: 0; border-radius: 13px; background: var(--surface); color: var(--text); display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 10px; font-weight: 850; }
.action-dock .primary { background: var(--brand); color: var(--on-brand); }
.contact-card { padding: 14px; display: flex; gap: 11px; align-items: flex-start; }
.contact-avatar { width: 44px; height: 44px; border-radius: 15px; background: var(--info-bg); color: var(--info); display: grid; place-items: center; font-weight: 850; }
.contact-main { flex: 1; min-width: 0; }
.contact-main h3 { margin: 0; font-size: 13px; }
.contact-main p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.contact-actions { display: flex; gap: 6px; margin-top: 10px; }
.contact-actions a, .contact-actions button { height: 34px; min-width: 36px; padding: 0 10px; border-radius: 11px; display: inline-flex; gap: 5px; justify-content: center; align-items: center; border: 1px solid var(--line); background: var(--surface-2); font-size: 10px; font-weight: 800; }
.task-tabs { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; margin-bottom: 12px; }
.task-tabs::-webkit-scrollbar { display: none; }
.task-tabs button { border: 1px solid var(--line); background: var(--surface); color: var(--muted); padding: 9px 11px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.task-tabs button.is-active { background: var(--brand); color: var(--on-brand); border-color: var(--brand); }
.profile-card { text-align: center; padding: 22px 16px 18px; }
.profile-avatar { width: 74px; height: 74px; border-radius: 24px; margin: 0 auto 12px; display: grid; place-items: center; background: linear-gradient(145deg, var(--blue-900), var(--blue-600)); color: white; font-size: 24px; font-weight: 900; }
.profile-card h2 { margin: 0; font-size: 18px; }
.profile-card p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.plan-pill { display: inline-flex; align-items: center; gap: 5px; margin-top: 11px; padding: 7px 10px; border-radius: 999px; background: var(--success-bg); color: var(--success); font-size: 10px; font-weight: 850; }
.settings-row { display: flex; align-items: center; gap: 11px; padding: 14px; border-bottom: 1px solid var(--line); }
.settings-row:last-child { border-bottom: 0; }
.settings-row > .icon { color: var(--brand-strong); }
.settings-main { flex: 1; }
.settings-main strong { display: block; font-size: 12px; }
.settings-main span { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.segmented { display: grid; grid-template-columns: repeat(3,1fr); padding: 4px; border-radius: 13px; background: var(--surface-2); border: 1px solid var(--line); gap: 3px; }
.segmented button { border: 0; border-radius: 10px; background: transparent; color: var(--muted); padding: 7px 5px; font-size: 9px; font-weight: 800; }
.segmented button.is-active { background: var(--surface); color: var(--text); box-shadow: 0 4px 10px rgba(16,24,40,.06); }
.primary-button { width: 100%; min-height: 50px; border: 0; border-radius: 16px; background: var(--brand); color: var(--on-brand); font-weight: 850; cursor: pointer; }
.secondary-button { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); color: var(--text); font-weight: 800; cursor: pointer; }
.danger-button { color: var(--danger); }
.bottom-nav { position: fixed; z-index: 30; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; max-width: var(--content-max); height: calc(var(--nav-h) + env(safe-area-inset-bottom)); padding: 8px 9px calc(8px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(5,1fr); background: var(--nav-bg); border-top: 1px solid var(--line); backdrop-filter: blur(20px); }
.bottom-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--muted); font-size: 9px; font-weight: 750; border-radius: 13px; }
.bottom-nav-item.is-active { color: var(--brand-strong); }
.bottom-nav-item.is-active .icon { stroke-width: 2.2; }
.sheet-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(3,8,14,.48); opacity: 0; pointer-events: none; transition: .2s ease; }
.sheet { position: fixed; z-index: 51; left: 50%; transform: translate(-50%, 110%); bottom: 0; width: 100%; max-width: var(--content-max); background: var(--surface); border-radius: 24px 24px 0 0; padding: 10px 16px calc(18px + env(safe-area-inset-bottom)); box-shadow: var(--shadow-float); transition: .25s ease; }
.sheet.is-open { transform: translate(-50%, 0); }
.sheet-backdrop.is-open { opacity: 1; pointer-events: auto; }
.sheet-handle { width: 42px; height: 4px; margin: 0 auto 13px; border-radius: 999px; background: var(--surface-3); }
.sheet h3 { margin: 0 0 13px; font-size: 16px; }
.field { display: grid; gap: 6px; margin-bottom: 11px; }
.field label { font-size: 10px; color: var(--muted); font-weight: 750; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); border-radius: 13px; padding: 11px 12px; outline: none; }
.field textarea { min-height: 100px; resize: vertical; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: calc(var(--nav-h) + 18px + env(safe-area-inset-bottom)); transform: translate(-50%, 30px); opacity: 0; pointer-events: none; background: var(--text); color: var(--bg); border-radius: 999px; padding: 10px 14px; font-size: 12px; font-weight: 800; box-shadow: var(--shadow-float); transition: .2s ease; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.login-screen { min-height: 100dvh; display: flex; flex-direction: column; justify-content: center; padding: calc(28px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom)); background: radial-gradient(circle at 90% 12%, color-mix(in srgb, var(--brand-strong) 11%, transparent), transparent 28%), var(--bg); }
.logo-mark { width: 50px; height: 50px; border-radius: 17px; display: grid; place-items: center; margin: 0 auto 14px; background: linear-gradient(145deg, var(--blue-900), var(--blue-600)); color: white; font-weight: 950; font-size: 22px; box-shadow: var(--shadow-card); }
.login-brand { text-align: center; margin-bottom: 26px; }
.login-brand strong { display: block; font-size: 20px; letter-spacing: .08em; }
.login-brand span { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; text-transform: uppercase; letter-spacing: .15em; }
.login-card { padding: 20px; }
.login-card h1 { margin: 0; text-align: center; font-size: 24px; letter-spacing: -.03em; }
.login-card > p { text-align: center; color: var(--muted); font-size: 12px; line-height: 1.5; margin: 7px 0 18px; }
.login-footer { text-align: center; margin-top: 18px; color: var(--muted); font-size: 10px; }
.login-demo { margin-top: 12px; padding: 10px; border-radius: 12px; background: var(--warning-bg); color: var(--warning); font-size: 10px; text-align: center; }
@media (min-width: 700px) {
  body.app-page { padding: 18px 0; }
  .app-frame { border: 1px solid var(--line); border-radius: 28px; overflow: clip; min-height: calc(100dvh - 36px); box-shadow: var(--shadow-float); }
  .bottom-nav { bottom: 18px; border-radius: 0 0 28px 28px; }
  .action-dock { bottom: calc(var(--nav-h) + 26px); }
}

/* v0.2 — company profile, working filters, task aggregation and nearby search */
.company-row-side { display: flex; align-items: center; gap: 7px; color: var(--muted); flex: 0 0 auto; }
.company-list-row .row-main span + span { margin-top: 2px; }
.company-hero { overflow: hidden; }
.company-hero-top { display: flex; align-items: flex-start; gap: 12px; }
.company-logo-placeholder { width: 52px; height: 52px; border-radius: 17px; display: grid; place-items: center; flex: 0 0 auto; background: linear-gradient(145deg, var(--blue-900), var(--blue-600)); color: white; font-size: 19px; font-weight: 900; }
html[data-theme="dark"] .company-logo-placeholder { background: var(--lime); color: #101820; }
.company-hero-main { flex: 1; min-width: 0; }
.company-hero-main h2 { margin: 2px 0 0; font-size: 20px; letter-spacing: -.02em; }
.company-hero-main p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.company-meta-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 16px; }
.company-meta-grid > div { padding: 10px 11px; border-radius: 13px; background: var(--surface-2); border: 1px solid var(--line); }
.company-meta-grid span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.company-meta-grid strong { display: block; margin-top: 4px; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.task-overview { display: flex; align-items: center; gap: 14px; margin-bottom: 13px; }
.task-overview > div:first-child { flex: 1; min-width: 0; }
.task-overview h2 { margin: 3px 0 3px; font-size: 20px; }
.task-overview p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.task-overview-count { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; flex: 0 0 auto; background: var(--info-bg); color: var(--info); font-size: 20px; font-weight: 900; }
.task-tabs button span { margin-left: 3px; opacity: .72; }
.task-section[hidden] { display: none !important; }

.compact-select { min-height: 32px; border: 1px solid var(--line); background: var(--surface); color: var(--text); border-radius: 11px; padding: 0 9px; font-size: 10px; font-weight: 750; }
.nearby-section { padding-bottom: 4px; }
.nearby-map { min-height: 210px; }
.nearby-locate-button { margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 7px; }
.nearby-locate-button.is-loading { opacity: .65; cursor: wait; }
.nearby-locate-button:disabled { cursor: wait; }
.nearby-privacy { margin: 8px 3px 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.nearby-status { margin: 11px 0; padding: 10px 12px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 700; }
.nearby-status.is-success { background: var(--success-bg); color: var(--success); }
.nearby-status.is-error { background: var(--danger-bg); color: var(--danger); }
.nearby-results { margin-top: 11px; }
.nearby-project-card .project-thumb { display: grid; place-items: center; }
.nearby-distance { display: inline-flex; padding: 6px 8px; border-radius: 999px; background: var(--glass); border: 1px solid var(--line); font-size: 10px; font-weight: 900; color: var(--brand-strong); backdrop-filter: blur(10px); }
.subsection-heading { margin-top: 18px; }
.subsection-heading h2 { font-size: 13px; }
.compact-empty { font-size: 12px; }
.quick-search-intro h2 { margin: 5px 0 6px; font-size: 20px; }
.quick-search-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.inline-button { width: auto; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; text-align: center; }

.sheet-tall { max-height: 88dvh; overflow-y: auto; }
.sheet-title-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.sheet-title-row h3 { margin: 0; }
.mini-icon-button { width: 34px; height: 34px; border-radius: 11px; }
.sheet-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: 14px; }
.sheet-actions .primary-button, .sheet-actions .secondary-button { min-height: 46px; }
.sort-options { display: grid; gap: 7px; }
.sort-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 0 13px; border-radius: 13px; border: 1px solid var(--line); background: var(--surface-2); color: var(--muted); font-size: 12px; font-weight: 750; }
.sort-option.is-active { color: var(--brand-strong); border-color: color-mix(in srgb, var(--brand-strong) 35%, var(--line)); background: color-mix(in srgb, var(--brand-strong) 8%, var(--surface)); }

@media (max-width: 380px) {
  .company-meta-grid { grid-template-columns: 1fr 1fr; }
  .quick-search-actions { grid-template-columns: 1fr; }
}

/* v0.3 - project sales actions, reveal, offer status and assignment */
.assignment-button { width: 100%; border: 1px solid var(--line); background: var(--surface); color: var(--text); text-align: left; cursor: pointer; }
.assignment-button:hover { border-color: color-mix(in srgb, var(--brand-strong) 28%, var(--line)); }
.contact-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.contact-title-row > div { min-width: 0; }
.reveal-badge { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; min-height: 24px; padding: 0 8px; border-radius: 999px; background: var(--success-bg); color: var(--success); font-size: 9px; font-weight: 850; }
.masked-contact-data, .revealed-contact-data { display: grid; gap: 6px; margin-top: 10px; }
.masked-contact-data span, .revealed-contact-data span { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--muted); font-size: 10px; }
.revealed-contact-data span { color: var(--text); }
.reveal-form { margin-top: 10px; }
.reveal-button { width: 100%; min-height: 39px; border: 1px solid color-mix(in srgb, var(--brand-strong) 28%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--brand-strong) 7%, var(--surface)); color: var(--brand-strong); display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 10px; font-weight: 850; cursor: pointer; }
.contact-card.is-masked { border-style: dashed; }
.choice-list { display: grid; gap: 8px; margin-bottom: 14px; }
.choice-row { min-height: 50px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); color: var(--text); display: flex; align-items: center; gap: 10px; cursor: pointer; }
.choice-row:has(input:checked) { border-color: color-mix(in srgb, var(--brand-strong) 44%, var(--line)); background: color-mix(in srgb, var(--brand-strong) 8%, var(--surface)); }
.choice-row > span:first-child { flex: 1; }
.choice-row strong { font-size: 12px; }
.choice-row input[type="radio"] { width: 17px; height: 17px; accent-color: var(--brand-strong); flex: 0 0 auto; }
.choice-user { min-height: 58px; }
.choice-avatar { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto !important; background: var(--info-bg); color: var(--info); font-size: 12px; font-weight: 900; }
.choice-main { min-width: 0; flex: 1; }
.choice-main strong, .choice-main small { display: block; }
.choice-main small { margin-top: 2px; color: var(--muted); font-size: 9px; }

/* v0.4 - notification center, richer task inbox and PWA install UX */
.notification-summary { display: flex; align-items: center; gap: 14px; }
.notification-summary > div:first-child { flex: 1; min-width: 0; }
.notification-summary h2 { margin: 3px 0 4px; font-size: 20px; }
.notification-summary p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.notification-summary-icon { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; flex: 0 0 auto; background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); }
.notification-summary-icon.has-unread { background: var(--warning-bg); color: var(--warning); border-color: color-mix(in srgb, var(--warning) 18%, var(--line)); }
.notification-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.compact-segmented { flex: 1; max-width: 280px; }
.compact-segmented a { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 5px; border-radius: 10px; font-size: 10px; font-weight: 800; color: var(--muted); }
.compact-segmented a.is-active { background: var(--surface); color: var(--brand-strong); box-shadow: 0 3px 10px rgba(16,24,40,.06); }
.compact-segmented a span { opacity: .72; }
.text-button { border: 0; background: transparent; color: var(--brand-strong); font-size: 10px; font-weight: 800; padding: 9px 2px; cursor: pointer; white-space: nowrap; }
.notification-list { display: grid; gap: 9px; }
.notification-item { min-height: 76px; display: flex; align-items: center; gap: 11px; padding: 12px; box-shadow: none; }
.notification-item.is-unread { border-color: color-mix(in srgb, var(--brand-strong) 26%, var(--line)); background: color-mix(in srgb, var(--brand-strong) 4%, var(--surface)); }
.notification-type-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: var(--surface-2); color: var(--muted); flex: 0 0 auto; }
.notification-type-icon.tone-warning { background: var(--warning-bg); color: var(--warning); }
.notification-type-icon.tone-danger { background: var(--danger-bg); color: var(--danger); }
.notification-type-icon.tone-success { background: var(--success-bg); color: var(--success); }
.notification-type-icon.tone-info { background: var(--info-bg); color: var(--info); }
.notification-main { min-width: 0; flex: 1; display: grid; gap: 3px; }
.notification-title-row { display: flex; align-items: center; gap: 7px; min-width: 0; }
.notification-title-row strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notification-main > span:not(.notification-title-row) { color: var(--muted); font-size: 10px; line-height: 1.35; }
.notification-main small { color: var(--muted-2); font-size: 9px; }
.unread-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--brand-strong); flex: 0 0 auto; }
.notification-footnote { margin: 14px 2px 0; display: flex; gap: 7px; align-items: flex-start; color: var(--muted); font-size: 9px; line-height: 1.45; }

.task-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.task-kpi { padding: 11px; box-shadow: none; }
.task-kpi span { display: block; color: var(--muted); font-size: 9px; line-height: 1.25; }
.task-kpi strong { display: block; margin-top: 4px; font-size: 18px; }
.task-kpi.is-danger { background: var(--danger-bg); border-color: color-mix(in srgb, var(--danger) 18%, var(--line)); }
.task-kpi.is-danger strong, .task-kpi.is-danger span { color: var(--danger); }
.task-search { margin-bottom: 10px; }
.task-item[hidden] { display: none !important; }
.task-item-overdue { background: color-mix(in srgb, var(--danger) 3%, var(--surface)); }
.task-row-side { display: grid; justify-items: end; gap: 5px; flex: 0 0 auto; }
.task-state { display: inline-flex; min-height: 20px; align-items: center; padding: 0 7px; border-radius: 999px; font-size: 8px; font-weight: 850; background: var(--surface-2); color: var(--muted); }
.task-state.danger { background: var(--danger-bg); color: var(--danger); }
.task-state.success { background: var(--success-bg); color: var(--success); }
.task-search-empty { margin-top: 18px; }

.install-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; }
.install-card-icon { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: var(--info-bg); color: var(--info); }
html[data-theme="dark"] .install-card-icon { background: color-mix(in srgb, var(--lime) 14%, var(--surface)); color: var(--lime); }
.install-card-main { min-width: 0; }
.install-card-main strong, .install-card-main span { display: block; }
.install-card-main strong { font-size: 12px; }
.install-card-main span { color: var(--muted); font-size: 9px; margin-top: 3px; line-height: 1.35; }
.install-button { width: auto; min-height: 38px; padding: 0 11px; font-size: 9px; white-space: nowrap; }
.install-button.is-ready { border-color: color-mix(in srgb, var(--brand-strong) 40%, var(--line)); color: var(--brand-strong); }

@media (max-width: 380px) {
  .notification-toolbar { align-items: stretch; flex-direction: column; }
  .compact-segmented { max-width: none; width: 100%; }
  .text-button { width: 100%; text-align: center; }
  .install-card { grid-template-columns: auto 1fr; }
  .install-button { grid-column: 1 / -1; width: 100%; }
}
.company-quick-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.company-quick-actions a { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 6px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); color: var(--brand-strong); font-size: 9px; font-weight: 850; }
.compact-segmented { grid-template-columns: repeat(2, 1fr); }

/* v0.5 - sales cockpit, clickable funnel and saved project filters */
.home-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.home-quick-action { min-height: 68px; padding: 10px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; box-shadow: none; }
.home-quick-action > span:nth-child(2) { min-width: 0; }
.home-quick-action strong, .home-quick-action small { display: block; }
.home-quick-action strong { font-size: 10px; color: var(--text); }
.home-quick-action small { margin-top: 2px; font-size: 8px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.quick-action-icon { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: var(--surface-2); color: var(--muted); }
.quick-action-icon.tone-info { background: var(--info-bg); color: var(--info); }
.quick-action-icon.tone-warning { background: var(--warning-bg); color: var(--warning); }
.quick-action-icon.tone-success { background: var(--success-bg); color: var(--success); }
html[data-theme="dark"] .quick-action-icon.tone-success { background: color-mix(in srgb, var(--lime) 12%, var(--surface)); color: var(--lime); }
.neutral-delta { color: var(--muted) !important; }

.sales-funnel-card { overflow: hidden; }
.sales-funnel-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 14px 11px; border-bottom: 1px solid var(--line); }
.sales-funnel-summary > div { display: flex; align-items: baseline; gap: 8px; }
.sales-funnel-summary > div strong { font-size: 22px; letter-spacing: -.04em; }
.sales-funnel-summary > span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 8px; text-align: right; }
.sales-funnel-stages { display: grid; }
.funnel-stage-row { min-height: 49px; display: grid; grid-template-columns: 9px minmax(0,1fr) auto auto; gap: 9px; align-items: center; padding: 9px 13px; border-bottom: 1px solid var(--line); color: var(--text); }
.funnel-stage-row:last-child { border-bottom: 0; }
.funnel-stage-row:hover { background: var(--surface-2); }
.funnel-stage-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--muted-2); }
.funnel-stage-dot.tone-info { background: var(--info); }
.funnel-stage-dot.tone-brand { background: var(--brand-strong); }
.funnel-stage-dot.tone-warning { background: var(--warning); }
.funnel-stage-dot.tone-success { background: var(--success); }
html[data-theme="dark"] .funnel-stage-dot.tone-success { background: var(--lime); }
.funnel-stage-main { min-width: 0; display: grid; gap: 5px; }
.funnel-stage-main strong { font-size: 10px; }
.funnel-stage-main i { display: block; height: 4px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.funnel-stage-main i b { display: block; height: 100%; border-radius: inherit; background: var(--brand-strong); opacity: .75; }
.funnel-stage-count { min-width: 26px; height: 24px; padding: 0 7px; border-radius: 999px; display: grid; place-items: center; background: var(--surface-2); color: var(--text); font-size: 10px; font-weight: 900; }

.saved-filters-block { margin-top: 12px; padding: 10px 0 2px; }
.saved-filters-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.saved-filters-heading > div { min-width: 0; }
.saved-filters-heading strong { display: block; margin-top: 2px; font-size: 10px; }
.saved-filters-heading button { border: 0; background: transparent; color: var(--brand-strong); display: flex; align-items: center; gap: 4px; padding: 7px 0; font-size: 9px; font-weight: 850; cursor: pointer; }
.saved-filter-scroll { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 5px; scrollbar-width: none; }
.saved-filter-scroll::-webkit-scrollbar { display: none; }
.saved-filter-pill { flex: 0 0 auto; display: flex; align-items: center; min-height: 36px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); overflow: hidden; box-shadow: 0 3px 12px rgba(16,24,40,.025); }
.saved-filter-pill > a { min-height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 7px 0 11px; color: var(--text); font-size: 9px; font-weight: 800; }
.saved-filter-pill form { border-left: 1px solid var(--line); }
.saved-filter-pill button { width: 31px; height: 34px; border: 0; background: transparent; color: var(--muted); display: grid; place-items: center; cursor: pointer; }
.saved-filter-pill button:hover { color: var(--danger); background: var(--danger-bg); }
.save-filter-nudge { min-height: 58px; margin-top: 12px; padding: 10px 11px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; box-shadow: none; }
.save-filter-nudge > span { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: var(--info-bg); color: var(--info); }
.save-filter-nudge strong, .save-filter-nudge small { display: block; }
.save-filter-nudge strong { font-size: 10px; }
.save-filter-nudge small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.save-filter-nudge button { border: 0; background: transparent; color: var(--brand-strong); font-size: 9px; font-weight: 850; cursor: pointer; }
.quick-filter-scroll { padding-top: 6px; }
.sales-filter-chip { gap: 5px; }
.projects-toolbar > div { display: grid; gap: 2px; }
.projects-toolbar > div small { font-size: 8px; color: var(--muted); font-weight: 650; }
.save-filter-preview { min-height: 58px; margin-bottom: 13px; padding: 10px; border-radius: 14px; background: var(--surface-2); display: flex; align-items: center; gap: 9px; color: var(--brand-strong); }
.save-filter-preview > div { min-width: 0; }
.save-filter-preview strong, .save-filter-preview span { display: block; }
.save-filter-preview strong { font-size: 10px; color: var(--text); }
.save-filter-preview span { margin-top: 2px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.project-card-tags { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; }
.sales-status { display: inline-flex; align-items: center; min-height: 20px; padding: 0 7px; border-radius: 999px; background: color-mix(in srgb, var(--brand-strong) 8%, var(--surface)); color: var(--brand-strong); font-size: 8px; font-style: normal; font-weight: 850; }
html[data-theme="dark"] .sales-status { background: color-mix(in srgb, var(--lime) 10%, var(--surface)); color: var(--lime); }

@media (max-width: 360px) {
  .home-quick-grid { grid-template-columns: 1fr; }
  .sales-funnel-summary { align-items: flex-start; }
  .sales-funnel-summary > span { max-width: 100px; }
}

/* ===== v0.7 ===== */
.login-v07 { position: relative; overflow: hidden; justify-content: flex-start; padding-top: calc(42px + env(safe-area-inset-top)); background:
  radial-gradient(circle at 82% 16%, rgba(23,104,232,.16), transparent 30%),
  radial-gradient(circle at 8% 78%, rgba(11,45,107,.08), transparent 30%),
  #eef3f9; }
.login-v07-stage { position: absolute; inset: 0; pointer-events: none; }
.login-v07-word { position: absolute; top: 88px; left: 50%; transform: translateX(-50%); font-size: clamp(112px, 32vw, 176px); line-height: 1; font-weight: 1000; letter-spacing: -8px; color: #0b2d6b; opacity: 1; white-space: nowrap; -webkit-text-stroke: 4px #0b2d6b; text-shadow: 2px 0 0 #0b2d6b, -2px 0 0 #0b2d6b, 0 2px 0 #0b2d6b, 0 -2px 0 #0b2d6b; }
.login-v07-hand { position: absolute; top: 112px; right: 8px; z-index: 2; color: #ffffff; font-family: "Caveat", "Segoe Script", "Segoe Print", cursive; font-size: 24px; font-weight: 700; line-height: 1; white-space: nowrap; text-shadow: 0 2px 8px rgba(11,45,107,.28); }
.login-v07-hand::after { content: ""; position: absolute; right: 8px; bottom: -6px; width: 72px; height: 2px; border-radius: 2px; background: rgba(255,255,255,.92); transform: rotate(-4deg); transform-origin: right center; }
.login-v07-hand span { display: none; }
.login-v07-logo { display: none; }
.login-v07-logo .logo-mark { display: none; }
.login-v07-logo span { display: none; }
.login-glass-card { position: relative; z-index: 3; margin-top: 214px; padding: 26px 22px 22px; border: 1px solid rgba(255,255,255,.78); background: rgba(255,255,255,.72); backdrop-filter: blur(24px) saturate(150%); -webkit-backdrop-filter: blur(24px) saturate(150%); border-radius: 28px; box-shadow: 0 28px 70px rgba(11,45,107,.16), inset 0 1px rgba(255,255,255,.95); }
.login-card-kicker { display: none; }
.login-glass-card h1 { margin: 0 0 6px; color: #081b3f; font-size: 30px; line-height: 1.02; letter-spacing: -.045em; }
.login-glass-card > p { margin: 0 0 20px; color: #526173; font-size: 12px; }
.login-field label { color: #243b61; font-weight: 800; }
.login-field input { background: rgba(255,255,255,.58); border-color: rgba(11,45,107,.11); box-shadow: inset 0 1px rgba(255,255,255,.8); }
.login-submit { display: flex; align-items: center; justify-content: space-between; padding-left: 18px; padding-right: 16px; border-radius: 16px; }
.login-submit span { width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.14); display: grid; place-items: center; }
.login-error { margin-bottom: 14px !important; }
.build-mark { text-align:center; font-size:9px; opacity:.35; margin-top:8px; }
.login-v07 .login-footer { position: relative; z-index: 3; color: #526173; margin-top: 20px; text-align: center; }
.login-v07 .login-footer-sub { margin-top: 6px; font-size: 10px; line-height: 1.45; color: #6b788a; }

/* True first-paint skeleton for Home + route transition skeleton for every page. */
@keyframes victa-shimmer { 0% { background-position: -520px 0; } 100% { background-position: 520px 0; } }
.shimmer { background: linear-gradient(100deg, color-mix(in srgb, var(--surface-3) 86%, transparent) 12%, color-mix(in srgb, var(--surface) 92%, transparent) 34%, color-mix(in srgb, var(--surface-3) 86%, transparent) 56%); background-size: 700px 100%; animation: victa-shimmer 1.35s linear infinite; }
.home-skeleton { display: grid; gap: 18px; }
.skeleton-block { min-height: 82px; border-radius: 20px; }
.skeleton-focus { min-height: 166px; border-radius: 24px; }
.skeleton-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.skeleton-stat { min-height: 116px; }
.skeleton-heading { width: 38%; height: 20px; border-radius: 8px; }
.skeleton-funnel { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.skeleton-funnel-card { min-height: 146px; }
.skeleton-podcast { min-height: 142px; }
.route-loader[hidden] { display: none; }
.route-loader { position: fixed; z-index: 9998; inset: 0; background: var(--bg); overflow: hidden; }
.route-loader-shell { width: min(100%, var(--content-max)); margin: 0 auto; padding: calc(16px + env(safe-area-inset-top)) 16px calc(90px + env(safe-area-inset-bottom)); display: grid; gap: 15px; }
.route-loader-head { display:flex; gap:11px; align-items:center; padding-bottom: 4px; }
.route-avatar { width:42px; height:42px; border-radius:15px; flex:0 0 auto; }
.route-lines { display:grid; gap:7px; width:42%; }
.route-lines i,.route-lines b { height:8px; border-radius:999px; display:block; }
.route-lines b { width:72%; height:15px; }
.route-loader-card { height:160px; border-radius:24px; }
.route-loader-card.small { height:100px; }
.route-loader-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.route-loader-grid span { display:block; height:72px; border-radius:18px; }

/* Sales funnel v0.7 */
.funnel-v07 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.funnel-metric-card { color: var(--text); text-decoration: none; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 14px; box-shadow: var(--shadow-card); min-width: 0; transition: transform .16s ease, border-color .16s ease; }
.funnel-metric-card:active { transform: scale(.985); }
.funnel-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); }
.funnel-label { text-transform: uppercase; letter-spacing:.07em; font-size:9px; font-weight:850; }
.funnel-count { display:inline-block; margin-top:10px; font-size:29px; line-height:1; letter-spacing:-.055em; color:var(--text); }
.funnel-count-label { margin-left:4px; color:var(--muted); font-size:9px; }
.funnel-metrics { margin-top:13px; padding-top:11px; border-top:1px solid var(--line); display:grid; gap:7px; }
.funnel-metrics span { min-width:0; display:grid; gap:2px; }
.funnel-metrics b { font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-metrics small { color:var(--muted); font-size:8px; }
.funnel-available { grid-column:1/-1; background: linear-gradient(135deg, #0b2d6b, #1768e8); color:white; border-color:transparent; }
.funnel-available .funnel-card-top,.funnel-available .funnel-count,.funnel-available .funnel-count-label,.funnel-available .funnel-metrics small { color:white; }
.funnel-available .funnel-metrics { border-color:rgba(255,255,255,.2); grid-template-columns:1fr 1fr; }
.funnel-available .funnel-metrics b { color:white; }
.funnel-offered { grid-column:1/-1; }
.funnel-offered .funnel-metrics { grid-template-columns:1fr 1fr; }
.funnel-waiting { border-top:3px solid #e5a11b; }
.funnel-won { border-top:3px solid #1ba672; }
.funnel-lost { border-top:3px solid #d63b4a; }

/* Daily briefing */
.briefing-card { display:grid; grid-template-columns:92px 1fr; gap:14px; padding:12px; overflow:hidden; }
.briefing-cover { min-height:112px; border-radius:17px; background: linear-gradient(145deg,#0b2d6b,#1768e8); position:relative; overflow:hidden; display:grid; place-items:center; }
.briefing-wave { position:absolute; width:160px; height:54px; border:2px solid rgba(167,244,50,.68); border-left:0; border-right:0; border-radius:50%; transform:rotate(-18deg); }
.briefing-play-mark { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:#071a37; background:#a7f432; box-shadow:0 10px 24px rgba(0,0,0,.18); }
.briefing-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; }
.briefing-copy h3 { margin:5px 0 4px; font-size:16px; letter-spacing:-.025em; }
.briefing-copy p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.briefing-actions { display:flex; gap:8px; align-items:center; margin-top:10px; flex-wrap:wrap; }
.briefing-actions a { display:inline-flex; align-items:center; gap:5px; font-size:9px; font-weight:800; color:var(--brand-strong); text-decoration:none; }
.briefing-actions .briefing-primary { background:var(--brand); color:var(--on-brand); padding:7px 10px; border-radius:999px; }
.briefing-empty { display:flex; align-items:center; gap:10px; padding:14px; color:inherit; text-decoration:none; }
.briefing-page-hero { padding:8px 0 4px; }
.briefing-page-hero h2 { margin:5px 0 6px; font-size:28px; letter-spacing:-.04em; }
.briefing-page-hero p { color:var(--muted); font-size:12px; line-height:1.5; margin:0; }
.briefing-player-card { padding:16px; }
.briefing-player-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.briefing-player-head h3 { margin:3px 0 0; }
.briefing-eq { display:flex; align-items:center; gap:3px; height:26px; }
.briefing-eq i { width:3px; border-radius:99px; background:var(--brand-strong); height:35%; }
.briefing-eq i:nth-child(2),.briefing-eq i:nth-child(4) { height:80%; }
.briefing-eq i:nth-child(3) { height:55%; }
.briefing-audio { width:100%; }
.briefing-no-audio { display:flex; gap:9px; align-items:center; padding:12px; border-radius:14px; background:var(--surface-2); color:var(--muted); font-size:10px; }
.briefing-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.briefing-stat { padding:14px; display:grid; gap:5px; }
.briefing-stat span,.briefing-stat small { color:var(--muted); font-size:9px; }
.briefing-stat strong { font-size:20px; }
.briefing-transcript { padding:18px; font-size:12px; line-height:1.7; }
.briefing-waiting { padding:22px; text-align:center; }
.briefing-waiting .row-icon { margin:0 auto 10px; }

@media (min-width: 520px) {
  .funnel-v07 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .funnel-available,.funnel-offered { grid-column: span 3; }
}

@media (max-width: 390px) {
  .login-v07-word { font-size: 104px; top: 96px; letter-spacing: -6px; -webkit-text-stroke: 4px #0b2d6b; }
  .login-v07-hand { right: 8px; top: 116px; font-size: 22px; }
  .login-glass-card { margin-top: 208px; padding: 22px 18px 18px; }
  .funnel-count { font-size:26px; }
  .briefing-card { grid-template-columns:76px 1fr; }
}

/* ===== v0.8 dashboard refresh ===== */
.content { padding-top: 14px; }
.home-section { margin-top: 28px; }
.home-section:first-child { margin-top: 6px; }
.home-heading { margin-bottom: 14px; }
.home-heading h2 { font-size: 24px; line-height: 1.02; letter-spacing: -.04em; }
.home-heading a { align-self: flex-end; }
.home-heading-light h2, .home-heading-light a { color: white; }
.section-kicker { display:inline-flex; align-items:center; gap:6px; margin-bottom: 6px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color: var(--brand-strong); }
.section-kicker-light { color: rgba(255,255,255,.72); }
.home-section-hero { padding: 2px 0 0; }
.hero-offer-card { display:block; padding: 18px; color: white; border: 0; overflow: hidden; position: relative; background:
  radial-gradient(circle at 85% 12%, rgba(255,255,255,.15), transparent 28%),
  radial-gradient(circle at 14% 86%, rgba(167,244,50,.14), transparent 30%),
  linear-gradient(145deg, #0b2d6b 0%, #1768e8 100%); border-radius: 28px; box-shadow: 0 26px 60px rgba(11,45,107,.24); }
.hero-offer-card::before { content:""; position:absolute; inset:auto -45px -45px auto; width:150px; height:150px; border-radius:50%; background: rgba(255,255,255,.10); }
.hero-offer-top { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.hero-offer-copy { min-width:0; }
.hero-eyebrow { color: rgba(255,255,255,.72); margin-bottom: 7px; }
.hero-offer-copy h3 { margin:0; font-size: 42px; line-height: .92; letter-spacing: -.07em; }
.hero-offer-copy p { margin: 9px 0 0; max-width: 240px; color: rgba(255,255,255,.84); font-size: 12px; line-height: 1.5; }
.hero-offer-badge { flex:0 0 110px; min-height: 92px; padding: 14px 12px; border-radius: 22px; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); display:grid; align-content:space-between; backdrop-filter: blur(10px); }
.hero-offer-badge strong { font-size: 20px; line-height: 1; }
.hero-offer-badge span { font-size: 12px; color: rgba(255,255,255,.76); }
.hero-offer-window-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.hero-window-card { min-height: 88px; padding: 14px; border-radius: 20px; background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.13); display:grid; gap:5px; align-content:start; }
.hero-window-card.is-accent { background: rgba(167,244,50,.16); border-color: rgba(167,244,50,.28); }
.hero-window-card span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.70); font-weight: 800; }
.hero-window-card strong { font-size: 28px; line-height: 1; letter-spacing: -.05em; }
.hero-window-card small { font-size: 12px; color: rgba(255,255,255,.78); }
.hero-offer-footer { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.16); display:flex; justify-content:space-between; gap: 14px; align-items:flex-end; }
.hero-offer-metrics { display:flex; flex-wrap:wrap; gap: 8px; }
.hero-offer-metrics span { min-width: 74px; display:grid; gap:3px; }
.hero-offer-metrics b { font-size: 16px; line-height:1; }
.hero-offer-metrics small { font-size: 10px; color: rgba(255,255,255,.74); text-transform: uppercase; letter-spacing: .05em; }
.hero-offer-cta { display:inline-flex; align-items:center; gap:6px; font-size: 12px; font-weight: 800; white-space:nowrap; }

.briefing-hero-card { position: relative; overflow: visible; padding: 18px; display:grid; grid-template-columns: 92px 1fr; gap: 16px; align-items:center; }
.briefing-hero-empty { color: inherit; }
.briefing-assistant-shell { position: relative; min-height: 132px; }
.briefing-assistant-glow { position:absolute; inset: 12px 10px 0 0; border-radius: 28px; background: linear-gradient(180deg, #eaf1fb 0%, #f5f8fd 100%); }
.briefing-assistant-badge { position:absolute; left: 0; top: -22px; width: 88px; height: 150px; border-radius: 32px 32px 24px 24px; background: linear-gradient(180deg, #ffffff 0%, #edf3fb 100%); border: 1px solid rgba(11,45,107,.08); box-shadow: 0 18px 40px rgba(12,35,79,.12); display:grid; align-content:end; justify-items:center; padding-bottom: 18px; }
.briefing-assistant-badge::before { content:""; position:absolute; top: 12px; left:50%; width: 56px; height: 56px; transform: translateX(-50%); border-radius: 50%; background: linear-gradient(145deg, #0b2d6b, #1768e8); box-shadow: 0 12px 30px rgba(23,104,232,.22); }
.briefing-assistant-badge::after { content:""; position:absolute; top: 70px; left:50%; width: 48px; height: 32px; transform: translateX(-50%); border-radius: 18px 18px 10px 10px; background: linear-gradient(145deg, #dfe8f6, #f8fbff); }
.briefing-assistant-badge span,
.briefing-assistant-badge strong { position: relative; z-index: 1; }
.briefing-assistant-badge span { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.briefing-assistant-badge strong { font-size: 22px; line-height: 1; color: var(--blue-900); }
.briefing-hero-copy h3 { margin: 4px 0 6px; font-size: 26px; line-height: .98; letter-spacing: -.04em; }
.briefing-hero-copy p { margin: 0; font-size: 12px; line-height: 1.55; color: var(--muted); }
.briefing-hero-actions { display:flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.briefing-secondary, .ghost-state { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:800; color: var(--brand-strong); }
.ghost-state { color: var(--muted); background: var(--surface-2); padding: 7px 10px; border-radius: 999px; }

.home-quick-grid-airy { gap: 12px; }
.home-quick-action { min-height: 78px; padding: 14px; border-radius: 18px; }
.home-quick-action strong { font-size: 12px; }
.home-quick-action small { font-size: 10px; }

.funnel-board { display:grid; gap: 12px; }
.funnel-board-hero { display:block; padding: 18px; border-radius: 24px; background: linear-gradient(160deg, color-mix(in srgb, var(--brand-strong) 10%, white), var(--surface)); }
.funnel-board-hero-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.funnel-board-eyebrow { margin-bottom: 8px; }
.funnel-board-hero h3 { margin:0; font-size: 24px; letter-spacing: -.04em; }
.funnel-board-count { display:inline-flex; min-width: 92px; justify-content:center; padding: 14px 12px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); font-size: 24px; font-weight: 850; letter-spacing: -.04em; }
.funnel-board-metrics { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.funnel-board-metrics span { padding: 12px 14px; border-radius: 18px; background: rgba(255,255,255,.62); border:1px solid var(--line); display:grid; gap:4px; }
.funnel-board-metrics b { font-size: 14px; }
.funnel-board-metrics small { font-size: 10px; color: var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.funnel-stage-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.funnel-stage-card { padding: 14px; border-radius: 20px; min-width:0; }
.funnel-stage-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom: 12px; color: var(--muted); }
.funnel-stage-step { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.funnel-stage-card strong { display:block; font-size: 28px; line-height: 1; letter-spacing: -.05em; }
.funnel-stage-card small { display:block; margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.funnel-stage-favorite { border-top: 3px solid #f4b400; }
.funnel-stage-offered { border-top: 3px solid #1768e8; }
.funnel-stage-waiting { border-top: 3px solid #e5a11b; }
.funnel-stage-won { border-top: 3px solid #1ba672; }
.funnel-stage-lost { border-top: 3px solid #d63b4a; }

.home-section-split { display:grid; gap: 28px; }
.home-split-col { min-width: 0; }

.skeleton-hero { min-height: 286px; border-radius: 28px; }
.skeleton-funnel-lead { min-height: 160px; border-radius: 24px; }

@media (min-width: 520px) {
  .hero-offer-window-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .funnel-stage-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .home-section-split { grid-template-columns: 1fr 1fr; align-items: start; }
}

@media (max-width: 390px) {
  .hero-offer-copy h3 { font-size: 36px; }
  .hero-offer-badge { flex-basis: 96px; }
  .hero-offer-footer { align-items: flex-start; flex-direction: column; }
  .briefing-hero-card { grid-template-columns: 76px 1fr; }
  .briefing-assistant-badge { width: 72px; height: 136px; }
  .briefing-hero-copy h3 { font-size: 22px; }
}

/* ===== v0.8.2 dashboard hero: tighten match for approved mobile mockup ===== */
.dash-hero-wrap { margin-top: 4px; }
.dash-hero-card { display:block; padding: 16px; border-radius: 28px; color:#fff; background:
  radial-gradient(circle at 84% 16%, rgba(255,255,255,.18), transparent 24%),
  linear-gradient(145deg,#0b2d6b 0%,#1768e8 100%); box-shadow:0 24px 60px rgba(18,73,169,.24); overflow:hidden; position:relative; }
.dash-hero-card::after { content:""; position:absolute; right:-44px; bottom:-62px; width:168px; height:168px; border-radius:50%; background:rgba(255,255,255,.10); }
.dash-hero-art { position:absolute; inset:58px 110px 104px auto; width:170px; pointer-events:none; opacity:.28; z-index:0; }
.dash-hero-art img { display:block; width:100%; height:auto; }
.dash-hero-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; position:relative; z-index:1; }
.dash-kicker { display:block; font-size:17px; line-height:1.03; font-weight:860; letter-spacing:-.035em; }
.dash-hero-head p { margin:5px 0 0; color:rgba(255,255,255,.82); font-size:12px; }
.dash-hero-chart { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:rgba(255,255,255,.14); color:white; backdrop-filter:blur(8px); }
.dash-hero-main { position:relative; z-index:1; margin-top: 12px; display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.dash-hero-side { display:grid; justify-items:end; align-content:start; gap:10px; }
.dash-hero-number-wrap { display:flex; align-items:baseline; gap:8px; }
.dash-hero-number { font-size:52px; line-height:.92; letter-spacing:-.07em; }
.dash-hero-number-wrap > span { color:rgba(255,255,255,.92); font-size:17px; font-weight:700; }
.dash-hero-total-pill { min-width:98px; padding:10px 12px; border-radius:18px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); display:grid; gap:2px; }
.dash-hero-total-pill b { font-size:17px; line-height:1; letter-spacing:-.04em; }
.dash-hero-total-pill small { color:rgba(255,255,255,.78); font-size:9px; }
.dash-hero-cta { display:inline-flex; align-items:center; gap:5px; background:#fff; color:#0b56ce; font-weight:850; font-size:12px; padding:11px 14px; border-radius:999px; white-space:nowrap; box-shadow:0 8px 20px rgba(14,46,106,.12); }
.dash-trend { display:inline-flex; align-items:center; gap:6px; }
.dash-trend b { font-size:12px; line-height:1; }
.dash-trend small { font-size:10px; line-height:1.2; }
.dash-trend.is-positive { color:#7df0b3; }
.dash-trend.is-negative { color:#ffd2d8; }
.dash-hero-trend { margin-top: 7px; }
.dash-hero-trend small { color:rgba(255,255,255,.86); }
.dash-period-grid { position:relative; z-index:1; margin-top:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.dash-period { min-height:88px; padding:11px 11px 10px; border-radius:18px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.12); display:grid; align-content:start; gap:5px; }
.dash-period.is-active { background:rgba(255,255,255,.96); color:#0b4dad; }
.dash-period > span { font-size:10px; font-weight:850; }
.dash-period-countline { display:flex; align-items:baseline; gap:5px; min-width:0; }
.dash-period strong { font-size:25px; line-height:1; letter-spacing:-.05em; }
.dash-period em { font-style:normal; font-size:10px; color:rgba(255,255,255,.78); }
.dash-period.is-active em { color:#5f738d; }
.dash-period-trend { align-items:center; }
.dash-period-trend b { font-size:10px; }
.dash-period-trend small { font-size:9px; }
.dash-period.is-active .dash-period-trend small { color:#5f738d; }
.dash-hero-totals { position:relative; z-index:1; margin-top:14px; padding-top:13px; border-top:1px solid rgba(255,255,255,.20); display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.dash-hero-totals > span { min-width:0; display:grid; grid-template-columns:30px 1fr; grid-template-areas:"ico label" "ico value" "ico delta"; gap:2px 8px; align-items:center; }
.dash-hero-totals i { grid-area:ico; width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:rgba(255,255,255,.12); font-style:normal; }
.dash-hero-totals em { grid-area:label; font-style:normal; color:rgba(255,255,255,.68); font-size:9px; }
.dash-hero-totals b { grid-area:value; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.dash-inline-delta { grid-area:delta; color:#7df0b3; font-size:9px; line-height:1.2; }
.dash-inline-delta.is-negative { color:#ffd2d8; }

.dash-section { margin-top: 32px; }
.dash-section-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:13px; }
.dash-section-head h2 { margin:3px 0 0; font-size:22px; line-height:1; letter-spacing:-.04em; }
.dash-section-head > a { color:var(--brand-strong); font-weight:800; font-size:12px; }
.dash-section-kicker { color:var(--brand-strong); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.compact-head h2 { font-size:19px; }

.dash-briefing-section { margin-top: 18px; position: relative; z-index: 4; }
.dash-briefing-card { position:relative; min-height:162px; border:1px solid color-mix(in srgb,var(--brand-strong) 8%,var(--line)); border-radius:26px; background:rgba(255,255,255,.90); box-shadow:0 18px 42px rgba(34,73,129,.09); padding:18px 16px 18px 134px; overflow:visible; isolation:isolate; }
html[data-theme="dark"] .dash-briefing-card { background:rgba(19,29,39,.94); }
.dash-briefing-left-panel { position:absolute; z-index:0; left:0; top:0; bottom:0; width:128px; border-radius:25px 54px 46px 25px; background:
  radial-gradient(circle at 35% 28%, rgba(255,255,255,.78), transparent 32%),
  linear-gradient(155deg, rgba(215,232,255,.82) 0%, rgba(227,239,255,.62) 48%, rgba(243,248,255,.22) 100%); }
html[data-theme="dark"] .dash-briefing-left-panel { background:linear-gradient(155deg,rgba(37,72,116,.44),rgba(33,48,64,.18)); }
.dash-assistant-cutout { position:absolute; z-index:3; left:-6px; top:-48px; width:142px; height:210px; overflow:visible; pointer-events:none; }
.dash-assistant-cutout img { display:block; width:148px; height:210px; object-fit:cover; object-position:center top; mix-blend-mode:multiply; border-radius:72px 72px 0 0; -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 90%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 90%,transparent 100%); }
html[data-theme="dark"] .dash-assistant-cutout img { mix-blend-mode:normal; }
.dash-briefing-copy { position:relative; z-index:4; min-width:0; }
.dash-briefing-title-row { display:flex; align-items:center; gap:8px; }
.dash-coffee-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:10px; background:rgba(23,104,232,.08); color:var(--brand-strong); flex:0 0 auto; }
.dash-briefing-copy h3 { margin:0; font-size:22px; line-height:1; letter-spacing:-.04em; }
.dash-briefing-copy p { margin:7px 0 0; color:var(--muted); font-size:10.5px; line-height:1.42; }
.dash-briefing-subline { display:block; margin-top:2px; color:var(--muted-2); font-size:9.5px; line-height:1.35; }
.dash-briefing-actions { margin-top:13px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:9px; }
.dash-briefing-action { min-width:0; min-height:48px; border-radius:20px; border:1px solid rgba(23,104,232,.12); background:linear-gradient(110deg,rgba(255,255,255,.78),rgba(239,246,255,.56)); box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 7px 20px rgba(23,104,232,.07); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:7px; padding:4px 9px 4px 4px; }
html[data-theme="dark"] .dash-briefing-action { background:linear-gradient(110deg,rgba(255,255,255,.07),rgba(167,244,50,.03)); border-color:rgba(255,255,255,.1); }
.dash-briefing-action-icon { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:rgba(23,104,232,.09); color:var(--brand-strong); border:1px solid rgba(23,104,232,.10); box-shadow:inset 0 1px 0 rgba(255,255,255,.75); }
.dash-briefing-action-icon.is-play { background:linear-gradient(145deg,#1768e8,#0f56ca); color:#fff; border:3px solid rgba(255,255,255,.72); box-shadow:0 5px 14px rgba(23,104,232,.24),0 0 0 4px rgba(23,104,232,.08); }
.dash-briefing-action-copy { min-width:0; }
.dash-briefing-action-copy b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:10px; letter-spacing:-.01em; }
.dash-briefing-action-audio .dash-briefing-action-copy b { color:var(--brand-strong); }
.dash-briefing-action-value { flex:0 0 auto; color:var(--muted); font-size:9px; font-weight:750; white-space:nowrap; }
.dash-briefing-action-read .dash-briefing-action-icon { border-radius:12px; background:rgba(23,104,232,.07); }
.sales-funnel-shell { border-radius:26px; background:color-mix(in srgb,var(--surface-2) 75%,transparent); padding:14px; overflow:hidden; }
.sales-funnel-board { display:grid; gap:8px; }
.sales-funnel-row { display:grid; align-items:stretch; gap:8px; }
.sales-funnel-row-top { justify-content:center; grid-template-columns:minmax(0, 178px); }
.sales-funnel-row-middle { grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr); }
.sales-funnel-row-bottom { grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr); }
.sales-funnel-connector { display:grid; place-items:center; color:var(--brand-strong); opacity:.95; }
.sales-funnel-connector svg { width:16px; height:16px; }
.sales-funnel-connector-down { justify-self:center; width:20px; height:18px; }
.sales-funnel-connector.is-between { margin-top:-2px; margin-bottom:-2px; }
.sales-funnel-connector-side { align-self:center; }
.sales-funnel-card { min-width:0; min-height:96px; border-radius:20px; border:1px solid rgba(19, 53, 112, .08); box-shadow:var(--shadow-card); padding:12px 12px 11px; display:grid; align-content:start; gap:7px; }
.sales-funnel-card-head { display:flex; align-items:center; gap:7px; min-width:0; }
.sales-funnel-card-icon { width:28px; height:28px; border-radius:10px; display:grid; place-items:center; flex:0 0 28px; }
.sales-funnel-card small { min-width:0; color:#5f6e86; font-size:9px; font-weight:850; line-height:1.2; letter-spacing:.01em; }
.sales-funnel-card strong { font-size:20px; line-height:1; letter-spacing:-.04em; color:#0f1833; }
.sales-funnel-card-metrics { display:grid; gap:3px; }
.sales-funnel-card em { font-size:8px; line-height:1.3; font-style:normal; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sales-funnel-card-viewed { background:linear-gradient(180deg,#eef4ff 0%,#e4edff 100%); }
.sales-funnel-card-viewed .sales-funnel-card-icon { background:#d9e7ff; color:#2f6ff3; }
.sales-funnel-card-favorite { background:linear-gradient(180deg,#fff7df 0%,#ffefbf 100%); }
.sales-funnel-card-favorite .sales-funnel-card-icon { background:#fff0be; color:#d59100; }
.sales-funnel-card-offered { background:linear-gradient(180deg,#eaf3ff 0%,#dfeaff 100%); }
.sales-funnel-card-offered .sales-funnel-card-icon { background:#dbe8ff; color:#256eea; }
.sales-funnel-card-waiting { background:linear-gradient(180deg,#e6f8ee 0%,#d8f2e4 100%); }
.sales-funnel-card-waiting .sales-funnel-card-icon { background:#d1f0e0; color:#199160; }
.sales-funnel-card-won { background:linear-gradient(180deg,#eef9e8 0%,#dff2d2 100%); }
.sales-funnel-card-won .sales-funnel-card-icon { background:#d9edcb; color:#5ea41d; }
.sales-funnel-card-lost { background:linear-gradient(180deg,#fff0f2 0%,#ffe1e5 100%); }
.sales-funnel-card-lost .sales-funnel-card-icon { background:#ffd5db; color:#d63b4a; }
@media (max-width: 430px) {
  .sales-funnel-shell { padding:12px; }
  .sales-funnel-row-top { grid-template-columns:minmax(0, 164px); }
  .sales-funnel-row,
  .sales-funnel-board { gap:7px; }
  .sales-funnel-row-middle { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr); }
  .sales-funnel-row-bottom { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr); }
  .sales-funnel-card { min-height:92px; padding:11px 10px 10px; gap:6px; border-radius:18px; }
  .sales-funnel-card-icon { width:26px; height:26px; border-radius:9px; flex-basis:26px; }
  .sales-funnel-card strong { font-size:18px; }
  .sales-funnel-card small { font-size:8.6px; }
  .sales-funnel-card em { font-size:7.5px; }
}

.dash-today-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.dash-mini-card { min-height:92px; border-radius:19px; border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-card); padding:11px; display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; }
.dash-mini-card .row-icon { width:32px; height:32px; border-radius:11px; }
.dash-mini-card div { min-width:0; }
.dash-mini-card strong { display:block; font-size:19px; }
.dash-mini-card small { display:block; margin-top:2px; font-size:9px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dash-lower-grid { display:grid; gap:28px; }

@media (min-width: 520px) {
  .dash-lower-grid { grid-template-columns:1fr 1fr; align-items:start; }
}
@media (max-width: 430px) {
  .dash-hero-card { padding:15px; }
  .dash-kicker { font-size:16px; }
  .dash-hero-main { align-items:flex-start; }
  .dash-hero-art { inset:66px 82px 113px auto; width:148px; }
  .dash-hero-number { font-size:46px; }
  .dash-hero-total-pill { min-width:92px; }
  .dash-hero-cta { padding:10px 13px; }
}
@media (max-width: 390px) {
  .dash-hero-main { display:block; }
  .dash-hero-side { margin-top:10px; grid-template-columns:auto auto; justify-content:space-between; align-items:center; gap:10px; }
  .dash-hero-total-pill { justify-self:start; }
  .dash-period-grid { grid-template-columns:1fr; }
  .dash-period { min-height:70px; grid-template-columns:68px 1fr; grid-template-areas:"label label" "count trend"; align-items:center; gap:6px 10px; }
  .dash-period > span { grid-area:label; }
  .dash-period-countline { grid-area:count; }
  .dash-period-trend { grid-area:trend; justify-self:end; text-align:right; }
  .dash-hero-totals { grid-template-columns:1fr; }
  .dash-briefing-card { min-height:156px; padding:16px 12px 16px 116px; border-radius:24px; }
  .dash-briefing-left-panel { width:110px; border-radius:23px 46px 40px 23px; }
  .dash-assistant-cutout { left:-8px; top:-40px; width:124px; height:196px; }
  .dash-assistant-cutout img { width:130px; height:196px; }
  .dash-briefing-copy h3 { font-size:20px; }
  .dash-briefing-actions { gap:7px; }
  .dash-briefing-action { min-height:45px; grid-template-columns:36px minmax(0,1fr) auto; gap:5px; padding-right:7px; }
  .dash-briefing-action-icon { width:34px; height:34px; }
  .dash-briefing-action-copy b { font-size:9px; }
  .dash-briefing-action-value { font-size:8px; }
  .dash-today-grid { grid-template-columns:1fr; }
}
.topbar-copy { min-width:0; }
.topbar-subtitle { margin-top:3px; color:var(--muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ===== v0.8.3 hero pass 2 ===== */
.dash-hero-card {
  padding: 14px 14px 12px;
  border-radius: 26px;
  min-height: 0;
}
.dash-hero-card::after { display:none !important; }
.dash-hero-art {
  inset: 0 -10px 0 36%;
  width: auto;
  z-index: 0;
  opacity: .34;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.36) 22%, #000 58%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.36) 22%, #000 58%, #000 100%);
}
.dash-hero-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:56% 50%;
  opacity:.95;
  filter:saturate(.8) contrast(.92) brightness(1.03);
}
.dash-hero-head { gap:10px; }
.dash-kicker { font-size:16px; }
.dash-hero-head p { margin-top:3px; font-size:10px; }
.dash-hero-chart { width:38px; height:38px; border-radius:13px; }
.dash-hero-main { margin-top:9px; align-items:center; }
.dash-hero-number { font-size:48px; }
.dash-hero-number-wrap > span { font-size:15px; }
.dash-hero-side { gap:7px; }
.dash-hero-total-pill { display:none !important; }
.dash-hero-cta {
  width:150px;
  min-height:34px;
  padding:0 10px 0 15px;
  justify-content:space-between;
  background:linear-gradient(90deg,#fff 0%,#fff 75%,#e9f2ff 75%,#e9f2ff 100%);
  border:1px solid rgba(255,255,255,.88);
  font-size:10px;
  box-shadow:0 8px 18px rgba(14,46,106,.12);
}
.dash-hero-trend { margin-top:5px; }
.dash-hero-trend b { font-size:10px; }
.dash-hero-trend small { font-size:9px; }
.dash-trend.is-empty { color:rgba(255,255,255,.58); }
.dash-period.is-active .dash-trend.is-empty { color:#8ca0b9; }
.dash-period-grid { margin-top:12px; gap:7px; }
.dash-period {
  min-height:68px;
  padding:8px 9px;
  border-radius:16px;
  gap:3px;
}
.dash-period > span { font-size:9px; }
.dash-period-countline { gap:4px; }
.dash-period strong { font-size:23px; }
.dash-period em { font-size:8px; }
.dash-period-trend { gap:4px; }
.dash-period-trend b { font-size:9px; }
.dash-period-trend small { font-size:7px; line-height:1.05; }
.dash-hero-totals {
  margin-top:11px;
  padding-top:10px;
  gap:7px;
}
.dash-hero-totals > span {
  grid-template-columns:26px 1fr;
  gap:1px 7px;
}
.dash-hero-totals i { width:26px; height:26px; border-radius:9px; }
.dash-hero-totals em { font-size:8px; }
.dash-hero-totals b { font-size:12px; }
.dash-inline-delta { font-size:8px; }

@media (max-width: 430px) {
  .dash-hero-card { padding:13px 13px 11px; }
  .dash-hero-main { margin-top:8px; }
  .dash-hero-number { font-size:45px; }
  .dash-hero-art { inset:0 -26px 0 34%; width:auto; }
  .dash-hero-cta { width:146px; min-height:33px; padding-left:14px; }
  .dash-period-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .dash-period { min-height:66px; padding:8px 8px 7px; display:grid; grid-template-columns:1fr; grid-template-areas:none; align-items:start; }
  .dash-period > span,.dash-period-countline,.dash-period-trend { grid-area:auto; justify-self:stretch; text-align:left; }
  .dash-period strong { font-size:22px; }
}

@media (max-width: 360px) {
  .dash-hero-card { padding:12px; }
  .dash-kicker { font-size:15px; }
  .dash-hero-number { font-size:42px; }
  .dash-hero-cta { width:136px; }
  .dash-period { min-height:64px; padding:7px 7px 6px; }
  .dash-period strong { font-size:20px; }
  .dash-period-trend small { display:none; }
  .dash-hero-totals { grid-template-columns:1fr 1fr; }
}

/* ===== v0.8.5 hero polish ===== */
.dash-hero-card {
  padding: 13px 13px 11px;
  border-radius: 25px;
}
.dash-kicker {
  font-family: var(--font);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.035em;
}
.dash-hero-head p {
  margin-top: 2px;
  font-size: 9px;
  font-weight: 500;
}
.dash-hero-main {
  margin-top: 8px;
}
.dash-hero-number {
  font-family: var(--font);
  font-size: 46px;
  font-weight: 800;
  letter-spacing: -.065em;
}
.dash-hero-number-wrap > span {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 700;
}
.dash-hero-chart {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px) saturate(135%);
  -webkit-backdrop-filter: blur(14px) saturate(135%);
}
.dash-hero-cta {
  width: 148px;
  min-height: 32px;
  border-radius: 999px;
  font-family: var(--font);
  font-size: 9px;
  font-weight: 800;
}
.dash-hero-trend {
  margin-top: 4px;
  gap: 5px;
}
.dash-hero-trend b {
  font-size: 9px;
  font-weight: 800;
}
.dash-hero-trend small {
  font-size: 8px;
  opacity: .9;
}

.dash-period-grid {
  margin-top: 10px;
  gap: 7px;
}
.dash-period {
  min-height: 61px;
  padding: 8px 9px 7px;
  border-radius: 15px;
  background: rgba(255,255,255,.105);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 8px 24px rgba(5,45,120,.07);
  backdrop-filter: blur(14px) saturate(135%);
  -webkit-backdrop-filter: blur(14px) saturate(135%);
  gap: 2px;
}
.dash-period.is-active {
  background: rgba(255,255,255,.89);
  border-color: rgba(255,255,255,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 8px 24px rgba(5,45,120,.10);
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
}
.dash-period > span {
  font-family: var(--font);
  font-size: 8px;
  font-weight: 800;
}
.dash-period-countline {
  gap: 4px;
  align-items: baseline;
}
.dash-period strong {
  font-family: var(--font);
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -.055em;
}
.dash-period em {
  font-size: 7px;
  font-weight: 600;
  opacity: .88;
}
.dash-period-trend {
  margin-top: 1px;
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 11px;
}
.dash-period-trend b {
  font-family: var(--font);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.dash-period-trend small {
  display: none !important;
}
.dash-period .dash-trend.is-positive { color: #7df0b3; }
.dash-period .dash-trend.is-negative { color: #ffd2d8; }
.dash-period.is-active .dash-trend.is-positive { color: #15a66f; }
.dash-period.is-active .dash-trend.is-negative { color: #d63b4a; }
.dash-period.is-active .dash-trend.is-empty { color: #8193aa; }

.dash-hero-totals {
  margin-top: 9px;
  padding-top: 9px;
  gap: 8px;
}
.dash-hero-totals > span {
  grid-template-columns: 25px minmax(0,1fr) auto;
  grid-template-areas:
    "ico label label"
    "ico value delta";
  gap: 1px 7px;
}
.dash-hero-totals i {
  width: 25px;
  height: 25px;
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.dash-hero-totals em {
  font-family: var(--font);
  font-size: 7px;
  font-weight: 500;
  color: rgba(255,255,255,.65);
}
.dash-hero-totals b {
  font-family: var(--font);
  font-size: 10px;
  font-weight: 800;
}
.dash-inline-delta {
  grid-area: delta;
  align-self: center;
  justify-self: end;
  font-family: var(--font);
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 430px) {
  .dash-hero-card { padding: 12px 12px 10px; }
  .dash-hero-number { font-size: 44px; }
  .dash-hero-cta { width: 143px; min-height: 31px; }
  .dash-period-grid { gap: 6px; }
  .dash-period { min-height: 59px; padding: 7px 8px 6px; }
  .dash-period strong { font-size: 20px; }
}

@media (max-width: 360px) {
  .dash-hero-card { padding: 11px; }
  .dash-kicker { font-size: 15px; }
  .dash-hero-number { font-size: 40px; }
  .dash-hero-cta { width: 132px; min-height: 30px; }
  .dash-period { min-height: 57px; padding: 7px 7px 6px; }
  .dash-period strong { font-size: 18px; }
  .dash-hero-totals { grid-template-columns: 1fr 1fr; }
}

/* ===== v0.8.6 hero polish: compact glass / 7d-30d-all time ===== */
.dash-hero-card {
  padding: 12px 12px 10px;
  border-radius: 21px;
}
.dash-hero-art {
  inset: 0 -14px auto 31%;
  width: auto;
  height: 74%;
  opacity: .30;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 12%, rgba(0,0,0,.78) 50%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 12%, rgba(0,0,0,.78) 50%, #000 100%);
}
.dash-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% top;
  filter: saturate(.78) contrast(.91) brightness(1.04);
}
.dash-hero-main {
  margin-top: 7px;
}
.dash-hero-number {
  font-size: 47px;
}
.dash-hero-number-wrap > span {
  font-size: 14px;
}
.dash-hero-cta {
  width: 151px;
  min-height: 30px;
  padding: 0 9px 0 14px;
  background: linear-gradient(90deg,
    #ffffff 0%,
    #ffffff 58%,
    #fbfdff 69%,
    #f2f7ff 79%,
    #e5efff 90%,
    #d8e8ff 100%);
  border: 1px solid rgba(255,255,255,.92);
  box-shadow: 0 7px 16px rgba(14,46,106,.10);
}
.dash-hero-trend { display: none !important; }

.dash-period-grid {
  margin-top: 10px;
  gap: 7px;
}
.dash-period,
.dash-period.is-active {
  min-height: 57px;
  padding: 7px 8px 6px;
  border-radius: 13px;
  color: #fff;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.19);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 7px 20px rgba(5,45,120,.035);
  backdrop-filter: blur(15px) saturate(128%);
  -webkit-backdrop-filter: blur(15px) saturate(128%);
}
.dash-period > span {
  color: rgba(255,255,255,.88);
  font-size: 8px;
}
.dash-period strong {
  color: #fff;
  font-size: 20px;
}
.dash-period em,
.dash-period.is-active em {
  color: rgba(255,255,255,.70);
  font-size: 7px;
}
.dash-period .dash-trend.is-positive,
.dash-period.is-active .dash-trend.is-positive { color: #79f0b1; }
.dash-period .dash-trend.is-negative,
.dash-period.is-active .dash-trend.is-negative { color: #ffd0d6; }
.dash-period-trend {
  min-height: 10px;
  margin-top: 0;
}
.dash-period-trend b {
  font-size: 8px;
}
.dash-period-trend-empty {
  visibility: hidden;
}

.dash-hero-totals {
  margin-top: 8px;
  padding-top: 8px;
  gap: 9px;
}
.dash-hero-totals > span {
  grid-template-columns: 25px minmax(0,1fr);
  grid-template-areas:
    "ico label"
    "ico value";
  gap: 1px 7px;
}
.dash-hero-totals i {
  width: 25px;
  height: 25px;
}
.dash-hero-totals em {
  font-size: 7px;
  color: rgba(255,255,255,.68);
}
.dash-hero-totals b {
  font-size: 12px;
  line-height: 1.05;
  letter-spacing: -.015em;
}
.dash-inline-delta { display: none !important; }

@media (max-width: 430px) {
  .dash-hero-card { padding: 11px 11px 9px; border-radius: 20px; }
  .dash-hero-art { inset: 0 -18px auto 29%; height: 75%; }
  .dash-hero-number { font-size: 45px; }
  .dash-hero-cta { width: 147px; min-height: 29px; }
  .dash-period-grid { gap: 6px; }
  .dash-period,
  .dash-period.is-active { min-height: 55px; padding: 7px 7px 6px; }
  .dash-period strong { font-size: 19px; }
}

@media (max-width: 360px) {
  .dash-hero-card { padding: 10px; border-radius: 19px; }
  .dash-hero-art { inset: 0 -22px auto 27%; height: 74%; }
  .dash-hero-number { font-size: 41px; }
  .dash-hero-cta { width: 132px; min-height: 28px; padding-left: 11px; }
  .dash-period,
  .dash-period.is-active { min-height: 53px; padding: 6px; }
  .dash-period strong { font-size: 17px; }
  .dash-period em { font-size: 6px; }
  .dash-hero-totals b { font-size: 12px; }
}

/* ===== v0.8.7 hero/header refinement ===== */
.topbar-greeting {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.035em;
}
.topbar-subtitle {
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.2;
}

.dash-hero-card {
  background:
    radial-gradient(circle at 76% 8%, rgba(120,190,255,.24) 0%, rgba(120,190,255,0) 34%),
    linear-gradient(132deg, #0a50b8 0%, #0f62d3 52%, #1974ed 100%) !important;
}

.dash-hero-art {
  inset: -24px -18px auto 28% !important;
  height: 88% !important;
  opacity: .28 !important;
}
.dash-hero-art img {
  object-position: 58% top !important;
  transform: translateY(-8px) scale(1.03);
}

.dash-period.is-all-time .dash-period-countline {
  display: grid;
  gap: 1px;
  align-items: start;
}
.dash-period.is-all-time .dash-period-countline em {
  display: block;
  margin-top: 0;
  line-height: 1.05;
}
.dash-period.is-all-time .dash-period-trend-empty {
  visibility: hidden;
}

@media (max-width: 430px) {
  .dash-hero-art {
    inset: -28px -20px auto 26% !important;
    height: 90% !important;
  }
}

@media (max-width: 360px) {
  .dash-hero-art {
    inset: -30px -24px auto 24% !important;
    height: 92% !important;
  }
  .topbar-greeting { font-size: 17px; }
}


/* ===== v0.8.9 Cafeaua VICTA pass 2 ===== */
.dash-briefing-section {
  margin-top: 14px;
  position: relative;
  z-index: 6;
}
.dash-briefing-card {
  min-height: 176px;
  border-radius: 28px;
  border: 1px solid rgba(117, 158, 216, .16);
  background: linear-gradient(120deg, rgba(255,255,255,.78), rgba(249,252,255,.66));
  box-shadow: 0 18px 42px rgba(38, 84, 151, .10), inset 0 1px 0 rgba(255,255,255,.82);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  padding: 19px 15px 16px 142px;
  overflow: visible;
}
html[data-theme="dark"] .dash-briefing-card {
  background: linear-gradient(120deg, rgba(20,31,43,.90), rgba(20,31,43,.72));
  border-color: rgba(255,255,255,.08);
}
.dash-briefing-left-panel {
  left: 0;
  top: 0;
  bottom: 0;
  width: 143px;
  border-radius: 27px 78px 68px 27px;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.76), transparent 34%),
    linear-gradient(145deg, rgba(208,228,255,.78) 0%, rgba(224,238,255,.54) 52%, rgba(241,247,255,.14) 100%);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.dash-assistant-cutout {
  left: -15px;
  top: -42px;
  width: 176px;
  height: 218px;
  overflow: visible;
}
.dash-assistant-cutout img {
  width: 178px;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: left top;
  mix-blend-mode: normal;
  border-radius: 0;
  -webkit-mask-image: none;
  mask-image: none;
  filter: drop-shadow(0 12px 18px rgba(36, 72, 119, .12));
}
.dash-briefing-copy {
  min-width: 0;
  position: relative;
  z-index: 4;
}
.dash-briefing-title-row {
  gap: 7px;
  align-items: center;
}
.dash-coffee-icon {
  width: auto;
  height: auto;
  display: inline-flex;
  place-items: initial;
  border-radius: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--brand-strong);
}
.dash-briefing-copy h3 {
  font-size: 22px;
  letter-spacing: -.035em;
}
.dash-briefing-copy p {
  margin-top: 7px;
  font-size: 10.5px;
  line-height: 1.4;
}
.dash-briefing-subline {
  margin-top: 3px;
  font-size: 9.5px;
}
.dash-briefing-actions {
  margin-top: 14px;
  margin-left: -9px;
  width: calc(100% + 9px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 8px;
  align-items: center;
}
.dash-briefing-action {
  min-width: 0;
  min-height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(88, 136, 205, .14);
  background: linear-gradient(105deg, rgba(240,247,255,.82), rgba(226,239,255,.58));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    0 8px 22px rgba(34, 90, 170, .08);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 4px 10px 4px 4px;
  overflow: visible;
}
html[data-theme="dark"] .dash-briefing-action {
  background: linear-gradient(105deg, rgba(255,255,255,.09), rgba(255,255,255,.045));
  border-color: rgba(255,255,255,.10);
}
.dash-briefing-action-icon {
  width: auto;
  height: auto;
  border: 0;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0;
  display: inline-grid;
  place-items: center;
  color: var(--brand-strong);
}
.dash-briefing-action-icon.is-play {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(145deg, #2b7cff 0%, #1567ed 100%) !important;
  color: #fff;
  border: 3px solid rgba(255,255,255,.78);
  box-shadow:
    0 6px 16px rgba(23,104,232,.26),
    0 0 0 5px rgba(89,151,244,.14) !important;
}
.dash-briefing-action-read .dash-briefing-action-icon {
  width: 24px;
  height: 24px;
  border-radius: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.dash-briefing-action-copy b {
  font-size: 10.5px;
  font-weight: 850;
  white-space: nowrap;
}
.dash-briefing-action-audio .dash-briefing-action-copy b {
  color: #1666e8;
}
.dash-briefing-action-read .dash-briefing-action-copy b {
  color: #1666e8;
}
.dash-briefing-action-value {
  font-size: 9px;
  font-weight: 750;
  color: var(--muted);
  white-space: nowrap;
}

@media (max-width: 430px) {
  .dash-briefing-card {
    min-height: 171px;
    padding: 18px 12px 15px 130px;
    border-radius: 26px;
  }
  .dash-briefing-left-panel {
    width: 132px;
    border-radius: 25px 68px 58px 25px;
  }
  .dash-assistant-cutout {
    left: -14px;
    top: -39px;
    width: 164px;
    height: 210px;
  }
  .dash-assistant-cutout img {
    width: 166px;
  }
  .dash-briefing-copy h3 { font-size: 20px; }
  .dash-briefing-actions {
    margin-left: -7px;
    width: calc(100% + 7px);
    gap: 7px;
  }
  .dash-briefing-action {
    min-height: 49px;
    grid-template-columns: 42px minmax(0,1fr) auto;
    gap: 5px;
    padding-right: 8px;
  }
  .dash-briefing-action-icon.is-play {
    width: 40px;
    height: 40px;
  }
  .dash-briefing-action-copy b { font-size: 9.2px; }
  .dash-briefing-action-value { font-size: 8px; }
}

@media (max-width: 390px) {
  .dash-briefing-card {
    min-height: 174px;
    padding-left: 118px;
  }
  .dash-briefing-left-panel { width: 120px; }
  .dash-assistant-cutout {
    left: -16px;
    top: -35px;
    width: 150px;
    height: 206px;
  }
  .dash-assistant-cutout img { width: 154px; }
  .dash-briefing-actions {
    grid-template-columns: 1.08fr .92fr;
    margin-left: -5px;
    width: calc(100% + 5px);
  }
  .dash-briefing-action {
    min-height: 47px;
    grid-template-columns: 38px minmax(0,1fr) auto;
    gap: 4px;
    padding: 4px 6px 4px 3px;
  }
  .dash-briefing-action-icon.is-play {
    width: 37px;
    height: 37px;
  }
  .dash-briefing-action-copy b { font-size: 8.5px; }
  .dash-briefing-action-value { font-size: 7.5px; }
}

/* ===== v0.8.10 Cafeaua cu VICTA: transparent assistant + full-width pills ===== */
.dash-briefing-card {
  min-height: 178px;
  padding: 18px 14px 16px 136px;
  overflow: visible;
  isolation: isolate;
}
.dash-briefing-left-panel {
  width: 137px;
  border-radius: 27px 76px 64px 27px;
  background: linear-gradient(145deg,
    rgba(210, 230, 255, .66) 0%,
    rgba(225, 239, 255, .46) 58%,
    rgba(239, 247, 255, .16) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.52);
}
.dash-assistant-cutout {
  left: -13px;
  top: -44px;
  width: 170px;
  height: 222px;
  background: transparent !important;
  overflow: visible;
}
.dash-assistant-cutout img {
  width: 172px;
  height: auto;
  max-width: none;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  mix-blend-mode: normal !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: drop-shadow(0 12px 18px rgba(35,72,121,.10));
}
.dash-briefing-copy h3 {
  font-size: 21px;
  white-space: nowrap;
}
.dash-briefing-actions {
  position: relative;
  z-index: 6;
  margin-top: 14px;
  margin-left: -55px;
  width: calc(100% + 55px);
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 8px;
}
.dash-briefing-action {
  min-height: 50px;
  padding: 4px 11px 4px 4px;
  gap: 7px;
  overflow: visible;
}
.dash-briefing-action-copy b {
  font-size: 9.8px;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
.dash-briefing-action-value {
  font-size: 8.5px;
}
.dash-briefing-action-read {
  grid-template-columns: 24px minmax(0, 1fr) auto;
  padding-left: 10px;
}
.dash-briefing-action-read .dash-briefing-action-icon,
.dash-coffee-icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 430px) {
  .dash-briefing-card {
    min-height: 176px;
    padding: 17px 11px 15px 126px;
  }
  .dash-briefing-left-panel { width: 128px; }
  .dash-assistant-cutout {
    left: -12px;
    top: -42px;
    width: 158px;
    height: 216px;
  }
  .dash-assistant-cutout img { width: 160px; }
  .dash-briefing-actions {
    margin-left: -50px;
    width: calc(100% + 50px);
    gap: 7px;
  }
  .dash-briefing-action-copy b { font-size: 9.4px; }
}

@media (max-width: 390px) {
  .dash-briefing-card {
    min-height: 178px;
    padding-left: 116px;
  }
  .dash-briefing-left-panel { width: 118px; }
  .dash-assistant-cutout {
    left: -12px;
    top: -38px;
    width: 148px;
    height: 212px;
  }
  .dash-assistant-cutout img { width: 150px; }
  .dash-briefing-actions {
    margin-left: -47px;
    width: calc(100% + 47px);
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  }
  .dash-briefing-action {
    min-height: 47px;
    gap: 5px;
    padding-right: 7px;
  }
  .dash-briefing-action-copy b { font-size: 8.9px; }
  .dash-briefing-action-value { font-size: 7.8px; }
}

/* ===== v0.8.11 Cafeaua cu VICTA: compact card + slim glass actions ===== */
.dash-briefing-section {
  margin-top: 16px;
}
.dash-briefing-card {
  min-height: 146px;
  padding: 14px 13px 12px 128px;
  border-radius: 23px;
  overflow: visible;
}
.dash-briefing-left-panel {
  width: 126px;
  border-radius: 22px 58px 48px 22px;
}
.dash-assistant-cutout {
  left: -8px;
  top: auto;
  bottom: 0;
  width: 156px;
  height: 170px;
  display: flex;
  align-items: flex-end;
  overflow: visible;
}
.dash-assistant-cutout img {
  width: 158px;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: left bottom;
  transform: none;
}
.dash-briefing-copy h3 {
  font-size: 17px;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.dash-briefing-copy p {
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.35;
}
.dash-briefing-subline {
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.3;
}
.dash-briefing-actions {
  margin-top: 10px;
  margin-left: -56px;
  width: calc(100% + 56px);
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 8px;
  align-items: center;
}
.dash-briefing-action {
  min-height: 32px;
  height: 32px;
  border-radius: 16px;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 6px;
  padding: 0 10px 0 4px;
  overflow: visible;
}
.dash-briefing-action-icon {
  width: 22px;
  height: 22px;
}
.dash-briefing-action-icon.is-play {
  width: 44px;
  height: 44px;
  margin-left: -3px;
  border-width: 3px;
  box-shadow: 0 6px 16px rgba(23,104,232,.26), 0 0 0 5px rgba(23,104,232,.08);
}
.dash-briefing-action-copy {
  min-width: 0;
}
.dash-briefing-action-copy b {
  font-size: 9.6px;
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
.dash-briefing-action-value {
  font-size: 8.5px;
  font-weight: 800;
  white-space: nowrap;
}
.dash-briefing-action-read {
  grid-template-columns: 22px minmax(0,1fr);
  padding-left: 9px;
  padding-right: 12px;
  gap: 5px;
}
.dash-briefing-action-read .dash-briefing-action-copy {
  text-align: left;
}
.dash-briefing-action-read .dash-briefing-action-copy b {
  font-size: 9.4px;
}

@media (max-width: 430px) {
  .dash-briefing-card {
    min-height: 144px;
    padding: 13px 10px 11px 120px;
  }
  .dash-briefing-left-panel { width: 118px; }
  .dash-assistant-cutout {
    left: -7px;
    bottom: 0;
    width: 146px;
    height: 164px;
  }
  .dash-assistant-cutout img { width: 148px; }
  .dash-briefing-copy h3 { font-size: 16.5px; }
  .dash-briefing-actions {
    margin-left: -52px;
    width: calc(100% + 52px);
    gap: 7px;
  }
  .dash-briefing-action {
    height: 31px;
    min-height: 31px;
    grid-template-columns: 41px minmax(0,1fr) auto;
    padding-right: 9px;
  }
  .dash-briefing-action-icon.is-play {
    width: 43px;
    height: 43px;
  }
  .dash-briefing-action-copy b { font-size: 9.1px; }
  .dash-briefing-action-read { grid-template-columns: 21px minmax(0,1fr); padding-left: 8px; padding-right: 10px; }
  .dash-briefing-action-read .dash-briefing-action-copy b { font-size: 9px; }
}

@media (max-width: 390px) {
  .dash-briefing-card {
    min-height: 142px;
    padding-left: 111px;
  }
  .dash-briefing-left-panel { width: 109px; }
  .dash-assistant-cutout {
    left: -7px;
    width: 136px;
    height: 158px;
  }
  .dash-assistant-cutout img { width: 138px; }
  .dash-briefing-copy h3 { font-size: 16px; }
  .dash-briefing-copy p { font-size: 9.4px; }
  .dash-briefing-subline { font-size: 8.5px; }
  .dash-briefing-actions {
    margin-left: -47px;
    width: calc(100% + 47px);
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 6px;
  }
  .dash-briefing-action-copy b { font-size: 8.7px; }
  .dash-briefing-action-value { font-size: 7.8px; }
  .dash-briefing-action-read .dash-briefing-action-copy b { font-size: 8.6px; }
}

/* ===== v0.8.12 Cafeaua cu VICTA: alignment + shared card width ===== */
/* All primary dashboard cards share the exact same content width. */
.dash-hero-wrap,
.dash-briefing-section,
.dash-section,
.dash-hero-card,
.dash-briefing-card,
.sales-funnel-shell,
.dash-today-grid,
.dash-lower-grid,
.dash-lower-grid .map-card,
.dash-lower-grid .list-card {
  width: 100%;
  max-width: none;
}

/* Make the assistant ~5% larger while keeping her feet locked to card bottom. */
.dash-assistant-cutout {
  width: 164px;
  height: 178px;
  bottom: 0;
}
.dash-assistant-cutout img {
  width: 166px;
  height: auto;
  object-position: left bottom;
}

/* Slim audio pill: oversized play circle stays perfectly centered on its axis. */
.dash-briefing-action-audio {
  position: relative;
  align-items: center;
}
.dash-briefing-action-audio .dash-briefing-action-icon.is-play {
  align-self: center;
  justify-self: center;
  margin-top: 0;
  margin-bottom: 0;
  transform: none;
}
.dash-briefing-action-audio .dash-briefing-action-copy,
.dash-briefing-action-audio .dash-briefing-action-value {
  align-self: center;
}
.dash-briefing-action-audio .dash-briefing-action-copy {
  display: flex;
  align-items: center;
  height: 100%;
}
.dash-briefing-action-audio .dash-briefing-action-copy b {
  display: flex;
  align-items: center;
  min-height: 100%;
  line-height: 1;
}

@media (max-width: 430px) {
  .dash-assistant-cutout {
    width: 153px;
    height: 172px;
  }
  .dash-assistant-cutout img { width: 155px; }
}

@media (max-width: 390px) {
  .dash-assistant-cutout {
    width: 143px;
    height: 166px;
  }
  .dash-assistant-cutout img { width: 145px; }
}

/* ===== v0.8.13 Cafeaua cu VICTA: narrower card + centered audio control ===== */
.dash-briefing-card {
  width: calc(100% - 24px);
  margin-left: auto;
  margin-right: auto;
}

.dash-briefing-action-audio {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 32px;
  height: 32px;
  padding: 0 10px 0 50px;
  gap: 7px;
  overflow: visible;
}

.dash-briefing-action-audio .dash-briefing-action-icon.is-play {
  position: absolute;
  left: 2px;
  top: 50%;
  width: 44px;
  height: 44px;
  margin: 0;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
}

.dash-briefing-action-audio .dash-briefing-action-copy {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 32px;
  flex: 1 1 auto;
}

.dash-briefing-action-audio .dash-briefing-action-copy b {
  display: flex;
  align-items: center;
  height: 32px;
  line-height: 1;
  white-space: nowrap;
}

.dash-briefing-action-audio .dash-briefing-action-value {
  display: flex;
  align-items: center;
  height: 32px;
  line-height: 1;
  margin-left: auto;
}

@media (max-width: 430px) {
  .dash-briefing-card {
    width: calc(100% - 20px);
  }
  .dash-briefing-action-audio {
    height: 31px;
    min-height: 31px;
    padding-left: 48px;
  }
  .dash-briefing-action-audio .dash-briefing-action-icon.is-play {
    width: 43px;
    height: 43px;
  }
  .dash-briefing-action-audio .dash-briefing-action-copy,
  .dash-briefing-action-audio .dash-briefing-action-copy b,
  .dash-briefing-action-audio .dash-briefing-action-value {
    height: 31px;
  }
}

@media (max-width: 390px) {
  .dash-briefing-card {
    width: calc(100% - 16px);
  }
}

/* ===== v0.8.14 Cafeaua cu VICTA: equal width + tighter card ===== */
/* Main dashboard cards must share the same exact usable width. */
.dash-hero-card,
.dash-briefing-card,
.sales-funnel-shell,
.dash-today-grid,
.dash-lower-grid {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Reduce only the coffee card height; keep assistant size unchanged and lock her to bottom. */
.dash-briefing-card {
  min-height: 132px;
  padding-top: 10px;
  padding-bottom: 8px;
}
.dash-briefing-left-panel {
  top: 0;
  bottom: 0;
}
.dash-assistant-cutout {
  bottom: 0;
}

/* Optional reading-time copy is intentionally quiet and appears only when data exists. */
.dash-briefing-subline span {
  white-space: nowrap;
}

@media (max-width: 430px) {
  .dash-briefing-card {
    width: 100%;
    min-height: 130px;
    padding-top: 9px;
    padding-bottom: 7px;
  }
}

@media (max-width: 390px) {
  .dash-briefing-card {
    width: 100%;
    min-height: 128px;
  }
}

/* ===== v0.8.15 Cafeaua alignment + lighter hero glass ===== */
/* Move only the Cafeaua content block down; assistant and outer card stay fixed. */
.dash-briefing-copy {
  transform: translateY(15px);
}

/* Period cards stay neutral glass only, but let more of the hero background through. */
.dash-period,
.dash-period.is-active {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(8px) saturate(110%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(110%) !important;
}

/* ===== v0.8.17 funnel mockup match ===== */
.dash-funnel-section { margin-top: 30px; }
.dash-funnel-head { align-items:flex-start; margin-bottom:12px; }
.dash-funnel-title-wrap { display:flex; align-items:flex-start; gap:9px; min-width:0; }
.dash-funnel-title-icon { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; color:#1768e8; margin-top:1px; }
.dash-funnel-title-icon svg { stroke-width:2.2; }
.dash-funnel-title-wrap h2 { margin:0; font-size:22px; line-height:1; letter-spacing:-.045em; }
.dash-funnel-tagline { display:block; margin-top:5px; color:var(--muted); font-size:9.5px; line-height:1.35; }
.dash-funnel-head > a { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; margin-top:4px; }

.funnel-mockup-shell { width:100%; border-radius:24px; background:rgba(255,255,255,.62); border:1px solid rgba(20,55,115,.05); box-shadow:0 16px 34px rgba(22,56,115,.06); padding:12px; overflow:hidden; }
html[data-theme="dark"] .funnel-mockup-shell { background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.07); }

.funnel-mockup-flow { display:grid; grid-template-columns:minmax(0,1fr) 18px 112px; gap:7px; align-items:stretch; min-width:0; }
.funnel-main-stages { display:grid; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr); gap:5px; align-items:stretch; min-width:0; }
.funnel-flow-arrow { display:grid; place-items:center; color:#1768e8; align-self:center; }
.funnel-flow-arrow svg { width:13px; height:13px; stroke-width:2.2; }

.funnel-mockup-shell .funnel-stage-card { min-width:0; min-height:142px; padding:10px 8px 9px; border-radius:18px; border:1px solid rgba(20,55,115,.045); box-shadow:0 8px 18px rgba(24,58,120,.05); display:grid; grid-template-rows:30px auto auto 1fr; align-content:start; gap:6px; overflow:hidden; }
.funnel-stage-icon { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; }
.funnel-stage-label { font-size:9px; font-weight:760; line-height:1.1; color:#25334c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-mockup-shell .funnel-stage-card strong { display:block; font-size:21px; line-height:1; letter-spacing:-.05em; color:#0f1833; }
.funnel-stage-meta { align-self:end; display:grid; gap:3px; min-width:0; }
.funnel-stage-meta em { min-width:0; font-size:7.2px; line-height:1.25; font-style:normal; color:#62718a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.funnel-stage-card-viewed { background:linear-gradient(180deg,#f0edff 0%,#e7e2ff 100%); }
.funnel-stage-card-viewed .funnel-stage-icon { background:#ded7ff; color:#7658ee; }
.funnel-stage-card-viewed strong { color:#4d34c6 !important; }
.funnel-stage-card-favorite { background:linear-gradient(180deg,#fff6d9 0%,#ffedbd 100%); }
.funnel-stage-card-favorite .funnel-stage-icon { background:#ffe8a5; color:#d78d00; }
.funnel-stage-card-offered { background:linear-gradient(180deg,#edf5ff 0%,#dfeeff 100%); }
.funnel-stage-card-offered .funnel-stage-icon { background:#d8e8ff; color:#286fe5; }

.funnel-branch { position:relative; min-height:142px; }
.funnel-branch::before { content:""; position:absolute; left:0; top:50%; width:9px; height:1.5px; background:#1768e8; transform:translateY(-50%); }
.funnel-branch-line { position:absolute; left:8px; top:17%; bottom:17%; width:1.5px; border-radius:999px; background:#1768e8; }
.funnel-branch-arm { position:absolute; left:8px; width:9px; height:1.5px; background:#1768e8; }
.funnel-branch-arm::after { content:""; position:absolute; right:-1px; top:50%; width:5px; height:5px; border-top:1.5px solid #1768e8; border-right:1.5px solid #1768e8; transform:translateY(-50%) rotate(45deg); }
.funnel-branch-arm-top { top:17%; }
.funnel-branch-arm-mid { top:50%; transform:translateY(-50%); }
.funnel-branch-arm-bottom { bottom:17%; }

.funnel-outcomes-stack { display:grid; grid-template-rows:repeat(3,1fr); gap:7px; min-width:0; }
.funnel-outcome-card { min-width:0; min-height:42px; border-radius:15px; padding:7px 8px; display:grid; grid-template-columns:28px minmax(0,1fr); gap:7px; align-items:center; border:1px solid rgba(20,55,115,.04); box-shadow:0 5px 13px rgba(24,58,120,.045); overflow:hidden; }
.funnel-outcome-icon { width:28px; height:28px; border-radius:10px; display:grid; place-items:center; }
.funnel-outcome-copy { min-width:0; display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:1px 5px; }
.funnel-outcome-copy small { min-width:0; font-size:8px; line-height:1.1; font-weight:820; color:#31405a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-outcome-copy strong { font-size:17px; line-height:1; letter-spacing:-.04em; color:#0f1833; }
.funnel-outcome-copy em { grid-column:1/-1; margin-top:2px; min-width:0; font-size:6.7px; line-height:1.2; font-style:normal; color:#66758e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-outcome-card-waiting { background:linear-gradient(180deg,#e7f9ef 0%,#d9f2e5 100%); }
.funnel-outcome-card-waiting .funnel-outcome-icon { background:#d0efe0; color:#179161; }
.funnel-outcome-card-won { background:linear-gradient(180deg,#eff9e9 0%,#e0f1d6 100%); }
.funnel-outcome-card-won .funnel-outcome-icon { background:#d9eccd; color:#5da31d; }
.funnel-outcome-card-lost { background:linear-gradient(180deg,#fff0f1 0%,#ffe0e4 100%); }
.funnel-outcome-card-lost .funnel-outcome-icon { background:#ffd6dc; color:#d83a4b; }

html[data-theme="dark"] .funnel-stage-label,
html[data-theme="dark"] .funnel-mockup-shell .funnel-stage-card strong,
html[data-theme="dark"] .funnel-outcome-copy small,
html[data-theme="dark"] .funnel-outcome-copy strong { color:#0f1833; }

@media (max-width:430px) {
  .dash-funnel-title-icon { width:26px; height:26px; flex-basis:26px; }
  .dash-funnel-title-wrap h2 { font-size:20px; }
  .dash-funnel-tagline { font-size:8.8px; }
  .dash-funnel-head > a { font-size:9.5px; }
  .funnel-mockup-shell { padding:10px; border-radius:22px; }
  .funnel-mockup-flow { grid-template-columns:minmax(0,1fr) 16px 104px; gap:5px; }
  .funnel-main-stages { grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr); gap:4px; }
  .funnel-mockup-shell .funnel-stage-card { min-height:136px; padding:9px 7px 8px; border-radius:17px; gap:5px; }
  .funnel-stage-icon { width:28px; height:28px; border-radius:9px; }
  .funnel-stage-label { font-size:8.4px; }
  .funnel-mockup-shell .funnel-stage-card strong { font-size:19px; }
  .funnel-stage-meta em { font-size:6.6px; }
  .funnel-outcome-card { padding:6px 7px; grid-template-columns:26px minmax(0,1fr); gap:6px; border-radius:14px; }
  .funnel-outcome-icon { width:26px; height:26px; border-radius:9px; }
  .funnel-outcome-copy small { font-size:7.5px; }
  .funnel-outcome-copy strong { font-size:15px; }
  .funnel-outcome-copy em { font-size:6.1px; }
}

@media (max-width:380px) {
  .dash-funnel-head { display:block; }
  .dash-funnel-head > a { margin-top:8px; margin-left:35px; }
  .funnel-mockup-flow { grid-template-columns:minmax(0,1fr) 14px 92px; }
  .funnel-main-stages { grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 8px minmax(0,1fr); gap:3px; }
  .funnel-mockup-shell .funnel-stage-card { padding:8px 6px 7px; min-height:132px; }
  .funnel-stage-label { font-size:7.7px; }
  .funnel-mockup-shell .funnel-stage-card strong { font-size:17px; }
  .funnel-stage-meta em { font-size:5.9px; }
  .funnel-outcome-card { grid-template-columns:23px minmax(0,1fr); gap:5px; padding:5px 6px; }
  .funnel-outcome-icon { width:23px; height:23px; }
  .funnel-outcome-copy small { font-size:6.8px; }
  .funnel-outcome-copy strong { font-size:14px; }
  .funnel-outcome-copy em { font-size:5.5px; }
}

/* ===== v0.8.18 funnel refinement + no nested container card ===== */
.dash-funnel-section { margin-top: 30px; }
.dash-funnel-head { margin-bottom: 14px; }
.dash-funnel-heading-line { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; }
.dash-funnel-title-icon { width:28px; height:28px; display:grid; place-items:center; color:#1768e8; }
.dash-funnel-heading-line h2 { margin:0; font-size:22px; line-height:1; letter-spacing:-.045em; }
.dash-funnel-heading-line > a { display:inline-flex; align-items:center; gap:4px; color:var(--brand-strong); font-size:10px; font-weight:850; white-space:nowrap; }
.dash-funnel-tagline { display:block; width:100%; margin-top:6px; color:var(--muted); font-size:9.5px; line-height:1.4; }

/* The funnel itself intentionally has no outer card: the stage cards float directly on the page. */
.funnel-mockup-flow { display:grid; grid-template-columns:minmax(0,1fr) 34px 132px; gap:7px; align-items:stretch; width:100%; min-width:0; }
.funnel-main-stages { display:grid; grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 13px minmax(0,1fr); gap:5px; align-items:stretch; min-width:0; }
.funnel-flow-arrow { display:grid; place-items:center; color:#1768e8; align-self:center; }
.funnel-flow-arrow svg { width:13px; height:13px; stroke-width:2.25; }

.funnel-stage-card { min-width:0; min-height:144px; padding:10px 8px 9px; border-radius:18px; border:1px solid rgba(20,55,115,.045); box-shadow:0 8px 18px rgba(24,58,120,.05); display:grid; grid-template-rows:30px auto auto 1fr; align-content:start; gap:6px; overflow:hidden; }
.funnel-stage-icon { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; }
.funnel-stage-label { font-size:9px; font-weight:760; line-height:1.1; color:#25334c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-stage-card strong { display:block; font-size:21px; line-height:1; letter-spacing:-.05em; color:#0f1833; }
.funnel-stage-meta { align-self:end; display:grid; gap:5px; min-width:0; }
.funnel-stage-meta em { min-width:0; font-size:7.4px; line-height:1.25; font-style:normal; color:#62718a; }
.funnel-stage-money { display:grid; gap:0; }
.funnel-stage-money b { font-size:8.4px; line-height:1; color:#42526d; font-weight:800; }
.funnel-stage-money span { margin-top:2px; font-size:6.6px; line-height:1.1; color:#7a879a; white-space:nowrap; }

.funnel-stage-card-viewed { background:linear-gradient(180deg,#f0edff 0%,#e7e2ff 100%); }
.funnel-stage-card-viewed .funnel-stage-icon { background:#ded7ff; color:#7658ee; }
.funnel-stage-card-viewed strong { color:#4d34c6; }
.funnel-stage-card-favorite { background:linear-gradient(180deg,#fff6d9 0%,#ffedbd 100%); }
.funnel-stage-card-favorite .funnel-stage-icon { background:#ffe8a5; color:#d78d00; }
.funnel-stage-card-offered { background:linear-gradient(180deg,#edf5ff 0%,#dfeeff 100%); }
.funnel-stage-card-offered .funnel-stage-icon { background:#d8e8ff; color:#286fe5; }

/* One smooth split/brace from Ofertate to the three commercial outcomes. */
.funnel-branch { position:relative; min-height:144px; display:grid; place-items:stretch; }
.funnel-branch-svg { width:100%; height:100%; overflow:visible; }
.funnel-branch-svg path { fill:none; stroke:#1768e8; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }

.funnel-outcomes-stack { display:grid; grid-template-rows:repeat(3,1fr); gap:7px; min-width:0; }
.funnel-outcome-card { min-width:0; min-height:42px; border-radius:15px; padding:7px 8px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:7px; align-items:center; border:1px solid rgba(20,55,115,.04); box-shadow:0 5px 13px rgba(24,58,120,.045); overflow:hidden; }
.funnel-outcome-count { font-size:22px; line-height:1; letter-spacing:-.05em; color:#0f1833; text-align:left; }
.funnel-outcome-copy { min-width:0; display:grid; gap:2px; align-content:center; }
.funnel-outcome-title { display:flex; align-items:center; gap:5px; min-width:0; }
.funnel-outcome-icon { width:22px; height:22px; border-radius:8px; display:grid; place-items:center; flex:0 0 22px; }
.funnel-outcome-title small { min-width:0; font-size:7.8px; line-height:1.1; font-weight:850; color:#31405a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-outcome-copy em { min-width:0; font-size:6.6px; line-height:1.2; font-style:normal; color:#66758e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.funnel-outcome-copy em b { font-size:7.2px; color:#4f5f78; }
.funnel-outcome-card-waiting { background:linear-gradient(180deg,#e7f9ef 0%,#d9f2e5 100%); }
.funnel-outcome-card-waiting .funnel-outcome-icon { background:#d0efe0; color:#179161; }
.funnel-outcome-card-won { background:linear-gradient(180deg,#eff9e9 0%,#e0f1d6 100%); }
.funnel-outcome-card-won .funnel-outcome-icon { background:#d9eccd; color:#5da31d; }
.funnel-outcome-card-lost { background:linear-gradient(180deg,#fff0f1 0%,#ffe0e4 100%); }
.funnel-outcome-card-lost .funnel-outcome-icon { background:#ffd6dc; color:#d83a4b; }

html[data-theme="dark"] .funnel-stage-label,
html[data-theme="dark"] .funnel-stage-card strong,
html[data-theme="dark"] .funnel-outcome-count,
html[data-theme="dark"] .funnel-outcome-title small { color:#0f1833; }

@media (max-width:430px) {
  .dash-funnel-heading-line { grid-template-columns:26px minmax(0,1fr) auto; gap:8px; }
  .dash-funnel-title-icon { width:26px; height:26px; }
  .dash-funnel-heading-line h2 { font-size:20px; }
  .dash-funnel-heading-line > a { font-size:9px; }
  .dash-funnel-tagline { font-size:8.8px; }
  .funnel-mockup-flow { grid-template-columns:minmax(0,1fr) 28px 118px; gap:5px; }
  .funnel-main-stages { grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr); gap:4px; }
  .funnel-stage-card { min-height:136px; padding:9px 7px 8px; border-radius:17px; gap:5px; }
  .funnel-stage-icon { width:28px; height:28px; border-radius:9px; }
  .funnel-stage-label { font-size:8.2px; }
  .funnel-stage-card strong { font-size:19px; }
  .funnel-stage-meta { gap:4px; }
  .funnel-stage-meta em { font-size:6.5px; }
  .funnel-stage-money b { font-size:7.7px; }
  .funnel-stage-money span { font-size:6px; }
  .funnel-outcome-card { grid-template-columns:36px minmax(0,1fr); padding:6px 7px; gap:6px; border-radius:14px; }
  .funnel-outcome-count { font-size:19px; }
  .funnel-outcome-icon { width:20px; height:20px; border-radius:7px; flex-basis:20px; }
  .funnel-outcome-title small { font-size:7.1px; }
  .funnel-outcome-copy em { font-size:5.9px; }
  .funnel-outcome-copy em b { font-size:6.4px; }
}

@media (max-width:380px) {
  .dash-funnel-heading-line { grid-template-columns:25px minmax(0,1fr); }
  .dash-funnel-heading-line > a { grid-column:2; justify-self:start; margin-top:2px; }
  .funnel-mockup-flow { grid-template-columns:minmax(0,1fr) 23px 104px; }
  .funnel-main-stages { grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 8px minmax(0,1fr); gap:3px; }
  .funnel-stage-card { padding:8px 6px 7px; min-height:132px; }
  .funnel-stage-label { font-size:7.5px; }
  .funnel-stage-card strong { font-size:17px; }
  .funnel-outcome-card { grid-template-columns:31px minmax(0,1fr); gap:5px; padding:5px 6px; }
  .funnel-outcome-count { font-size:17px; }
  .funnel-outcome-title small { font-size:6.5px; }
  .funnel-outcome-copy em { font-size:5.4px; }
}

/* ===== v0.8.19 funnel horizontal + large-number safety ===== */
/* Keep the three funnel stages on one horizontal row and give them enough room for 4–6 digit counts. */
.funnel-mockup-flow {
  grid-template-columns: minmax(0, 1fr) 22px 118px;
  gap: 5px;
  align-items: stretch;
}
.funnel-main-stages {
  grid-template-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr);
  gap: 3px;
  align-items: stretch;
}
.funnel-flow-arrow {
  width: 8px;
  overflow: visible;
}
.funnel-flow-arrow svg {
  width: 12px;
  height: 12px;
}
.funnel-stage-card {
  min-height: 142px;
  padding: 10px 7px 9px;
  overflow: visible;
}
.funnel-stage-card strong.funnel-count {
  white-space: nowrap;
  overflow: visible;
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  letter-spacing: -.055em;
}
.funnel-stage-card strong.funnel-count.is-lg { font-size: 18px; }
.funnel-stage-card strong.funnel-count.is-xl { font-size: 16px; }
.funnel-stage-card strong.funnel-count.is-xxl { font-size: 14px; }
.funnel-stage-meta {
  overflow: visible;
}
.funnel-stage-meta em,
.funnel-stage-money b,
.funnel-stage-money span {
  overflow: visible;
  text-overflow: clip;
}

/* Connector now starts directly at the right edge of Ofertate and opens into one clean brace. */
.funnel-branch {
  min-height: 142px;
  margin-left: -5px;
  width: calc(100% + 5px);
}
.funnel-branch-svg {
  width: 100%;
  height: 100%;
}
.funnel-branch-svg path {
  stroke-width: 1.8;
}

/* Outcome cards can also absorb counts in the thousands without clipping. */
.funnel-outcomes-stack {
  gap: 7px;
}
.funnel-outcome-card {
  grid-template-columns: minmax(38px, 44px) minmax(0, 1fr);
  padding: 7px 7px;
  gap: 6px;
  overflow: visible;
}
.funnel-outcome-count.funnel-count {
  min-width: 0;
  white-space: nowrap;
  overflow: visible;
  font-variant-numeric: tabular-nums;
  font-size: 21px;
}
.funnel-outcome-count.funnel-count.is-lg { font-size: 18px; }
.funnel-outcome-count.funnel-count.is-xl { font-size: 15px; }
.funnel-outcome-count.funnel-count.is-xxl { font-size: 13px; }
.funnel-outcome-copy em {
  overflow: visible;
  text-overflow: clip;
}

@media (max-width: 430px) {
  .funnel-mockup-flow {
    grid-template-columns: minmax(0, 1fr) 19px 111px;
    gap: 4px;
  }
  .funnel-main-stages {
    grid-template-columns: minmax(0, 1fr) 7px minmax(0, 1fr) 7px minmax(0, 1fr);
    gap: 2px;
  }
  .funnel-stage-card {
    min-height: 136px;
    padding: 9px 6px 8px;
  }
  .funnel-stage-card strong.funnel-count { font-size: 19px; }
  .funnel-stage-card strong.funnel-count.is-lg { font-size: 17px; }
  .funnel-stage-card strong.funnel-count.is-xl { font-size: 15px; }
  .funnel-stage-card strong.funnel-count.is-xxl { font-size: 13px; }
  .funnel-outcome-card {
    grid-template-columns: minmax(35px, 41px) minmax(0, 1fr);
  }
  .funnel-outcome-count.funnel-count { font-size: 19px; }
  .funnel-outcome-count.funnel-count.is-lg { font-size: 17px; }
  .funnel-outcome-count.funnel-count.is-xl { font-size: 14px; }
  .funnel-outcome-count.funnel-count.is-xxl { font-size: 12px; }
}

@media (max-width: 380px) {
  .funnel-mockup-flow {
    grid-template-columns: minmax(0, 1fr) 17px 102px;
    gap: 3px;
  }
  .funnel-main-stages {
    grid-template-columns: minmax(0, 1fr) 6px minmax(0, 1fr) 6px minmax(0, 1fr);
    gap: 2px;
  }
  .funnel-stage-card strong.funnel-count { font-size: 17px; }
  .funnel-stage-card strong.funnel-count.is-lg { font-size: 15px; }
  .funnel-stage-card strong.funnel-count.is-xl { font-size: 13px; }
  .funnel-stage-card strong.funnel-count.is-xxl { font-size: 12px; }
  .funnel-outcome-card {
    grid-template-columns: minmax(31px, 36px) minmax(0, 1fr);
    gap: 4px;
  }
}

/* ===== v0.8.20 funnel: stacked 50/50 columns + straight branch ===== */
.dash-funnel-section .funnel-two-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

/* LEFT: one stage per row (Vizualizate / Favorite / Ofertate). */
.dash-funnel-section .funnel-main-stages-stacked {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card {
  position: relative;
  min-width: 0;
  min-height: 86px;
  padding: 12px 48px 11px 13px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: 5px;
  align-content: start;
  overflow: hidden;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-label {
  font-size: 9px;
  font-weight: 820;
  color: #31405a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count {
  width: max-content;
  max-width: 100%;
  font-size: 25px;
  line-height: .96;
  letter-spacing: -.055em;
  white-space: nowrap;
  overflow: visible;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg { font-size: 22px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl { font-size: 19px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl { font-size: 16px; }

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-meta {
  align-self: end;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 7px;
  min-width: 0;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-meta > em:last-child {
  align-self: end;
  text-align: right;
}

/* Decorative icons: large, faded and absolutely positioned so they consume no card height. */
.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  position: absolute;
  top: 8px;
  right: 9px;
  width: 38px;
  height: 38px;
  border-radius: 0;
  background: transparent !important;
  display: grid;
  place-items: center;
  opacity: .18;
  pointer-events: none;
  z-index: 0;
}
.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.7;
}

/* MIDDLE: a straight, orthogonal branch that starts from Ofertate (bottom-left row). */
.dash-funnel-section .funnel-branch-straight {
  position: relative;
  min-width: 30px;
  min-height: 0;
  width: 30px;
  height: 100%;
  margin: 0;
}
.dash-funnel-section .funnel-branch-straight > span {
  position: absolute;
  display: block;
  background: #1768e8;
  border-radius: 999px;
  opacity: .96;
}
/* From the right edge of Ofertate to the central trunk. */
.dash-funnel-section .funnel-branch-horizontal {
  left: 0;
  width: 51%;
  height: 2px;
  top: 83.333%;
  transform: translateY(-1px);
}
/* Vertical trunk connects the centres of all three outcome rows. */
.dash-funnel-section .funnel-branch-vertical {
  left: 50%;
  width: 2px;
  top: 16.667%;
  bottom: 16.667%;
  transform: translateX(-1px);
}
/* Three straight taps into the right-hand cards. */
.dash-funnel-section .funnel-branch-tap {
  left: 50%;
  right: 0;
  height: 2px;
  transform: translateY(-1px);
}
.dash-funnel-section .funnel-branch-tap-top { top: 16.667%; }
.dash-funnel-section .funnel-branch-tap-middle { top: 50%; }
.dash-funnel-section .funnel-branch-tap-bottom { top: 83.333%; }

/* RIGHT: same width as left column, one outcome per row. */
.dash-funnel-section .funnel-outcomes-stack {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}
.dash-funnel-section .funnel-outcome-card {
  position: relative;
  min-width: 0;
  min-height: 86px;
  padding: 12px 46px 11px 12px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: minmax(54px, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  overflow: hidden;
}
.dash-funnel-section .funnel-outcome-count.funnel-count {
  min-width: 0;
  font-size: 25px;
  line-height: .96;
  letter-spacing: -.055em;
  white-space: nowrap;
  overflow: visible;
  align-self: center;
}
.dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 22px; }
.dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 19px; }
.dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 16px; }
.dash-funnel-section .funnel-outcome-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: center;
}
.dash-funnel-section .funnel-outcome-title {
  display: block;
  min-width: 0;
  padding-right: 0;
}
.dash-funnel-section .funnel-outcome-title small {
  display: block;
  min-width: 0;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.1;
  color: #31405a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-funnel-section .funnel-outcome-copy em {
  min-width: 0;
  font-size: 7.2px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-funnel-section .funnel-outcome-copy em b { font-size: 7.8px; }

@media (max-width: 430px) {
  .dash-funnel-section .funnel-two-columns {
    grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr);
  }
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack { gap: 8px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
  .dash-funnel-section .funnel-outcome-card {
    min-height: 82px;
    border-radius: 17px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card {
    padding: 10px 43px 10px 11px;
  }
  .dash-funnel-section .funnel-outcome-card {
    padding: 10px 42px 10px 10px;
    grid-template-columns: minmax(48px, auto) minmax(0, 1fr);
    gap: 8px;
  }
  .dash-funnel-section .funnel-branch-straight {
    width: 26px;
    min-width: 26px;
  }
  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 34px;
    height: 34px;
    top: 7px;
    right: 7px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 27px;
    height: 27px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count,
  .dash-funnel-section .funnel-outcome-count.funnel-count { font-size: 23px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 20px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 17px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 14px; }
}

@media (max-width: 380px) {
  .dash-funnel-section .funnel-two-columns {
    grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr);
  }
  .dash-funnel-section .funnel-branch-straight { width:22px; min-width:22px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
  .dash-funnel-section .funnel-outcome-card { min-height: 78px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card { padding-right: 38px; }
  .dash-funnel-section .funnel-outcome-card {
    padding-right: 37px;
    grid-template-columns: minmax(43px, auto) minmax(0, 1fr);
    gap: 6px;
  }
  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 30px;
    height: 30px;
    right: 6px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 24px;
    height: 24px;
  }
}

/* ===== v0.8.21 funnel refinement: chevrons, offered-only branch, bigger nearby projects ===== */
.dash-funnel-section .funnel-two-columns {
  grid-template-columns: minmax(0, calc(50% - 17px)) 34px minmax(0, calc(50% - 17px));
  gap: 0;
  align-items: stretch;
}

.dash-funnel-section .funnel-main-stages-stacked,
.dash-funnel-section .funnel-outcomes-stack {
  gap: 16px;
}

/* Left stages: stacked vertically with a downward chevron between each step. */
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card {
  position: relative;
  min-height: 78px;
  padding: 10px 45px 9px 12px;
  border-radius: 18px;
  gap: 4px;
  overflow: visible;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #1768e8;
  border-bottom: 2px solid #1768e8;
  transform: translateX(-50%) rotate(45deg);
  opacity: .95;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count {
  font-size: 24px;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg { font-size: 21px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl { font-size: 18px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl { font-size: 16px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-meta {
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-meta > em:last-child {
  text-align: left;
}
.dash-funnel-section .funnel-stage-money {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}
.dash-funnel-section .funnel-stage-money b,
.dash-funnel-section .funnel-stage-money span,
.dash-funnel-section .funnel-stage-meta > em,
.dash-funnel-section .funnel-outcome-copy em {
  white-space: nowrap;
}
.dash-funnel-section .funnel-stage-money b { font-size: 8.3px; }
.dash-funnel-section .funnel-stage-money span { margin-top: 0; font-size: 6.8px; }

/* Icons pushed further into the top-right corner and enlarged/faded. */
.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  top: 4px;
  right: 4px;
  width: 44px;
  height: 44px;
  opacity: .17;
}
.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 33px;
  height: 33px;
  stroke-width: 1.65;
}

/* Right-side outcomes: Câștigate / În curs / Pierdute. */
.dash-funnel-section .funnel-outcome-card {
  position: relative;
  min-height: 78px;
  padding: 9px 45px 9px 12px;
  border-radius: 18px;
  grid-template-columns: minmax(52px, auto) minmax(0, 1fr);
  gap: 10px;
  overflow: hidden;
}
.dash-funnel-section .funnel-outcome-count.funnel-count {
  font-size: 24px;
}
.dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 21px; }
.dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 18px; }
.dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 15px; }
.dash-funnel-section .funnel-outcome-title small {
  padding-right: 6px;
}
.dash-funnel-section .funnel-outcome-copy {
  gap: 2px;
}
.dash-funnel-section .funnel-outcome-copy em {
  font-size: 7.1px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-funnel-section .funnel-outcome-copy em b {
  font-size: 7.7px;
}

/* Connector logic: only Ofertate flows directly to În curs (middle).
   From there, a clean up/down split points to Câștigate and Pierdute. */
.dash-funnel-section .funnel-branch-from-offered {
  position: relative;
  width: 34px;
  min-width: 34px;
  height: 100%;
}
.dash-funnel-section .funnel-branch-from-offered > span {
  position: absolute;
  display: block;
  background: #1768e8;
  border-radius: 999px;
}
.dash-funnel-section .funnel-branch-midline {
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  transform: translateY(-1px);
}
.dash-funnel-section .funnel-branch-stem {
  left: 70%;
  top: 16.667%;
  bottom: 16.667%;
  width: 2px;
  transform: translateX(-1px);
}
.dash-funnel-section .funnel-branch-arm {
  left: 70%;
  right: 0;
  height: 2px;
  transform: translateY(-1px);
}
.dash-funnel-section .funnel-branch-arm-top { top: 16.667%; }
.dash-funnel-section .funnel-branch-arm-bottom { top: 83.333%; }
.dash-funnel-section .funnel-branch-chevron {
  width: 8px;
  height: 8px;
  background: transparent !important;
  border-right: 2px solid #1768e8;
  border-bottom: 2px solid #1768e8;
  border-radius: 0 !important;
  left: calc(70% - 4px);
}
.dash-funnel-section .funnel-branch-chevron-up {
  top: calc(16.667% - 1px);
  transform: rotate(-135deg);
}
.dash-funnel-section .funnel-branch-chevron-down {
  top: calc(83.333% - 7px);
  transform: rotate(45deg);
}

/* Nearby projects becomes a wide standalone section; feed is removed. */
.dash-nearby-section {
  width: 100%;
}
.dash-nearby-section .map-card-wide {
  display: block;
  width: 100%;
  min-height: 206px;
  border-radius: 24px;
  overflow: hidden;
}
.dash-nearby-section .map-overlay {
  padding: 16px 18px;
}
.dash-nearby-section .map-overlay strong {
  font-size: 15px;
}

@media (max-width: 430px) {
  .dash-funnel-section .funnel-two-columns {
    grid-template-columns: minmax(0, calc(50% - 14px)) 28px minmax(0, calc(50% - 14px));
  }
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 14px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
  .dash-funnel-section .funnel-outcome-card {
    min-height: 74px;
    border-radius: 17px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card {
    padding: 9px 40px 8px 11px;
  }
  .dash-funnel-section .funnel-outcome-card {
    padding: 8px 40px 8px 11px;
    grid-template-columns: minmax(48px, auto) minmax(0, 1fr);
    gap: 8px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count,
  .dash-funnel-section .funnel-outcome-count.funnel-count { font-size: 22px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 19px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 17px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 14px; }
  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 40px;
    height: 40px;
    top: 4px;
    right: 4px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 30px;
    height: 30px;
  }
  .dash-funnel-section .funnel-branch-from-offered {
    width: 28px;
    min-width: 28px;
  }
  .dash-funnel-section .funnel-branch-stem,
  .dash-funnel-section .funnel-branch-arm {
    left: 69%;
  }
}

@media (max-width: 380px) {
  .dash-funnel-section .funnel-two-columns {
    grid-template-columns: minmax(0, calc(50% - 11px)) 22px minmax(0, calc(50% - 11px));
  }
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 12px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
  .dash-funnel-section .funnel-outcome-card {
    min-height: 72px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card {
    padding-right: 36px;
  }
  .dash-funnel-section .funnel-outcome-card {
    padding-right: 36px;
    grid-template-columns: minmax(44px, auto) minmax(0, 1fr);
    gap: 6px;
  }
  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 36px;
    height: 36px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 27px;
    height: 27px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count,
  .dash-funnel-section .funnel-outcome-count.funnel-count { font-size: 20px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 18px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 15px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 13px; }
}

/* ===== v0.8.22 funnel polish: offered-only connector + unified right cards ===== */
.dash-funnel-section .funnel-main-stages-stacked,
.dash-funnel-section .funnel-outcomes-stack {
  gap: 14px;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
.dash-funnel-section .funnel-outcome-card {
  min-height: 76px;
  border-radius: 18px;
}

/* Bigger, more corner-hugging decorative icons. */
.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  top: 2px;
  right: 2px;
  width: 50px;
  height: 50px;
  opacity: .15;
}
.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 38px;
  height: 38px;
  stroke-width: 1.55;
}

/* Left column stays compact. */
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card {
  min-height: 76px;
  padding: 9px 46px 8px 12px;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count {
  font-size: 23px;
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg { font-size: 20px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl { font-size: 18px; }
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl { font-size: 15px; }

/* Right cards now use the same internal UI grammar as the left ones. */
.dash-funnel-section .funnel-outcome-card {
  padding: 9px 46px 8px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: 4px;
  align-content: start;
  align-items: start;
  overflow: visible;
}
.dash-funnel-section .funnel-outcome-label {
  font-size: 9px;
  font-weight: 820;
  line-height: 1.1;
  color: #31405a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-funnel-section .funnel-outcome-count.funnel-count {
  width: max-content;
  max-width: 100%;
  font-size: 23px;
  line-height: .96;
  letter-spacing: -.055em;
  white-space: nowrap;
  overflow: visible;
  text-align: left;
}
.dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 20px; }
.dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 18px; }
.dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 15px; }
.dash-funnel-section .funnel-outcome-meta {
  align-self: end;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  min-width: 0;
}
.dash-funnel-section .funnel-outcome-money {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}
.dash-funnel-section .funnel-outcome-money b {
  font-size: 8.3px;
  line-height: 1;
  color: #42526d;
  font-weight: 800;
}
.dash-funnel-section .funnel-outcome-money span {
  font-size: 6.8px;
  line-height: 1.1;
  color: #7a879a;
  white-space: nowrap;
}
.dash-funnel-section .funnel-outcome-meta > em {
  min-width: 0;
  font-size: 7.1px;
  line-height: 1.2;
  font-style: normal;
  color: #66758e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Connector: only the Ofertate card flows to În curs.
   Then two separate chevrons indicate the split to Câștigate / Pierdute. */
.dash-funnel-section .funnel-branch-from-offered {
  position: relative;
  width: 34px;
  min-width: 34px;
  height: 100%;
}
.dash-funnel-section .funnel-branch-from-offered > span {
  position: absolute;
  display: block;
}
.dash-funnel-section .funnel-branch-offered-horizontal,
.dash-funnel-section .funnel-branch-offered-vertical,
.dash-funnel-section .funnel-branch-waiting-horizontal {
  background: #1768e8;
  border-radius: 999px;
}
.dash-funnel-section .funnel-branch-offered-horizontal {
  left: 0;
  width: 52%;
  height: 2px;
  top: 83.333%;
  transform: translateY(-1px);
}
.dash-funnel-section .funnel-branch-offered-vertical {
  left: 52%;
  width: 2px;
  top: 50%;
  bottom: 16.667%;
  transform: translateX(-1px);
}
.dash-funnel-section .funnel-branch-waiting-horizontal {
  left: 52%;
  right: 0;
  height: 2px;
  top: 50%;
  transform: translateY(-1px);
}
.dash-funnel-section .funnel-branch-chevron {
  width: 10px;
  height: 10px;
  background: transparent !important;
  border-right: 2px solid #1768e8;
  border-bottom: 2px solid #1768e8;
  border-radius: 0 !important;
  right: 1px;
  opacity: .96;
}
.dash-funnel-section .funnel-branch-chevron-to-top {
  top: calc(33.333% - 7px);
  transform: rotate(-135deg);
}
.dash-funnel-section .funnel-branch-chevron-to-bottom {
  top: calc(66.667% - 3px);
  transform: rotate(45deg);
}

@media (max-width: 430px) {
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 12px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
  .dash-funnel-section .funnel-outcome-card {
    min-height: 72px;
    border-radius: 17px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
  .dash-funnel-section .funnel-outcome-card {
    padding-right: 42px;
  }
  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 44px;
    height: 44px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 33px;
    height: 33px;
  }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count,
  .dash-funnel-section .funnel-outcome-count.funnel-count { font-size: 22px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-lg,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-lg { font-size: 19px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xl { font-size: 17px; }
  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count.is-xxl,
  .dash-funnel-section .funnel-outcome-count.funnel-count.is-xxl { font-size: 14px; }
  .dash-funnel-section .funnel-branch-from-offered {
    width: 28px;
    min-width: 28px;
  }
}

/* ===== v0.8.23 funnel spacing + lighter connectors + icon corner push ===== */
.dash-funnel-section {
  --funnel-link-soft: #bcc6d6;
}

.dash-funnel-section .funnel-main-stages-stacked,
.dash-funnel-section .funnel-outcomes-stack {
  gap: 18px;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
.dash-funnel-section .funnel-outcome-card {
  min-height: 74px;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
  bottom: -15px;
  width: 10px;
  height: 10px;
  border-right-color: var(--funnel-link-soft);
  border-bottom-color: var(--funnel-link-soft);
  border-right-width: 2px;
  border-bottom-width: 2px;
  opacity: 1;
}

.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  top: 0;
  right: 0;
  width: 56px;
  height: 56px;
  opacity: .16;
  background: transparent !important;
}

.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 42px;
  height: 42px;
  stroke-width: 1.5;
}

.dash-funnel-section .funnel-branch-from-offered {
  width: 42px;
  min-width: 42px;
}

.dash-funnel-section .funnel-branch-offered-horizontal,
.dash-funnel-section .funnel-branch-offered-vertical,
.dash-funnel-section .funnel-branch-waiting-horizontal {
  background: var(--funnel-link-soft);
}

/* only from Ofertate -> În curs */
.dash-funnel-section .funnel-branch-offered-horizontal {
  left: 2px;
  width: 42%;
  height: 2px;
  top: 84.5%;
  transform: translateY(-1px);
}

.dash-funnel-section .funnel-branch-offered-vertical {
  left: 44%;
  width: 2px;
  top: 50%;
  bottom: 15.5%;
  transform: translateX(-1px);
}

.dash-funnel-section .funnel-branch-waiting-horizontal {
  left: 44%;
  right: 0;
  height: 2px;
  top: 50%;
  transform: translateY(-1px);
}

/* chevrons centered on the right-column vertical rhythm, like the left column */
.dash-funnel-section .funnel-branch-chevron {
  right: auto;
  left: calc(44% - 5px);
  width: 10px;
  height: 10px;
  border-right-color: var(--funnel-link-soft);
  border-bottom-color: var(--funnel-link-soft);
  border-right-width: 2px;
  border-bottom-width: 2px;
  opacity: 1;
}

.dash-funnel-section .funnel-branch-chevron-to-top {
  top: calc(33.333% - 6px);
  transform: rotate(-135deg);
}

.dash-funnel-section .funnel-branch-chevron-to-bottom {
  top: calc(66.666% - 4px);
  transform: rotate(45deg);
}

@media (max-width: 430px) {
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 16px;
  }

  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
    bottom: -14px;
  }

  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 52px;
    height: 52px;
  }

  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 39px;
    height: 39px;
  }

  .dash-funnel-section .funnel-branch-from-offered {
    width: 38px;
    min-width: 38px;
  }
}

/* ===== v0.8.24 funnel: exact requested connector logic ===== */
.dash-funnel-section {
  --funnel-link-soft: #c3ccd8;
}

/* More breathing room so the standalone chevrons sit cleanly between cards. */
.dash-funnel-section .funnel-main-stages-stacked,
.dash-funnel-section .funnel-outcomes-stack {
  gap: 22px;
}

.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card,
.dash-funnel-section .funnel-outcome-card {
  min-height: 74px;
}

/* Left-column chevrons: light grey and centered in the gap. */
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
  bottom: -17px;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--funnel-link-soft);
  border-bottom: 2px solid var(--funnel-link-soft);
  opacity: 1;
}

/* Kill every legacy branch pseudo-line. This was the stray line beside Favorite. */
.dash-funnel-section .funnel-branch::before,
.dash-funnel-section .funnel-branch::after {
  content: none !important;
  display: none !important;
}

/* Icons: 60px box / 46px glyph, pushed outside the inner padding toward the corner. */
.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  top: -4px;
  right: -4px;
  width: 60px;
  height: 60px;
  opacity: .15;
  background: transparent !important;
}
.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 46px;
  height: 46px;
  stroke-width: 1.5;
}

/* Only ONE connector exists: Ofertate -> În curs.
   It stops at those two cards; there is no vertical trunk toward top/bottom outcomes. */
.dash-funnel-section .funnel-branch-from-offered {
  position: relative;
  width: 42px;
  min-width: 42px;
  height: 100%;
  margin: 0;
}
.dash-funnel-section .funnel-branch-from-offered > span {
  position: absolute;
  display: block;
  background: var(--funnel-link-soft);
  border-radius: 999px;
}
.dash-funnel-section .funnel-branch-offered-horizontal {
  left: 0;
  width: 52%;
  height: 2px;
  top: calc(83.333% + 7px);
  transform: translateY(-1px);
}
.dash-funnel-section .funnel-branch-offered-vertical {
  left: 52%;
  width: 2px;
  top: 50%;
  bottom: calc(16.667% - 7px);
  transform: translateX(-1px);
}
.dash-funnel-section .funnel-branch-waiting-horizontal {
  left: 52%;
  right: 0;
  height: 2px;
  top: 50%;
  transform: translateY(-1px);
}

/* Right-column chevrons are standalone, centered in the vertical gaps around În curs. */
.dash-funnel-section .funnel-outcome-card-waiting {
  overflow: visible;
}
.dash-funnel-section .funnel-outcome-card-waiting::before,
.dash-funnel-section .funnel-outcome-card-waiting::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--funnel-link-soft);
  border-bottom: 2px solid var(--funnel-link-soft);
  z-index: 3;
  pointer-events: none;
}
.dash-funnel-section .funnel-outcome-card-waiting::before {
  top: -17px;
  transform: translateX(-50%) rotate(-135deg);
}
.dash-funnel-section .funnel-outcome-card-waiting::after {
  bottom: -17px;
  transform: translateX(-50%) rotate(45deg);
}

@media (max-width: 430px) {
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 20px;
  }

  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
    bottom: -16px;
  }

  .dash-funnel-section .funnel-outcome-card-waiting::before {
    top: -16px;
  }
  .dash-funnel-section .funnel-outcome-card-waiting::after {
    bottom: -16px;
  }

  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    width: 56px;
    height: 56px;
    top: -4px;
    right: -4px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 44px;
    height: 44px;
  }

  .dash-funnel-section .funnel-branch-from-offered {
    width: 38px;
    min-width: 38px;
  }
  .dash-funnel-section .funnel-branch-offered-horizontal {
    top: calc(83.333% + 6px);
  }
  .dash-funnel-section .funnel-branch-offered-vertical {
    bottom: calc(16.667% - 6px);
  }
}


/* ===== v0.8.25 funnel: remove stray middle chevrons + corner icons + rounded elbow ===== */
.dash-funnel-section {
  --funnel-link-soft: #c7cfda;
}

/* Slightly tighter but still enough room for the standalone chevrons. */
.dash-funnel-section .funnel-main-stages-stacked,
.dash-funnel-section .funnel-outcomes-stack {
  gap: 20px;
}

/* All chevrons ~30% smaller and in the same light grey. */
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after,
.dash-funnel-section .funnel-outcome-card-waiting::before,
.dash-funnel-section .funnel-outcome-card-waiting::after {
  width: 7px;
  height: 7px;
  border-right: 1.6px solid var(--funnel-link-soft);
  border-bottom: 1.6px solid var(--funnel-link-soft);
}
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
  bottom: -14px;
}
.dash-funnel-section .funnel-outcome-card-waiting::before {
  top: -14px;
}
.dash-funnel-section .funnel-outcome-card-waiting::after {
  bottom: -14px;
}

/* If any legacy branch-chevron markup survives in cache, force-hide it. */
.dash-funnel-section .funnel-branch-chevron {
  display: none !important;
}

/* Decorative icons: push them further into the top-right corner so ~30% is cropped out. */
.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  top: -14px;
  right: -14px;
  width: 62px;
  height: 62px;
  opacity: .14;
}
.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 46px;
  height: 46px;
  stroke-width: 1.45;
}

/* Only one connector remains: Ofertate -> În curs, drawn as a soft rounded elbow. */
.dash-funnel-section .funnel-branch-from-offered {
  position: relative;
  width: 42px;
  min-width: 42px;
  height: 100%;
  margin: 0;
}
.dash-funnel-section .funnel-branch-from-offered > span {
  display: none !important;
}
.dash-funnel-section .funnel-branch-from-offered::before,
.dash-funnel-section .funnel-branch-from-offered::after {
  content: none !important;
}
.dash-funnel-section .funnel-branch-from-offered {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 100' preserveAspectRatio='none'%3E%3Cpath d='M0 84 H14 C18 84 21 81 21 77 V57 C21 53 24 50 28 50 H42' fill='none' stroke='%23c7cfda' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

@media (max-width: 430px) {
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 18px;
  }

  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
    bottom: -13px;
  }
  .dash-funnel-section .funnel-outcome-card-waiting::before {
    top: -13px;
  }
  .dash-funnel-section .funnel-outcome-card-waiting::after {
    bottom: -13px;
  }

  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    top: -12px;
    right: -12px;
    width: 58px;
    height: 58px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 43px;
    height: 43px;
  }

  .dash-funnel-section .funnel-branch-from-offered {
    width: 38px;
    min-width: 38px;
  }
}

@media (max-width: 380px) {
  .dash-funnel-section .funnel-main-stages-stacked,
  .dash-funnel-section .funnel-outcomes-stack {
    gap: 16px;
  }

  .dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card:not(:last-child)::after {
    bottom: -12px;
  }
  .dash-funnel-section .funnel-outcome-card-waiting::before {
    top: -12px;
  }
  .dash-funnel-section .funnel-outcome-card-waiting::after {
    bottom: -12px;
  }

  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    top: -11px;
    right: -11px;
    width: 54px;
    height: 54px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 40px;
    height: 40px;
  }

  .dash-funnel-section .funnel-branch-from-offered {
    width: 34px;
    min-width: 34px;
  }
}


/* ===== v0.8.26 funnel: revert to orthogonal connector + cleaner icons + larger meta text ===== */
.dash-funnel-section {
  --funnel-link-soft: #c4cbd6;
}

/* Bring icons back inward a bit so they do not feel over-cropped. */
.dash-funnel-section .funnel-stage-icon,
.dash-funnel-section .funnel-outcome-icon {
  top: 4px;
  right: 4px;
  width: 54px;
  height: 54px;
  opacity: .15;
}
.dash-funnel-section .funnel-stage-icon svg,
.dash-funnel-section .funnel-outcome-icon svg {
  width: 40px;
  height: 40px;
  stroke-width: 1.45;
}

/* Make all main counts visually consistent across cards. */
.dash-funnel-section .funnel-main-stages-stacked .funnel-stage-card strong.funnel-count,
.dash-funnel-section .funnel-outcome-count.funnel-count {
  color: #1c2742 !important;
}

/* Slightly larger value/surface text for readability. */
.dash-funnel-section .funnel-stage-money b,
.dash-funnel-section .funnel-outcome-copy em b,
.dash-funnel-section .funnel-outcome-money b {
  font-size: 9.4px;
  line-height: 1.05;
}
.dash-funnel-section .funnel-stage-money span,
.dash-funnel-section .funnel-stage-meta > em,
.dash-funnel-section .funnel-outcome-copy em,
.dash-funnel-section .funnel-outcome-money span,
.dash-funnel-section .funnel-outcome-meta > em {
  font-size: 7.9px;
  line-height: 1.22;
}

/* Revert connector to the clean orthogonal version, just thinner and softer. */
.dash-funnel-section .funnel-branch-from-offered {
  background-image: none !important;
  position: relative;
  width: 38px;
  min-width: 38px;
  height: 100%;
  margin: 0;
}
.dash-funnel-section .funnel-branch-from-offered > span {
  position: absolute;
  display: block !important;
  background: var(--funnel-link-soft);
  border-radius: 999px;
}
.dash-funnel-section .funnel-branch-offered-horizontal {
  left: 0;
  width: 52%;
  height: 1.5px;
  top: calc(83.333% + 7px);
  transform: translateY(-0.75px);
}
.dash-funnel-section .funnel-branch-offered-vertical {
  left: 52%;
  width: 1.5px;
  top: 50%;
  bottom: calc(16.667% - 7px);
  transform: translateX(-0.75px);
}
.dash-funnel-section .funnel-branch-waiting-horizontal {
  left: 52%;
  right: 0;
  height: 1.5px;
  top: 50%;
  transform: translateY(-0.75px);
}

@media (max-width: 430px) {
  .dash-funnel-section .funnel-stage-icon,
  .dash-funnel-section .funnel-outcome-icon {
    top: 4px;
    right: 4px;
    width: 50px;
    height: 50px;
  }
  .dash-funnel-section .funnel-stage-icon svg,
  .dash-funnel-section .funnel-outcome-icon svg {
    width: 37px;
    height: 37px;
  }

  .dash-funnel-section .funnel-stage-money b,
  .dash-funnel-section .funnel-outcome-copy em b,
  .dash-funnel-section .funnel-outcome-money b {
    font-size: 9px;
  }
  .dash-funnel-section .funnel-stage-money span,
  .dash-funnel-section .funnel-stage-meta > em,
  .dash-funnel-section .funnel-outcome-copy em,
  .dash-funnel-section .funnel-outcome-money span,
  .dash-funnel-section .funnel-outcome-meta > em {
    font-size: 7.5px;
  }

  .dash-funnel-section .funnel-branch-from-offered {
    width: 34px;
    min-width: 34px;
  }
  .dash-funnel-section .funnel-branch-offered-horizontal {
    top: calc(83.333% + 6px);
  }
  .dash-funnel-section .funnel-branch-offered-vertical {
    bottom: calc(16.667% - 6px);
  }
}

/* ===== v0.8.27 today cards + even-number UI tuning ===== */
.dash-funnel-heading-line {
  gap: 0;
}

.dash-briefing-copy h3 {
  font-size: 18px;
}

.dash-section-head {
  gap: 12px;
  margin-bottom: 12px;
}
.dash-section-head h2 {
  margin: 4px 0 0;
  font-size: 22px;
}
.dash-section-head > a,
.dash-section-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--brand-strong);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.dash-section-cta svg {
  width: 14px;
  height: 14px;
}

/* Funnel micro typography follows the even-number scale. */
.dash-funnel-section .funnel-stage-money b,
.dash-funnel-section .funnel-outcome-money b,
.dash-funnel-section .funnel-outcome-copy em b {
  font-size: 10px;
}
.dash-funnel-section .funnel-stage-money span,
.dash-funnel-section .funnel-stage-meta > em,
.dash-funnel-section .funnel-outcome-money span,
.dash-funnel-section .funnel-outcome-meta > em,
.dash-funnel-section .funnel-outcome-copy em {
  font-size: 8px;
}

/* Keep the orthogonal Ofertate -> În curs connector on an even pixel scale. */
.dash-funnel-section .funnel-branch-offered-horizontal,
.dash-funnel-section .funnel-branch-waiting-horizontal {
  height: 2px;
  transform: translateY(-50%);
}
.dash-funnel-section .funnel-branch-offered-vertical {
  width: 2px;
  transform: translateX(-50%);
}

/* De făcut azi: three compact action tiles with clearer hierarchy. */
.dash-today-section {
  margin-top: 32px;
}
.dash-today-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.dash-today-card {
  position: relative;
  min-width: 0;
  min-height: 108px;
  border: 0;
  border-radius: 20px;
  padding: 12px;
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: start;
  gap: 4px;
  overflow: hidden;
  box-shadow: 0 8px 24px #1c3a7810;
  color: #1c2742;
}
.dash-today-card-alarm {
  background: #fff4d8;
}
.dash-today-card-note {
  background: #eaf3ff;
}
.dash-today-card-company,
.dash-today-card-assignment {
  background: #e8f8f0;
}
.dash-today-label {
  max-width: calc(100% - 28px);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  color: #485874;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-today-card strong {
  margin-top: 4px;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0;
  color: #1c2742;
}
.dash-today-card small {
  margin-top: 0;
  padding-right: 18px;
  font-size: 8px;
  line-height: 1;
  color: #6a7890;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-today-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  opacity: 20%;
}
.dash-today-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 2;
}
.dash-today-card-alarm .dash-today-icon {
  color: #c88000;
}
.dash-today-card-note .dash-today-icon {
  color: #1768e8;
}
.dash-today-card-company .dash-today-icon,
.dash-today-card-assignment .dash-today-icon {
  color: #159868;
}
.dash-today-arrow {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  color: var(--brand-strong);
}
.dash-today-arrow svg {
  width: 16px;
  height: 16px;
}

html[data-theme="dark"] .dash-today-card-alarm {
  background: color-mix(in srgb, #c88000 20%, var(--surface));
}
html[data-theme="dark"] .dash-today-card-note {
  background: color-mix(in srgb, #1768e8 20%, var(--surface));
}
html[data-theme="dark"] .dash-today-card-company,
html[data-theme="dark"] .dash-today-card-assignment {
  background: color-mix(in srgb, #159868 20%, var(--surface));
}
html[data-theme="dark"] .dash-today-label,
html[data-theme="dark"] .dash-today-card strong {
  color: var(--text);
}
html[data-theme="dark"] .dash-today-card small {
  color: var(--muted);
}

@media (max-width: 380px) {
  .dash-today-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .dash-today-card {
    min-height: 104px;
    border-radius: 18px;
    padding: 10px;
  }
  .dash-today-card strong {
    font-size: 24px;
  }
  .dash-today-icon {
    top: 6px;
    right: 6px;
    width: 32px;
    height: 32px;
  }
  .dash-today-icon svg {
    width: 24px;
    height: 24px;
  }
  .dash-today-arrow {
    right: 8px;
    bottom: 8px;
  }
}

/* ===== v0.8.28 progressive Home loading + value-only skeletons ===== */
.dash-hero-card[data-card-href] {
  cursor: pointer;
}
.dash-hero-card[data-card-href]:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}
.dash-period,
.dash-hero-cta {
  text-decoration: none;
}
.dash-period {
  color: inherit;
}

.dash-value-skeleton {
  display: inline-block;
  width: 48px;
  height: 12px;
  border-radius: 6px;
  vertical-align: middle;
  background-color: rgba(255, 255, 255, 0.18);
}
.dash-value-skeleton.is-xl {
  width: 72px;
  height: 32px;
  border-radius: 8px;
}
.dash-value-skeleton.is-lg {
  width: 48px;
  height: 22px;
  border-radius: 6px;
}
.dash-value-skeleton.is-md {
  width: 64px;
  height: 12px;
  border-radius: 6px;
}
.dash-value-skeleton.is-sm {
  width: 40px;
  height: 8px;
  border-radius: 4px;
}
.dash-value-skeleton.is-trend {
  width: 36px;
  height: 8px;
  border-radius: 4px;
}
.dash-value-skeleton.is-failed {
  width: 18px;
  background: transparent;
  position: relative;
}
.dash-value-skeleton.is-failed::after {
  content: "—";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: currentColor;
}

.funnel-stage-card .dash-value-skeleton,
.funnel-outcome-card .dash-value-skeleton,
.dash-today-card .dash-value-skeleton {
  background-color: rgba(78, 98, 130, 0.14);
}

.dash-period .dash-value-skeleton {
  background-color: rgba(255, 255, 255, 0.22);
}

html[data-theme="dark"] .funnel-stage-card .dash-value-skeleton,
html[data-theme="dark"] .funnel-outcome-card .dash-value-skeleton,
html[data-theme="dark"] .dash-today-card .dash-value-skeleton {
  background-color: rgba(255, 255, 255, 0.16);
}
/* ===== v0.9.1 Cafeaua inline player ===== */
.dash-briefing-action-audio { font:inherit; text-align:left; cursor:pointer; color:inherit; }
.dash-briefing-action-audio.is-playing .dash-briefing-action-icon { box-shadow:0 6px 16px rgb(23 104 232 / 24%),0 0 0 4px rgb(23 104 232 / 8%); }
.dash-briefing-action-audio.is-disabled { cursor:default; opacity:56%; }
.dash-briefing-action-audio [hidden] { display:none !important; }


/* ===== v0.9.2 Cafeaua play alignment ===== */
.dash-briefing-action-icon > span { width:100%; height:100%; display:grid; place-items:center; line-height:0; }
.dash-briefing-action-icon > span .icon { display:block; }
.dash-briefing-action-icon [data-briefing-icon-play] .icon { transform:none; }


/* ===== v0.9.7 Cafeaua interactive scrubber: full play circle ===== */
.dash-briefing-action-audio {
  --briefing-progress: 0%;
  position: relative;
  /* The play control is intentionally taller than the pill. Keep it fully visible. */
  overflow: visible;
  isolation: isolate;
  touch-action: manipulation;
}
.dash-briefing-action-audio::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: rgb(23 104 232 / 12%);
  clip-path: inset(0 calc(100% - var(--briefing-progress)) 0 0);
  pointer-events: none;
  transition: clip-path 200ms linear;
}
.dash-briefing-action-audio.has-progress::after {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: var(--briefing-progress);
  z-index: 0;
  width: 2px;
  border-radius: 999px;
  background: rgb(23 104 232 / 32%);
  pointer-events: none;
  transform: translateX(-2px);
}
.dash-briefing-action-audio .dash-briefing-action-icon,
.dash-briefing-action-audio .dash-briefing-action-copy,
.dash-briefing-action-audio .dash-briefing-action-value {
  position: relative;
  z-index: 2;
}
.dash-briefing-action-audio.is-playing .dash-briefing-action-value {
  display: none;
}
.dash-briefing-action-audio.is-playing .dash-briefing-action-copy b {
  font-size: 8px;
  letter-spacing: 0;
}

/* v0.9.9 - Contacts: lazy tabs + results-only loading */
.dash-briefing-copy {
  transform: translateY(10px);
}

.contacts-page { min-width: 0; }
.contacts-mode-tabs {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 4px;
  overflow: visible;
}
.contacts-mode-chip { justify-content: center; }
.contacts-monitor-chip { margin-left: auto; }
.contacts-page section[hidden] { display: none !important; }

.contacts-section-heading { align-items: end; }
.contacts-section-heading > div { min-width: 0; }
.contacts-section-heading h2 { margin-bottom: 3px; }
.contacts-section-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.35;
}

.contacts-search-form,
.contacts-directory-form { margin: 0; }
.contacts-search-box { position: relative; }

.contacts-search-hint {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: color-mix(in srgb, var(--surface) 88%, var(--brand-strong) 2%);
}
.contacts-hint-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--brand-strong);
  background: var(--info-bg);
}
.contacts-search-hint strong { display: block; font-size: 12px; }
.contacts-search-hint div > span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.4;
}
.contacts-quick-results { margin-top: 11px; }
.contacts-results-heading { margin: 0 1px 7px; }
.contacts-results-heading h2 { font-size: 12px; }
.contacts-results-heading span { font-size: 9px; }
.contacts-results-card { overflow: hidden; }
.contacts-compact-empty { margin-top: 10px; padding: 28px 18px; }

.contacts-company-row { min-height: 72px; align-items: center; }
.contacts-company-row .row-main { min-width: 0; }
.contacts-company-title-line {
  display: flex !important;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0 !important;
}
.contacts-company-title-line strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contacts-exa-badge {
  display: inline-flex;
  align-items: center;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: var(--info-bg);
  color: var(--info);
  font-size: 7.5px;
  line-height: 1;
  font-weight: 900;
  font-style: normal;
  letter-spacing: .04em;
}
.contacts-company-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 3px 8px;
  margin-top: 3px !important;
  color: var(--muted);
  font-size: 8.5px !important;
  line-height: 1.2;
  white-space: normal !important;
}
.contacts-company-meta b { font-weight: 750; }
.contacts-exa-description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 4px !important;
  color: var(--muted);
  font-size: 8.7px !important;
  line-height: 1.35;
  white-space: normal !important;
  overflow: hidden;
}
.company-row-side { align-self: center; }
.contacts-company-row .company-row-side .status-pill { font-size: 7.5px; padding: 4px 6px; }

.contacts-directory-total { flex: 0 0 auto; font-size: 9px; }
.contacts-filter-panel {
  margin-top: 9px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
  overflow: hidden;
}
.contacts-filter-panel > summary {
  min-height: 43px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  cursor: pointer;
  list-style: none;
  color: var(--text);
  font-size: 10px;
  font-weight: 800;
}
.contacts-filter-panel > summary::-webkit-details-marker { display: none; }
.contacts-filter-summary-note {
  margin-left: auto;
  color: var(--muted);
  font-size: 8px;
  font-weight: 650;
  white-space: nowrap;
}
.contacts-filter-chevron { transition: transform .18s ease; }
.contacts-filter-panel[open] .contacts-filter-chevron { transform: rotate(180deg); }
.contacts-filter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 10px 11px 4px;
  border-top: 1px solid var(--line);
}
.contacts-filter-grid .field { margin: 0; gap: 4px; }
.contacts-filter-grid .field > span { font-size: 8.5px; color: var(--muted); font-weight: 750; }
.contacts-filter-grid .field input {
  min-height: 39px;
  padding: 9px 10px;
  border-radius: 11px;
  font-size: 10px;
}
.contacts-filter-actions {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 8px;
  padding: 8px 11px 11px;
}
.contacts-filter-reset,
.contacts-filter-submit {
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 10px;
}
.contacts-directory-results,
.contacts-monitored-results { margin-top: 10px; }
.contacts-directory-empty { margin-top: 10px; padding: 32px 18px; }

.contacts-results-skeleton {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}
.contacts-result-skeleton-row {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--line);
}
.contacts-result-skeleton-row:last-child { border-bottom: 0; }
.contacts-result-skeleton-copy {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 6px;
}
.contacts-result-skeleton-line {
  display: block;
  height: 8px;
  border-radius: 999px;
}
.contacts-result-skeleton-line.is-title { width: 54%; height: 10px; }
.contacts-result-skeleton-line.is-subtitle { width: 38%; }
.contacts-result-skeleton-line.is-meta { width: 30%; height: 7px; }
.contacts-next-skeleton {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 10px auto 0;
}
.contacts-next-skeleton span {
  display: block;
  width: 54px;
  height: 10px;
  border-radius: 999px;
}
.contacts-next-page {
  width: auto;
  min-height: 42px;
  margin: 10px auto 0;
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 10px;
}

@media (max-width: 380px) {
  .contacts-mode-tabs { gap: 5px; }
  .contacts-mode-chip { padding: 0 9px; font-size: 10px; }
  .contacts-filter-summary-note { display: none; }
  .contacts-filter-grid { grid-template-columns: 1fr; }
  .contacts-company-row .company-row-side .status-pill { display: none; }
}

/* v0.9.10 - company profile contact data + cleaner associated projects */
.company-quick-actions {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.company-contacts-list { gap: 10px; }
.company-person-card { align-items: flex-start; }
.company-person-card .contact-main { min-width: 0; }
.company-person-card .contact-title-row { gap: 8px; }
.company-person-role {
  margin: 4px 0 0 !important;
  color: var(--brand-strong) !important;
  font-size: 10px !important;
  font-weight: 750;
  line-height: 1.35;
}
.company-person-number {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .02em;
}
.company-person-contact-data {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}
.company-person-contact-data a {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text);
  font-size: 10px;
  font-weight: 650;
}
.company-person-contact-data a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-person-contact-data .icon { color: var(--brand-strong); flex: 0 0 auto; }
.company-person-availability {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 8px 9px;
  border-radius: 11px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}
.company-person-availability .icon { flex: 0 0 auto; color: var(--brand-strong); }
.company-person-availability span { min-width: 0; flex: 1; }
.company-person-availability a { flex: 0 0 auto; color: var(--brand-strong); font-weight: 850; }

.company-project-list .project-card-main { align-items: flex-start; }
.company-project-list .project-body h3 { line-height: 1.2; }
.company-project-list .project-bottom-row { align-items: baseline; }
.company-project-list .project-bottom-row strong { white-space: nowrap; }
.company-project-list .project-bottom-row span { text-align: right; }

@media (max-width: 380px) {
  .company-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-person-number { display: none; }
}

/* v0.9.11 - company profile: compact, scannable, reveal-first UX */
.company-v2-hero {
  overflow: hidden;
  border-radius: 22px;
}
.company-v2-hero-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 16px 14px;
}
.company-v2-logo {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 16px;
  font-size: 18px;
  box-shadow: none;
}
.company-v2-hero-copy {
  min-width: 0;
  flex: 1;
  padding-top: 1px;
}
.company-v2-hero-copy .eyebrow {
  margin-bottom: 3px;
  font-size: 9px;
  letter-spacing: .08em;
}
.company-v2-hero-copy h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.company-v2-hero-copy p {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 10px;
}
.company-v2-monitor-form { flex: 0 0 auto; }
.company-v2-monitor-form .icon-button {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  box-shadow: none;
}
.company-v2-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 16px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.company-v2-facts > span {
  min-width: 0;
  padding: 11px 8px 10px;
  text-align: center;
  position: relative;
}
.company-v2-facts > span + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 1px;
  background: var(--line);
}
.company-v2-facts small {
  display: block;
  color: var(--muted-2);
  font-size: 8px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.company-v2-facts strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 12px;
  line-height: 1.15;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.company-v2-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 7px;
  padding: 11px 16px 14px;
}
.company-v2-action-link {
  min-width: 0;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--brand-strong);
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}
.company-v2-action-link.is-primary {
  background: color-mix(in srgb, var(--brand-strong) 8%, var(--surface));
  border-color: color-mix(in srgb, var(--brand-strong) 24%, var(--line));
}
.company-v2-profile-form {
  min-width: 0;
  margin: 0;
}
.company-v2-profile-form .company-v2-action-link {
  width: 100%;
  cursor: pointer;
  font-family: inherit;
}
.company-v2-section { margin-top: 22px; }
.company-v2-heading { align-items: flex-end; }
.company-v2-heading > div { min-width: 0; }
.company-v2-heading h2 { font-size: 16px; }
.company-v2-heading p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}
.company-v2-heading > span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}
.company-v2-info-list,
.company-v2-people-list,
.company-v2-project-list {
  overflow: hidden;
  border-radius: 18px;
}
.company-v2-info-list > a,
.company-v2-info-list > div {
  min-height: 56px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 13px;
  border-bottom: 1px solid var(--line);
}
.company-v2-info-list > :last-child { border-bottom: 0; }
.company-v2-info-list > a > .icon:first-child,
.company-v2-info-list > div > .icon:first-child { color: var(--brand-strong); }
.company-v2-info-list > a > span,
.company-v2-info-list > div > span { min-width: 0; flex: 1; }
.company-v2-info-list strong {
  display: block;
  font-size: 12px;
  line-height: 1.25;
}
.company-v2-info-list small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v2-info-list > a > .icon:last-child { color: var(--brand-strong); }

.company-v2-person-row {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 13px 12px;
  border-bottom: 1px solid var(--line);
}
.company-v2-person-row:last-child { border-bottom: 0; }
.company-v2-person-avatar {
  width: 38px;
  height: 38px;
  min-width: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--info-bg);
  color: var(--brand-strong);
  font-size: 13px;
  font-weight: 900;
}
.company-v2-person-main { min-width: 0; flex: 1; }
.company-v2-person-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.company-v2-person-head > div { min-width: 0; }
.company-v2-person-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 12px;
  line-height: 1.2;
}
.company-v2-person-head p {
  margin: 4px 0 0;
  color: var(--brand-strong);
  font-size: 8.5px;
  line-height: 1.25;
  font-weight: 850;
}
.company-v2-person-head > span {
  flex: 0 0 auto;
  color: var(--muted-2);
  font-size: 7.5px;
  font-weight: 800;
  padding-top: 2px;
}
.company-v2-person-links {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}
.company-v2-person-links a {
  min-width: 0;
  max-width: 100%;
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 8px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--text);
  font-size: 8.5px;
  font-weight: 750;
}
.company-v2-person-links a .icon { color: var(--brand-strong); }
.company-v2-person-links a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v2-person-links a.is-phone { color: var(--brand-strong); }
.company-v2-reveal-line {
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding: 0 8px 0 9px;
  border: 1px dashed color-mix(in srgb, var(--brand-strong) 25%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--brand-strong) 4%, var(--surface));
}
.company-v2-reveal-line > span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 8.5px;
  line-height: 1.2;
}
.company-v2-reveal-line > span .icon { color: var(--brand-strong); }
.company-v2-reveal-line form { margin: 0; flex: 0 0 auto; }
.company-v2-reveal-line button {
  border: 0;
  background: transparent;
  color: var(--brand-strong);
  padding: 6px 2px 6px 7px;
  font-size: 8.5px;
  font-weight: 900;
  cursor: pointer;
}

.company-v2-project-row {
  position: relative;
  min-height: 108px;
  border-bottom: 1px solid var(--line);
}
.company-v2-project-row:last-child { border-bottom: 0; }
.company-v2-project-main {
  min-height: 108px;
  display: flex;
  align-items: stretch;
  gap: 9px;
  padding: 13px 48px 12px 14px;
}
.company-v2-project-copy { min-width: 0; flex: 1; }
.company-v2-project-copy h3 {
  margin: 0;
  color: var(--text);
  font-size: 12px;
  line-height: 1.22;
  letter-spacing: -.01em;
}
.company-v2-project-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}
.company-v2-role-chip {
  display: inline-flex;
  min-height: 21px;
  align-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--info-bg);
  color: var(--brand-strong);
  font-size: 8px;
  font-weight: 850;
}
.company-v2-project-tags .status-pill {
  min-height: 21px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  font-size: 8px;
}
.company-v2-project-location {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 8.5px;
  line-height: 1.2;
}
.company-v2-project-location span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v2-project-foot {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 8px;
}
.company-v2-project-foot strong {
  color: var(--text);
  font-size: 10px;
  font-weight: 900;
}
.company-v2-project-number {
  color: var(--muted-2);
  font-weight: 800;
}
.company-v2-project-chevron {
  align-self: center;
  color: var(--muted-2);
}
.company-v2-project-favorite {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  margin: 0;
}
.company-v2-star {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
  color: var(--text);
  cursor: pointer;
}
.company-v2-star.is-favorite { color: var(--brand-strong); }

@media (max-width: 370px) {
  .company-v2-hero-top { padding-left: 13px; padding-right: 13px; }
  .company-v2-facts { margin-left: 13px; margin-right: 13px; }
  .company-v2-actions { padding-left: 13px; padding-right: 13px; }
  .company-v2-facts small { font-size: 7px; }
  .company-v2-facts strong { font-size: 10px; }
  .company-v2-person-row { padding-left: 11px; padding-right: 11px; }
  .company-v2-project-main { padding-left: 12px; }
}

/* v0.9.13 - Contacts UX: dashboard design language without dashboard duplication */
.contacts-page {
  position: relative;
  min-width: 0;
  padding-bottom: 8px;
}
.contacts-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 74px;
  left: -44px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--brand-strong) 8%, transparent), transparent 70%);
  pointer-events: none;
}

.contacts-launchpad {
  position: relative;
  overflow: hidden;
  min-height: 142px;
  margin-top: 3px;
  padding: 16px 14px 12px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 10%, rgba(255,255,255,.17), transparent 29%),
    radial-gradient(circle at 96% 75%, rgba(167,244,50,.10), transparent 25%),
    linear-gradient(135deg, #0b367b 0%, #0f55bf 54%, #1768e8 100%);
  box-shadow: 0 16px 36px rgba(23,104,232,.18);
  isolation: isolate;
}
.contacts-launchpad::after {
  content: "";
  position: absolute;
  right: -34px;
  top: -45px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 42px;
  transform: rotate(24deg);
  z-index: -1;
}
.contacts-launchpad-copy {
  position: relative;
  z-index: 2;
  max-width: 72%;
}
.contacts-launchpad-kicker,
.contacts-panel-kicker {
  display: block;
  font-size: 7.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contacts-launchpad-kicker { color: rgba(255,255,255,.70); }
.contacts-launchpad h1 {
  max-width: 250px;
  margin: 5px 0 0;
  font-size: 21px;
  line-height: 1.04;
  letter-spacing: -.035em;
}
.contacts-launchpad-copy p {
  max-width: 260px;
  margin: 6px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 9.5px;
  line-height: 1.35;
}
.contacts-launchpad-visual {
  position: absolute;
  z-index: 1;
  right: 14px;
  top: 12px;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
}
.contacts-launchpad-orbit {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  box-shadow: inset 0 0 0 11px rgba(255,255,255,.035);
}
.contacts-launchpad-orbit::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  right: 3px;
  top: 12px;
  border-radius: 50%;
  background: #a7f432;
  box-shadow: 0 0 0 5px rgba(167,244,50,.12);
}
.contacts-launchpad-icon {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 24px rgba(5,28,67,.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.contacts-launchpad .contacts-mode-tabs {
  position: relative;
  z-index: 3;
  margin: 14px 0 0;
  gap: 6px;
}
.contacts-launchpad .contacts-mode-chip {
  min-height: 31px;
  padding: 0 10px;
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.78);
  box-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.contacts-launchpad .contacts-mode-chip.is-active {
  border-color: rgba(255,255,255,.92);
  background: #fff;
  color: #0d438f;
  box-shadow: 0 6px 16px rgba(7,35,79,.15);
}
.contacts-launchpad .contacts-monitor-chip { margin-left: auto; }

.contacts-panel {
  position: relative;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--line) 90%, var(--brand-strong) 10%);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 10px 30px rgba(16,24,40,.045);
}
.contacts-panel-quick {
  border-color: color-mix(in srgb, var(--brand-strong) 18%, var(--line));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, var(--brand-strong) 4%), var(--surface) 58%);
}
.contacts-panel-directory {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 72%, var(--surface) 28%), var(--surface) 44%);
}
.contacts-panel-monitored {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--warning-bg) 28%, var(--surface) 72%), var(--surface) 42%);
}
.contacts-section-heading {
  align-items: flex-start;
  margin-bottom: 11px;
}
.contacts-section-heading > div { min-width: 0; }
.contacts-panel-kicker {
  margin-bottom: 5px;
  color: var(--brand-strong);
}
.contacts-section-heading h2 {
  margin: 0;
  font-size: 17px;
  line-height: 1.05;
  letter-spacing: -.025em;
}
.contacts-section-heading p {
  margin-top: 5px;
  font-size: 9.5px;
  line-height: 1.35;
}
.contacts-directory-total,
.contacts-monitored-total {
  margin-top: 3px;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--surface-2);
  font-size: 8px;
  font-weight: 800;
}

.contacts-search-box { position: relative; }
.contacts-search-box .search-input {
  height: 54px;
  padding-left: 45px;
  border-radius: 17px;
  border-color: color-mix(in srgb, var(--line) 82%, var(--brand-strong) 18%);
  background: var(--surface);
  box-shadow: 0 7px 20px rgba(16,24,40,.045), inset 0 1px 0 rgba(255,255,255,.5);
  font-size: 13px;
}
.contacts-panel-quick .contacts-search-box .search-input:focus {
  border-color: color-mix(in srgb, var(--brand-strong) 60%, var(--line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-strong) 9%, transparent), 0 9px 22px rgba(23,104,232,.08);
}
.contacts-search-box > .icon {
  left: 15px;
  color: var(--brand-strong);
}

.contacts-search-hint {
  margin-top: 9px;
  gap: 10px;
  padding: 10px 11px;
  border: 0;
  border-radius: 14px;
  background: color-mix(in srgb, var(--info-bg) 48%, var(--surface));
}
.contacts-directory-hint {
  background: color-mix(in srgb, var(--surface-2) 76%, var(--surface));
}
.contacts-hint-icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 4px 12px rgba(16,24,40,.05);
}
.contacts-search-hint strong { font-size: 10px; }
.contacts-search-hint div > span { margin-top: 2px; font-size: 8.5px; }

.contacts-filter-panel {
  margin-top: 8px;
  border-color: color-mix(in srgb, var(--line) 88%, var(--brand-strong) 12%);
  border-radius: 15px;
  background: color-mix(in srgb, var(--surface-2) 60%, var(--surface));
}
.contacts-filter-panel > summary {
  min-height: 42px;
  padding: 0 11px;
  font-size: 9.5px;
}
.contacts-filter-panel > summary > .icon:first-child {
  color: var(--brand-strong);
}
.contacts-filter-summary-note { font-size: 7.5px; }
.contacts-filter-grid {
  gap: 7px;
  padding: 10px 10px 4px;
  background: var(--surface);
}
.contacts-filter-grid .field input {
  min-height: 41px;
  border-radius: 12px;
  background: var(--surface-2);
}
.contacts-filter-actions { padding: 8px 10px 10px; background: var(--surface); }

.contacts-quick-results,
.contacts-directory-results,
.contacts-monitored-results { margin-top: 10px; }
.contacts-results-heading {
  margin: 0 2px 8px;
  align-items: center;
}
.contacts-results-heading h2 {
  font-size: 12px;
  letter-spacing: -.01em;
}
.contacts-results-heading span {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--surface-2);
  font-size: 8px;
  font-weight: 750;
}

.contacts-results-card {
  display: grid;
  gap: 8px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.contacts-company-row {
  position: relative;
  min-height: 76px;
  padding: 11px 11px;
  gap: 10px;
  overflow: hidden;
  border: 1px solid var(--line) !important;
  border-radius: 17px;
  background: var(--surface);
  box-shadow: 0 7px 20px rgba(16,24,40,.045);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.contacts-company-row:last-child { border-bottom: 1px solid var(--line); }
.contacts-company-row:active {
  transform: scale(.992);
  border-color: color-mix(in srgb, var(--brand-strong) 25%, var(--line)) !important;
}
.contacts-company-row.is-quick-result::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  bottom: 13px;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: var(--brand-strong);
}
.contacts-company-title-line strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 11.5px;
  line-height: 1.2;
  letter-spacing: -.012em;
}
.contacts-company-location {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 8.7px;
  line-height: 1.2;
}
.contacts-company-meta {
  gap: 4px;
  margin-top: 5px !important;
}
.contacts-company-meta b {
  padding: 3px 5px;
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 7.4px;
  font-weight: 800;
}
.contacts-exa-badge {
  height: 15px;
  padding: 0 5px;
  background: color-mix(in srgb, var(--info-bg) 82%, var(--surface));
  font-size: 7px;
}
.contacts-exa-description {
  margin-top: 5px !important;
  font-size: 8.2px !important;
  line-height: 1.32;
}
.contacts-company-row .company-row-side {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--muted-2);
}
.contacts-company-arrow {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--brand-strong);
}
.contacts-company-row .company-row-side .status-pill {
  font-size: 7px;
  padding: 4px 6px;
}

.contacts-results-skeleton {
  display: grid;
  gap: 8px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.contacts-result-skeleton-row {
  min-height: 76px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
  box-shadow: 0 7px 20px rgba(16,24,40,.035);
}
.contacts-result-skeleton-row:last-child { border-bottom: 1px solid var(--line); }

.contacts-compact-empty,
.contacts-directory-empty {
  margin-top: 8px;
  padding: 28px 16px;
  border-style: solid;
  background: color-mix(in srgb, var(--surface-2) 62%, var(--surface));
}
.contacts-next-page {
  min-height: 40px;
  border-radius: 14px;
  box-shadow: 0 5px 16px rgba(16,24,40,.04);
}

html[data-theme="dark"] .contacts-launchpad {
  background:
    radial-gradient(circle at 82% 10%, rgba(255,255,255,.10), transparent 30%),
    radial-gradient(circle at 96% 75%, rgba(167,244,50,.10), transparent 25%),
    linear-gradient(135deg, #132b47 0%, #173b65 56%, #1557bd 100%);
}
html[data-theme="dark"] .contacts-panel,
html[data-theme="dark"] .contacts-company-row,
html[data-theme="dark"] .contacts-result-skeleton-row {
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

@media (max-width: 380px) {
  .contacts-launchpad { min-height: 139px; padding: 14px 12px 11px; }
  .contacts-launchpad h1 { font-size: 19px; }
  .contacts-launchpad-copy p { max-width: 238px; font-size: 8.8px; }
  .contacts-launchpad-visual { right: 9px; top: 9px; width: 64px; height: 64px; }
  .contacts-launchpad-icon { width: 41px; height: 41px; }
  .contacts-launchpad .contacts-mode-tabs { margin-top: 13px; gap: 5px; }
  .contacts-launchpad .contacts-mode-chip { min-height: 30px; padding: 0 8px; font-size: 9.5px; }
  .contacts-panel { padding: 12px; border-radius: 20px; }
  .contacts-search-box .search-input { height: 52px; font-size: 12px; }
  .contacts-company-row { padding: 10px; }
  .contacts-company-meta b { font-size: 7px; }
}

/* v0.9.14 - Contacts UX refinement: distinct search modes + overgrown company mark */
.contacts-panel-quick {
  --contacts-panel-accent: #1768e8;
  border-color: color-mix(in srgb, var(--contacts-panel-accent) 24%, var(--line));
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--contacts-panel-accent) 9%, transparent), transparent 31%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, var(--contacts-panel-accent) 8%), var(--surface) 56%);
}
.contacts-panel-directory {
  --contacts-panel-accent: #7357c8;
  border-color: color-mix(in srgb, var(--contacts-panel-accent) 22%, var(--line));
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--contacts-panel-accent) 8%, transparent), transparent 31%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 93%, var(--contacts-panel-accent) 7%), var(--surface) 54%);
}
.contacts-panel-monitored {
  --contacts-panel-accent: #c48a15;
}
.contacts-panel-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.contacts-panel-title-icon {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--contacts-panel-accent, var(--brand-strong)) 16%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--contacts-panel-accent, var(--brand-strong)) 9%, var(--surface));
  color: var(--contacts-panel-accent, var(--brand-strong));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 4px 12px rgba(16,24,40,.04);
}
.contacts-panel-title-row h2 { min-width: 0; }
.contacts-panel-quick .contacts-panel-kicker { color: var(--contacts-panel-accent); }
.contacts-panel-directory .contacts-panel-kicker { color: var(--contacts-panel-accent); }
.contacts-panel-monitored .contacts-panel-kicker { color: var(--contacts-panel-accent); }
.contacts-panel-directory .contacts-search-box > .icon,
.contacts-panel-directory .contacts-filter-panel > summary > .icon:first-child {
  color: var(--contacts-panel-accent);
}
.contacts-panel-directory .contacts-search-box .search-input:focus {
  border-color: color-mix(in srgb, var(--contacts-panel-accent) 54%, var(--line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--contacts-panel-accent) 8%, transparent), 0 9px 22px rgba(66,45,120,.07);
}
.contacts-panel-directory .contacts-hint-icon {
  color: var(--contacts-panel-accent);
}

.contacts-company-row {
  isolation: isolate;
  padding-left: 14px;
}
.contacts-company-row > .row-main,
.contacts-company-row > .company-row-side {
  position: relative;
  z-index: 2;
}
.contacts-company-watermark {
  position: absolute;
  z-index: 0;
  left: -21px;
  bottom: -31px;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  color: var(--brand-strong);
  opacity: .075;
  transform: rotate(-11deg);
  transform-origin: 50% 70%;
  pointer-events: none;
}
.contacts-company-watermark .icon {
  width: 96px;
  height: 96px;
}
.contacts-company-row.is-quick-result .contacts-company-watermark {
  opacity: .095;
}
.contacts-panel-monitored .contacts-company-watermark {
  color: color-mix(in srgb, var(--brand-strong) 76%, var(--contacts-panel-accent));
}
.contacts-company-row .row-main {
  padding-left: 9px;
}
.contacts-result-skeleton-row {
  position: relative;
  overflow: hidden;
  padding-left: 22px;
}
.contacts-result-skeleton-row::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -29px;
  width: 86px;
  height: 86px;
  border: 10px solid color-mix(in srgb, var(--brand-strong) 7%, transparent);
  border-radius: 18px;
  transform: rotate(-11deg);
}
.contacts-result-skeleton-copy {
  position: relative;
  z-index: 1;
}

html[data-theme="dark"] .contacts-panel-quick {
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--contacts-panel-accent) 10%, transparent), transparent 31%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 93%, var(--contacts-panel-accent) 7%), var(--surface) 56%);
}
html[data-theme="dark"] .contacts-panel-directory {
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--contacts-panel-accent) 10%, transparent), transparent 31%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, var(--contacts-panel-accent) 6%), var(--surface) 54%);
}

@media (max-width: 390px) {
  .contacts-panel-title-icon { width: 29px; height: 29px; flex-basis: 29px; border-radius: 9px; }
  .contacts-panel-title-row { gap: 7px; }
  .contacts-company-watermark,
  .contacts-company-watermark .icon { width: 88px; height: 88px; }
  .contacts-company-watermark { left: -20px; bottom: -29px; }
}

/* v0.9.15 - Contacts card polish: softer watermark + full-height edge accent */
.contacts-company-watermark {
  opacity: .038;
}
.contacts-company-row.is-quick-result .contacts-company-watermark {
  opacity: .046;
}
.contacts-panel-monitored .contacts-company-watermark {
  opacity: .040;
}
.contacts-company-title-line strong {
  color: color-mix(in srgb, var(--text) 76%, var(--muted) 24%);
}
.contacts-company-row.is-quick-result::before {
  top: 0;
  bottom: 0;
  width: 2px;
  border-radius: 17px 0 0 17px;
  background: color-mix(in srgb, var(--brand-strong) 74%, var(--surface) 26%);
}
html[data-theme="dark"] .contacts-company-title-line strong {
  color: color-mix(in srgb, var(--text) 88%, var(--muted) 12%);
}

/* v0.9.16 - company profile UX: identity hero, icon-first contacts, compact project cards */
.company-v3-hero {
  position: relative;
  overflow: hidden;
  margin: 2px 0 26px;
  padding: 17px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 92% 18%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(138deg, #0b4a9f 0%, #1768e8 62%, #2b7df0 100%);
  box-shadow: 0 18px 38px rgba(23, 104, 232, .20);
}
.company-v3-hero-watermark {
  position: absolute;
  right: -34px;
  bottom: -46px;
  width: 154px;
  height: 154px;
  display: grid;
  place-items: center;
  opacity: .09;
  transform: rotate(-9deg);
  pointer-events: none;
}
.company-v3-hero-watermark .icon { width: 154px; height: 154px; }
.company-v3-hero-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 38px;
  align-items: start;
  gap: 11px;
}
.company-v3-logo {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #fff;
  color: #125fcf;
  box-shadow: 0 8px 22px rgba(4, 37, 85, .16);
  font-size: 18px;
  font-weight: 900;
}
.company-v3-identity { min-width: 0; padding-top: 1px; }
.company-v3-eyebrow {
  display: block;
  margin-bottom: 3px;
  color: rgba(255,255,255,.72);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.company-v3-identity h2 {
  margin: 0;
  color: #fff;
  font-size: 19px;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.company-v3-identity p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 5px 0 0;
  color: rgba(255,255,255,.74);
  font-size: 10px;
}
.company-v3-identity p .icon { flex: 0 0 auto; }
.company-v3-monitor-form { margin: 0; }
.company-v3-monitor {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 13px;
  background: rgba(255,255,255,.12);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(8px);
}
.company-v3-monitor.is-active {
  background: #fff;
  color: #1768e8;
}
.company-v3-stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 16px;
  padding: 10px 5px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(7, 49, 113, .20);
  backdrop-filter: blur(9px);
}
.company-v3-stats > div,
.company-v3-stats > a {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0 5px;
  color: inherit;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,.15);
}
.company-v3-stats > :last-child { border-right: 0; }
.company-v3-stats span {
  max-width: 100%;
  overflow: hidden;
  color: rgba(255,255,255,.62);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: .05em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.company-v3-stats strong {
  max-width: 100%;
  overflow: hidden;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v3-hero-actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 11px;
}
.company-v3-profile-form { flex: 1; margin: 0; }
.company-v3-profile-button {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 0;
  border-radius: 14px;
  background: #fff;
  color: #115cc8;
  box-shadow: 0 8px 20px rgba(4, 37, 85, .12);
  text-align: left;
}
.company-v3-profile-button span { font-size: 10px; font-weight: 900; }
.company-v3-profile-button small {
  color: #7795bd;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .02em;
}
.company-v3-hero-shortcuts { display: flex; gap: 7px; flex: 0 0 auto; }
.company-v3-hero-shortcuts a {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 13px;
  background: rgba(255,255,255,.12);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(8px);
}

.company-v3-section { margin-top: 24px; }
.company-v3-section-heading {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
}
.company-v3-section-heading-count { grid-template-columns: 34px minmax(0, 1fr) auto; }
.company-v3-heading-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #1768e8;
  background: #eaf2ff;
}
.company-v3-heading-icon.is-cyan { color: #087da6; background: #e6f7fb; }
.company-v3-heading-icon.is-violet { color: #6654cc; background: #f0edff; }
.company-v3-heading-icon.is-green { color: #13835c; background: #e7f7f0; }
.company-v3-section-heading h2 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.company-v3-section-heading p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.25;
}
.company-v3-section-heading > b {
  min-width: 28px;
  padding: 5px 7px;
  border-radius: 999px;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 8px;
  font-weight: 850;
  text-align: center;
}
.company-v3-about-card {
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.company-v3-about-card p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.company-v3-company-contact {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 19px;
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.company-v3-address-block {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 13px 14px;
}
.company-v3-address-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--brand-strong);
}
.company-v3-address-block strong {
  display: block;
  color: var(--text);
  font-size: 10px;
  line-height: 1.25;
}
.company-v3-address-block small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
}
.company-v3-contact-dock {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(62px, 1fr));
  gap: 1px;
  padding: 1px;
  border-top: 1px solid var(--line);
  background: var(--line);
}
.company-v3-contact-action {
  min-width: 0;
  min-height: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 5px;
  background: var(--surface);
  color: var(--brand-strong);
  text-decoration: none;
}
.company-v3-contact-action .icon { width: 18px; height: 18px; }
.company-v3-contact-action span {
  color: var(--muted);
  font-size: 7.5px;
  font-weight: 800;
}
.company-v3-contact-action.is-phone { color: #13835c; }

.company-v3-people-grid { display: grid; gap: 9px; }
.company-v3-person-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(23,104,232,.045), transparent 36%),
    var(--surface);
  box-shadow: 0 7px 20px rgba(16, 24, 40, .035);
}
.company-v3-person-avatar {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #edf3ff;
  color: #2b67d4;
  font-size: 13px;
  font-weight: 900;
}
.company-v3-person-copy { min-width: 0; }
.company-v3-person-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.company-v3-person-title > div { min-width: 0; }
.company-v3-person-title h3 {
  margin: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v3-person-title p {
  margin: 4px 0 0;
  color: var(--brand-strong);
  font-size: 7.5px;
  font-weight: 850;
  line-height: 1.25;
  text-transform: uppercase;
}
.company-v3-person-title > span {
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--muted-2);
  font-size: 6.8px;
  font-weight: 750;
}
.company-v3-person-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
}
.company-v3-person-actions a {
  width: 33px;
  height: 33px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-2);
  color: var(--brand-strong);
  text-decoration: none;
}
.company-v3-person-actions a.is-phone {
  border-color: rgba(19,131,92,.16);
  background: #eff9f5;
  color: #13835c;
}
.company-v3-reveal-form { margin: 9px 0 0; }
.company-v3-reveal-form button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px dashed rgba(23,104,232,.34);
  border-radius: 11px;
  background: rgba(23,104,232,.045);
  color: var(--brand-strong);
  box-shadow: none;
  font-size: 8px;
  font-weight: 850;
}

.company-v3-project-grid { display: grid; gap: 9px; }
.company-v3-project-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(16, 24, 40, .04);
}
.company-v3-project-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  bottom: 13px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: rgba(23,104,232,.60);
}
.company-v3-project-link {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  min-height: 104px;
  padding: 12px 49px 12px 12px;
  color: inherit;
  text-decoration: none;
}
.company-v3-project-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #edf3ff;
  color: #1768e8;
}
.company-v3-project-copy { min-width: 0; }
.company-v3-project-title-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.company-v3-project-title-row h3 {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: var(--text);
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -.012em;
}
.company-v3-project-chevron {
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--muted-2);
}
.company-v3-project-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
}
.company-v3-role-chip {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 7px;
  font-weight: 850;
}
.company-v3-project-tags .status-pill {
  padding: 4px 7px;
  font-size: 6.8px;
}
.company-v3-project-location {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 8px;
}
.company-v3-project-location .icon { flex: 0 0 auto; }
.company-v3-project-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 9px;
  margin-top: 7px;
}
.company-v3-project-meta > span,
.company-v3-project-meta > strong {
  font-size: 7px;
}
.company-v3-project-meta > strong {
  color: var(--text);
  font-size: 9px;
  font-weight: 900;
}
.company-v3-project-number { color: var(--muted-2); font-weight: 750; }
.company-v3-project-date { margin-left: auto; color: var(--muted); }
.company-v3-project-favorite {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  margin: 0;
}
.company-v3-star {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-2);
  color: var(--muted);
  box-shadow: none;
}
.company-v3-star.is-favorite { color: #1768e8; }

html[data-theme="dark"] .company-v3-heading-icon,
html[data-theme="dark"] .company-v3-heading-icon.is-cyan,
html[data-theme="dark"] .company-v3-heading-icon.is-violet,
html[data-theme="dark"] .company-v3-heading-icon.is-green,
html[data-theme="dark"] .company-v3-person-avatar,
html[data-theme="dark"] .company-v3-project-icon {
  background: var(--surface-3);
  color: var(--brand-strong);
}
html[data-theme="dark"] .company-v3-person-actions a.is-phone {
  background: var(--success-bg);
  color: var(--success);
}
html[data-theme="dark"] .company-v3-hero {
  background:
    radial-gradient(circle at 92% 18%, rgba(255,255,255,.10), transparent 30%),
    linear-gradient(138deg, #102a4d 0%, #154e86 100%);
}

@media (max-width: 390px) {
  .company-v3-hero { padding: 15px; }
  .company-v3-identity h2 { font-size: 17px; }
  .company-v3-stats { padding-left: 2px; padding-right: 2px; }
  .company-v3-stats strong { font-size: 9px; }
  .company-v3-profile-button small { display: none; }
  .company-v3-profile-button { grid-template-columns: 18px minmax(0, 1fr); }
  .company-v3-hero-shortcuts a { width: 38px; height: 38px; }
  .company-v3-project-link { padding-right: 46px; }
}


/* v0.9.17 company profile polish */
.company-v3-people-zone {
  position: relative;
  margin-left: -4px;
  margin-right: -4px;
  padding: 14px 10px 12px;
  overflow: hidden;
  border: 1px solid rgba(102, 84, 204, .10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 4%, rgba(102,84,204,.10), transparent 31%),
    linear-gradient(180deg, rgba(247,245,255,.96), rgba(242,247,255,.72));
}
.company-v3-people-zone::before {
  content: "";
  position: absolute;
  right: -34px;
  top: -28px;
  width: 118px;
  height: 118px;
  border: 18px solid rgba(102,84,204,.035);
  border-radius: 50%;
  pointer-events: none;
}
.company-v3-people-zone .company-v3-section-heading {
  position: relative;
  z-index: 1;
  margin-left: 2px;
  margin-right: 2px;
  margin-bottom: 12px;
}
.company-v3-people-zone .company-v3-section-heading h2 { font-size: 17px; }
.company-v3-people-zone .company-v3-section-heading p { color: #7b7890; }
.company-v3-people-zone .company-v3-section-heading > b {
  background: rgba(255,255,255,.72);
  color: #645d88;
  box-shadow: inset 0 0 0 1px rgba(102,84,204,.08);
}
.company-v3-people-grid { gap: 10px; }
.company-v3-person-card {
  position: relative;
  min-height: 90px;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 11px;
  padding: 13px;
  overflow: hidden;
  border-color: rgba(40, 65, 110, .09);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 24px rgba(29, 45, 78, .055);
}
.company-v3-person-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: linear-gradient(180deg, #765df0, #2f7ef0);
  opacity: .68;
}
.company-v3-person-watermark {
  position: absolute;
  right: -18px;
  bottom: -25px;
  width: 82px;
  height: 82px;
  color: #517fd6;
  opacity: .035;
  transform: rotate(-9deg);
  pointer-events: none;
}
.company-v3-person-watermark .icon { width: 82px; height: 82px; }
.company-v3-person-avatar {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: linear-gradient(145deg, #edf1ff, #eaf5ff);
  color: #2d67cf;
  box-shadow: inset 0 0 0 1px rgba(47,126,240,.05);
}
.company-v3-person-copy { position: relative; z-index: 1; }
.company-v3-person-title { padding-right: 2px; }
.company-v3-person-title h3 {
  color: #23324a;
  font-size: 11.5px;
  font-weight: 900;
}
.company-v3-person-title p {
  display: inline-flex;
  margin-top: 5px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #eef4ff;
  color: #2466cf;
  font-size: 7px;
  letter-spacing: .015em;
}
.company-v3-person-actions {
  gap: 7px;
  margin-top: 10px;
}
.company-v3-person-actions a {
  width: 36px;
  height: 36px;
  border-color: rgba(47,126,240,.10);
  border-radius: 12px;
  background: #f5f8ff;
  box-shadow: 0 3px 9px rgba(38,74,130,.045);
}
.company-v3-person-actions a.is-phone {
  border-color: rgba(19,131,92,.11);
  background: #edf9f4;
}
.company-v3-reveal-form { margin-top: 10px; }
.company-v3-reveal-form button {
  min-height: 36px;
  padding: 0 11px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f3f7ff, #edf4ff);
  color: #2266d1;
  box-shadow: inset 0 0 0 1px rgba(47,126,240,.11);
}

/* Back/detail pages: no "VICTA Mobile" eyebrow. */
.topbar-left:has(.icon-button) .topbar-copy { display: flex; align-items: center; }

html[data-theme="dark"] .company-v3-people-zone {
  background:
    radial-gradient(circle at 88% 4%, rgba(125,107,255,.12), transparent 31%),
    rgba(21,27,40,.88);
  border-color: rgba(140,128,255,.10);
}
html[data-theme="dark"] .company-v3-person-card { background: rgba(29,36,51,.96); }
html[data-theme="dark"] .company-v3-person-title h3 { color: #eef3ff; }

/* v0.9.18 - company profile redesign: stronger hero, compact people rail, editorial projects */
.company-v4-hero {
  position: relative;
  overflow: hidden;
  margin: 2px 0 28px;
  padding: 18px;
  border-radius: 26px;
  color: #fff;
  background:
    radial-gradient(circle at 93% 12%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, #0d4f9f 0%, #1768e8 58%, #2f83f3 100%);
  box-shadow: 0 20px 42px rgba(23,104,232,.21);
}
.company-v4-hero-watermark {
  position: absolute;
  right: -42px;
  bottom: -55px;
  width: 165px;
  height: 165px;
  display: grid;
  place-items: center;
  color: #fff;
  opacity: .055;
  transform: rotate(-8deg);
  pointer-events: none;
}
.company-v4-hero-watermark .icon { width: 165px; height: 165px; }
.company-v4-hero-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 40px;
  gap: 12px;
  align-items: start;
}
.company-v4-logo {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: rgba(255,255,255,.97);
  color: #1768e8;
  box-shadow: 0 9px 24px rgba(4,37,85,.16);
  font-size: 18px;
  font-weight: 900;
}
.company-v4-identity { min-width: 0; padding-top: 1px; }
.company-v4-identity > span {
  display: block;
  margin-bottom: 3px;
  color: rgba(255,255,255,.70);
  font-size: 7.5px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.company-v4-identity h2 {
  margin: 0;
  color: #fff;
  font-size: 19px;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.company-v4-identity p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 6px 0 0;
  color: rgba(255,255,255,.75);
  font-size: 9.5px;
}
.company-v4-monitor-form { margin: 0; }
.company-v4-monitor {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(9px);
}
.company-v4-monitor.is-active { background: #fff; color: #1768e8; }
.company-v4-metrics {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
  margin-top: 17px;
}
.company-v4-metrics > div,
.company-v4-metrics > a {
  min-width: 0;
  min-height: 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(5,47,111,.18);
  color: inherit;
  text-decoration: none;
  backdrop-filter: blur(8px);
}
.company-v4-metrics span {
  color: rgba(255,255,255,.58);
  font-size: 6.8px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.company-v4-metrics strong {
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v4-hero-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  gap: 9px;
  margin-top: 10px;
}
.company-v4-profile-form { flex: 1; margin: 0; }
.company-v4-profile-button {
  width: 100%;
  min-height: 46px;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 16px;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 0;
  border-radius: 14px;
  background: #fff;
  color: #125fcf;
  box-shadow: 0 8px 20px rgba(4,37,85,.12);
  text-align: left;
}
.company-v4-profile-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #edf4ff;
  color: #1768e8;
}
.company-v4-profile-copy { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.company-v4-profile-copy strong { color: #184d99; font-size: 9.5px; font-weight: 900; }
.company-v4-profile-copy small { color: #7892b6; font-size: 6.8px; font-weight: 750; }
.company-v4-quick-actions {
  display: flex;
  align-items: stretch;
  gap: 6px;
  flex: 0 0 auto;
}
.company-v4-quick-actions a {
  width: 42px;
  min-height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(8px);
}
.company-v4-quick-actions a.is-phone { background: rgba(20,151,105,.22); }

.company-v4-section { margin-top: 27px; }
.company-v4-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 0 2px 11px;
}
.company-v4-heading-copy { min-width: 0; }
.company-v4-section-kicker {
  display: block;
  margin-bottom: 4px;
  color: #6f62d7;
  font-size: 6.8px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.company-v4-section-kicker.is-green { color: #16815c; }
.company-v4-section-heading h2 {
  margin: 0;
  color: #172238;
  font-size: 17px;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.company-v4-section-heading p {
  margin: 4px 0 0;
  color: #8a96a8;
  font-size: 8px;
  line-height: 1.25;
}
.company-v4-section-heading > b {
  flex: 0 0 auto;
  min-width: 30px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f0f3f8;
  color: #65738a;
  font-size: 7.5px;
  font-weight: 850;
  text-align: center;
}

.company-v4-people-list {
  overflow: hidden;
  border: 1px solid rgba(34,52,80,.09);
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 28px rgba(18,38,70,.055);
}
.company-v4-person-row {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 11px 12px;
  background: #fff;
}
.company-v4-person-row + .company-v4-person-row { border-top: 1px solid #edf0f5; }
.company-v4-person-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: linear-gradient(180deg,#7e69f2,#3787f4);
  opacity: .55;
}
.company-v4-person-avatar {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(145deg,#eef2ff,#e9f5ff);
  color: #2c67cf;
  box-shadow: inset 0 0 0 1px rgba(47,126,240,.05);
  font-size: 12px;
  font-weight: 900;
}
.company-v4-person-info { min-width: 0; }
.company-v4-person-info h3 {
  margin: 0;
  overflow: hidden;
  color: #253248;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v4-person-info p {
  margin: 5px 0 0;
  overflow: hidden;
  color: #3270d5;
  font-size: 7px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.company-v4-person-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: wrap;
  max-width: 124px;
}
.company-v4-person-actions > a,
.company-v4-reveal-form button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #e7ebf1;
  border-radius: 11px;
  background: #f8faff;
  color: #2368d6;
  box-shadow: none;
  text-decoration: none;
}
.company-v4-person-actions > a.is-phone {
  border-color: rgba(20,151,105,.12);
  background: #eff9f5;
  color: #16815c;
}
.company-v4-person-actions > a.is-linkedin { color: #0a66c2; }
.company-v4-reveal-form { margin: 0; }
.company-v4-reveal-form button {
  border-style: dashed;
  border-color: rgba(35,104,214,.20);
  background: #f3f7ff;
  color: #3270d5;
}

.company-v4-project-list { display: grid; gap: 10px; }
.company-v4-project-card {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  border: 1px solid rgba(34,52,80,.09);
  border-radius: 21px;
  background:
    radial-gradient(circle at 100% 100%, rgba(23,104,232,.045), transparent 38%),
    #fff;
  box-shadow: 0 10px 25px rgba(18,38,70,.055);
}
.company-v4-project-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg,#1768e8,#7db0f6);
  opacity: .58;
}
.company-v4-project-watermark {
  position: absolute;
  right: -14px;
  bottom: -26px;
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  color: #1768e8;
  opacity: .032;
  transform: rotate(-8deg);
  pointer-events: none;
}
.company-v4-project-watermark .icon { width: 82px; height: 82px; }
.company-v4-project-link {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 126px;
  padding: 13px 52px 13px 14px;
  color: inherit;
  text-decoration: none;
}
.company-v4-project-topline {
  display: flex;
  align-items: center;
  gap: 8px;
}
.company-v4-project-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.company-v4-project-role {
  display: inline-flex;
  align-items: center;
  min-height: 19px;
  padding: 0 7px;
  border-radius: 999px;
  background: #edf3ff;
  color: #2c67cf;
  font-size: 6.8px;
  font-weight: 900;
}
.company-v4-project-tags .status-pill { padding: 4px 7px; font-size: 6.7px; }
.company-v4-project-chevron { margin-left: auto; color: #97a3b4; }
.company-v4-project-link h3 {
  margin: 8px 0 0;
  color: #202d43;
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1.23;
  letter-spacing: -.016em;
}
.company-v4-project-location {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 7px 0 0;
  color: #7c899b;
  font-size: 8px;
}
.company-v4-project-bottom {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: 10px;
}
.company-v4-project-bottom strong {
  color: #172238;
  font-size: 10px;
  font-weight: 900;
}
.company-v4-project-bottom span {
  margin-left: auto;
  color: #9aa5b5;
  font-size: 6.8px;
}
.company-v4-project-favorite {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  margin: 0;
}
.company-v4-star {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #e7ebf1;
  border-radius: 11px;
  background: rgba(248,250,255,.96);
  color: #8491a5;
  box-shadow: none;
}
.company-v4-star.is-favorite { color: #1768e8; background: #eef4ff; }

html[data-theme="dark"] .company-v4-hero {
  background:
    radial-gradient(circle at 93% 12%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg,#102b4f,#174e86 68%,#1d5d9e);
}
html[data-theme="dark"] .company-v4-section-heading h2,
html[data-theme="dark"] .company-v4-person-info h3,
html[data-theme="dark"] .company-v4-project-link h3,
html[data-theme="dark"] .company-v4-project-bottom strong { color: var(--text); }
html[data-theme="dark"] .company-v4-people-list,
html[data-theme="dark"] .company-v4-person-row,
html[data-theme="dark"] .company-v4-project-card { background: var(--surface); }
html[data-theme="dark"] .company-v4-person-row + .company-v4-person-row { border-top-color: var(--line); }
html[data-theme="dark"] .company-v4-person-actions > a,
html[data-theme="dark"] .company-v4-reveal-form button,
html[data-theme="dark"] .company-v4-star { background: var(--surface-2); border-color: var(--line); }

@media (max-width: 390px) {
  .company-v4-hero { padding: 16px; }
  .company-v4-identity h2 { font-size: 17px; }
  .company-v4-profile-copy small { display: none; }
  .company-v4-profile-button { grid-template-columns: 30px minmax(0,1fr) 16px; }
  .company-v4-quick-actions a { width: 39px; }
  .company-v4-person-row { grid-template-columns: 42px minmax(0,1fr) auto; gap: 9px; padding: 10px; }
  .company-v4-person-avatar { width: 42px; height: 42px; }
  .company-v4-person-actions { max-width: 82px; }
  .company-v4-project-link { padding-right: 48px; }
}

/* =========================================================
   Company profile premium pass v0.9.19
   Editorial hero, compact contact rows, opportunity projects.
   ========================================================= */

/* Hero: less "cards inside a card", stronger identity. */
.company-v4-hero {
  overflow: hidden;
  padding: 18px 17px 16px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 8%, rgba(255,255,255,.17), transparent 29%),
    linear-gradient(135deg,#0755bd 0%,#176de6 56%,#2d82f1 100%);
  box-shadow: 0 18px 38px rgba(13,73,155,.16);
}
.company-v4-hero-watermark {
  right: -48px;
  bottom: -76px;
  width: 220px;
  height: 220px;
  opacity: .055;
  transform: rotate(-8deg);
}
.company-v4-hero-watermark .icon { width: 214px; height: 214px; }
.company-v4-hero-head { align-items: flex-start; gap: 12px; }
.company-v4-logo {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  color: #1768e8;
  box-shadow: 0 9px 22px rgba(5,39,94,.13);
  font-size: 15px;
}
.company-v4-identity > span {
  margin-bottom: 3px;
  color: rgba(255,255,255,.70);
  font-size: 6.6px;
  letter-spacing: .12em;
}
.company-v4-identity h2 {
  max-width: 285px;
  font-size: 20px;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.company-v4-identity p {
  margin-top: 6px;
  color: rgba(255,255,255,.80);
  font-size: 8.5px;
}
.company-v4-monitor {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(255,255,255,.09);
}

.company-v4-metrics {
  gap: 0;
  margin-top: 18px;
  padding: 0 4px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background: rgba(3,42,102,.18);
  backdrop-filter: blur(8px);
}
.company-v4-metrics > div,
.company-v4-metrics > a {
  min-height: 48px;
  padding: 8px 12px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.13);
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
}
.company-v4-metrics > :last-child { border-right: 0; }
.company-v4-metrics span {
  font-size: 6.3px;
  letter-spacing: .08em;
}
.company-v4-metrics strong { font-size: 11.5px; }

.company-v4-hero-footer { gap: 8px; margin-top: 10px; }
.company-v4-profile-button {
  min-height: 50px;
  grid-template-columns: 32px minmax(0,1fr) 15px;
  gap: 9px;
  padding: 0 12px;
  border-radius: 15px;
  box-shadow: 0 10px 23px rgba(4,37,85,.13);
}
.company-v4-profile-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}
.company-v4-profile-copy strong { font-size: 10.4px; }
.company-v4-profile-copy small { margin-top: 1px; font-size: 7px; }
.company-v4-quick-actions { gap: 6px; }
.company-v4-quick-actions a {
  width: 44px;
  min-height: 50px;
  border-radius: 15px;
  background: rgba(255,255,255,.11);
}

/* Section signature: one visual language, no decorative boxes for the sake of boxes. */
.company-v4-section { margin-top: 28px; }
.company-v4-section-heading {
  position: relative;
  align-items: center;
  margin: 0 1px 12px;
  padding-left: 13px;
}
.company-v4-section-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg,#745cf0,#4087f3);
}
.company-v4-projects-section .company-v4-section-heading::before {
  background: linear-gradient(180deg,#19a36f,#45a4e8);
}
.company-v4-section-kicker {
  margin-bottom: 3px;
  font-size: 6.5px;
  letter-spacing: .14em;
}
.company-v4-section-heading h2 {
  font-size: 18px;
  letter-spacing: -.04em;
}
.company-v4-section-heading p {
  margin-top: 3px;
  font-size: 8.2px;
}
.company-v4-section-heading > b {
  min-width: 31px;
  padding: 5px 8px;
  border: 1px solid rgba(35,55,86,.05);
  background: #f3f6fa;
  color: #5f6e84;
}

/* Contacts: individual rows, avatar breaks the card edge, actions stay icon-first. */
.company-v4-people-list {
  display: grid;
  gap: 10px;
  overflow: visible;
  padding-left: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.company-v4-person-row {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  min-height: 76px;
  padding: 12px 12px 12px 46px;
  border: 1px solid rgba(34,52,80,.09);
  border-radius: 19px;
  background:
    radial-gradient(circle at 100% 115%, rgba(54,120,226,.055), transparent 34%),
    #fff;
  box-shadow: 0 9px 22px rgba(18,38,70,.045);
}
.company-v4-person-row + .company-v4-person-row { border-top: 1px solid rgba(34,52,80,.09); }
.company-v4-person-row::before {
  left: 0;
  top: 13px;
  bottom: 13px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  opacity: .42;
}
.company-v4-person-row::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -30px;
  width: 74px;
  height: 74px;
  border: 10px solid rgba(42,103,211,.035);
  border-radius: 50%;
  pointer-events: none;
}
.company-v4-person-avatar {
  position: absolute;
  z-index: 2;
  left: -9px;
  top: 50%;
  width: 48px;
  height: 48px;
  border: 4px solid #f3f6fb;
  border-radius: 16px;
  background: linear-gradient(145deg,#f1f5ff,#e7f3ff);
  color: #2864cb;
  box-shadow: 0 7px 18px rgba(34,72,135,.08);
  transform: translateY(-50%);
  font-size: 12px;
}
.company-v4-person-info {
  position: relative;
  z-index: 1;
  align-self: center;
}
.company-v4-person-info h3 {
  color: #1f2b3d;
  font-size: 11.5px;
  letter-spacing: -.016em;
}
.company-v4-person-info p {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef4ff;
  color: #3470cf;
  font-size: 6.5px;
  letter-spacing: .025em;
  text-transform: none;
}
.company-v4-person-actions {
  position: relative;
  z-index: 2;
  align-self: center;
  gap: 6px;
  max-width: 126px;
}
.company-v4-person-actions > a,
.company-v4-reveal-form button {
  width: 36px;
  height: 36px;
  border-color: rgba(45,72,112,.08);
  border-radius: 12px;
  background: #f7f9fd;
  color: #2868d0;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease;
}
.company-v4-person-actions > a:active,
.company-v4-reveal-form button:active { transform: scale(.94); }
.company-v4-person-actions > a.is-phone {
  border-color: rgba(20,151,105,.10);
  background: #edf9f4;
  color: #13835c;
}
.company-v4-person-actions > a.is-mail {
  background: #eef5ff;
  color: #1768e8;
}
.company-v4-person-actions > a.is-linkedin {
  background: #eff6fd;
  color: #0a66c2;
}
.company-v4-reveal-form button {
  position: relative;
  border-style: solid;
  border-color: rgba(35,104,214,.12);
  background: #f3f7ff;
  color: #5a7db7;
}
.company-v4-reveal-form button::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 5px;
  height: 5px;
  border: 2px solid #f3f7ff;
  border-radius: 50%;
  background: #1768e8;
}

/* Projects: read as opportunities, not database records. */
.company-v4-project-list { gap: 11px; }
.company-v4-project-card {
  --project-accent: #1768e8;
  --project-wash: rgba(23,104,232,.055);
  min-height: 132px;
  border-color: rgba(34,52,80,.09);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 100%, var(--project-wash), transparent 42%),
    #fff;
  box-shadow: 0 10px 24px rgba(18,38,70,.05);
}
.company-v4-project-card.tone-success {
  --project-accent: #159765;
  --project-wash: rgba(21,151,101,.065);
}
.company-v4-project-card.tone-warning {
  --project-accent: #d59324;
  --project-wash: rgba(213,147,36,.07);
}
.company-v4-project-card.tone-info {
  --project-accent: #1768e8;
  --project-wash: rgba(23,104,232,.065);
}
.company-v4-project-card::before {
  width: 3px;
  background: var(--project-accent);
  opacity: .72;
}
.company-v4-project-watermark {
  right: -20px;
  bottom: -31px;
  width: 102px;
  height: 102px;
  color: var(--project-accent);
  opacity: .025;
  transform: rotate(-9deg);
}
.company-v4-project-watermark .icon { width: 96px; height: 96px; }
.company-v4-project-link {
  min-height: 132px;
  padding: 14px 52px 14px 16px;
}
.company-v4-project-topline { min-height: 22px; }
.company-v4-project-role {
  min-height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #5e6e84;
  font-size: 6.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.company-v4-project-tags { gap: 8px; }
.company-v4-project-tags .status-pill {
  padding: 4px 7px;
  font-size: 6.5px;
  font-weight: 850;
}
.company-v4-project-chevron { display: none; }
.company-v4-project-link h3 {
  max-width: 92%;
  margin-top: 8px;
  color: #1f2a3c;
  font-size: 12.5px;
  line-height: 1.22;
  letter-spacing: -.025em;
}
.company-v4-project-location {
  margin-top: 7px;
  color: #77869a;
  font-size: 8.2px;
}
.company-v4-project-bottom {
  align-items: center;
  margin-top: 11px;
}
.company-v4-project-bottom strong {
  color: #162238;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -.025em;
}
.company-v4-project-bottom span {
  color: #9aa5b5;
  font-size: 6.8px;
}
.company-v4-project-favorite { top: 12px; right: 12px; }
.company-v4-star {
  width: 36px;
  height: 36px;
  border-color: rgba(45,72,112,.08);
  border-radius: 12px;
  background: rgba(248,250,255,.93);
  backdrop-filter: blur(6px);
}

/* Company details inherit the same lighter, less boxed language. */
.company-v3-section { margin-top: 25px; }
.company-v3-section-heading { margin-bottom: 9px; }
.company-v3-heading-icon {
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(23,104,232,.04);
}
.company-v3-company-contact {
  border-color: rgba(34,52,80,.08);
  border-radius: 20px;
  box-shadow: 0 9px 22px rgba(18,38,70,.045);
}
.company-v3-address-block { padding: 14px; }
.company-v3-contact-dock { border-top-color: rgba(34,52,80,.07); }

html[data-theme="dark"] .company-v4-person-row,
html[data-theme="dark"] .company-v4-project-card {
  background: var(--surface);
  border-color: var(--line);
}
html[data-theme="dark"] .company-v4-person-avatar { border-color: var(--surface-2); }
html[data-theme="dark"] .company-v4-person-info p { background: var(--surface-2); }
html[data-theme="dark"] .company-v4-section-heading > b { background: var(--surface-2); border-color: var(--line); }

@media (max-width: 390px) {
  .company-v4-hero { padding: 16px 15px 15px; }
  .company-v4-identity h2 { font-size: 18.5px; }
  .company-v4-metrics > div,
  .company-v4-metrics > a { padding-left: 9px; padding-right: 9px; }
  .company-v4-profile-button { min-height: 48px; }
  .company-v4-quick-actions a { width: 40px; min-height: 48px; }
  .company-v4-people-list { padding-left: 8px; }
  .company-v4-person-row { min-height: 72px; padding: 11px 10px 11px 43px; }
  .company-v4-person-avatar { left: -8px; width: 45px; height: 45px; }
  .company-v4-person-actions { gap: 5px; max-width: 82px; }
  .company-v4-person-actions > a,
  .company-v4-reveal-form button { width: 34px; height: 34px; }
  .company-v4-project-link { padding-right: 48px; }
}

/* =========================================================
   Company profile focus pass v0.9.20
   Cleaner editorial hero + contact actions that reveal by type.
   Projects intentionally left on the v0.9.19 treatment.
   ========================================================= */

/* HERO — less dashboard-box feeling, stronger company identity. */
.company-v4-hero {
  padding: 20px 18px 17px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 4%, rgba(255,255,255,.20), transparent 25%),
    radial-gradient(circle at 8% 115%, rgba(0,35,95,.18), transparent 37%),
    linear-gradient(132deg,#074cae 0%,#176ce4 54%,#388af2 100%);
  box-shadow: 0 20px 42px rgba(17,70,150,.18);
}
.company-v4-hero::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  opacity: .7;
}
.company-v4-hero-watermark {
  right: -62px;
  bottom: -78px;
  width: 235px;
  height: 235px;
  opacity: .045;
  transform: rotate(-11deg);
}
.company-v4-hero-watermark .icon { width: 230px; height: 230px; }
.company-v4-logo {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(4,35,84,.16);
}
.company-v4-identity h2 {
  max-width: 300px;
  margin-top: 1px;
  font-size: 21px;
  line-height: 1.05;
  letter-spacing: -.047em;
}
.company-v4-identity p {
  margin-top: 7px;
  font-size: 8.7px;
}
.company-v5-cui {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(3,42,101,.12);
  color: rgba(255,255,255,.73);
  font-size: 6.2px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.company-v5-cui strong {
  color: #fff;
  font-size: 8.2px;
  letter-spacing: 0;
}
.company-v4-monitor {
  width: 40px;
  height: 40px;
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
}

.company-v5-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 17px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
}
.company-v5-metrics > a {
  display: flex;
  min-height: 50px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 14px !important;
  background: rgba(4,44,103,.13) !important;
  backdrop-filter: blur(8px);
}
.company-v5-metrics > a strong {
  order: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -.03em;
}
.company-v5-metrics > a span {
  order: 1;
  color: rgba(255,255,255,.68);
  font-size: 7px;
  letter-spacing: .04em;
  text-transform: none;
}
.company-v4-hero-footer {
  align-items: stretch;
  gap: 8px;
  margin-top: 9px;
}
.company-v4-profile-button {
  min-height: 48px;
  border-radius: 14px;
  box-shadow: 0 9px 20px rgba(4,37,85,.14);
}
.company-v4-profile-copy strong { font-size: 10.7px; }
.company-v4-profile-copy small { color: #7990b1; font-size: 6.7px; }
.company-v4-quick-actions a {
  width: 42px;
  min-height: 48px;
  border-color: rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.10);
}

/* CONTACTS — one intentional surface, not 18 repeated floating cards. */
.company-v4-people-section .company-v4-section-heading {
  margin-bottom: 11px;
}
.company-v4-people-list {
  display: block;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(32,53,86,.08);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(248,251,255,.82), rgba(255,255,255,.98) 28%),
    #fff;
  box-shadow: 0 12px 28px rgba(18,38,70,.055);
}
.company-v4-person-row {
  display: grid;
  position: relative;
  overflow: visible;
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 11px;
  min-height: 74px;
  align-items: center;
  padding: 11px 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.company-v4-person-row + .company-v4-person-row {
  border-top: 1px solid rgba(32,53,86,.075);
}
.company-v4-person-row::before,
.company-v4-person-row::after { display: none; }
.company-v4-person-avatar {
  position: static;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(145deg,#edf3ff,#e8f2ff);
  color: #2864cb;
  box-shadow: inset 0 0 0 1px rgba(37,96,195,.045);
  transform: none;
  font-size: 12px;
}
.company-v4-person-info h3 {
  color: #263347;
  font-size: 11.6px;
  font-weight: 700;
  letter-spacing: -.018em;
}
.company-v4-person-info p {
  display: block;
  width: auto;
  max-width: 100%;
  margin-top: 4px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #5d79a7;
  font-size: 6.8px;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.company-v4-person-actions {
  display: flex;
  position: relative;
  z-index: 2;
  max-width: none;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.company-v4-person-actions > a,
.company-v5-reveal-action button {
  display: inline-flex;
  position: relative;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(42,72,116,.09);
  border-radius: 11px;
  background: #f7f9fc;
  color: #6680a7;
  box-shadow: none;
}
.company-v4-person-actions > a.is-live {
  box-shadow: 0 5px 12px rgba(32,71,135,.05);
}
.company-v4-person-actions > a.is-phone.is-live {
  border-color: rgba(20,151,105,.11);
  background: #eef9f5;
  color: #14855f;
}
.company-v4-person-actions > a.is-mail.is-live {
  border-color: rgba(23,104,232,.10);
  background: #eef5ff;
  color: #1768e8;
}
.company-v4-person-actions > a.is-linkedin.is-live {
  border-color: rgba(10,102,194,.10);
  background: #eff6fd;
  color: #0a66c2;
}
.company-v5-reveal-action {
  display: inline-flex;
  margin: 0;
}
.company-v5-reveal-action button {
  cursor: pointer;
  opacity: .68;
}
.company-v5-reveal-action.is-phone button {
  background: #f4faf7;
  color: #5b927d;
}
.company-v5-reveal-action.is-mail button {
  background: #f4f7fc;
  color: #6f87ae;
}
.company-v5-lock {
  display: inline-flex;
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 13px;
  height: 13px;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #dfe8f6;
  color: #526b91;
}
.company-v5-lock .icon { width: 7px; height: 7px; stroke-width: 2.2; }
.company-v5-reveal-action button:active,
.company-v4-person-actions > a:active { transform: scale(.94); }

html[data-theme="dark"] .company-v4-people-list {
  border-color: var(--line);
  background: var(--surface);
}
html[data-theme="dark"] .company-v4-person-row { background: transparent; }
html[data-theme="dark"] .company-v4-person-row + .company-v4-person-row { border-top-color: var(--line); }
html[data-theme="dark"] .company-v4-person-avatar { background: var(--surface-2); }
html[data-theme="dark"] .company-v4-person-info p { color: var(--muted); background: transparent; }
html[data-theme="dark"] .company-v5-lock { border-color: var(--surface); background: var(--surface-2); }

@media (max-width: 390px) {
  .company-v4-hero { padding: 17px 15px 15px; }
  .company-v4-identity h2 { font-size: 19px; }
  .company-v5-metrics > a { min-height: 47px; padding: 8px 10px; }
  .company-v5-metrics > a strong { font-size: 15px; }
  .company-v4-person-row { grid-template-columns: 40px minmax(0,1fr) auto; gap: 9px; padding: 10px; }
  .company-v4-person-avatar { width: 40px; height: 40px; border-radius: 13px; }
  .company-v4-person-actions { gap: 4px; }
  .company-v4-person-actions > a,
  .company-v5-reveal-action button { width: 32px; height: 32px; border-radius: 10px; }
}

/* =========================================================
   Company profile data pass v0.9.21
   Stronger editorial hero + richer company data, zero extra requests.
   Contact UX and project composition stay on the 0.9.20/0.9.19 baseline.
   ========================================================= */

/* HERO — architectural texture, compact identity metadata and one metric rail. */
.company-v4-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 28px 28px;
  -webkit-mask-image: linear-gradient(110deg, transparent 8%, #000 55%, rgba(0,0,0,.35) 100%);
  mask-image: linear-gradient(110deg, transparent 8%, #000 55%, rgba(0,0,0,.35) 100%);
  pointer-events: none;
}
.company-v4-hero-watermark {
  right: -72px;
  bottom: -86px;
  width: 255px;
  height: 255px;
  opacity: .04;
  transform: rotate(-10deg);
}
.company-v4-hero-watermark .icon { width: 250px; height: 250px; }
.company-v4-hero-head,
.company-v4-hero-footer,
.company-v5-metrics { z-index: 2; }
.company-v4-logo {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 16px;
}
.company-v4-identity h2 {
  max-width: 315px;
  font-size: 21.5px;
  line-height: 1.04;
}
.company-v4-identity p { margin-top: 6px; }
.company-v6-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.company-v6-hero-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 23px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(2,37,91,.14);
  backdrop-filter: blur(8px);
}
.company-v6-hero-meta small {
  color: rgba(255,255,255,.56);
  font-size: 5.8px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.company-v6-hero-meta strong {
  color: #fff;
  font-size: 7.8px;
  font-weight: 850;
}
.company-v5-metrics,
.company-v5-metrics.has-three {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0;
  overflow: hidden;
  margin-top: 15px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(3,40,96,.16);
  backdrop-filter: blur(10px);
}
.company-v5-metrics.has-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.company-v5-metrics > a,
.company-v5-metrics > div {
  position: relative;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  padding: 9px 12px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit;
  text-decoration: none;
  backdrop-filter: none;
}
.company-v5-metrics > * + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 1px;
  background: rgba(255,255,255,.13);
}
.company-v5-metrics > a strong,
.company-v5-metrics > div strong {
  color: #fff;
  font-size: 16.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.035em;
}
.company-v5-metrics > a span,
.company-v5-metrics > div span {
  color: rgba(255,255,255,.62);
  font-size: 6.6px;
  font-weight: 700;
}
.company-v4-hero-footer { margin-top: 10px; }
.company-v4-profile-button {
  min-height: 50px;
  border-radius: 15px;
}
.company-v4-quick-actions a {
  width: 44px;
  min-height: 50px;
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.13);
}

/* COMPANY DATA — one useful card instead of another utility list. */
.company-v6-details-section,
.company-v6-about-section { margin-top: 27px; }
.company-v6-section-heading {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.company-v6-heading-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(145deg,#e9f7ff,#eef4ff);
  color: #1768e8;
  box-shadow: inset 0 0 0 1px rgba(23,104,232,.05);
}
.company-v6-heading-icon.is-info {
  background: linear-gradient(145deg,#eef3ff,#f2f0ff);
  color: #5b61d9;
}
.company-v6-section-heading h2 {
  margin: 0;
  color: #17263d;
  font-size: 15.5px;
  line-height: 1.1;
  letter-spacing: -.025em;
}
.company-v6-section-heading p {
  margin: 3px 0 0;
  color: #8794a8;
  font-size: 7.4px;
}
.company-v6-company-card {
  overflow: hidden;
  border: 1px solid rgba(29,55,92,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 28px rgba(18,38,70,.055);
}
.company-v6-address {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  padding: 13px 14px;
  border-bottom: 1px solid rgba(32,53,86,.075);
}
.company-v6-address > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #edf5ff;
  color: #1768e8;
}
.company-v6-address strong {
  display: block;
  color: #263347;
  font-size: 9.5px;
  line-height: 1.3;
  font-weight: 750;
}
.company-v6-address small {
  display: block;
  margin-top: 3px;
  color: #8491a5;
  font-size: 7px;
}
.company-v6-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  padding: 0 14px;
}
.company-v6-facts > div {
  min-width: 0;
  padding: 12px 5px 12px 0;
  border-bottom: 1px solid rgba(32,53,86,.07);
}
.company-v6-facts > div:nth-child(even) {
  padding-left: 14px;
  border-left: 1px solid rgba(32,53,86,.07);
}
.company-v6-facts span,
.company-v6-financial-grid span {
  display: block;
  margin-bottom: 4px;
  color: #8996a9;
  font-size: 6.5px;
  font-weight: 700;
  letter-spacing: .02em;
}
.company-v6-facts strong,
.company-v6-financial-grid strong {
  display: block;
  overflow: hidden;
  color: #24334a;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-v6-financials { margin: 0; }
.company-v6-financials summary {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  list-style: none;
  color: #30547f;
  cursor: pointer;
  font-size: 8px;
  font-weight: 750;
}
.company-v6-financials summary::-webkit-details-marker { display: none; }
.company-v6-financials summary > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.company-v6-financials[open] summary > .icon { transform: rotate(180deg); }
.company-v6-financial-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  padding: 0 14px 13px;
}
.company-v6-financial-grid > div {
  min-width: 0;
  padding: 10px 10px 7px 0;
  border-top: 1px solid rgba(32,53,86,.07);
}
.company-v6-financial-grid > div + div {
  padding-left: 14px;
  border-left: 1px solid rgba(32,53,86,.07);
}
.company-v6-financial-grid strong { font-size: 12px; }
.company-v6-about-card {
  padding: 15px 16px;
  border: 1px solid rgba(29,55,92,.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(18,38,70,.045);
}
.company-v6-about-card p {
  margin: 0;
  color: #5d6d84;
  font-size: 8.6px;
  line-height: 1.62;
}

/* PROJECT DATA — keep the strong card, surface all company roles and free metadata. */
.company-v4-project-tags { flex-wrap: wrap; }
.company-v6-project-size {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border: 1px solid rgba(50,72,105,.07);
  border-radius: 999px;
  background: #f5f7fa;
  color: #758399;
  font-size: 6.4px;
  font-weight: 800;
}

html[data-theme="dark"] .company-v6-heading-icon,
html[data-theme="dark"] .company-v6-heading-icon.is-info {
  background: var(--surface-2);
  color: var(--brand-strong);
}
html[data-theme="dark"] .company-v6-section-heading h2,
html[data-theme="dark"] .company-v6-address strong,
html[data-theme="dark"] .company-v6-facts strong,
html[data-theme="dark"] .company-v6-financial-grid strong { color: var(--text); }
html[data-theme="dark"] .company-v6-company-card,
html[data-theme="dark"] .company-v6-about-card { border-color: var(--line); background: var(--surface); }
html[data-theme="dark"] .company-v6-address,
html[data-theme="dark"] .company-v6-facts > div,
html[data-theme="dark"] .company-v6-financial-grid > div { border-color: var(--line); }
html[data-theme="dark"] .company-v6-address > span,
html[data-theme="dark"] .company-v6-project-size { background: var(--surface-2); color: var(--brand-strong); }

@media (max-width: 390px) {
  .company-v4-identity h2 { font-size: 19.5px; }
  .company-v5-metrics > a,
  .company-v5-metrics > div { min-height: 48px; padding: 8px 10px; }
  .company-v5-metrics > a strong,
  .company-v5-metrics > div strong { font-size: 15px; }
  .company-v6-section-heading { grid-template-columns: 38px minmax(0,1fr); gap: 9px; }
  .company-v6-heading-icon { width: 38px; height: 38px; }
  .company-v6-address { padding: 12px; }
  .company-v6-facts { padding: 0 12px; }
}

/* =========================================================
   Company project metadata pass v0.9.22
   - update date belongs to the title, not the value footer
   - optional domain/subdomain/surface metadata stays compact
   ========================================================= */
.company-v7-project-updated {
  margin: 4px 0 0;
  color: #74839a;
  font-size: 8px;
  line-height: 1.25;
  font-weight: 750;
}
.company-v7-project-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
}
.company-v7-project-detail {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  max-width: 100%;
  padding: 0 7px;
  border: 1px solid rgba(41,69,109,.07);
  border-radius: 999px;
  background: #f6f8fb;
  color: #66758c;
  font-size: 6.6px;
  line-height: 1;
  font-weight: 800;
}
.company-v7-project-detail.is-domain {
  background: #eef5ff;
  color: #2c66b8;
}
.company-v7-project-detail.is-area {
  background: #f2faf6;
  color: #397b61;
}
.company-v7-project-detail.is-more {
  min-width: 20px;
  justify-content: center;
  padding-inline: 6px;
  color: #718097;
}
.company-v4-project-bottom {
  margin-top: 9px;
}
html[data-theme="dark"] .company-v7-project-updated { color: var(--muted); }
html[data-theme="dark"] .company-v7-project-detail {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--muted);
}
html[data-theme="dark"] .company-v7-project-detail.is-domain { color: var(--brand-strong); }
html[data-theme="dark"] .company-v7-project-detail.is-area { color: var(--success); }

/* =========================================================
   v0.9.23 - Director companii / advanced mobile filters
   ========================================================= */
.contacts-filter-panel-advanced {
  overflow: hidden;
}

.contacts-filter-panel-advanced > summary {
  min-height: 48px;
}

.contacts-filter-panel-advanced[open] > summary {
  border-bottom: 1px solid rgba(101, 86, 214, .16);
}

.contacts-filter-panel-advanced .contacts-filter-summary-note {
  max-width: 48%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contacts-filter-body {
  display: grid;
  gap: 0;
  padding: 0 12px;
}

.contacts-filter-group {
  display: grid;
  gap: 11px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(117, 131, 159, .12);
}

.contacts-filter-group:last-child {
  border-bottom: 0;
}

.contacts-filter-group-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.contacts-filter-group-head strong {
  color: #18243a;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 750;
}

.contacts-filter-group-head span {
  color: #7d899e;
  font-size: 9px;
  line-height: 1.35;
}

.contacts-filter-pills,
.contacts-domain-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.contacts-filter-pills-scroll {
  flex-wrap: nowrap;
  overflow-x: auto;
  margin-inline: -2px;
  padding: 2px 2px 5px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.contacts-filter-pills-scroll::-webkit-scrollbar {
  display: none;
}

.contacts-filter-pill {
  position: relative;
  flex: 0 0 auto;
}

.contacts-filter-pill input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.contacts-filter-pill span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 0 11px;
  border: 1px solid #dce4f0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: #5c6a80;
  font-size: 9px;
  font-weight: 650;
  line-height: 1;
  transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.contacts-filter-pill input:checked + span {
  border-color: rgba(34, 111, 230, .38);
  background: #eaf2ff;
  color: #0e5ed7;
  box-shadow: inset 0 0 0 1px rgba(34, 111, 230, .05);
}

.contacts-filter-pill.is-activity input:checked + span {
  border-color: rgba(93, 67, 210, .28);
  background: #f0edff;
  color: #5a42c5;
}

.contacts-filter-pill.is-domain span {
  min-height: 30px;
  padding-inline: 10px;
}

.contacts-filter-pill.is-domain input:checked + span {
  border-color: rgba(7, 158, 124, .24);
  background: #eaf8f3;
  color: #08795f;
}

.contacts-filter-grid-location {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contacts-filter-city-field {
  grid-column: 1 / -1;
}

.contacts-range-list {
  display: grid;
  gap: 9px;
}

.contacts-range-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 10px minmax(0, 1fr);
  align-items: end;
  gap: 7px;
}

.contacts-range-label {
  align-self: center;
  color: #36445c;
  font-size: 9px;
  font-weight: 700;
}

.contacts-range-row .field {
  gap: 4px;
}

.contacts-range-row .field > span {
  font-size: 8px;
}

.contacts-range-row .field input {
  min-width: 0;
  height: 38px;
  padding: 0 9px;
  border-radius: 11px;
  font-size: 10px;
}

.contacts-range-separator {
  align-self: center;
  color: #a2adbd;
  text-align: center;
  font-size: 10px;
}

.contacts-filter-actions-sticky {
  margin-top: 0;
  padding: 12px;
  border-top: 1px solid rgba(101, 86, 214, .14);
  background: rgba(249, 250, 255, .94);
  backdrop-filter: blur(8px);
}

.contacts-filter-actions-sticky .primary-button,
.contacts-filter-actions-sticky .secondary-button {
  min-height: 43px;
}

@media (max-width: 380px) {
  .contacts-filter-panel-advanced .contacts-filter-summary-note {
    display: none;
  }

  .contacts-range-row {
    grid-template-columns: 70px minmax(0, 1fr) 8px minmax(0, 1fr);
    gap: 5px;
  }

  .contacts-filter-pill span {
    padding-inline: 9px;
  }
}


/* =========================================================
   v0.9.24 - Director filter layout polish
   ========================================================= */
.contacts-role-grid,
.contacts-activity-grid,
.contacts-domain-grid {
  display: grid;
  gap: 7px;
}

.contacts-role-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: visible;
  margin: 0;
  padding: 0;
}

.contacts-role-grid .contacts-filter-pill,
.contacts-domain-grid .contacts-filter-pill {
  min-width: 0;
}

.contacts-role-grid .contacts-filter-pill span,
.contacts-domain-grid .contacts-filter-pill span {
  width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}

.contacts-role-grid .contacts-filter-pill span {
  min-height: 42px;
  padding: 6px 9px;
  border-radius: 13px;
  font-size: 9px;
}

.contacts-role-grid .contacts-filter-pill:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.contacts-activity-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.contacts-activity-grid .contacts-filter-pill {
  min-width: 0;
}

.contacts-activity-grid .contacts-filter-pill span {
  width: 100%;
  min-height: 32px;
  padding: 0 3px;
  font-size: 8.5px;
  white-space: nowrap;
}

.contacts-filter-grid-location {
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0;
  border-top: 0;
  background: transparent;
}

.contacts-filter-grid-location .field input {
  min-height: 42px;
  background: rgba(255, 255, 255, .84);
}

.contacts-filter-city-field {
  grid-column: auto;
}

.contacts-domain-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contacts-domain-grid .contacts-filter-pill.is-domain span {
  min-height: 39px;
  padding: 6px 8px;
  border-radius: 13px;
  font-size: 8.7px;
}

.contacts-domain-grid .contacts-filter-pill:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

html[data-theme="dark"] .contacts-filter-grid-location .field input {
  background: var(--surface-2);
}

@media (max-width: 380px) {
  .contacts-role-grid,
  .contacts-domain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contacts-role-grid .contacts-filter-pill span {
    min-height: 40px;
    padding-inline: 7px;
    font-size: 8.4px;
  }

  .contacts-domain-grid .contacts-filter-pill.is-domain span {
    min-height: 38px;
    padding-inline: 6px;
    font-size: 8.2px;
  }

  .contacts-activity-grid {
    gap: 5px;
  }

  .contacts-activity-grid .contacts-filter-pill span {
    min-height: 31px;
    padding-inline: 2px;
    font-size: 7.8px;
  }
}


/* v0.9.26 - Projects UX aligned with Contacts + resilient project search */
.projects-v2-page { padding-bottom: 8px; }
.projects-launchpad { min-height: 145px; }
.projects-launchpad::after { transform: rotate(18deg); }
.projects-launchpad .contacts-launchpad-orbit::after { background: #6ee7ff; box-shadow: 0 0 0 5px rgba(110,231,255,.12); }
.projects-search-panel { --contacts-panel-accent: #1768e8; }
.projects-search-panel .contacts-panel-kicker,
.projects-search-panel .contacts-panel-title-icon,
.projects-search-panel .contacts-search-box > .icon { color: var(--contacts-panel-accent); }
.projects-search-panel .contacts-search-box .search-input:focus {
  border-color: color-mix(in srgb, var(--contacts-panel-accent) 58%, var(--line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--contacts-panel-accent) 8%, transparent), 0 9px 22px rgba(23,104,232,.07);
}
.projects-section-heading { margin-bottom: 10px; }
.projects-search-box .search-input { height: 54px; }
.projects-filter-trigger {
  width: 100%; min-height: 48px; margin-top: 9px; padding: 7px 10px;
  display: grid; grid-template-columns: 31px minmax(0,1fr) auto; align-items: center; gap: 9px;
  border: 1px solid color-mix(in srgb, var(--line) 86%, var(--brand-strong) 14%);
  border-radius: 15px; background: color-mix(in srgb, var(--surface-2) 64%, var(--surface));
  color: var(--text); text-align: left; cursor: pointer;
}
.projects-filter-trigger.is-active { border-color: color-mix(in srgb, var(--brand-strong) 35%, var(--line)); background: color-mix(in srgb, var(--info-bg) 48%, var(--surface)); }
.projects-filter-trigger-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; background: var(--surface); color: var(--brand-strong); box-shadow: 0 4px 12px rgba(16,24,40,.04); }
.projects-filter-trigger-copy { min-width: 0; display: grid; gap: 2px; }
.projects-filter-trigger-copy strong { font-size: 9.5px; }
.projects-filter-trigger-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 7.8px; font-weight: 650; }
.projects-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; margin-top: 8px; }
.projects-quick-grid .chip { width: 100%; min-width: 0; min-height: 36px; justify-content: center; padding: 0 8px; font-size: 9.5px; overflow: hidden; text-overflow: ellipsis; }
.projects-saved-block { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); }
.projects-saved-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 1px 6px; }
.projects-saved-head span { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.projects-saved-head button { border: 0; background: transparent; color: var(--brand-strong); font-size: 8.5px; font-weight: 850; cursor: pointer; }
.projects-save-nudge { grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; }
.projects-save-nudge button { margin-left: auto; border: 0; background: transparent; color: var(--brand-strong); font-size: 8.5px; font-weight: 850; cursor: pointer; }
.projects-results-panel { --contacts-panel-accent: #0f55bf; margin-bottom: 6px; }
.projects-results-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.projects-results-head > div { min-width: 0; }
.projects-results-head .contacts-panel-kicker { margin-bottom: 5px; color: var(--contacts-panel-accent); }
.projects-results-head h2 { margin: 0; max-width: 235px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; line-height: 1.08; }
.projects-results-head p { margin: 5px 0 0; color: var(--muted); font-size: 8.7px; }
.projects-sort-button { min-height: 31px; flex: 0 0 auto; padding: 0 9px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--brand-strong); font-size: 8.5px; font-weight: 850; cursor: pointer; box-shadow: 0 4px 12px rgba(16,24,40,.035); }
.projects-v2-list { display: grid; gap: 9px; }
.projects-v2-card { position: relative; min-height: 116px; overflow: hidden; isolation: isolate; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 7px 20px rgba(16,24,40,.045); }
.projects-v2-card::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 0 4px 4px 0; background: color-mix(in srgb, var(--brand-strong) 78%, #64d8ff); }
.projects-v2-card-main { position: relative; z-index: 2; display: block; min-height: 116px; padding: 12px 46px 11px 20px; color: inherit; }
.projects-v2-watermark { position: absolute; z-index: 0; left: -23px; bottom: -33px; width: 92px; height: 92px; display: grid; place-items: center; color: var(--brand-strong); opacity: .075; transform: rotate(-10deg); pointer-events: none; }
.projects-v2-watermark .icon { width: 88px; height: 88px; }
.projects-v2-card-copy { position: relative; z-index: 2; min-width: 0; }
.projects-v2-title-row { display: flex; align-items: flex-start; gap: 7px; }
.projects-v2-title-row > div { min-width: 0; flex: 1; }
.projects-v2-title-row h3 { margin: 0; font-size: 12px; line-height: 1.22; letter-spacing: -.012em; }
.projects-v2-title-row p { margin: 3px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 8.2px; }
.projects-v2-chevron { width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; border-radius: 9px; background: var(--surface-2); color: var(--muted-2); }
.projects-v2-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 7px; }
.projects-v2-location { display: inline-flex; align-items: center; gap: 3px; min-width: 0; max-width: 68%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 8.4px; }
.projects-v2-meta-row .status-pill { min-height: 20px; padding: 0 6px; font-size: 7.3px; }
.projects-v2-foot { margin-top: 8px; }
.projects-v2-value-line { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.projects-v2-value-line strong { font-size: 10.5px; }
.projects-v2-value-line span { color: var(--muted); font-size: 7.5px; white-space: nowrap; }
.projects-v2-id-line { display: flex; align-items: center; gap: 5px; min-width: 0; margin-top: 5px; color: var(--muted-2); font-size: 7.5px; }
.projects-v2-id-line > span { font-weight: 800; }
.projects-v2-id-line em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 2px 5px; border-radius: 7px; background: var(--surface-2); color: var(--muted); font-style: normal; font-weight: 750; }
.projects-v2-favorite { position: absolute; z-index: 4; right: 10px; top: 10px; margin: 0; }
.projects-v2-favorite .company-v2-star { width: 32px; height: 32px; background: var(--surface); }
.projects-v2-empty { padding: 34px 18px; border-style: solid; background: color-mix(in srgb, var(--surface-2) 62%, var(--surface)); }
.projects-api-error { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; margin-bottom: 10px; padding: 10px 11px; border: 1px solid color-mix(in srgb, var(--warning) 26%, var(--line)); border-radius: 14px; background: color-mix(in srgb, var(--warning-bg) 45%, var(--surface)); }
.projects-api-error > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: var(--surface); color: var(--warning); }
.projects-api-error strong { display: block; font-size: 9.5px; }
.projects-api-error p { margin: 2px 0 0; color: var(--muted); font-size: 8px; line-height: 1.3; }
.projects-api-error a { color: var(--brand-strong); font-size: 8.5px; font-weight: 850; }
html[data-theme="dark"] .projects-v2-card { box-shadow: 0 10px 24px rgba(0,0,0,.12); }
@media (max-width: 380px) {
  .projects-launchpad { min-height: 142px; }
  .projects-v2-card-main { padding-left: 17px; }
  .projects-v2-title-row h3 { font-size: 11.4px; }
  .projects-v2-value-line { align-items: flex-start; flex-direction: column; gap: 3px; }
  .projects-v2-value-line span { white-space: normal; }
  .projects-results-head h2 { max-width: 190px; }
}

/* v0.9.27 — Projects list closer to the approved mockup. No fake project photos: use a branded visual tile. */
.projects-search-panel {
  padding-top: 14px;
  padding-bottom: 14px;
}
.projects-filter-trigger {
  min-height: 52px;
  padding: 7px 10px;
  border-radius: 16px;
}
.projects-filter-trigger-copy strong { font-size: 10.5px; }
.projects-filter-trigger-copy small { font-size: 8.2px; }
.projects-quick-grid { gap: 8px; margin-top: 9px; }
.projects-quick-grid .chip {
  min-height: 38px;
  border-radius: 15px;
  font-size: 10px;
  font-weight: 750;
}
.projects-results-panel {
  padding: 14px 12px 13px;
  border-radius: 22px;
}
.projects-results-head { align-items: center; margin-bottom: 11px; }
.projects-results-head h2 { font-size: 17px; }
.projects-results-head p { margin-top: 4px; font-size: 9px; }
.projects-sort-button {
  min-height: 34px;
  padding: 0 11px;
  font-size: 9px;
  border-radius: 14px;
}
.projects-v2-list { gap: 9px; }
.projects-v2-card {
  min-height: 116px;
  overflow: hidden;
  border-radius: 17px;
  box-shadow: 0 6px 18px rgba(16,24,40,.045);
}
.projects-v2-card::before { display: none; }
.projects-v2-card-main {
  display: grid;
  grid-template-columns: 78px minmax(0,1fr);
  gap: 11px;
  min-height: 116px;
  padding: 9px 43px 9px 9px;
}
.projects-v2-thumb {
  position: relative;
  align-self: stretch;
  min-height: 96px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--brand-strong) 10%, var(--line));
  background:
    radial-gradient(circle at 72% 24%, rgba(255,255,255,.92) 0 3px, transparent 4px),
    linear-gradient(145deg, color-mix(in srgb, var(--info-bg) 76%, var(--surface)), color-mix(in srgb, #d9e8ff 48%, var(--surface)));
  color: var(--brand-strong);
}
.projects-v2-thumb-grid {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image:
    linear-gradient(rgba(23,104,232,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,104,232,.16) 1px, transparent 1px);
  background-size: 15px 15px;
  transform: rotate(-8deg) scale(1.16);
}
.projects-v2-thumb::after {
  content: "";
  position: absolute;
  width: 55px;
  height: 55px;
  border: 1px solid rgba(23,104,232,.17);
  border-radius: 50%;
}
.projects-v2-thumb-icon {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 8px 18px rgba(23,104,232,.08);
}
.projects-v2-card-copy {
  align-self: center;
  min-width: 0;
  padding-right: 1px;
}
.projects-v2-title-row { padding-right: 0; }
.projects-v2-title-row h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 0;
  font-size: 12.2px;
  line-height: 1.18;
  letter-spacing: -.018em;
}
.projects-v2-title-row p {
  margin-top: 3px;
  font-size: 8.4px;
  font-weight: 700;
  letter-spacing: .015em;
}
.projects-v2-meta-row {
  gap: 5px;
  margin-top: 6px;
}
.projects-v2-location {
  max-width: 100%;
  font-size: 8.4px;
}
.projects-v2-meta-row .status-pill,
.projects-v2-domain-pill {
  min-height: 19px;
  display: inline-flex;
  align-items: center;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 7.3px;
  line-height: 1;
  font-weight: 800;
}
.projects-v2-domain-pill {
  max-width: 132px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: color-mix(in srgb, #806be8 11%, var(--surface));
  color: color-mix(in srgb, #5f49d1 86%, var(--text));
}
.projects-v2-foot { margin-top: 7px; }
.projects-v2-value-line {
  align-items: flex-end;
  gap: 8px;
}
.projects-v2-value-line > div {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.projects-v2-value-line strong {
  font-size: 11.4px;
  line-height: 1.08;
  letter-spacing: -.012em;
}
.projects-v2-project-number {
  color: var(--muted-2) !important;
  font-size: 7.6px !important;
  font-weight: 750;
}
.projects-v2-updated {
  margin-left: auto;
  color: var(--muted) !important;
  font-size: 7.4px !important;
  white-space: nowrap;
}
.projects-v2-offer-row { margin-top: 4px; }
.projects-v2-offer-row span {
  display: inline-flex;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 2px 6px;
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 7.2px;
  font-weight: 750;
}
.projects-v2-chevron {
  position: absolute;
  z-index: 3;
  right: 42px;
  top: 15px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: var(--muted-2);
}
.projects-v2-favorite { right: 9px; top: 9px; }
.projects-v2-favorite .company-v2-star {
  width: 31px;
  height: 31px;
  border-radius: 11px;
  box-shadow: 0 4px 12px rgba(16,24,40,.04);
}
html[data-theme="dark"] .projects-v2-thumb {
  background:
    radial-gradient(circle at 72% 24%, rgba(255,255,255,.18) 0 3px, transparent 4px),
    linear-gradient(145deg, color-mix(in srgb, var(--info-bg) 44%, var(--surface)), color-mix(in srgb, var(--brand-strong) 10%, var(--surface)));
}
html[data-theme="dark"] .projects-v2-thumb-icon { background: rgba(15,29,54,.72); }
@media (max-width: 390px) {
  .projects-v2-card-main { grid-template-columns: 68px minmax(0,1fr); gap: 9px; padding-left: 8px; }
  .projects-v2-thumb { min-height: 92px; border-radius: 13px; }
  .projects-v2-title-row h3 { font-size: 11.5px; }
  .projects-v2-updated { white-space: normal; text-align: right; max-width: 72px; }
  .projects-v2-domain-pill { max-width: 112px; }
}


/* v0.9.28 — compact project cards: remove decorative thumbnail and surface useful project facts. */
.projects-v2-card {
  min-height: 0;
}
.projects-v2-card-main {
  display: block;
  min-height: 0;
  padding: 10px 45px 10px 12px;
}
.projects-v2-thumb,
.projects-v2-chevron {
  display: none !important;
}
.projects-v2-card-copy {
  align-self: auto;
  width: 100%;
}
.projects-v2-title-row {
  display: block;
  padding-right: 0;
}
.projects-v2-title-row h3 {
  max-width: 100%;
  font-size: 12.4px;
  line-height: 1.2;
}
.projects-v2-updated-under-title {
  margin-top: 2px;
  color: var(--muted-2);
  font-size: 7.3px;
  font-weight: 650;
  line-height: 1.2;
}
.projects-v2-company {
  margin: 4px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 8.4px;
  font-weight: 750;
  letter-spacing: .01em;
}
.projects-v2-meta-row {
  margin-top: 6px;
  gap: 5px;
}
.projects-v2-location {
  max-width: 60%;
}
.projects-v2-data-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 7px;
}
.projects-v2-data-row strong {
  margin-right: 1px;
  color: var(--text);
  font-size: 11.2px;
  line-height: 1;
  letter-spacing: -.01em;
}
.projects-v2-data-row span {
  min-height: 19px;
  display: inline-flex;
  align-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 7.3px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.projects-v2-footer-row {
  min-height: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 7px;
  margin-top: 5px;
}
.projects-v2-project-number {
  color: var(--muted-2) !important;
  font-size: 7.5px !important;
  font-weight: 800;
}
.projects-v2-construction-type,
.projects-v2-offer-status {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted-2);
  font-size: 7.2px;
  font-weight: 700;
}
.projects-v2-offer-status {
  padding: 2px 5px;
  border-radius: 7px;
  background: var(--surface-2);
}
.projects-v2-favorite {
  right: 9px;
  top: 9px;
}
@media (max-width: 390px) {
  .projects-v2-card-main {
    display: block;
    padding: 9px 43px 9px 10px;
  }
  .projects-v2-title-row h3 { font-size: 11.7px; }
  .projects-v2-location { max-width: 100%; }
  .projects-v2-data-row { gap: 4px; }
  .projects-v2-data-row strong { width: 100%; margin-bottom: 1px; }
}

/* v0.9.30 — complete project list, exact API filters and 20/50/100 pagination. */
.projects-v3-page .projects-results-head {
  align-items: flex-start;
}
.projects-total-line {
  margin-top: 4px !important;
  color: var(--muted) !important;
  font-size: 8.8px !important;
}
.projects-total-line strong {
  color: var(--text);
  font-size: 10.3px;
}
.projects-active-context {
  margin-top: 2px !important;
  font-size: 8px !important;
}
.projects-sort-button.is-static {
  cursor: default;
  pointer-events: none;
  white-space: nowrap;
}
.projects-page-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.projects-page-controls-top {
  margin: 9px 0 10px;
  padding: 8px 9px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-2) 72%, transparent);
}
.projects-page-size {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.projects-page-size > span,
.projects-page-indicator {
  color: var(--muted);
  font-size: 7.8px;
  font-weight: 700;
  white-space: nowrap;
}
.projects-page-size a {
  min-width: 27px;
  height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  text-decoration: none;
}
.projects-page-size a.is-active {
  border-color: color-mix(in srgb, var(--brand) 40%, var(--border));
  background: color-mix(in srgb, var(--brand) 10%, var(--surface));
  color: var(--brand);
}
.projects-pager {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--border);
}
.projects-pager-button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 9px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--surface);
  color: var(--brand);
  font-size: 8.2px;
  font-weight: 800;
  text-decoration: none;
}
.projects-pager-button:last-child { justify-self: end; }
.projects-pager-button:first-child { justify-self: start; }
.projects-pager-button.is-disabled {
  color: var(--muted-2);
  opacity: .52;
}
.projects-pager-current {
  color: var(--muted);
  font-size: 7.7px;
  font-weight: 750;
  white-space: nowrap;
}
.projects-filter-sheet {
  max-height: min(92dvh, 840px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.projects-advanced-filter-form {
  display: grid;
  gap: 8px;
}
.projects-filter-group {
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface);
  overflow: clip;
}
.projects-filter-group > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 11px;
  position: relative;
}
.projects-filter-group > summary::-webkit-details-marker { display: none; }
.projects-filter-group > summary::after {
  content: '+';
  position: absolute;
  right: 11px;
  top: 10px;
  color: var(--brand);
  font-size: 14px;
  font-weight: 800;
}
.projects-filter-group[open] > summary::after { content: '–'; }
.projects-filter-group > summary span {
  padding-right: 24px;
  color: var(--text);
  font-size: 9px;
  font-weight: 800;
}
.projects-filter-group > summary small {
  padding-right: 24px;
  color: var(--muted-2);
  font-size: 7.2px;
  line-height: 1.35;
}
.projects-filter-group-body {
  display: grid;
  gap: 9px;
  padding: 0 10px 11px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
}
.projects-filter-grid {
  display: grid;
  gap: 8px;
}
.projects-filter-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.projects-filter-group .field { margin: 0; min-width: 0; }
.projects-filter-group .field label {
  margin-bottom: 4px;
  font-size: 7.3px;
}
.projects-filter-group .field input,
.projects-filter-group .field select {
  min-width: 0;
  width: 100%;
  min-height: 38px;
  padding: 0 9px;
  border-radius: 10px;
  font-size: 8.3px;
}
.projects-filter-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.projects-filter-checks label {
  min-height: 35px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 9px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 8px;
  font-weight: 700;
}
.projects-filter-checks input { accent-color: var(--brand); }
.projects-date-groups > div {
  display: grid;
  gap: 6px;
}
.projects-date-groups > div + div {
  padding-top: 9px;
  border-top: 1px dashed var(--border);
}
.projects-date-groups > div > strong {
  color: var(--text);
  font-size: 8px;
}
.projects-filter-actions {
  position: sticky;
  bottom: -1px;
  z-index: 3;
  margin-top: 2px;
  padding: 10px 0 2px;
  background: linear-gradient(to bottom, transparent, var(--surface) 28%);
}
@media (max-width: 390px) {
  .projects-page-controls-top { align-items: flex-start; }
  .projects-page-size { flex-wrap: wrap; }
  .projects-page-size > span { width: 100%; }
  .projects-pager { grid-template-columns: 1fr 1fr; }
  .projects-pager-current { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .projects-pager-button:first-child { grid-column: 1; grid-row: 2; width: 100%; }
  .projects-pager-button:last-child { grid-column: 2; grid-row: 2; width: 100%; }
  .projects-filter-grid.two { grid-template-columns: 1fr; }
  .projects-filter-checks { grid-template-columns: 1fr; }
}

/* v0.9.31 — pagination hierarchy polish: totals on top, ranges in controls, pages in pager. */
.projects-results-panel .projects-results-head {
  padding-bottom: 2px;
}
.projects-total-line {
  margin-top: 5px !important;
  font-size: 9.2px !important;
  line-height: 1.25;
}
.projects-total-line strong {
  font-size: 12px;
  font-weight: 850;
  letter-spacing: -.01em;
}
.projects-page-controls-top {
  min-height: 42px;
  margin: 10px 0 11px;
  padding: 7px 9px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-2) 58%, var(--surface));
}
.projects-page-size {
  gap: 5px;
}
.projects-page-size-label,
.projects-page-size-suffix,
.projects-range-indicator {
  color: var(--muted);
  font-size: 8.2px;
  font-weight: 700;
  white-space: nowrap;
}
.projects-page-size-suffix {
  margin-left: 1px;
  color: var(--muted-2);
  font-weight: 650;
}
.projects-page-size a {
  min-width: 29px;
  height: 27px;
  padding: 0 6px;
  border-radius: 8px;
  font-size: 8.3px;
}
.projects-page-size a.is-active {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 8%, transparent);
}
.projects-range-indicator {
  text-align: right;
  font-weight: 780;
  color: var(--text-soft, var(--muted));
}
.projects-page-indicator {
  display: none !important;
}
.projects-pager {
  margin-top: 14px;
  padding-top: 12px;
}
.projects-pager-current {
  min-width: 96px;
  text-align: center;
  color: var(--text);
  font-size: 8.4px;
  font-weight: 800;
}
.projects-pager-button {
  min-height: 35px;
  padding: 0 10px;
  font-size: 8.4px;
}

@media (max-width: 390px) {
  .projects-page-controls-top {
    align-items: center;
    gap: 7px;
  }
  .projects-page-size {
    flex-wrap: nowrap;
    gap: 4px;
  }
  .projects-page-size > span {
    width: auto;
  }
  .projects-page-size-suffix {
    display: none;
  }
  .projects-range-indicator {
    margin-left: auto;
    font-size: 7.8px;
  }
  .projects-pager-current {
    font-size: 8.2px;
  }
}
\n\n/* v0.9.32 — cleaner project list header and explicit sort affordance. */\n.projects-results-panel .projects-results-head {\n  align-items: center;\n  gap: 10px;\n}\n.projects-title-row {\n  margin-top: 0;\n}\n.projects-title-row h2 {\n  display: flex;\n  align-items: baseline;\n  gap: 4px;\n  flex-wrap: wrap;\n}\n.projects-title-count {\n  color: var(--text);\n  font-weight: 900;\n  letter-spacing: -.025em;\n}\n.projects-query-context {\n  margin: 3px 0 0 36px !important;\n  color: var(--muted) !important;\n  font-size: 8.3px !important;\n  line-height: 1.3;\n}\n.projects-results-panel .projects-active-context {\n  margin-left: 36px !important;\n}\n.projects-sort-button.is-static {\n  min-height: 33px;\n  padding: 0 10px;\n  gap: 6px;\n}\n.projects-sort-icon {\n  width: 13px;\n  height: 13px;\n  flex: 0 0 13px;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 1.8;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n@media (max-width: 390px) {\n  .projects-results-panel .projects-results-head { align-items: center; }\n  .projects-query-context,\n  .projects-results-panel .projects-active-context { margin-left: 35px !important; }\n  .projects-sort-button.is-static { padding: 0 9px; }\n}\n
/* v0.9.33 — project detail redesign */
.project-detail-v2{margin:-2px -4px 90px}.project-detail-hero{position:relative;margin:0 -12px;border-radius:0 0 28px 28px;overflow:hidden;min-height:330px;background:linear-gradient(145deg,#d9e8fb 0%,#eef5ff 62%,var(--bg) 100%)}
.project-detail-hero-media{position:absolute;inset:0;background-image:var(--project-hero-image);background-size:cover;background-position:center 35%;opacity:1}.project-detail-v2.no-photo .project-detail-hero-media{background:radial-gradient(circle at 78% 18%,rgba(37,99,235,.18),transparent 24%),linear-gradient(135deg,#d8e9ff,#f5f8fc)}
.project-detail-v2.no-photo .project-detail-hero-media:after{content:"";position:absolute;inset:52px 12% 90px;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(205,222,244,.92));clip-path:polygon(0 100%,0 68%,13% 68%,13% 40%,25% 40%,25% 58%,39% 58%,39% 17%,62% 17%,62% 46%,74% 46%,74% 28%,86% 28%,86% 62%,100% 62%,100% 100%);filter:drop-shadow(0 16px 20px rgba(35,70,110,.09))}
.project-detail-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.05) 35%,rgba(247,250,255,.82) 67%,var(--bg) 92%)}html[data-theme="dark"] .project-detail-hero-shade{background:linear-gradient(180deg,rgba(5,12,20,.05),rgba(5,12,20,.18) 35%,rgba(12,20,29,.86) 70%,var(--bg) 94%)}
.project-detail-hero-actions{position:absolute;z-index:3;left:14px;right:14px;top:14px;display:flex;justify-content:space-between}.project-detail-hero-right{display:flex;gap:8px}.project-detail-hero-right form{margin:0}.project-detail-icon-btn{width:48px;height:48px;border:1px solid rgba(255,255,255,.78);border-radius:16px;background:rgba(255,255,255,.86);backdrop-filter:blur(15px);box-shadow:0 8px 24px rgba(16,35,61,.08);color:#12233d;display:grid;place-items:center;padding:0}.project-detail-favorite.is-favorite{color:#f59e0b}
.project-detail-hero-content{position:absolute;z-index:2;left:18px;right:18px;bottom:20px}.project-detail-stage{display:inline-flex;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:850}.project-detail-hero-content h1{margin:10px 0 5px;font-size:25px;line-height:1.06;letter-spacing:-.04em;max-width:96%;color:var(--text)}.project-detail-company{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.project-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:13px;color:var(--muted);font-size:11px}.project-detail-meta span{display:inline-flex;align-items:center;gap:5px}.project-detail-meta strong{display:inline-flex;align-items:center;color:var(--text);font-size:12px}.project-detail-meta strong:before{content:"";width:1px;height:15px;background:var(--line);margin-right:10px}
.project-detail-tabs{position:relative!important;top:auto!important;z-index:9;margin:12px 0 0;padding:4px!important;border:1px solid var(--line)!important;border-radius:18px;background:var(--surface)!important;box-shadow:var(--shadow-card);overflow:hidden}.project-detail-tabs .tab-button{border:0!important;border-radius:14px;padding:12px 6px!important;display:flex;align-items:center;justify-content:center;gap:5px}.project-detail-tabs .tab-button.is-active{background:color-mix(in srgb,var(--brand-strong) 7%,var(--surface));box-shadow:inset 0 -2px 0 var(--brand-strong)}.project-tab-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-3);display:inline-grid;place-items:center;font-size:9px}
.project-detail-panel{padding-top:14px}.project-stage-card{padding:18px 8px 14px;border:1px solid var(--line);background:var(--surface);border-radius:20px;box-shadow:var(--shadow-card)}.project-stage-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative}.project-stage-track:before{content:"";position:absolute;left:9%;right:9%;top:12px;height:2px;background:var(--line)}.project-stage-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;text-align:center;color:var(--muted);font-size:9px}.project-stage-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid #a9b7ca;color:#fff}.project-stage-step.done .project-stage-dot{background:#14a673;border-color:#14a673}.project-stage-step.current{color:var(--brand-strong);font-weight:850}.project-stage-step.current .project-stage-dot{background:var(--brand-strong);border-color:#fff;outline:4px solid color-mix(in srgb,var(--brand-strong) 17%,transparent)}.project-stage-name{white-space:nowrap}
.project-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.project-kpi-card{min-height:82px;border:1px solid var(--line);border-radius:18px;background:var(--surface);display:flex;align-items:center;gap:11px;padding:13px;box-shadow:var(--shadow-card)}.project-kpi-icon{width:38px;height:38px;min-width:38px;border-radius:13px;background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));color:var(--brand-strong);display:grid;place-items:center;font-weight:900}.project-kpi-expand{font-size:22px;transform:rotate(-45deg)}.project-kpi-card small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.project-kpi-card strong{display:block;font-size:13px;line-height:1.15}
.project-detail-section{margin-top:19px}.project-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.project-detail-section-head h2{margin:0;font-size:17px;letter-spacing:-.025em}.project-detail-section-head button,.project-detail-section-head a{border:0;background:transparent;color:var(--brand-strong);font-size:12px;font-weight:850;padding:4px 0}
.project-description-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:14px 14px 0;box-shadow:var(--shadow-card)}.project-description-text{max-height:92px;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.55;position:relative}.project-description-card:not(.is-expanded) .project-description-text:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(transparent,var(--surface))}.project-description-card.is-expanded .project-description-text{max-height:none}.project-description-toggle{width:100%;height:43px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--brand-strong);display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:850;padding:0}.project-description-card.is-expanded .project-description-toggle svg{transform:rotate(180deg)}
.project-key-contacts{display:grid;gap:9px}.project-key-contact{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:10px 11px;box-shadow:var(--shadow-card)}.project-key-avatar{width:42px;height:42px;min-width:42px;border-radius:13px;background:color-mix(in srgb,var(--brand-strong) 10%,var(--surface));color:var(--brand-strong);display:grid;place-items:center;font-weight:900}.project-key-main{flex:1;min-width:0}.project-key-main small{display:block;color:var(--muted);font-size:8px}.project-key-main strong{display:block;margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-key-main span{display:block;margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-key-actions{display:flex;gap:6px}.project-key-actions a,.project-key-actions button{width:36px;height:36px;border:0;border-radius:12px;background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));color:var(--brand-strong);display:grid;place-items:center;padding:0}.project-inline-empty{border:1px dashed var(--line);border-radius:17px;padding:16px;color:var(--muted);font-size:12px;text-align:center}
.project-assignment-card{width:100%;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:11px;display:flex;align-items:center;gap:11px;color:var(--text);box-shadow:var(--shadow-card)}.project-assignment-avatar{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--blue-900),var(--blue-600));color:#fff;display:grid;place-items:center;font-weight:900;font-size:16px}.project-assignment-main{flex:1;text-align:left}.project-assignment-main strong{display:block;font-size:12px}.project-assignment-main small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.project-offer-button{width:100%;height:54px;border:1px solid var(--line);border-radius:17px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:var(--text);font-size:12px;font-weight:750;box-shadow:var(--shadow-card)}
.project-map-card{height:185px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#eef4f8;box-shadow:var(--shadow-card)}.project-map-grid{position:absolute;inset:-25%;background-image:linear-gradient(26deg,transparent 47%,rgba(255,255,255,.98) 48%,rgba(255,255,255,.98) 52%,transparent 53%),linear-gradient(-18deg,transparent 47%,rgba(255,255,255,.95) 48%,rgba(255,255,255,.95) 52%,transparent 53%);background-size:90px 75px,110px 90px;opacity:.9}.project-map-river{position:absolute;left:-10%;right:-10%;top:82px;height:34px;background:#b9dcf7;transform:rotate(-5deg);border-radius:60%}.project-map-pin{position:absolute;left:56%;top:58px;width:42px;height:42px;border-radius:50% 50% 50% 0;background:var(--brand-strong);color:#fff;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 10px 22px rgba(25,102,220,.28)}.project-map-pin svg{transform:rotate(45deg)}.project-map-address{position:absolute;left:9px;right:9px;bottom:9px;min-height:54px;border:1px solid rgba(255,255,255,.8);border-radius:15px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);display:flex;align-items:center;gap:9px;padding:8px 10px;color:#172033}.project-map-address>span{color:var(--brand-strong)}.project-map-address>div{flex:1;min-width:0}.project-map-address strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-map-address small{display:block;margin-top:2px;color:#657187;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-map-address>a{color:var(--brand-strong)}
.project-contact-list{display:grid;gap:10px}.project-contact-full{display:flex;gap:11px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:13px;box-shadow:var(--shadow-card)}.project-contact-full-avatar{width:45px;height:45px;min-width:45px;border-radius:14px;background:var(--info-bg);color:var(--info);display:grid;place-items:center;font-weight:900}.project-contact-full-main{min-width:0;flex:1}.project-contact-full-main>small{color:var(--muted);font-size:8px}.project-contact-full-main h3{margin:2px 0 0;font-size:13px}.project-contact-full-main p{margin:2px 0 0;color:var(--muted);font-size:9px}.project-contact-data{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.project-contact-data a,.project-reveal-form button{border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:800}.project-reveal-form{margin-top:9px}.project-reveal-form button{color:var(--brand-strong)}
.project-detail-dock{max-width:calc(var(--content-max) - 32px)}
@media (max-width:390px){.project-detail-hero{min-height:305px}.project-detail-hero-content h1{font-size:22px}.project-kpi-card{padding:11px;min-height:76px}.project-kpi-icon{width:34px;height:34px;min-width:34px}.project-stage-name{font-size:8px}.project-detail-meta{gap:7px}.project-key-main strong{font-size:11px}}


/* v0.9.34 — project workspace actions, contacts sheet and domain fallbacks */
.project-detail-v2.no-photo .project-detail-hero-media:after{display:none!important}
.project-detail-v2.no-photo .project-detail-hero-media{overflow:hidden;background:linear-gradient(145deg,#dcecff,#f3f8ff)}
.project-detail-v2.no-photo .project-detail-hero-media:before{content:"";position:absolute;inset:-25%;opacity:.54;background-image:linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px);background-size:34px 34px;transform:rotate(-9deg)}
.project-detail-v2.domain-residential .project-detail-hero-media{background:radial-gradient(circle at 78% 20%,rgba(37,99,235,.22),transparent 28%),linear-gradient(145deg,#cfe2ff,#f5f8ff)}
.project-detail-v2.domain-industrial .project-detail-hero-media{background:radial-gradient(circle at 74% 18%,rgba(71,85,105,.25),transparent 29%),linear-gradient(145deg,#d8e0e8,#f5f7f9)}
.project-detail-v2.domain-office .project-detail-hero-media{background:radial-gradient(circle at 78% 18%,rgba(14,116,144,.21),transparent 28%),linear-gradient(145deg,#d2edf4,#f6fbfc)}
.project-detail-v2.domain-hotel .project-detail-hero-media{background:radial-gradient(circle at 80% 18%,rgba(14,165,164,.20),transparent 30%),linear-gradient(145deg,#d9f2ee,#f8fcfb)}
.project-detail-v2.domain-retail .project-detail-hero-media{background:radial-gradient(circle at 76% 20%,rgba(124,58,237,.18),transparent 28%),linear-gradient(145deg,#e4ddfb,#faf8ff)}
.project-detail-v2.domain-community .project-detail-hero-media{background:radial-gradient(circle at 76% 20%,rgba(5,150,105,.17),transparent 28%),linear-gradient(145deg,#dff2e8,#f8fcfa)}
.project-detail-v2.domain-medical .project-detail-hero-media{background:radial-gradient(circle at 78% 20%,rgba(219,39,119,.15),transparent 28%),linear-gradient(145deg,#f7e1eb,#fff9fb)}
.project-detail-v2.domain-infrastructure .project-detail-hero-media{background:radial-gradient(circle at 78% 20%,rgba(245,158,11,.18),transparent 29%),linear-gradient(145deg,#f6e9d1,#fffaf2)}
.project-detail-v2.domain-utilities .project-detail-hero-media{background:radial-gradient(circle at 78% 20%,rgba(6,182,212,.18),transparent 29%),linear-gradient(145deg,#d8eff3,#f7fcfd)}
.project-domain-fallback{position:absolute;right:28px;top:94px;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(16,53,98,.55);font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.project-domain-fallback-icon{width:70px;height:70px;border-radius:24px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.38);backdrop-filter:blur(8px);display:grid;place-items:center;color:rgba(22,93,196,.60);box-shadow:0 18px 44px rgba(29,78,140,.08)}
.project-domain-fallback:after{content:"";position:absolute;width:155px;height:155px;border:1px solid rgba(255,255,255,.42);border-radius:50%;top:-44px;left:-44px;box-shadow:0 0 0 24px rgba(255,255,255,.10),0 0 0 49px rgba(255,255,255,.07);pointer-events:none}
.project-contacts-sheet .sheet-title-row>div p{margin:3px 0 0;color:var(--muted);font-size:9px}
.project-sheet-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:4px 0 12px;padding:4px;border-radius:15px;background:var(--surface-2)}
.project-sheet-tabs button{min-height:40px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:10px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:6px}.project-sheet-tabs button.is-active{background:var(--surface);color:var(--brand-strong);box-shadow:var(--shadow-card)}.project-sheet-tabs button span{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-3);display:grid;place-items:center;font-size:8px}
.project-sheet-panel{display:none}.project-sheet-panel.is-active{display:block}.project-contact-list-sheet{max-height:58vh;overflow:auto;padding:1px 2px 10px}.project-fastemail-list{display:grid;gap:8px;max-height:56vh;overflow:auto}.project-fastemail-list article{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:11px}.project-fastemail-icon{width:38px;height:38px;min-width:38px;border-radius:12px;background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));color:var(--brand-strong);display:grid;place-items:center}.project-fastemail-list article div{min-width:0}.project-fastemail-list small,.project-fastemail-list span{display:block;color:var(--muted);font-size:8px}.project-fastemail-list strong{display:block;margin:2px 0;font-size:11px}.project-sheet-note{margin:12px 2px 0;color:var(--muted);font-size:8px;line-height:1.45}
.project-activity-stack{display:grid;gap:9px}.project-activity-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:12px;box-shadow:var(--shadow-card)}.project-activity-card .row-icon{width:38px;height:38px;min-width:38px;border-radius:12px;background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));color:var(--brand-strong);display:grid;place-items:center}.project-activity-card .row-icon.warning{color:#c27a00;background:#fff4d6}.project-activity-card div{min-width:0}.project-activity-card small,.project-activity-card span{display:block;color:var(--muted);font-size:8px}.project-activity-card strong{display:block;margin:2px 0 3px;font-size:12px;line-height:1.3}
.choice-user .choice-main small{line-height:1.35}.choice-list{max-height:55vh;overflow:auto}
@media(max-width:390px){.project-domain-fallback{right:20px;top:86px}.project-domain-fallback-icon{width:60px;height:60px;border-radius:20px}.project-contact-list-sheet{max-height:54vh}}

/* v0.9.35 — project hero: blue-first layered treatment + optional domain images */
.project-detail-hero {
  background: linear-gradient(150deg,#0b4dad 0%,#146fe3 52%,#d9e9ff 100%);
}
.project-detail-hero-media {
  overflow: hidden;
  opacity: 1;
  background-image:
    linear-gradient(135deg, rgba(5,57,145,.52), rgba(14,103,224,.22)),
    var(--project-hero-image, none),
    linear-gradient(145deg,#0b4dad 0%,#1f78e8 58%,#6caeff 100%);
  background-size: cover, cover, cover;
  background-position: center, center 35%, center;
  background-repeat: no-repeat;
}
.project-detail-hero-media::before {
  content:"";
  position:absolute;
  inset:-22%;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.34) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px);
  background-size:34px 34px;
  transform:rotate(-9deg);
  pointer-events:none;
}
.project-detail-v2.no-photo .project-detail-hero-media,
.project-detail-v2.has-generic-photo .project-detail-hero-media,
.project-detail-v2.has-photo .project-detail-hero-media {
  background-image:
    linear-gradient(135deg, rgba(4,55,145,.56), rgba(13,104,229,.20)),
    var(--project-hero-image, none),
    linear-gradient(145deg,#0b4dad 0%,#1f78e8 58%,#6caeff 100%);
}
.project-detail-hero-shade {
  background:linear-gradient(
    180deg,
    rgba(4,55,145,.16) 0%,
    rgba(19,105,219,.13) 34%,
    rgba(232,242,255,.76) 67%,
    var(--bg) 93%
  );
}
.project-domain-fallback {
  z-index:1;
  color:rgba(255,255,255,.78);
  text-shadow:0 1px 12px rgba(8,49,111,.24);
}
.project-domain-fallback-icon {
  border-color:rgba(255,255,255,.46);
  background:rgba(9,78,181,.24);
  color:rgba(255,255,255,.88);
  box-shadow:0 18px 44px rgba(4,49,116,.20), inset 0 1px 0 rgba(255,255,255,.20);
}
.project-domain-fallback:after {
  border-color:rgba(255,255,255,.22);
  box-shadow:0 0 0 24px rgba(255,255,255,.07),0 0 0 49px rgba(255,255,255,.045);
}
.project-detail-v2.has-photo .project-domain-fallback,
.project-detail-v2.has-generic-photo .project-domain-fallback {
  opacity:.72;
}
html[data-theme="dark"] .project-detail-hero-shade {
  background:linear-gradient(180deg,rgba(2,31,82,.20),rgba(5,55,120,.16) 36%,rgba(12,20,29,.82) 72%,var(--bg) 94%);
}


/* v0.9.36 — hero asset fallback + true full bleed */
.project-detail-v2 {
  margin-top: -12px;
}
.project-detail-hero {
  margin-left: -13px;
  margin-right: -13px;
}
.project-detail-hero-media,
.project-detail-v2.no-photo .project-detail-hero-media,
.project-detail-v2.has-generic-photo .project-detail-hero-media,
.project-detail-v2.has-photo .project-detail-hero-media {
  background-image:
    linear-gradient(135deg, rgba(4,55,145,.58), rgba(13,104,229,.24)),
    var(--project-hero-image, none),
    var(--project-hero-fallback, none),
    linear-gradient(145deg,#0b4dad 0%,#1f78e8 58%,#6caeff 100%);
  background-size: cover, cover, cover, cover;
  background-position: center, center 35%, center 35%, center;
  background-repeat: no-repeat;
}

/* v0.9.38 — neutral hero photo treatment: no blue wash, keep grid + domain motif */
.project-detail-hero {
  border-radius: 24px 24px 0 0;
}
.project-detail-hero-media,
.project-detail-v2.no-photo .project-detail-hero-media,
.project-detail-v2.has-generic-photo .project-detail-hero-media,
.project-detail-v2.has-photo .project-detail-hero-media {
  background-image: linear-gradient(145deg,#dbe8f8 0%,#edf3fa 58%,#f6f8fb 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.project-detail-hero-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  pointer-events: none;
}
.project-detail-hero-img-generic {
  z-index: 0;
  opacity: .9;
}
.project-detail-hero-img-real {
  z-index: 1;
  opacity: .96;
}
.project-detail-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 58%, rgba(248,250,252,.10) 100%);
}
.project-detail-hero-media::before {
  z-index: 3;
  opacity: .18;
}
.project-domain-fallback {
  z-index: 4;
  color: rgba(255,255,255,.68);
  text-shadow: 0 1px 10px rgba(15,23,42,.14);
}
.project-domain-fallback-icon {
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.14);
  color: rgba(255,255,255,.82);
  box-shadow: 0 18px 40px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.18);
}
.project-domain-fallback:after {
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 0 0 24px rgba(255,255,255,.05),0 0 0 49px rgba(255,255,255,.03);
}
.project-detail-hero-shade {
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.02) 0%,
    rgba(255,255,255,.02) 36%,
    rgba(239,243,248,.38) 66%,
    rgba(235,239,245,.82) 84%,
    var(--bg) 96%
  );
}
.project-detail-hero-actions,
.project-detail-hero-content {
  z-index: 5;
}
html[data-theme="dark"] .project-detail-hero-shade {
  background: linear-gradient(180deg,rgba(8,12,18,.04) 0%,rgba(8,12,18,.06) 36%,rgba(15,23,42,.34) 66%,rgba(12,20,29,.82) 84%,var(--bg) 96%);
}


/* v0.9.39 — project detail polish: taxonomy, tighter KPI cards, refined tabs */
.project-detail-hero-content h1 {
  margin-bottom: 8px;
}
.project-detail-meta {
  margin-top: 10px;
}
.project-detail-taxonomy {
  margin-top: 12px;
  display: grid;
  gap: 7px;
  max-width: 100%;
}
.project-taxonomy-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.project-taxonomy-label {
  flex: 0 0 auto;
  min-width: 68px;
  padding-top: 4px;
  color: rgba(15, 23, 42, .56);
  font-size: 10px;
  font-weight: 800;
}
.project-taxonomy-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.project-taxonomy-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(255,255,255,.68);
  color: #163966;
  backdrop-filter: blur(8px);
}
.project-taxonomy-chip.is-subdomain {
  background: rgba(255,255,255,.58);
  color: rgba(22, 57, 102, .88);
}
.project-detail-hero-shade {
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.02) 0%,
    rgba(255,255,255,.03) 24%,
    rgba(237,241,246,.42) 50%,
    rgba(233,237,242,.84) 72%,
    var(--bg) 90%
  );
}
.project-detail-tabs {
  margin-top: 14px;
  padding: 5px !important;
  border-radius: 20px;
  background: rgba(255,255,255,.95) !important;
}
.project-detail-tabs .tab-button {
  padding: 0 !important;
  min-height: 54px;
  border-radius: 15px;
  color: #667085;
}
.project-detail-tabs .tab-button .tab-button-inner {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  font-weight: 800;
  font-size: 12px;
}
.project-detail-tabs .tab-button.is-active {
  background: #f8fbff;
  color: var(--brand-strong);
  box-shadow: 0 4px 14px rgba(16,24,40,.05), inset 0 -3px 0 var(--brand-strong);
}
.project-detail-tabs .tab-button:not(.is-active) {
  background: transparent;
  box-shadow: none;
}
.project-tab-count {
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  background: #eef2f7;
  color: #667085;
}
.project-kpi-grid {
  gap: 9px;
}
.project-kpi-card {
  min-height: 68px;
  padding: 11px 12px;
  gap: 10px;
  border-radius: 16px;
}
.project-kpi-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 12px;
}
.project-kpi-card small {
  margin-bottom: 3px;
}
.project-kpi-card strong {
  font-size: 12px;
}
@media (max-width: 390px) {
  .project-taxonomy-row {
    flex-direction: column;
    gap: 5px;
  }
  .project-taxonomy-label {
    min-width: 0;
    padding-top: 0;
  }
  .project-detail-tabs .tab-button .tab-button-inner {
    font-size: 12px;
    gap: 5px;
    padding: 0 6px;
  }
  .project-kpi-card {
    min-height: 64px;
    padding: 10px 11px;
  }
}


/* v0.9.40 — compact taxonomy below hero + segmented tabs closer to mockup */
.project-detail-meta {
  margin-top: 10px;
}
.project-detail-tabs {
  margin-top: 14px;
  padding: 0 !important;
  min-height: 52px;
  border-radius: 18px;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-card);
  overflow: hidden;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
}
.project-detail-tabs .tab-button {
  position: relative;
  min-height: 52px;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #667085;
}
.project-detail-tabs .tab-button + .tab-button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  bottom: 13px;
  width: 1px;
  background: rgba(15,23,42,.08);
}
.project-detail-tabs .tab-button .tab-button-inner {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}
.project-detail-tabs .tab-button.is-active {
  color: var(--brand-strong);
}
.project-detail-tabs .tab-button.is-active::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--brand-strong);
}
.project-detail-tabs .tab-button.is-active .tab-button-inner {
  color: var(--brand-strong);
}
.project-tab-count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #eef2f7;
  color: #667085;
  font-size: 9px;
}
.project-detail-taxonomy-card {
  margin-top: 10px;
  margin-bottom: -2px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  box-shadow: var(--shadow-card);
  display: grid;
  gap: 8px;
}
.project-taxonomy-row.compact {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 8px;
  align-items: start;
}
.project-taxonomy-row.compact .project-taxonomy-label {
  min-width: 0;
  padding-top: 5px;
  font-size: 10px;
  font-weight: 800;
  color: rgba(15,23,42,.56);
}
.project-taxonomy-row.compact .project-taxonomy-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.project-taxonomy-row.compact .project-taxonomy-chip {
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
  color: #36527a;
  backdrop-filter: none;
}
.project-taxonomy-row.compact .project-taxonomy-chip.is-subdomain {
  background: #f9fbfd;
  color: #56657e;
}
@media (max-width: 390px) {
  .project-detail-tabs {
    min-height: 50px;
  }
  .project-detail-tabs .tab-button,
  .project-detail-tabs .tab-button .tab-button-inner {
    min-height: 50px;
  }
  .project-detail-tabs .tab-button .tab-button-inner {
    font-size: 12px;
    padding: 0 6px;
    gap: 5px;
  }
  .project-detail-tabs .tab-button.is-active::after {
    left: 16px;
    right: 16px;
  }
  .project-detail-taxonomy-card {
    padding: 9px 10px;
    gap: 7px;
  }
  .project-taxonomy-row.compact {
    grid-template-columns: 68px 1fr;
    gap: 6px;
  }
  .project-taxonomy-row.compact .project-taxonomy-chip {
    min-height: 21px;
    padding: 0 7px;
    font-size: 9px;
  }
}


/* v0.9.41 — tighter pills/cards + updated under title */
.project-detail-stage {
  padding: 6px 10px;
  font-size: 9px;
}
.project-detail-hero-content h1 {
  margin: 10px 0 3px;
}
.project-detail-updated-inline {
  color: rgba(15,23,42,.58);
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
}
.project-detail-meta {
  margin-top: 8px;
}
.project-detail-tabs {
  margin-top: 12px;
  min-height: 48px;
  border-radius: 17px;
}
.project-detail-tabs .tab-button,
.project-detail-tabs .tab-button .tab-button-inner {
  min-height: 48px;
}
.project-detail-tabs .tab-button .tab-button-inner {
  font-size: 12px;
  padding: 0 8px;
}
.project-detail-tabs .tab-button + .tab-button::before {
  top: 11px;
  bottom: 11px;
}
.project-detail-tabs .tab-button.is-active::after {
  left: 20px;
  right: 20px;
}
.project-stage-card {
  padding: 13px 8px 10px;
  border-radius: 18px;
}
.project-stage-track:before {
  top: 11px;
}
.project-stage-step {
  gap: 6px;
}
.project-stage-dot {
  width: 22px;
  height: 22px;
}
.project-stage-step.current .project-stage-dot {
  outline-width: 3px;
}
.project-stage-name {
  font-size: 8px;
}
.project-kpi-grid,
.project-kpi-grid-two {
  gap: 9px;
  margin-top: 10px;
}
.project-kpi-grid-two {
  grid-template-columns: 1fr 1fr;
}
.project-kpi-card {
  min-height: 64px;
  padding: 10px 11px;
  gap: 9px;
  border-radius: 16px;
}
.project-kpi-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 11px;
}
.project-kpi-card small {
  font-size: 8px;
  margin-bottom: 2px;
}
.project-kpi-card strong {
  font-size: 12px;
}
.action-dock {
  gap: 6px;
  padding: 6px;
  border-radius: 18px;
}
.action-dock button,
.action-dock a {
  min-height: 40px;
  border-radius: 12px;
  font-size: 10px;
}
@media (max-width: 390px) {
  .project-detail-stage {
    padding: 5px 9px;
  }
  .project-detail-updated-inline {
    font-size: 9px;
  }
  .project-detail-tabs {
    min-height: 46px;
  }
  .project-detail-tabs .tab-button,
  .project-detail-tabs .tab-button .tab-button-inner {
    min-height: 46px;
  }
  .project-detail-tabs .tab-button .tab-button-inner {
    font-size: 10px;
    padding: 0 6px;
  }
  .project-stage-card {
    padding: 12px 7px 9px;
  }
  .project-stage-dot {
    width: 21px;
    height: 21px;
  }
  .project-kpi-card {
    min-height: 60px;
    padding: 9px 10px;
  }
  .project-kpi-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
  }
  .action-dock button,
  .action-dock a {
    min-height: 38px;
    font-size: 9px;
  }
}


/* v0.9.42 — domain/subdomain display refined: no card, grouped by domain, sentence case */
.project-detail-taxonomy-stack {
  margin-top: 12px;
  display: grid;
  gap: 12px;
}
.project-taxonomy-group {
  display: grid;
  gap: 6px;
}
.project-taxonomy-line {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 8px;
  align-items: start;
}
.project-taxonomy-kicker {
  padding-top: 5px;
  color: rgba(15,23,42,.52);
  font-size: 10px;
  font-weight: 800;
}
.project-taxonomy-chips.slim {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.project-detail-taxonomy-stack .project-taxonomy-chip {
  min-height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
  backdrop-filter: none;
}
.project-detail-taxonomy-stack .project-taxonomy-chip.is-domain {
  background: #f3f7fc;
  border: 1px solid rgba(20, 67, 132, .10);
  color: #36527a;
}
.project-detail-taxonomy-stack .project-taxonomy-chip.is-subdomain {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #5d6b80;
}
@media (max-width: 390px) {
  .project-detail-taxonomy-stack {
    gap: 10px;
  }
  .project-taxonomy-line {
    grid-template-columns: 70px 1fr;
    gap: 7px;
  }
  .project-taxonomy-kicker {
    font-size: 9px;
  }
  .project-detail-taxonomy-stack .project-taxonomy-chip {
    min-height: 21px;
    padding: 0 8px;
    font-size: 9px;
  }
}


/* v0.9.43 — compact domain carousel + contextual subdomain hint */
.project-taxonomy-carousel {
  position: relative;
  margin-top: 12px;
}
.project-taxonomy-scroll {
  display: flex;
  align-items: stretch;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1px 2px 6px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}
.project-taxonomy-scroll::-webkit-scrollbar { display: none; }
.project-taxonomy-card {
  flex: 0 0 auto;
  min-width: 112px;
  height: 44px;
  padding: 6px 9px 6px 7px;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 12px;
  background: #fff;
  color: #1e293b;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-align: left;
  box-shadow: 0 3px 10px rgba(15, 23, 42, .035);
  scroll-snap-align: start;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.project-taxonomy-card:active { transform: scale(.985); }
.project-taxonomy-card[aria-expanded="true"] {
  border-color: rgba(31, 111, 235, .22);
  background: #fbfdff;
  box-shadow: 0 5px 16px rgba(31, 111, 235, .09);
}
.project-taxonomy-card-icon {
  width: 29px;
  height: 29px;
  min-width: 29px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef5ff;
  color: #2367bd;
}
.project-taxonomy-card.tone-green .project-taxonomy-card-icon { background: #eaf8f1; color: #209767; }
.project-taxonomy-card.tone-cyan .project-taxonomy-card-icon { background: #eaf8fb; color: #248da3; }
.project-taxonomy-card.tone-violet .project-taxonomy-card-icon { background: #f1edff; color: #7256c9; }
.project-taxonomy-card.tone-amber .project-taxonomy-card-icon { background: #fff5df; color: #b7791f; }
.project-taxonomy-card.tone-rose .project-taxonomy-card-icon { background: #fff0f4; color: #c75478; }
.project-taxonomy-card.tone-red .project-taxonomy-card-icon { background: #fff0ef; color: #c9514c; }
.project-taxonomy-card.tone-slate .project-taxonomy-card-icon { background: #eef2f6; color: #526174; }
.project-taxonomy-card-label {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
  text-transform: none;
  letter-spacing: 0;
}
.project-taxonomy-card-count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  background: rgba(15, 23, 42, .055);
  color: #64748b;
  font-size: 9px;
  font-weight: 800;
}
.project-taxonomy-hint-host {
  position: relative;
  min-height: 0;
}
.project-taxonomy-hint {
  --taxonomy-hint-left: 0px;
  position: relative;
  width: max-content;
  max-width: min(520px, calc(100vw - 42px));
  margin-top: 3px;
  margin-left: var(--taxonomy-hint-left);
  padding: 8px 10px;
  border: 1px solid rgba(31, 111, 235, .11);
  border-radius: 10px;
  background: #f8fbff;
  box-shadow: 0 5px 16px rgba(15, 23, 42, .055);
  animation: taxonomyHintIn .14s ease-out;
}
.project-taxonomy-hint::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 18px;
  width: 9px;
  height: 9px;
  background: #f8fbff;
  border-left: 1px solid rgba(31, 111, 235, .11);
  border-top: 1px solid rgba(31, 111, 235, .11);
  transform: rotate(45deg);
}
.project-taxonomy-hint-title {
  margin-bottom: 5px;
  color: #36527a;
  font-size: 9px;
  font-weight: 800;
}
.project-taxonomy-hint-items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 0;
  color: #536174;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.35;
}
.project-taxonomy-hint-items span:not(:last-child)::after {
  content: "·";
  margin: 0 6px;
  color: #9aa8ba;
}
.project-taxonomy-hint-empty {
  color: #7b8797;
  font-size: 10px;
  font-weight: 650;
}
@keyframes taxonomyHintIn {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 520px) {
  .project-taxonomy-scroll { gap: 7px; margin-right: -2px; }
  .project-taxonomy-card { min-width: 105px; height: 42px; padding: 5px 8px 5px 6px; border-radius: 11px; }
  .project-taxonomy-card-icon { width: 28px; height: 28px; min-width: 28px; }
  .project-taxonomy-card-label { max-width: 124px; font-size: 10px; }
  .project-taxonomy-hint {
    width: 100%;
    max-width: none;
    margin-left: 0 !important;
    padding: 8px 9px;
  }
  .project-taxonomy-hint::before { display: none; }
}

/* v0.9.44 — project detail taxonomy inline in section head + company-first contacts */
.project-detail-section-head-taxonomy{
  align-items:flex-end;
}
.project-detail-section-head-taxonomy h2{
  flex:1;
}
.project-taxonomy-toolbar{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:0;
  min-width:0;
}
.project-taxonomy-scroll-inline{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  overflow-x:auto;
  max-width:100%;
  padding-bottom:2px;
}
.project-taxonomy-icon-card{
  width:40px;
  height:40px;
  min-width:40px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface);
  display:grid;
  place-items:center;
  padding:0;
  box-shadow:var(--shadow-card);
  color:var(--brand-strong);
}
.project-taxonomy-icon-card[aria-expanded="true"]{
  border-color:color-mix(in srgb,var(--brand-strong) 26%,var(--line));
  background:color-mix(in srgb,var(--brand-strong) 7%,var(--surface));
}
.project-taxonomy-hint-host-inline{
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  width:min(320px,calc(100vw - 52px));
  min-height:0;
  pointer-events:none;
  z-index:5;
}
.project-taxonomy-hint-floating{
  position:absolute;
  left:var(--taxonomy-hint-left,0px);
  right:auto;
  bottom:0;
  width:min(260px,100%);
  margin-left:0;
  pointer-events:auto;
}
.project-taxonomy-hint-floating::before{
  top:auto;
  bottom:-6px;
  transform:rotate(225deg);
}
.project-taxonomy-hint-empty{
  display:block;
  margin-top:4px;
}
.project-contact-avatar-icon svg{
  width:18px;
  height:18px;
}
.project-key-contact.is-company .project-key-main strong,
.project-contact-full.is-company .project-contact-full-main h3{
  white-space:normal;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.project-key-contact.is-company .project-key-main strong{
  line-height:1.28;
}
.project-contact-secondary,
.project-contact-full-company{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.project-contact-channel-strip{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.project-contact-channel-pill{
  width:28px;
  height:28px;
  border-radius:10px;
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--muted);
  display:grid;
  place-items:center;
}
.project-contact-channel-pill.is-link{
  color:var(--brand-strong);
}
.project-contact-channel-pill svg{
  width:14px;
  height:14px;
}
.project-key-contact.is-company .project-key-actions:empty{
  display:none;
}
.project-contact-full.is-company .project-contact-data{
  display:none;
}
@media (max-width:520px){
  .project-detail-section-head-taxonomy{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .project-detail-section-head-taxonomy h2{
    width:100%;
  }
  .project-taxonomy-toolbar{
    width:100%;
    align-items:flex-end;
  }
  .project-taxonomy-icon-card{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:12px;
  }
  .project-taxonomy-hint-host-inline{
    width:min(280px,calc(100vw - 56px));
  }
}

/* v0.9.45 — smaller taxonomy icon, better pointer, grouped company/person contacts */
.project-taxonomy-icon-card{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:11px;
}
.project-taxonomy-icon-card .project-taxonomy-card-icon,
.project-taxonomy-icon-card svg{
  width:15px;
  height:15px;
  stroke-width:2.2;
}
.project-taxonomy-hint-floating::before{
  left:var(--taxonomy-caret-left,18px);
}

.project-key-contact,
.project-contact-full{
  position:relative;
  overflow:hidden;
}
.project-key-contact{
  padding-left:62px;
}
.project-key-avatar,
.project-contact-full-avatar{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%) rotate(-12deg);
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(52,116,235,.10), rgba(52,116,235,.04));
  color:rgba(52,116,235,.42);
  opacity:.95;
  z-index:0;
}
.project-key-avatar svg,
.project-contact-full-avatar svg{
  width:24px;
  height:24px;
  stroke-width:1.9;
}
.project-key-main,
.project-key-actions,
.project-contact-full-main{
  position:relative;
  z-index:1;
}
.project-contact-full{
  padding-left:62px;
}
.project-contact-channel-strip{
  align-items:center;
}
.project-contact-channel-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.project-contact-channel-pill svg{
  display:block;
}
.project-key-contact .project-key-main strong,
.project-contact-full .project-contact-full-main h3{
  max-width:calc(100% - 4px);
  overflow-wrap:anywhere;
}
.grouped-contact-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.project-contact-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.project-contact-group-people{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-left:18px;
}
.project-contact-full.is-group-person{
  border-style:dashed;
  border-color:rgba(15,23,42,.08);
}
.project-contact-full.is-group-person::after{
  content:"";
  position:absolute;
  left:14px;
  top:-10px;
  bottom:50%;
  width:1px;
  background:rgba(148,163,184,.35);
}
.project-contact-list-sheet .project-contact-group-people,
[data-project-sheet-panel="contacts"] .project-contact-group-people{
  padding-left:20px;
}
@media (max-width:520px){
  .project-taxonomy-icon-card{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:10px;
  }
  .project-key-contact,
  .project-contact-full{
    padding-left:56px;
  }
  .project-key-avatar,
  .project-contact-full-avatar{
    left:10px;
    width:48px;
    height:48px;
    border-radius:16px;
  }
  .project-key-avatar svg,
  .project-contact-full-avatar svg{
    width:21px;
    height:21px;
  }
}

/* v0.9.46 — contact watermarks + unified contact groups + taxonomy pointer polish */
.project-taxonomy-icon-card{
  width:30px;
  height:30px;
  min-width:30px;
  border-radius:9px;
}
.project-taxonomy-icon-card .project-taxonomy-card-icon{
  width:30px;
  height:30px;
  min-width:30px;
  border-radius:9px;
  background:transparent;
}
.project-taxonomy-icon-card .project-taxonomy-card-icon .icon{
  width:14px;
  height:14px;
  stroke-width:2.5;
}
.project-taxonomy-hint-floating::before{
  left:var(--taxonomy-caret-left,18px);
}

/* Large faded row icon, without its own background tile. */
.project-key-avatar,
.project-contact-full-avatar{
  left:-2px;
  top:50%;
  width:78px;
  height:78px;
  min-width:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--brand-strong);
  opacity:.14;
  transform:translateY(-50%) rotate(-12deg);
  pointer-events:none;
}
.project-key-avatar svg,
.project-contact-full-avatar svg,
.project-key-avatar .icon,
.project-contact-full-avatar .icon{
  width:42px;
  height:42px;
  stroke-width:1.65;
}
.project-key-contact,
.project-contact-full{
  padding-left:64px;
}

/* Keep contact-channel glyphs perfectly centered inside their mini buttons. */
.project-contact-channel-strip{
  align-items:center;
}
.project-contact-channel-pill,
.project-contact-channel-pill.is-link{
  box-sizing:border-box;
  display:inline-grid !important;
  place-items:center !important;
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px;
  padding:0 !important;
  line-height:1;
  vertical-align:middle;
}
.project-contact-channel-pill > .icon,
.project-contact-channel-pill svg{
  position:static !important;
  display:block !important;
  width:14px !important;
  height:14px !important;
  margin:0 !important;
  transform:none !important;
  flex:none !important;
}

/* In the contact sheet one company + its people reads as one visual card.
   Individual articles remain separate DOM/forms for their own actions. */
.project-contact-list-sheet .project-contact-group{
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-card);
}
.project-contact-list-sheet .project-contact-group > .project-contact-full,
.project-contact-list-sheet .project-contact-group-people .project-contact-full{
  width:100%;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.project-contact-list-sheet .project-contact-group-people{
  display:block;
  padding:0;
}
.project-contact-list-sheet .project-contact-group-people .project-contact-full{
  border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent);
}
.project-contact-list-sheet .project-contact-group-people .project-contact-full::after{
  display:none;
}
.project-contact-list-sheet .project-contact-group:not(:has(> .project-contact-full)) .project-contact-group-people .project-contact-full:first-child{
  border-top:0;
}

@media (max-width:520px){
  .project-taxonomy-icon-card,
  .project-taxonomy-icon-card .project-taxonomy-card-icon{
    width:28px;
    height:28px;
    min-width:28px;
  }
  .project-key-avatar,
  .project-contact-full-avatar{
    left:-4px;
    width:72px;
    height:72px;
  }
  .project-key-avatar svg,
  .project-contact-full-avatar svg,
  .project-key-avatar .icon,
  .project-contact-full-avatar .icon{
    width:38px;
    height:38px;
  }
  .project-key-contact,
  .project-contact-full{
    padding-left:58px;
  }
}

/* v0.9.47 — softer contact watermark + role accent + cleaner grouped modal */
.project-key-contact,
.project-contact-full,
.project-contact-group{
  --contact-accent:#94a3b8;
}
.project-key-contact.tone-beneficiar,
.project-contact-full.tone-beneficiar,
.project-contact-group.tone-beneficiar{--contact-accent:#2f80ed;}
.project-key-contact.tone-proiectant,
.project-contact-full.tone-proiectant,
.project-contact-group.tone-proiectant{--contact-accent:#7c5ce7;}
.project-key-contact.tone-antreprenor,
.project-contact-full.tone-antreprenor,
.project-contact-group.tone-antreprenor{--contact-accent:#16a36a;}
.project-key-contact.tone-subantreprenor,
.project-contact-full.tone-subantreprenor,
.project-contact-group.tone-subantreprenor{--contact-accent:#e28a24;}

/* Row-type accent. On grouped cards the wrapper owns the line, so it is continuous. */
.project-key-contact::before,
.grouped-contact-list .project-contact-group::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 999px 999px 0;
  background:var(--contact-accent);
  opacity:.9;
  z-index:2;
}
.grouped-contact-list .project-contact-group{
  position:relative;
}
.project-contact-list-sheet .project-contact-group::before{
  top:0;
  bottom:0;
}
.grouped-contact-list .project-contact-full::before{
  display:none;
}

/* The company/person glyph behaves like a watermark, not a standalone icon. */
.project-key-avatar,
.project-contact-full-avatar{
  left:-28px !important;
  top:50%;
  width:108px !important;
  height:108px !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  color:var(--contact-accent) !important;
  opacity:.065 !important;
  transform:translateY(-50%) rotate(-13deg) !important;
  overflow:visible;
}
.project-key-avatar svg,
.project-contact-full-avatar svg,
.project-key-avatar .icon,
.project-contact-full-avatar .icon{
  width:72px !important;
  height:72px !important;
  stroke-width:1.35 !important;
}
.project-key-contact,
.project-contact-full{
  padding-left:50px !important;
}

/* In a combined company group, the person's role/company are implicit in the parent row. */
.project-contact-full.hide-group-context > .project-contact-full-main > small,
.project-contact-full.hide-group-context > .project-contact-full-main > .project-contact-full-company{
  display:none;
}
.project-contact-full.hide-group-context > .project-contact-full-main h3{
  margin-top:0;
}

/* Combined rows should read as one card with equal-level sections. */
.project-contact-list-sheet .project-contact-group > .project-contact-full,
.project-contact-list-sheet .project-contact-group-people .project-contact-full{
  min-height:110px;
  display:flex;
  align-items:center;
}
.project-contact-list-sheet .project-contact-group-people .project-contact-full{
  border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);
}
.project-contact-list-sheet .project-contact-group-people .project-contact-full:first-child{
  border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);
}
.project-contact-list-sheet .project-contact-group:not(:has(> .project-contact-full)) .project-contact-group-people .project-contact-full:first-child{
  border-top:0;
}

@media (max-width:520px){
  .project-key-avatar,
  .project-contact-full-avatar{
    left:-30px !important;
    width:102px !important;
    height:102px !important;
  }
  .project-key-avatar svg,
  .project-contact-full-avatar svg,
  .project-key-avatar .icon,
  .project-contact-full-avatar .icon{
    width:66px !important;
    height:66px !important;
  }
  .project-key-contact,
  .project-contact-full{
    padding-left:46px !important;
  }
}

/* v0.9.48 — contact watermark polish + agent/status/map section refresh */
.project-key-avatar,
.project-contact-full-avatar{
  width:64px;
  min-width:64px;
  height:64px;
  margin-left:-8px;
  margin-right:-4px;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  color:color-mix(in srgb,var(--brand-strong) 16%, transparent);
  opacity:.68;
  align-self:center;
  overflow:visible;
}
.project-key-avatar svg,
.project-contact-full-avatar svg,
.project-key-avatar .icon,
.project-contact-full-avatar .icon{
  width:40px;
  height:40px;
  stroke-width:1.5;
  transform:rotate(-10deg);
}
.project-contact-channel-strip,
.project-contact-data{
  align-items:center;
}
.project-contact-channel-pill,
.project-contact-data a,
.project-reveal-form button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.project-contact-channel-pill svg,
.project-contact-data a svg,
.project-reveal-form button svg{
  flex:0 0 auto;
}

.project-assignment-card-v2{
  padding:14px;
  min-height:92px;
  gap:14px;
}
.project-assignment-card-v2 .project-assignment-avatar{
  width:58px;
  min-width:58px;
  height:58px;
  border-radius:18px;
  font-size:22px;
  box-shadow:0 14px 26px rgba(20,78,196,.16);
}
.project-assignment-card-v2 .project-assignment-main strong{
  font-size:15px;
  line-height:1.15;
}
.project-assignment-card-v2 .project-assignment-main small{
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
}
.project-assignment-cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:52px;
  padding:0 16px;
  border-radius:16px;
  background:color-mix(in srgb,var(--brand-strong) 9%, var(--surface));
  color:var(--brand-strong);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.project-assignment-cta .icon{width:17px;height:17px}

.project-status-summary{
  width:100%;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-card);
  padding:14px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
}
.project-status-summary-main{flex:1;min-width:0}
.project-status-summary-main strong{display:block;font-size:15px;line-height:1.1}
.project-status-summary-main small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.3}
.project-status-summary-icon,
.project-status-chip-icon,
.choice-status-icon{
  width:44px;
  min-width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--surface-2);
}
.project-status-summary-icon .icon,
.project-status-chip-icon .icon,
.choice-status-icon .icon{width:18px;height:18px}
.status-neutral-line{width:14px;height:2.5px;border-radius:999px;background:currentColor;display:block}
.project-status-summary-icon.is-neutral,
.project-status-chip-icon.is-neutral,
.choice-status-icon.is-neutral{color:#7b8796;background:#eef1f5}
.project-status-summary.tone-waiting .project-status-summary-icon,
.project-status-chip.tone-waiting .project-status-chip-icon,
.choice-row-status.tone-waiting .choice-status-icon{color:#c89514;background:#fff4d6}
.project-status-summary.tone-won .project-status-summary-icon,
.project-status-chip.tone-won .project-status-chip-icon,
.choice-row-status.tone-won .choice-status-icon{color:#18804e;background:#ddf6e8}
.project-status-summary.tone-lost .project-status-summary-icon,
.project-status-chip.tone-lost .project-status-chip-icon,
.choice-row-status.tone-lost .choice-status-icon{color:#da3b3b;background:#fde3e3}
.project-status-chip-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.project-status-chip{
  min-height:52px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 9px;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.project-status-chip.is-active{
  border-color:color-mix(in srgb,var(--brand-strong) 32%, var(--line));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-strong) 25%, transparent);
}
.project-status-chip.tone-waiting.is-active{background:#fffaf0;border-color:#f0c85d}
.project-status-chip.tone-won.is-active{background:#f0fbf5;border-color:#79d09f}
.project-status-chip.tone-lost.is-active{background:#fff6f6;border-color:#f1a7a7}
.project-status-chip .project-status-chip-icon{width:34px;min-width:34px;height:34px;border-radius:12px}
.project-status-chip span:last-child{display:block;min-width:0}

.project-map-card-button{
  width:100%;
  padding:0;
  text-align:left;
  color:inherit;
}
.project-map-card-button .project-map-address-action{
  color:var(--brand-strong);
  display:grid;
  place-items:center;
}
.project-map-card-button .project-map-address-action .icon{width:17px;height:17px}
.project-map-card-button:disabled{cursor:default;opacity:1}
.map-sheet-frame-wrap{
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#eef4f8;
  box-shadow:var(--shadow-card);
}
.map-sheet-frame{display:block;width:100%;height:46vh;min-height:300px;border:0}
.map-sheet-address-row{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  padding:12px 14px;
  display:flex;
  align-items:center;
  gap:12px;
}
.map-sheet-address-row div{flex:1;min-width:0}
.map-sheet-address-row strong{display:block;font-size:12px;line-height:1.35}
.map-sheet-address-row small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}

.choice-list-status{display:grid;gap:10px}
.choice-row-status{
  min-height:74px;
  border-radius:18px;
  padding:12px 14px;
  gap:12px;
}
.choice-row-status .choice-main{flex:1;min-width:0}
.choice-row-status .choice-main strong{display:block;font-size:14px;line-height:1.12}
.choice-row-status .choice-main small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.3}
.choice-row-status input[type="radio"]{width:20px;height:20px}
.choice-row-status:has(input:checked){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-strong) 18%, transparent)}
.choice-row-status.tone-waiting:has(input:checked){background:#fffaf0;border-color:#f0c85d}
.choice-row-status.tone-won:has(input:checked){background:#f0fbf5;border-color:#7fd1a4}
.choice-row-status.tone-lost:has(input:checked){background:#fff6f6;border-color:#f1a7a7}

.project-contact-list-sheet .project-contact-full.hide-group-context > .project-contact-full-main > small{
  display:none;
}

@media (max-width:390px){
  .project-key-avatar,
  .project-contact-full-avatar{width:58px;min-width:58px;height:58px;margin-left:-10px}
  .project-key-avatar svg,
  .project-contact-full-avatar svg,
  .project-key-avatar .icon,
  .project-contact-full-avatar .icon{width:36px;height:36px}
  .project-status-chip-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-assignment-card-v2{align-items:flex-start}
  .project-assignment-cta{margin-left:auto}
}

/* v0.9.49 — compact commercial chips, outcome colors, road mockup, battlecard picker */
.project-section-link{
  display:inline-flex !important;
  align-items:center;
  gap:2px;
}
.project-section-link .icon{width:13px;height:13px}

.project-assignment-card-v2{
  min-height:72px;
  padding:10px 11px;
  gap:10px;
}
.project-assignment-card-v2 .project-assignment-avatar{
  width:46px;
  min-width:46px;
  height:46px;
  border-radius:14px;
  font-size:17px;
}
.project-assignment-card-v2 .project-assignment-main strong{font-size:13px}
.project-assignment-card-v2 .project-assignment-main small{margin-top:3px;font-size:9.5px;line-height:1.25}
.project-assignment-cta{
  min-height:40px;
  padding:0 11px;
  border-radius:13px;
  gap:5px;
  font-size:10px;
}
.project-assignment-cta .icon{width:15px;height:15px}

.project-status-summary.tone-waiting{background:#fff9ea;border-color:#f0d487}
.project-status-summary.tone-won{background:#eefaf3;border-color:#a6dfbd}
.project-status-summary.tone-lost{background:#fff1f1;border-color:#efb5b5}
.project-status-summary.tone-waiting .project-status-summary-icon{background:#ffedb7}
.project-status-summary.tone-won .project-status-summary-icon{background:#d8f3e4}
.project-status-summary.tone-lost .project-status-summary-icon{background:#fbdada}

.project-status-chip-row{
  gap:6px;
}
.project-status-chip{
  position:relative;
  min-height:48px;
  border-color:transparent;
  border-radius:14px;
  padding:6px 5px 6px 27px;
  gap:0;
  font-size:9.5px;
  line-height:1.08;
  font-weight:850;
  justify-content:center;
  overflow:hidden;
}
.project-status-chip.tone-neutral{background:#eef2f6;color:#344054}
.project-status-chip.tone-waiting{background:#fff0bd;color:#75520a}
.project-status-chip.tone-won{background:#d9f3e4;color:#17643c}
.project-status-chip.tone-lost{background:#f9dada;color:#9d2929}
.project-status-chip .project-status-chip-icon{
  position:absolute;
  left:8px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  min-width:16px;
  height:16px;
  border-radius:0;
  background:transparent !important;
  color:currentColor !important;
}
.project-status-chip .project-status-chip-icon .icon{width:15px;height:15px}
.project-status-chip .status-neutral-line{width:12px;height:2px}
.project-status-chip > span:last-child{
  width:100%;
  text-align:center;
  overflow-wrap:normal;
  word-break:normal;
}
.project-status-chip.is-active{
  border-color:currentColor;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent);
}
.project-status-chip.tone-waiting.is-active{background:#ffeaa0;border-color:#dcae2a}
.project-status-chip.tone-won.is-active{background:#ccefdc;border-color:#4eaf78}
.project-status-chip.tone-lost.is-active{background:#f6caca;border-color:#dd6666}

.project-map-card{
  background:#edf3f7;
}
.project-map-grid{
  inset:0;
  opacity:1;
  background-image:
    linear-gradient(29deg,transparent 0 42%,rgba(255,255,255,.98) 42.5% 47%,transparent 47.5% 100%),
    linear-gradient(-31deg,transparent 0 59%,rgba(255,255,255,.92) 59.5% 64%,transparent 64.5% 100%),
    linear-gradient(90deg,transparent 0 26%,rgba(255,255,255,.70) 26.5% 29%,transparent 29.5% 100%);
  background-size:150px 110px,180px 130px,210px 100%;
}
.project-map-river{
  left:-8%;
  right:-8%;
  top:80px;
  height:38px;
  border-radius:0;
  background:#d3dde5;
  transform:rotate(-5deg);
  box-shadow:inset 0 4px 0 rgba(255,255,255,.98),inset 0 -4px 0 rgba(255,255,255,.98);
}
.project-map-river::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0 18px,transparent 18px 34px);
}
.project-map-pin{top:66px}

.battlecard-outcome-field{
  margin:12px 0 14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--surface-2);
}
.battlecard-outcome-field[hidden]{display:none !important}
.battlecard-outcome-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}
.battlecard-outcome-head strong{font-size:12px}
.battlecard-outcome-head small{color:var(--muted);font-size:8px}
.battlecard-opponent-list{display:grid;gap:7px;max-height:180px;overflow:auto}
.battlecard-opponent-row{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface);
  padding:7px 9px;
  display:flex;
  align-items:center;
  gap:9px;
  font-size:10px;
  font-weight:800;
}
.battlecard-opponent-mark{
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));
  color:var(--brand-strong);
  font-size:8px;
  font-weight:900;
}
.battlecard-opponent-row > span:nth-child(2){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.battlecard-opponent-row input{width:17px;height:17px;accent-color:var(--brand-strong)}
.battlecard-opponent-row:has(input:checked){border-color:color-mix(in srgb,var(--brand-strong) 40%,var(--line));background:color-mix(in srgb,var(--brand-strong) 5%,var(--surface))}

@media (max-width:390px){
  .project-status-chip{min-height:46px;font-size:9px;padding-left:25px}
  .project-status-chip .project-status-chip-icon{left:7px}
  .project-assignment-card-v2{align-items:center}
}

/* v0.9.50 — overlay flashes + project photo discovery/gallery */
.flash-stack{
  position:fixed;
  z-index:260;
  top:calc(12px + env(safe-area-inset-top));
  left:50%;
  width:min(430px,calc(100vw - 28px));
  transform:translateX(-50%);
  display:grid;
  gap:8px;
  pointer-events:none;
}
.flash-stack .flash{
  margin:0;
  width:100%;
  pointer-events:auto;
  box-shadow:0 14px 40px rgba(15,23,42,.17);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  background:color-mix(in srgb,var(--surface) 94%,transparent);
}
.flash-stack .flash-warning{
  background:color-mix(in srgb,var(--warning-bg) 96%,transparent);
}
.flash-stack .flash-success{
  background:color-mix(in srgb,var(--surface) 96%,transparent);
}

.project-photos-section{overflow:visible}
.project-photo-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  margin-left:5px;
  padding:0 6px;
  border-radius:999px;
  background:var(--surface-3);
  color:var(--muted);
  font-size:9px;
  vertical-align:middle;
}
.project-photo-hint{
  color:var(--muted);
  font-size:9px;
  font-weight:700;
}
.project-photo-strip{
  display:flex;
  gap:9px;
  overflow-x:auto;
  overflow-y:hidden;
  margin-right:-12px;
  padding:1px 12px 5px 0;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.project-photo-strip::-webkit-scrollbar{display:none}
.project-photo-thumb{
  position:relative;
  flex:0 0 132px;
  height:88px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface-2);
  box-shadow:var(--shadow-card);
  scroll-snap-align:start;
}
.project-photo-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-photo-thumb.is-hero::after{
  content:"";
  position:absolute;
  inset:0;
  border:2px solid color-mix(in srgb,var(--brand-strong) 55%,transparent);
  border-radius:inherit;
  pointer-events:none;
}
.project-photo-sheet .sheet-title-row>div p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:9px;
}
.project-photo-viewer{
  position:relative;
  margin-top:8px;
  height:min(56vh,520px);
  min-height:300px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#0f172a;
  box-shadow:var(--shadow-card);
}
.project-photo-viewer>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#0f172a;
}
.project-photo-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:13px;
  background:rgba(255,255,255,.88);
  color:#12233d;
  display:grid;
  place-items:center;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.project-photo-nav.is-prev{left:10px}
.project-photo-nav.is-next{right:10px}
.project-photo-viewer-name{
  min-height:16px;
  margin:8px 2px 0;
  color:var(--muted);
  font-size:9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.project-photo-filmstrip{
  display:flex;
  gap:7px;
  overflow-x:auto;
  margin-top:8px;
  padding-bottom:2px;
  scrollbar-width:none;
}
.project-photo-filmstrip::-webkit-scrollbar{display:none}
.project-photo-filmstrip button{
  flex:0 0 62px;
  width:62px;
  height:46px;
  padding:0;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:10px;
  background:var(--surface-2);
  opacity:.65;
}
.project-photo-filmstrip button.is-active{
  border-color:var(--brand-strong);
  opacity:1;
}
.project-photo-filmstrip img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:390px){
  .flash-stack{top:calc(8px + env(safe-area-inset-top));width:calc(100vw - 20px)}
  .project-photo-thumb{flex-basis:116px;height:78px}
  .project-photo-viewer{height:48vh;min-height:260px}
}

/* v0.9.51 — explicit contact availability, grouped rows, reliable contact-sheet scroll */
.project-contact-channel-strip-labeled{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.project-contact-channel-pill.has-label,
.project-contact-channel-pill.is-link.has-label{
  width:auto !important;
  min-width:0 !important;
  height:27px !important;
  min-height:27px !important;
  padding:0 8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  border-radius:9px;
  font-size:8.5px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.project-contact-channel-pill.has-label > span{
  display:inline-block;
  line-height:1;
}
.project-contact-channel-pill.has-label svg,
.project-contact-channel-pill.is-link.has-label svg{
  width:13px !important;
  height:13px !important;
  min-width:13px !important;
}
.project-contact-no-data{
  display:inline-block;
  margin-top:8px;
  color:var(--muted);
  font-size:8.5px;
  font-weight:700;
}
.project-reveal-form button{
  min-height:32px;
  padding:0 10px;
  white-space:nowrap;
}

/* Every logical group is one visual card, both in the Contacts tab and in the sheet. */
.grouped-contact-list{
  gap:10px !important;
}
.grouped-contact-list .project-contact-group{
  position:relative;
  display:block !important;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-card);
}
.grouped-contact-list .project-contact-group > .project-contact-full,
.grouped-contact-list .project-contact-group-people .project-contact-full{
  width:100%;
  min-height:92px;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex;
  align-items:center;
}
.grouped-contact-list .project-contact-group-people{
  display:block !important;
  padding:0 !important;
  margin:0 !important;
}
.grouped-contact-list .project-contact-group-people .project-contact-full{
  border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent) !important;
}
.grouped-contact-list .project-contact-group:not(:has(> .project-contact-full)) .project-contact-group-people .project-contact-full:first-child{
  border-top:0 !important;
}
.grouped-contact-list .project-contact-full.is-group-person{
  border-style:solid !important;
}
.grouped-contact-list .project-contact-full.is-group-person::after{
  display:none !important;
}
.grouped-contact-list .project-contact-full-main{
  align-self:center;
}
.grouped-contact-list .project-contact-full.hide-group-context > .project-contact-full-main h3{
  margin-top:0;
}

/* One real scroll surface for the tall contacts sheet; no nested 58vh trap. */
.project-contacts-sheet.sheet-tall{
  height:min(92dvh,760px);
  max-height:92dvh;
  overflow:hidden !important;
  display:flex;
  flex-direction:column;
}
.project-contacts-sheet > .sheet-handle,
.project-contacts-sheet > .sheet-title-row,
.project-contacts-sheet > .project-sheet-tabs{
  flex:0 0 auto;
}
.project-contacts-sheet .project-sheet-panel{
  min-height:0;
}
.project-contacts-sheet .project-sheet-panel.is-active{
  display:block;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:26px;
}
.project-contacts-sheet .project-contact-list-sheet,
.project-contacts-sheet .project-fastemail-list{
  max-height:none !important;
  overflow:visible !important;
  padding:2px 2px 34px;
}

@media (max-width:520px){
  .grouped-contact-list .project-contact-group > .project-contact-full,
  .grouped-contact-list .project-contact-group-people .project-contact-full{
    min-height:86px;
  }
  .project-contact-channel-pill.has-label,
  .project-contact-channel-pill.is-link.has-label{
    font-size:8px;
    padding:0 7px !important;
  }
}


/* v0.9.52 — project contact person function */
.project-contact-person-job{
  margin:3px 0 0;
  color:var(--muted);
  font-size:10px;
  font-weight:650;
  line-height:1.3;
}
.project-contact-full.is-person .project-contact-person-job + .project-contact-full-company{
  margin-top:2px;
}

/* ===== v0.9.53 project detail progressive first paint ===== */
[data-project-detail-loader][aria-busy="true"] {
  min-height: calc(100vh - 88px);
}
.project-loading-shell {
  pointer-events: none;
}
.project-loading-shell a.project-detail-icon-btn {
  pointer-events: auto;
}
.project-loading-shell .is-loading-control,
.project-loading-shell button:disabled {
  cursor: default;
  opacity: .72;
}
.project-loading-hero {
  min-height: 314px;
}
.project-loading-hero .project-detail-hero-media {
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface-3) 90%, #dce8f5), color-mix(in srgb, var(--surface-2) 80%, #cfddec));
}
.project-loading-hero .project-detail-hero-shade {
  background: linear-gradient(180deg, rgba(241,246,251,.06) 0%, rgba(241,246,251,.40) 44%, rgba(241,246,251,.96) 100%);
}
.project-loading-pill {
  min-width: 84px;
  min-height: 25px;
  display: inline-flex;
  align-items: center;
}
.project-inline-skeleton {
  display: inline-block;
  border-radius: 999px;
  min-height: 8px;
  vertical-align: middle;
}
.project-inline-skeleton.is-stage { width: 62px; height: 9px; }
.project-inline-skeleton.is-title { width: min(76vw, 300px); height: 22px; border-radius: 8px; display:block; }
.project-inline-skeleton.is-title-short { width: min(48vw, 190px); height: 22px; border-radius: 8px; display:block; margin-top:7px; }
.project-inline-skeleton.is-updated { width: 112px; height: 8px; }
.project-inline-skeleton.is-meta { width: 74px; height: 8px; }
.project-inline-skeleton.is-money { width: 58px; height: 10px; }
.project-inline-skeleton.is-count { width: 16px; height: 16px; min-height:16px; }
.project-inline-skeleton.is-kpi { width: 70px; height: 12px; border-radius:5px; }
.project-inline-skeleton.is-kpi-short { width: 48px; height: 12px; border-radius:5px; }
.project-inline-skeleton.is-heading-count { width: 22px; height: 12px; border-radius:5px; }
.project-inline-skeleton.is-contact-role { width: 58px; height: 7px; border-radius:4px; }
.project-inline-skeleton.is-contact-name { width: 178px; max-width:50vw; height: 11px; border-radius:5px; }
.project-inline-skeleton.is-contact-name-short { width: 118px; max-width:38vw; height: 11px; border-radius:5px; }
.project-inline-skeleton.is-agent { width: 126px; height: 11px; border-radius:5px; }
.project-inline-skeleton.is-agent-sub { width: 170px; max-width:45vw; height: 8px; border-radius:4px; }
.project-inline-skeleton.is-status { width: 86px; height: 11px; border-radius:5px; }
.project-inline-skeleton.is-status-sub { width: 176px; max-width:48vw; height: 8px; border-radius:4px; }
.project-inline-skeleton.is-address { width: 164px; max-width:48vw; height: 10px; border-radius:5px; }
.project-inline-skeleton.is-location { width: 108px; height: 7px; border-radius:4px; }
.project-loading-title {
  display: block;
  min-height: 51px;
}
.project-loading-tabs .tab-button:disabled {
  opacity: 1;
  color: inherit;
}
.project-loading-stage-track .project-stage-step {
  opacity: .86;
}
.project-loading-stage-dot {
  border: 0 !important;
  background-color: var(--surface-3) !important;
}
.project-loading-taxonomy {
  display:flex;
  gap:7px;
}
.project-loading-taxonomy > span {
  display:block;
  width:30px;
  height:30px;
  border-radius:10px;
}
.project-loading-description-card {
  min-height: 132px;
}
.project-loading-lines {
  display:grid;
  gap:11px;
  padding: 2px 0 4px;
}
.project-loading-lines > span {
  display:block;
  width:100%;
  height:9px;
  border-radius:5px;
}
.project-loading-lines > span:nth-child(2) { width:94%; }
.project-loading-lines > span:nth-child(3) { width:88%; }
.project-loading-lines > span.is-short { width:61%; }
.project-loading-section-link {
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:var(--brand-strong);
  font-size:10px;
  font-weight:800;
}
.project-loading-contact-card {
  min-height: 84px;
  position:relative;
  overflow:hidden;
}
.project-loading-contact-watermark {
  width:54px;
  min-width:54px;
  height:54px;
  margin-left:-13px;
  color:color-mix(in srgb,var(--brand-strong) 12%, transparent);
  display:grid;
  place-items:center;
}
.project-loading-contact-watermark svg {
  width:38px;
  height:38px;
  transform:rotate(-10deg);
}
.project-loading-contact-channel-row {
  display:flex;
  gap:6px;
  margin-top:8px;
}
.project-loading-contact-channel-row > span {
  display:block;
  width:52px;
  height:25px;
  border-radius:9px;
}
.project-loading-contact-channel-row > span:last-child { width:68px; }
.project-loading-assignment-card {
  pointer-events:none;
}
.project-loading-avatar {
  color:transparent !important;
}
.project-loading-status-summary,
.project-loading-status-row,
.project-loading-map-card {
  pointer-events:none;
}
.project-loading-map-card .project-map-address {
  min-height:58px;
}
.project-loading-dock {
  pointer-events:none;
}
.project-loading-error {
  position: fixed;
  left: 50%;
  bottom: 92px;
  z-index: 90;
  width: min(360px, calc(100vw - 32px));
  transform: translateX(-50%);
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, #dc2626 20%, var(--line));
  border-radius: 15px;
  background: var(--surface);
  box-shadow: var(--shadow-float);
  color: var(--text);
  font-size: 12px;
}
.project-loading-error strong { display:block; margin-bottom:7px; }
.project-loading-error button {
  border:0;
  padding:0;
  background:transparent;
  color:var(--brand-strong);
  font:inherit;
  font-weight:850;
}
.project-inline-skeleton.is-failed,
.project-loading-lines .is-failed {
  background: transparent !important;
  animation:none !important;
}
.project-inline-skeleton.is-failed::after {
  content:'—';
  color:var(--muted);
}

@media (max-width: 420px) {
  .project-loading-hero { min-height: 296px; }
  .project-inline-skeleton.is-title { width:70vw; }
  .project-inline-skeleton.is-title-short { width:44vw; }
  .project-loading-status-row .project-status-chip { min-width:0; }
}

/* v0.9.54 — multi-competitor Battlecards + summary bottom clearance */
.battlecard-outcome-head{
  align-items:center;
}
.battlecard-outcome-head small{
  text-align:right;
}
.battlecard-opponent-row{
  position:relative;
  cursor:pointer;
  padding-right:10px;
}
.battlecard-opponent-input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
.battlecard-opponent-check{
  width:24px;
  min-width:24px;
  height:24px;
  border-radius:8px;
  border:1.5px solid color-mix(in srgb,var(--muted) 34%,var(--line));
  background:var(--surface);
  color:transparent;
  display:grid;
  place-items:center;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.battlecard-opponent-check .icon{
  width:14px;
  height:14px;
  stroke-width:2.4;
}
.battlecard-opponent-row:has(.battlecard-opponent-input:checked){
  border-color:color-mix(in srgb,var(--brand-strong) 34%,var(--line));
  background:color-mix(in srgb,var(--brand-strong) 5%,var(--surface));
}
.battlecard-opponent-row:has(.battlecard-opponent-input:checked) .battlecard-opponent-check{
  border-color:var(--brand-strong);
  background:var(--brand-strong);
  color:var(--on-brand);
  transform:scale(1.02);
}
.battlecard-opponent-row:focus-within{
  outline:2px solid color-mix(in srgb,var(--brand-strong) 22%,transparent);
  outline-offset:1px;
}
.project-detail-panel[data-tab-panel="summary"] .project-location-section{
  margin-bottom:88px;
}
@media (max-width:390px){
  .project-detail-panel[data-tab-panel="summary"] .project-location-section{
    margin-bottom:96px;
  }
}

/* v0.9.55 — progressive Projects loading: static shell first, value-only skeletons. */
[data-projects-results-root] {
  min-height: 250px;
}
.projects-results-panel.is-progressive-loading {
  contain: layout paint;
}
.projects-inline-skeleton {
  display: inline-block;
  vertical-align: middle;
  border-radius: 999px;
  opacity: .72;
}
.projects-inline-skeleton-count {
  width: 58px;
  height: 15px;
  margin-right: 5px;
}
.projects-inline-skeleton-range {
  width: 82px;
  height: 9px;
}
.projects-progressive-card {
  min-height: 98px;
  box-shadow: 0 7px 20px rgba(16,24,40,.025);
}
.projects-progressive-card::before {
  display: none !important;
}
.projects-progressive-card-main {
  min-height: 98px;
  padding: 12px 46px 11px 12px;
}
.projects-progressive-line,
.projects-progressive-pill {
  display: block;
  border-radius: 999px;
  opacity: .58;
}
.projects-progressive-line.is-title {
  width: 64%;
  height: 11px;
}
.projects-progressive-line.is-date {
  width: 28%;
  height: 6px;
  margin-top: 6px;
}
.projects-progressive-meta,
.projects-progressive-facts {
  display: flex;
  align-items: center;
  gap: 7px;
}
.projects-progressive-meta {
  margin-top: 11px;
}
.projects-progressive-facts {
  margin-top: 10px;
}
.projects-progressive-line.is-location {
  width: 31%;
  height: 8px;
}
.projects-progressive-line.is-value {
  width: 23%;
  height: 10px;
}
.projects-progressive-pill {
  width: 48px;
  height: 18px;
  border-radius: 9px;
}
.projects-progressive-pill.is-small {
  width: 40px;
  height: 17px;
}
html[data-theme="dark"] .projects-progressive-card {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}
@media (prefers-reduced-motion: reduce) {
  .projects-progressive-card .shimmer,
  .projects-inline-skeleton.shimmer {
    animation: none;
  }
}

/* ===== v0.9.56 Search UX — Algolia quick search, projects + contacts, progressive results ===== */
.search-v2-page {
  position: relative;
  min-width: 0;
  padding-bottom: 8px;
}
.search-v2-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 76px;
  right: -54px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--brand-strong) 8%, transparent), transparent 70%);
  pointer-events: none;
}
.search-v2-launchpad {
  min-height: 154px;
  background:
    radial-gradient(circle at 82% 8%, rgba(255,255,255,.17), transparent 29%),
    radial-gradient(circle at 96% 78%, rgba(110,231,255,.12), transparent 26%),
    linear-gradient(135deg, #0a367d 0%, #0f55bf 54%, #1768e8 100%);
}
.search-v2-launchpad::after { transform: rotate(18deg); }
.search-v2-launchpad .contacts-launchpad-orbit::after {
  background: #6ee7ff;
  box-shadow: 0 0 0 5px rgba(110,231,255,.12);
}
.search-v2-launchpad .contacts-launchpad-copy { max-width: 75%; }
.search-v2-launchpad h1 { max-width: 270px; font-size: 22px; }
.search-v2-launchpad .contacts-launchpad-copy p { max-width: 270px; }
.search-v2-hero-tags {
  position: absolute;
  z-index: 2;
  left: 14px;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.search-v2-hero-tags span {
  min-height: 29px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: rgba(255,255,255,.84);
  font-size: 8.7px;
  font-weight: 800;
  backdrop-filter: blur(6px);
}
.search-v2-panel,
.search-v2-results-panel {
  --contacts-panel-accent: #1768e8;
}
.search-v2-panel {
  margin-top: 12px;
  padding-top: 14px;
  padding-bottom: 14px;
}
.search-v2-heading { margin-bottom: 9px; }
.search-v2-panel .contacts-panel-kicker,
.search-v2-panel .contacts-panel-title-icon,
.search-v2-panel .contacts-search-box > .icon,
.search-v2-results-panel .contacts-panel-kicker,
.search-v2-results-panel .contacts-panel-title-icon {
  color: var(--contacts-panel-accent);
}
.search-v2-form { margin: 0; }
.search-v2-box { position: relative; }
.search-v2-box .search-input {
  height: 55px;
  padding-right: 43px;
}
.search-v2-box .search-input:focus {
  border-color: color-mix(in srgb, var(--brand-strong) 58%, var(--line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-strong) 8%, transparent), 0 9px 22px rgba(23,104,232,.07);
}
.search-v2-clear {
  position: absolute;
  z-index: 3;
  right: 10px;
  top: 50%;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--muted);
  cursor: pointer;
}
.search-v2-filter-label {
  margin: 11px 2px 6px;
  color: var(--muted-2);
  font-size: 7.5px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.search-v2-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.search-v2-filter {
  min-width: 0;
  min-height: 39px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.search-v2-filter .icon { width: 14px; height: 14px; }
.search-v2-filter b {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted-2);
  font-size: 7.5px;
}
.search-v2-filter.is-active {
  border-color: color-mix(in srgb, var(--brand-strong) 34%, var(--line));
  background: color-mix(in srgb, var(--brand-strong) 7%, var(--surface));
  color: var(--brand-strong);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand-strong) 12%, transparent);
}
.search-v2-filter.is-active b {
  background: color-mix(in srgb, var(--brand-strong) 10%, var(--surface));
  color: var(--brand-strong);
}
.search-v2-results-panel {
  margin-top: 12px;
  margin-bottom: 7px;
  padding: 14px 12px 13px;
  border-radius: 22px;
}
.search-v2-results-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.search-v2-results-head > div { min-width: 0; }
.search-v2-results-head .contacts-panel-kicker { margin-bottom: 5px; }
.search-v2-results-head h2 { margin: 0; font-size: 16px; line-height: 1.08; }
.search-v2-results-head p {
  max-width: 260px;
  margin: 5px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 8.7px;
}
.search-v2-total {
  flex: 0 0 auto;
  margin-top: 1px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 7.8px;
  font-weight: 800;
}
.search-v2-results { min-width: 0; }
.search-v2-hint { margin-top: 0; }
.search-v2-result-group + .search-v2-result-group { margin-top: 12px; }
.search-v2-group-head {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  margin: 0 2px 6px;
}
.search-v2-group-head > span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: color-mix(in srgb, var(--brand-strong) 8%, var(--surface));
  color: var(--brand-strong);
}
.search-v2-result-group.is-contacts .search-v2-group-head > span {
  background: color-mix(in srgb, #7c3aed 8%, var(--surface));
  color: #7c3aed;
}
.search-v2-group-head strong { font-size: 10px; }
.search-v2-group-head b {
  color: var(--muted);
  font-size: 8px;
}
.search-v2-group-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
  box-shadow: 0 6px 18px rgba(16,24,40,.035);
}
.search-v2-result-row {
  position: relative;
  min-height: 77px;
  padding: 10px 10px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}
.search-v2-result-row:last-child { border-bottom: 0; }
.search-v2-result-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  bottom: 13px;
  width: 2px;
  border-radius: 0 999px 999px 0;
  background: color-mix(in srgb, var(--brand-strong) 75%, #6ee7ff);
}
.search-v2-result-row.is-contact::before {
  background: color-mix(in srgb, #7c3aed 72%, #d8b4fe);
}
.search-v2-result-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--brand-strong) 8%, var(--surface-2));
  color: var(--brand-strong);
}
.search-v2-result-icon.is-contact {
  background: color-mix(in srgb, #7c3aed 7%, var(--surface-2));
  color: #7c3aed;
}
.search-v2-result-main { min-width: 0; display: block; }
.search-v2-result-main > strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10.7px;
  line-height: 1.22;
}
.search-v2-result-location {
  min-width: 0;
  max-width: 100%;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 8px;
}
.search-v2-result-location .icon { flex: 0 0 auto; }
.search-v2-result-meta {
  margin-top: 5px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.search-v2-result-meta b {
  max-width: 120px;
  padding: 3px 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted-2);
  font-size: 6.8px;
  font-weight: 800;
}
.search-v2-result-side {
  min-width: 44px;
  max-width: 88px;
  display: grid;
  justify-items: end;
  gap: 4px;
  color: var(--muted);
  text-align: right;
}
.search-v2-result-side > strong {
  max-width: 88px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-size: 8.2px;
}
.search-v2-result-side > small {
  max-width: 88px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 7px;
}
.search-v2-result-side > i {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--brand-strong);
  font-style: normal;
}
.search-v2-empty { padding: 31px 17px; }
html[data-theme="dark"] .search-v2-group-list { box-shadow: 0 8px 20px rgba(0,0,0,.11); }

@media (max-width: 380px) {
  .search-v2-launchpad { min-height: 151px; }
  .search-v2-launchpad h1 { font-size: 20px; }
  .search-v2-launchpad .contacts-launchpad-copy p { max-width: 230px; font-size: 8.8px; }
  .search-v2-hero-tags { gap: 5px; }
  .search-v2-hero-tags span { min-height: 27px; padding: 0 8px; font-size: 8px; }
  .search-v2-filter { padding-inline: 5px; font-size: 8.4px; }
  .search-v2-filter b { min-width: 16px; height: 16px; padding-inline: 4px; font-size: 7px; }
  .search-v2-result-row { grid-template-columns: 38px minmax(0,1fr) auto; gap: 8px; }
  .search-v2-result-icon { width: 38px; height: 38px; border-radius: 12px; }
  .search-v2-result-side { max-width: 72px; }
  .search-v2-result-side > strong,
  .search-v2-result-side > small { max-width: 72px; }
}

/* ===== v0.9.57 Search compact hero — search + filters + examples in one place ===== */
.search-v3-page {
  position: relative;
  min-width: 0;
  padding-bottom: 8px;
}
.search-v3-hero {
  position: relative;
  min-height: 265px;
  padding: 15px 14px 13px;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 9%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 96% 67%, rgba(110,231,255,.13), transparent 27%),
    linear-gradient(135deg, #0a367d 0%, #0f55bf 54%, #1768e8 100%);
}
.search-v3-hero::after { transform: rotate(18deg); }
.search-v3-hero .contacts-launchpad-orbit::after {
  background: #6ee7ff;
  box-shadow: 0 0 0 5px rgba(110,231,255,.12);
}
.search-v3-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 75%;
}
.search-v3-hero h1 {
  max-width: 280px;
  margin-bottom: 5px;
  font-size: 22px;
}
.search-v3-hero-copy p {
  max-width: 285px;
  margin-bottom: 0;
  font-size: 9px;
  line-height: 1.35;
}
.search-v3-form {
  position: relative;
  z-index: 3;
  margin: 18px 0 0;
}
.search-v3-box {
  position: relative;
  height: 52px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 43px 0 14px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 16px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 10px 28px rgba(4,35,90,.15);
  color: #1768e8;
}
.search-v3-box > .icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}
.search-v3-box .search-input {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  color: #172033;
  font-size: 13px;
  font-weight: 650;
}
.search-v3-box .search-input::placeholder { color: #7d8798; font-weight: 600; }
.search-v3-clear {
  position: absolute;
  right: 9px;
  top: 50%;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: #f3f6fb;
  color: #788397;
  cursor: pointer;
}
.search-v3-mode-row {
  position: relative;
  z-index: 3;
  margin-top: 9px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.search-v3-mode {
  min-height: 35px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  font-size: 9px;
  font-weight: 850;
  backdrop-filter: blur(8px);
  cursor: pointer;
}
.search-v3-mode .icon { width: 14px; height: 14px; }
.search-v3-mode b {
  min-width: 21px;
  height: 21px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 7.5px;
  font-weight: 900;
}
.search-v3-mode.is-active {
  border-color: #fff;
  background: #fff;
  color: #0f55bf;
  box-shadow: 0 6px 16px rgba(5,44,105,.14);
}
.search-v3-mode.is-active b {
  background: #eaf2ff;
  color: #0f55bf;
}
.search-v3-examples {
  position: relative;
  z-index: 3;
  margin-top: 10px;
  min-width: 0;
}
.search-v3-examples > span {
  display: block;
  margin: 0 0 5px 2px;
  color: rgba(255,255,255,.66);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.search-v3-example-scroll {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 0 1px 2px;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.search-v3-example-scroll::-webkit-scrollbar { display: none; }
.search-v3-example-scroll button {
  flex: 0 0 auto;
  min-height: 27px;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  background: rgba(2,32,84,.16);
  color: rgba(255,255,255,.78);
  font-size: 7.8px;
  font-weight: 750;
  cursor: pointer;
}
.search-v3-results-panel {
  --contacts-panel-accent: #1768e8;
  margin-top: 12px;
  margin-bottom: 7px;
  padding: 14px 12px 13px;
  border-radius: 22px;
}
.search-v3-results-panel .contacts-panel-kicker,
.search-v3-results-panel .contacts-panel-title-icon { color: var(--contacts-panel-accent); }
.search-v3-results-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.search-v3-results-head > div { min-width: 0; }
.search-v3-results-head .contacts-panel-kicker { margin-bottom: 5px; }
.search-v3-results-head h2 { margin: 0; font-size: 16px; line-height: 1.08; }
.search-v3-results-head p {
  max-width: 315px;
  margin: 5px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 8.7px;
}
.search-v3-results-panel[hidden] { display: none !important; }

@media (max-width: 380px) {
  .search-v3-hero { min-height: 261px; padding-inline: 12px; }
  .search-v3-hero h1 { max-width: 245px; font-size: 20px; }
  .search-v3-hero-copy p { max-width: 230px; font-size: 8.5px; }
  .search-v3-form { margin-top: 16px; }
  .search-v3-box { height: 49px; border-radius: 15px; }
  .search-v3-mode { min-height: 33px; padding-inline: 10px; font-size: 8.5px; }
  .search-v3-mode b { min-width: 20px; height: 20px; font-size: 7px; }
  .search-v3-example-scroll button { font-size: 7.4px; }
}

/* ===== v0.9.58 Search — one blue hero, no white wrapper cards ===== */
.search-v4-page {
  position: relative;
  min-width: 0;
  padding-bottom: 10px;
}
.search-v4-hero {
  position: relative;
  min-height: 320px;
  padding: 16px 14px 14px;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 9%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 96% 67%, rgba(110,231,255,.13), transparent 27%),
    linear-gradient(135deg, #0a367d 0%, #0f55bf 54%, #1768e8 100%);
}
.search-v4-hero::after { transform: rotate(18deg); }
.search-v4-hero .contacts-launchpad-orbit::after {
  background: #6ee7ff;
  box-shadow: 0 0 0 5px rgba(110,231,255,.12);
}
.search-v4-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 76%;
}
.search-v4-hero h1 {
  max-width: 275px;
  margin: 0 0 5px;
  font-size: 22px;
  line-height: 1.03;
}
.search-v4-hero-copy p {
  max-width: 278px;
  margin: 0;
  font-size: 9px;
  line-height: 1.35;
}
.search-v4-mode-row {
  position: relative;
  z-index: 4;
  width: min(330px, calc(100% - 4px));
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.search-v4-mode {
  min-width: 0;
  min-height: 43px;
  padding: 0 11px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 14px;
  background: rgba(255,255,255,.11);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
  cursor: pointer;
  text-align: left;
}
.search-v4-mode-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(255,255,255,.12);
}
.search-v4-mode-icon .icon { width: 15px; height: 15px; }
.search-v4-mode-copy {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9.4px;
  font-weight: 850;
}
.search-v4-mode strong {
  min-width: 26px;
  height: 24px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 8px;
  font-weight: 950;
}
.search-v4-mode.is-active {
  border-color: rgba(255,255,255,.88);
  background: #fff;
  color: #0f55bf;
  box-shadow: 0 8px 20px rgba(3,37,91,.18);
}
.search-v4-mode.is-active .search-v4-mode-icon,
.search-v4-mode.is-active strong {
  background: #eaf2ff;
  color: #0f55bf;
}
.search-v4-form {
  position: relative;
  z-index: 4;
  width: min(330px, calc(100% - 4px));
  margin-top: 9px;
}
.search-v4-box {
  position: relative;
  height: 47px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 41px 0 13px;
  border: 1px solid rgba(255,255,255,.50);
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 10px 24px rgba(4,35,90,.17);
  color: #1768e8;
}
.search-v4-box > .icon {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
}
.search-v4-box .search-input {
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  color: #172033;
  font-size: 12px;
  font-weight: 650;
}
.search-v4-box .search-input::placeholder { color: #7d8798; font-weight: 600; }
.search-v4-clear {
  position: absolute;
  right: 7px;
  top: 50%;
  width: 31px;
  height: 31px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: #f3f6fb;
  color: #788397;
  cursor: pointer;
}
.search-v4-examples {
  position: relative;
  z-index: 4;
  width: min(340px, 100%);
  margin-top: 9px;
  min-width: 0;
}
.search-v4-examples > span {
  display: block;
  margin: 0 0 5px 2px;
  color: rgba(255,255,255,.68);
  font-size: 7.3px;
  font-weight: 800;
}
.search-v4-example-scroll {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 0 1px 2px;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.search-v4-example-scroll::-webkit-scrollbar { display: none; }
.search-v4-example-scroll button {
  flex: 0 0 auto;
  min-height: 25px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 9px;
  background: rgba(2,32,84,.14);
  color: rgba(255,255,255,.82);
  font-size: 7.3px;
  font-weight: 750;
  cursor: pointer;
}

/* Results begin immediately after the hero. No white outer card. */
.search-v4-results-shell {
  margin: 7px 0 0;
  padding: 0 2px 8px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.search-v4-results-shell[hidden] { display: none !important; }
.search-v4-results-head {
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-height: 27px;
  padding: 2px 5px 6px;
}
.search-v4-results-head h2 {
  margin: 0;
  color: var(--text);
  font-size: 12px;
  line-height: 1.15;
}
.search-v4-results-head p {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 8px;
}
.search-v4-result-group + .search-v4-result-group { margin-top: 12px; }
.search-v4-group-head { margin: 0 5px 4px; }
.search-v4-result-group .search-v2-group-list {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.search-v4-result-group .search-v2-result-row {
  min-height: 72px;
  margin: 0;
  padding: 9px 7px 9px 9px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  background: transparent;
}
.search-v4-result-group .search-v2-result-row:last-child { border-bottom: 0; }
.search-v4-result-group .search-v2-result-row::before {
  top: 11px;
  bottom: 11px;
}
.search-v4-empty {
  min-height: 118px;
  padding: 20px 8px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 5px;
  color: var(--muted);
  text-align: center;
}
.search-v4-empty > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb, var(--brand-strong) 7%, transparent);
  color: var(--brand-strong);
}
.search-v4-empty strong { color: var(--text); font-size: 12px; }
.search-v4-empty p { margin: 0; font-size: 8.5px; }
.search-v4-load-more {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--muted);
  font-size: 8px;
}
.search-v4-load-more[hidden],
.search-v4-load-sentinel[hidden] { display: none !important; }
.search-v4-load-more-dot {
  width: 8px;
  height: 8px;
  border: 2px solid color-mix(in srgb, var(--brand-strong) 25%, transparent);
  border-top-color: var(--brand-strong);
  border-radius: 50%;
  animation: search-v4-spin .8s linear infinite;
}
.search-v4-load-sentinel { height: 2px; }
@keyframes search-v4-spin { to { transform: rotate(360deg); } }

@media (max-width: 380px) {
  .search-v4-hero { min-height: 315px; padding-inline: 12px; }
  .search-v4-hero h1 { max-width: 245px; font-size: 20px; }
  .search-v4-hero-copy p { max-width: 225px; font-size: 8.4px; }
  .search-v4-mode-row,
  .search-v4-form { width: min(316px, calc(100% - 2px)); }
  .search-v4-mode { min-height: 40px; padding-inline: 9px; grid-template-columns: 25px minmax(0,1fr) auto; }
  .search-v4-mode-icon { width: 25px; height: 25px; }
  .search-v4-mode-copy { font-size: 8.7px; }
  .search-v4-box { height: 45px; }
  .search-v4-box .search-input { font-size: 12px; }
}

/* ===== v0.9.59 Search — match compact mockup layout ===== */
.search-v4-page{
  padding-bottom:8px;
}
.search-v4-hero{
  min-height:0;
  margin-top:3px;
  padding:10px 12px 11px;
  border-radius:20px;
  box-shadow:0 13px 30px rgba(23,104,232,.17);
}
.search-v4-hero-copy{
  max-width:76%;
}
.search-v4-hero .contacts-launchpad-kicker{
  font-size:6.5px;
  letter-spacing:.12em;
}
.search-v4-hero h1{
  max-width:248px;
  margin-top:3px;
  margin-bottom:3px;
  font-size:17px;
  line-height:1.01;
  letter-spacing:-.035em;
}
.search-v4-hero-copy p{
  max-width:224px;
  font-size:7.5px;
  line-height:1.28;
}
.search-v4-hero .contacts-launchpad-visual{
  right:10px;
  top:8px;
  width:58px;
  height:58px;
}
.search-v4-hero .contacts-launchpad-icon{
  width:37px;
  height:37px;
  border-radius:13px;
}
.search-v4-hero .contacts-launchpad-icon .icon{
  width:23px;
  height:23px;
}
.search-v4-hero .contacts-launchpad-orbit{
  box-shadow:inset 0 0 0 9px rgba(255,255,255,.035);
}
.search-v4-hero .contacts-launchpad-orbit::after{
  width:6px;
  height:6px;
  right:2px;
  top:10px;
  box-shadow:0 0 0 4px rgba(110,231,255,.12);
}
.search-v4-mode-row{
  width:100%;
  margin-top:8px;
  gap:6px;
}
.search-v4-mode{
  min-height:34px;
  padding:0 7px;
  grid-template-columns:23px minmax(0,1fr) auto;
  gap:6px;
  border-radius:10px;
  background:rgba(255,255,255,.11);
}
.search-v4-mode-icon{
  width:23px;
  height:23px;
  border-radius:7px;
}
.search-v4-mode-icon .icon{
  width:13px;
  height:13px;
}
.search-v4-mode-copy{
  font-size:7.9px;
  font-weight:900;
}
.search-v4-mode strong{
  min-width:25px;
  height:22px;
  padding:0 6px;
  border-radius:7px;
  font-size:7.4px;
}
.search-v4-mode.is-active{
  background:rgba(255,255,255,.18);
  color:#fff;
  border-color:rgba(255,255,255,.66);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 5px 13px rgba(4,35,90,.12);
}
.search-v4-mode.is-active .search-v4-mode-icon,
.search-v4-mode.is-active strong{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.search-v4-form{
  width:100%;
  margin-top:7px;
}
.search-v4-box{
  height:38px;
  gap:8px;
  padding:0 35px 0 11px;
  border-radius:10px;
  box-shadow:0 7px 17px rgba(4,35,90,.13);
}
.search-v4-box > .icon{
  width:16px;
  height:16px;
}
.search-v4-box .search-input{
  height:36px;
  font-size:10px;
  font-weight:700;
}
.search-v4-clear{
  right:5px;
  width:27px;
  height:27px;
  border-radius:8px;
}
.search-v4-examples{
  width:100%;
  margin-top:6px;
}
.search-v4-examples > span{
  margin:0 0 4px 1px;
  font-size:6.2px;
}
.search-v4-example-scroll{
  gap:5px;
  padding-bottom:0;
}
.search-v4-example-scroll button{
  min-height:20px;
  padding:0 7px;
  border-radius:7px;
  font-size:6.3px;
  font-weight:800;
}

.search-v4-results-shell{
  margin-top:7px;
  padding:0 0 8px;
}
.search-v4-results-head{
  min-height:23px;
  gap:6px;
  padding:1px 6px 4px;
}
.search-v4-results-head h2{
  font-size:12px;
  font-weight:900;
}
.search-v4-results-head p{
  font-size:7.2px;
}
.search-v5-project-tools{
  display:flex;
  gap:5px;
  overflow-x:auto;
  margin:0 0 7px;
  padding:0 5px 1px;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.search-v5-project-tools::-webkit-scrollbar{display:none}
.search-v5-project-tools[hidden]{display:none!important}
.search-v5-tool{
  flex:0 0 auto;
  min-height:28px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  color:var(--muted-2);
  box-shadow:0 3px 10px rgba(16,24,40,.025);
  font-size:7.2px;
  cursor:pointer;
}
.search-v5-tool span{
  display:grid;
  place-items:center;
}
.search-v5-tool .icon{
  width:12px;
  height:12px;
}
.search-v5-tool b{
  font-size:7.2px;
  font-weight:850;
  white-space:nowrap;
}
.search-v5-tool.is-active{
  border-color:color-mix(in srgb,var(--brand-strong) 20%,var(--line));
  background:color-mix(in srgb,var(--brand-strong) 6%,var(--surface));
  color:var(--brand-strong);
}

.search-v4-result-group + .search-v4-result-group{
  margin-top:7px;
}
.search-v4-result-group .search-v2-group-list{
  display:grid;
  gap:7px;
}
.search-v4-result-group .search-v2-result-row{
  min-height:62px;
  margin:0;
  padding:7px 7px 7px 8px;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:8px;
  border:1px solid color-mix(in srgb,var(--line) 92%,transparent);
  border-radius:13px;
  background:var(--surface);
  box-shadow:0 4px 14px rgba(16,24,40,.035);
}
.search-v4-result-group .search-v2-result-row:last-child{
  border-bottom:1px solid color-mix(in srgb,var(--line) 92%,transparent);
}
.search-v4-result-group .search-v2-result-row::before{
  display:none;
}
.search-v4-result-group .search-v2-result-icon{
  width:38px;
  height:38px;
  border-radius:11px;
  background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface-2));
}
.search-v4-result-group .search-v2-result-icon .icon{
  width:17px;
  height:17px;
}
.search-v4-result-group .search-v2-result-main > strong{
  display:-webkit-box;
  max-height:24px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:8.8px;
  line-height:1.18;
}
.search-v4-result-group .search-v2-result-location{
  margin-top:3px;
  gap:3px;
  font-size:6.8px;
}
.search-v4-result-group .search-v2-result-location .icon{
  width:10px;
  height:10px;
}
.search-v4-result-group .search-v2-result-meta{
  margin-top:4px;
  gap:4px;
}
.search-v4-result-group .search-v2-result-meta b{
  max-width:105px;
  padding:2px 5px;
  border-radius:6px;
  background:#f1f4f8;
  color:#98a2b3;
  font-size:5.8px;
  line-height:1.2;
}
.search-v4-result-group .search-v2-result-meta b.is-stage.tone-success{
  background:#e2f7eb;
  color:#17a35b;
}
.search-v4-result-group .search-v2-result-meta b.is-stage.tone-info{
  background:#e5f1ff;
  color:#1768e8;
}
.search-v4-result-group .search-v2-result-meta b.is-stage.tone-warning{
  background:#fff0e1;
  color:#f16b2a;
}
.search-v4-result-group .search-v2-result-meta b.is-stage.tone-neutral{
  background:#f1f4f8;
  color:#8a94a6;
}
.search-v4-result-group .search-v2-result-side{
  min-width:54px;
  max-width:76px;
  gap:2px;
}
.search-v4-result-group .search-v2-result-side > strong{
  max-width:76px;
  font-size:7px;
  font-weight:900;
}
.search-v4-result-group .search-v2-result-side > small{
  max-width:76px;
  font-size:5.9px;
}
.search-v4-result-group .search-v2-result-side > i{
  width:22px;
  height:22px;
  margin-top:2px;
  border-radius:7px;
  background:#f5f8fc;
}
.search-v4-result-group .search-v2-result-side > i .icon{
  width:12px;
  height:12px;
}

@media (max-width:380px){
  .search-v4-hero{
    min-height:0;
    padding:9px 10px 10px;
  }
  .search-v4-hero h1{
    max-width:220px;
    font-size:16px;
  }
  .search-v4-hero-copy p{
    max-width:205px;
    font-size:7px;
  }
  .search-v4-hero .contacts-launchpad-visual{
    right:8px;
    top:7px;
    width:54px;
    height:54px;
  }
  .search-v4-mode-row,
  .search-v4-form{
    width:100%;
  }
  .search-v4-mode{
    min-height:32px;
    padding-inline:6px;
    grid-template-columns:22px minmax(0,1fr) auto;
  }
  .search-v4-mode-icon{
    width:22px;
    height:22px;
  }
  .search-v4-mode-copy{
    font-size:7.4px;
  }
  .search-v4-box{
    height:36px;
  }
  .search-v4-box .search-input{
    height:34px;
    font-size:9.4px;
  }
  .search-v4-result-group .search-v2-result-row{
    grid-template-columns:36px minmax(0,1fr) auto;
    gap:7px;
  }
  .search-v4-result-group .search-v2-result-icon{
    width:36px;
    height:36px;
  }
}


/* ===== v0.9.60 Search — wider rhythm + functional quick tools ===== */
.search-v4-page{
  overflow:visible;
}
.search-v4-hero{
  width:calc(100% + 14px);
  margin-left:-7px;
  margin-right:-7px;
  padding:14px 14px 15px;
}
.search-v4-mode-row{
  margin-top:10px;
}
.search-v4-form{
  margin-top:8px;
}
.search-v4-examples{
  margin-top:8px;
}
.search-v4-results-shell{
  margin-top:12px;
  padding-top:2px;
}
.search-v4-results-head{
  padding-top:3px;
  padding-bottom:6px;
}
.search-v5-project-tools{
  margin-bottom:9px;
}
.search-v5-tool{
  min-height:30px;
  padding-inline:9px;
}
.search-v5-tool.is-active{
  background:var(--brand-strong);
  border-color:var(--brand-strong);
  color:#fff;
  box-shadow:0 5px 12px rgba(23,104,232,.16);
}
.search-v5-tool.is-active .icon{
  color:#fff;
}
.search-v5-tool[data-unified-project-filter="updated"][data-sort-direction="asc"] .icon:last-child{
  transform:rotate(180deg);
}
.search-v4-result-group .search-v2-group-list{
  gap:10px;
}
.search-v4-result-group .search-v2-result-row{
  min-height:70px;
  padding:9px 8px 9px 9px;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:9px;
  border-radius:14px;
}
.search-v4-result-group .search-v2-result-icon{
  width:40px;
  height:40px;
  border-radius:12px;
}
.search-v4-result-group .search-v2-result-main > strong{
  max-height:27px;
  font-size:9.2px;
  line-height:1.22;
}
.search-v4-result-group .search-v2-result-location{
  margin-top:4px;
}
.search-v4-result-group .search-v2-result-meta{
  margin-top:5px;
}
@media (max-width:380px){
  .search-v4-hero{
    width:calc(100% + 10px);
    margin-left:-5px;
    margin-right:-5px;
    padding:12px 11px 13px;
  }
  .search-v4-result-group .search-v2-result-row{
    min-height:68px;
    padding:8px;
    grid-template-columns:38px minmax(0,1fr) auto;
  }
  .search-v4-result-group .search-v2-result-icon{
    width:38px;
    height:38px;
  }
}

/* ===== v0.9.62 Search — shared result cards, minimal Search-only CSS ===== */
.search-v4-results-shell{
  padding-inline:0;
}

/* Project rows reuse .projects-v2-*; only the right-side navigation affordance is Search-specific. */
.search-unified-project-arrow{
  position:absolute;
  right:10px;
  top:50%;
  margin-top:-13.5px;
}

/* Project quick tools are independent controls, never transparent overlays over the type buttons. */
.search-v5-project-tools{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
.search-v5-tool{
  position:relative;
  z-index:3;
  pointer-events:auto;
  touch-action:manipulation;
}

/* ===== v0.9.63 Taskuri — progressive layout ===== */
.tasks-v2-page{
  padding-bottom:10px;
  overflow:visible;
}
.tasks-v2-hero{
  width:calc(100% + 14px);
  margin:3px -7px 0;
  padding:14px 14px 15px;
  border-radius:20px;
  min-height:0;
  box-shadow:0 13px 30px rgba(23,104,232,.17);
}
.tasks-v2-hero .search-v4-hero-copy{
  max-width:76%;
}
.tasks-v2-hero h1{
  max-width:250px;
}
.tasks-v2-mode-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:10px;
}
.tasks-v2-mode{
  min-width:0;
}
.tasks-v2-mode .search-v4-mode-copy{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tasks-v2-count-skeleton{
  min-width:24px!important;
  width:24px;
  color:transparent!important;
}
.tasks-v2-search-wrap{
  width:100%;
  margin-top:9px;
  position:relative;
  background:#fff;
  border:1px solid rgba(255,255,255,.55);
}
.tasks-v2-search-wrap > .icon{
  color:var(--brand-strong);
}
.tasks-v2-search-wrap [data-task-search-clear]{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:27px;
  height:27px;
  border:0;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#f4f7fb;
  color:#8a97aa;
}
.tasks-v2-search-wrap [data-task-search-clear][hidden]{display:none!important}

.tasks-v2-results{
  margin-top:13px;
  padding:0 1px 2px;
}
.tasks-v2-results-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  padding:0 5px 7px;
}
.tasks-v2-results-kicker{
  display:block;
  margin-bottom:2px;
  color:var(--brand-strong);
  font-size:6.6px;
  font-weight:900;
  letter-spacing:.12em;
}
.tasks-v2-results-title-line{
  display:flex;
  align-items:center;
  gap:7px;
}
.tasks-v2-results-title-line h2{
  margin:0;
  font-size:14px;
  line-height:1.1;
  font-weight:900;
}
.tasks-v2-overdue-chip{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 7px;
  border-radius:999px;
  background:var(--danger-bg);
  color:var(--danger);
  font-size:7px;
  font-weight:900;
}
.tasks-v2-all-toggle{
  min-height:28px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.tasks-v2-all-toggle span{
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:7px;
  display:grid;
  place-items:center;
  background:var(--surface-2);
  color:var(--text);
  font-size:7px;
}
.tasks-v2-all-toggle.is-active{
  color:var(--brand-strong);
  border-color:color-mix(in srgb,var(--brand-strong) 28%,var(--line));
  background:color-mix(in srgb,var(--brand-strong) 5%,var(--surface));
}
.tasks-v2-groups{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.tasks-v2-group[hidden]{display:none!important}
.tasks-v2-group-head{
  width:100%;
  min-height:34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 23px;
  align-items:center;
  gap:7px;
  padding:5px 5px 5px 7px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.tasks-v2-group-head:active{
  background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}
.tasks-v2-group-title{
  margin:0;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
  font-size:9px;
  font-weight:900;
}
.tasks-v2-group-count{
  min-width:22px;
  height:20px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:7px;
  font-weight:900;
}
.tasks-v2-group-chevron{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:color-mix(in srgb,var(--surface-2) 82%,transparent);
  color:var(--muted);
}
.tasks-v2-group-chevron .icon{
  width:13px;
  height:13px;
  transition:transform .18s ease;
}
.tasks-v2-group-head[aria-expanded="true"] .tasks-v2-group-chevron{
  color:var(--brand-strong);
  background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface-2));
}
.tasks-v2-group-head[aria-expanded="true"] .tasks-v2-group-chevron .icon{
  transform:rotate(180deg);
}
.tasks-v2-group-body[hidden]{display:none!important}
.tasks-v2-group-body{padding-top:3px}
.tasks-v2-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.tasks-v2-card{
  position:relative;
  min-height:78px;
  padding:11px 38px 10px 52px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 8px 22px rgba(15,39,75,.055);
  overflow:hidden;
  display:flex;
  align-items:center;
  text-decoration:none;
}
.tasks-v2-card[hidden]{display:none!important}
.tasks-v2-accent{
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:3px 0 0 3px;
  background:#f1b94d;
}
.tasks-v2-card-note .tasks-v2-accent{background:#8b72ff}
.tasks-v2-card-assignment .tasks-v2-accent{background:#24b77a}
.tasks-v2-card.is-overdue .tasks-v2-accent{background:#ef5757}
.tasks-v2-watermark{
  position:absolute;
  left:-7px;
  top:50%;
  width:62px;
  height:62px;
  transform:translateY(-50%) rotate(-10deg);
  display:grid;
  place-items:center;
  color:rgba(230,164,42,.16);
  pointer-events:none;
}
.tasks-v2-card-note .tasks-v2-watermark{color:rgba(111,90,235,.14)}
.tasks-v2-card-assignment .tasks-v2-watermark{color:rgba(30,168,107,.14)}
.tasks-v2-card.is-overdue .tasks-v2-watermark{color:rgba(224,69,69,.14)}
.tasks-v2-watermark .icon{
  width:44px;
  height:44px;
  stroke-width:1.45;
}
.tasks-v2-card-main{
  position:relative;
  z-index:1;
  flex:1;
  min-width:0;
}
.tasks-v2-kicker{
  display:block;
  margin-bottom:2px;
  color:#a47512;
  font-size:6.6px;
  line-height:1.1;
  font-weight:900;
}
.tasks-v2-card-note .tasks-v2-kicker{color:#7057df}
.tasks-v2-card-assignment .tasks-v2-kicker{color:#18865a}
.tasks-v2-card.is-overdue .tasks-v2-kicker{color:var(--danger)}
.tasks-v2-card-main > strong{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0;
  font-size:9.7px;
  line-height:1.22;
  font-weight:900;
}
.tasks-v2-project-name{
  display:block;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--muted);
  font-size:7.2px;
}
.tasks-v2-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}
.tasks-v2-meta em{
  min-height:18px;
  padding:0 6px;
  border-radius:7px;
  background:var(--surface-2);
  color:var(--muted);
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:6.6px;
  line-height:1;
  font-style:normal;
  font-weight:800;
}
.tasks-v2-meta em .icon{width:10px;height:10px}
.tasks-v2-arrow{
  position:absolute;
  right:9px;
  top:50%;
  width:27px;
  height:27px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--surface-2);
  color:var(--brand-strong);
}
.tasks-v2-inline-empty{
  min-height:64px;
  border:1px dashed color-mix(in srgb,var(--line) 90%,transparent);
  border-radius:15px;
  display:grid;
  place-items:center;
  padding:14px;
  color:var(--muted);
  background:color-mix(in srgb,var(--surface) 82%,transparent);
  font-size:8px;
  text-align:center;
}
.tasks-v2-more{
  margin:7px 4px 0;
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:var(--brand-strong);
  font-size:7.5px;
  font-weight:900;
}
.tasks-v2-search-empty{
  margin-top:12px;
}
.tasks-v2-head-skeleton{
  width:48px;
  height:26px;
  border-radius:9px;
}
.tasks-v2-skeleton-list{
  padding-top:2px;
}
.tasks-v2-skeleton-card{
  pointer-events:none;
}
.tasks-v2-watermark-skeleton{
  left:4px;
  width:34px;
  height:34px;
  border-radius:12px;
  transform:translateY(-50%);
}
.tasks-v2-skeleton-line{
  display:block;
  border-radius:999px;
  height:6px;
}
.tasks-v2-skeleton-line.is-kicker{width:42px;height:5px;margin-bottom:7px}
.tasks-v2-skeleton-line.is-title{width:72%;height:8px}
.tasks-v2-skeleton-line.is-meta{width:46%;height:6px;margin-top:9px}

@media (max-width:380px){
  .tasks-v2-hero{
    width:calc(100% + 10px);
    margin-left:-5px;
    margin-right:-5px;
    padding:12px 11px 13px;
  }
  .tasks-v2-mode-row{gap:5px}
  .tasks-v2-mode{
    padding-inline:6px;
    grid-template-columns:22px minmax(0,1fr) auto;
    gap:4px;
  }
  .tasks-v2-mode .search-v4-mode-copy{font-size:7.3px}
  .tasks-v2-card{
    min-height:74px;
    padding-left:48px;
  }
}


/* ===== v0.9.64 — main-tab chrome + unified dashboard-blue heroes ===== */
/* Main navigation screens no longer have a greeting/notification topbar. Keep only
   safe-area breathing room before the hero. Detail pages that already hide the
   topbar benefit from the same safe inset. */
.content-no-topbar{
  padding-top:calc(12px + env(safe-area-inset-top));
}

/* Contacts + Projects inherit .contacts-launchpad; Search + Tasks inherit
   .search-v4-hero. Keep one palette, matching the lighter dashboard hero. */
.contacts-launchpad,
.search-v4-hero{
  background:
    radial-gradient(circle at 76% 8%, rgba(120,190,255,.24) 0%, rgba(120,190,255,0) 34%),
    radial-gradient(circle at 96% 72%, rgba(110,231,255,.10), transparent 27%),
    linear-gradient(132deg, #0a50b8 0%, #0f62d3 52%, #1974ed 100%) !important;
}

/* Taskuri: a little more vertical breathing room, without making the controls
   themselves taller. */
.tasks-v2-hero{
  padding-top:18px;
  padding-bottom:19px;
}
.tasks-v2-hero .contacts-launchpad-kicker{
  color:rgba(255,255,255,.76);
}
.tasks-v2-hero h1{
  color:#fff;
}
.tasks-v2-hero .search-v4-hero-copy p{
  color:rgba(255,255,255,.78);
}
.tasks-v2-hero .contacts-launchpad-icon,
.tasks-v2-hero .contacts-launchpad-icon .icon{
  color:#fff;
}
.tasks-v2-hero .tasks-v2-mode-row{
  margin-top:13px;
}
.tasks-v2-hero .tasks-v2-search-wrap{
  margin-top:11px;
}

@media (max-width:390px){
  .content-no-topbar{
    padding-top:calc(10px + env(safe-area-inset-top));
  }
  .tasks-v2-hero{
    padding-top:16px;
    padding-bottom:17px;
  }
}

/* v0.9.67 - coherent dark mode + locale settings */
.language-settings-card{display:grid;gap:12px}.settings-help{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.language-segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.language-option{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:12px;text-decoration:none;font-weight:800;font-size:12px;color:var(--muted);border:1px solid var(--line);background:var(--surface-2);transition:.18s ease}.language-option.is-active{background:var(--brand);color:var(--on-brand);border-color:transparent;box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 20%,transparent)}

html[data-theme="dark"] body{background:var(--bg);color:var(--text);color-scheme:dark}
html[data-theme="dark"] .app-frame,
html[data-theme="dark"] .content{background:var(--bg)}
html[data-theme="dark"] .topbar{background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom-color:color-mix(in srgb,var(--line) 78%,transparent);backdrop-filter:blur(18px) saturate(1.15)}
html[data-theme="dark"] .bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent);border-top-color:var(--line);box-shadow:0 -12px 30px rgba(0,0,0,.22)}
html[data-theme="dark"] .bottom-nav-item{color:var(--muted)}
html[data-theme="dark"] .bottom-nav-item.is-active{color:var(--brand-strong)}
html[data-theme="dark"] .card,
html[data-theme="dark"] .section,
html[data-theme="dark"] .sheet,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .contacts-panel,
html[data-theme="dark"] .projects-v2-card,
html[data-theme="dark"] .tasks-v2-card,
html[data-theme="dark"] .search-v4-shell,
html[data-theme="dark"] .project-detail-card,
html[data-theme="dark"] .project-activity-card{border-color:var(--line);color:var(--text)}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:var(--surface-2);color:var(--text);border-color:var(--line);box-shadow:none}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:var(--muted-2)}
html[data-theme="dark"] .secondary-button,
html[data-theme="dark"] .icon-button,
html[data-theme="dark"] .chip,
html[data-theme="dark"] .segmented button{background:var(--surface-2);color:var(--text);border-color:var(--line)}
html[data-theme="dark"] .segmented button.is-active{background:var(--brand);color:var(--on-brand);border-color:transparent}
html[data-theme="dark"] .project-detail-v2,
html[data-theme="dark"] .contacts-page,
html[data-theme="dark"] .projects-v3-page{background:var(--bg)}
html[data-theme="dark"] .project-detail-tabs,
html[data-theme="dark"] .project-detail-actions,
html[data-theme="dark"] .projects-page-controls,
html[data-theme="dark"] .contacts-mode-tabs{background:color-mix(in srgb,var(--surface) 88%,transparent);border-color:var(--line)}
html[data-theme="dark"] .project-detail-icon-btn{background:rgba(12,18,25,.74);color:#f7fafc;border-color:rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.22)}
html[data-theme="dark"] .status-pill,
html[data-theme="dark"] .projects-v2-domain-pill{border-color:color-mix(in srgb,currentColor 18%,var(--line))}
html[data-theme="dark"] .sheet-backdrop{background:rgba(0,0,0,.58)}
html[data-theme="dark"] .flash{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:var(--shadow-float)}
html[data-theme="dark"] .language-option{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
html[data-theme="dark"] .language-option.is-active{background:var(--brand);color:var(--on-brand);border-color:transparent}

@media (prefers-color-scheme: dark){
  html[data-theme="system"] body{background:var(--bg);color:var(--text);color-scheme:dark}
  html[data-theme="system"] .topbar{background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom-color:var(--line)}
  html[data-theme="system"] .bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent);border-top-color:var(--line)}
  html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea{background:var(--surface-2);color:var(--text);border-color:var(--line)}
}


/* ===== v0.9.68 — Task drawers + assigned-project Home tile ===== */
.tasks-v2-mode{
  padding-inline:5px;
  grid-template-columns:21px minmax(0,1fr) auto;
  gap:4px;
}
.tasks-v2-mode .search-v4-mode-icon{
  width:21px;
  height:21px;
}
.tasks-v2-mode .search-v4-mode-copy{
  font-size:7.5px;
}
.tasks-v2-mode strong{
  min-width:22px;
  height:21px;
  padding-inline:5px;
}
.tasks-v2-group.is-expanded{
  padding-bottom:4px;
}
html[data-theme="dark"] .tasks-v2-group-head:active{
  background:color-mix(in srgb,var(--surface-2) 86%,transparent);
}

@media (max-width:380px){
  .tasks-v2-mode{
    padding-inline:4px;
    grid-template-columns:20px minmax(0,1fr) auto;
    gap:3px;
  }
  .tasks-v2-mode .search-v4-mode-icon{width:20px;height:20px}
  .tasks-v2-mode .search-v4-mode-copy{font-size:7px}
  .tasks-v2-mode strong{min-width:21px;padding-inline:4px}
}

/* ===== v0.9.69 — richer collapsed task drawers ===== */
.tasks-v2-groups{
  gap:10px;
}
.tasks-v2-group{
  border-radius:17px;
}
.tasks-v2-group-head{
  min-height:56px;
  grid-template-columns:38px minmax(0,1fr) auto 28px;
  gap:9px;
  padding:8px 8px 8px 9px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 7px 20px rgba(15,39,75,.045);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease;
}
.tasks-v2-group-head:active{
  transform:scale(.993);
}
.tasks-v2-group-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--brand-strong);
  background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));
  border:1px solid color-mix(in srgb,var(--brand-strong) 11%,var(--line));
}
.tasks-v2-group-icon .icon{width:18px;height:18px}
.tasks-v2-group-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}
.tasks-v2-group-copy strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
  font-size:10px;
  line-height:1.12;
  font-weight:900;
}
.tasks-v2-group-copy small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:7px;
  line-height:1.15;
  font-weight:700;
}
.tasks-v2-group-count{
  min-width:27px;
  height:25px;
  padding:0 7px;
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 76%,var(--surface-2));
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  color:var(--text);
  font-size:7.5px;
}
.tasks-v2-group-chevron{
  width:28px;
  height:28px;
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 72%,var(--surface-2));
  border:1px solid color-mix(in srgb,var(--line) 76%,transparent);
}
.tasks-v2-group[data-task-section="alarms"] .tasks-v2-group-head{
  background:linear-gradient(105deg,color-mix(in srgb,#ffc84d 14%,var(--surface)),color-mix(in srgb,#ffc84d 4%,var(--surface)) 70%);
  border-color:color-mix(in srgb,#d99a13 19%,var(--line));
}
.tasks-v2-group[data-task-section="alarms"] .tasks-v2-group-icon{
  color:#a77205;
  background:color-mix(in srgb,#ffc84d 18%,var(--surface));
  border-color:color-mix(in srgb,#d99a13 20%,var(--line));
}
.tasks-v2-group[data-task-section="notes"] .tasks-v2-group-head{
  background:linear-gradient(105deg,color-mix(in srgb,#8b72ff 12%,var(--surface)),color-mix(in srgb,#8b72ff 3%,var(--surface)) 70%);
  border-color:color-mix(in srgb,#7057df 18%,var(--line));
}
.tasks-v2-group[data-task-section="notes"] .tasks-v2-group-icon{
  color:#7057df;
  background:color-mix(in srgb,#8b72ff 15%,var(--surface));
  border-color:color-mix(in srgb,#7057df 19%,var(--line));
}
.tasks-v2-group[data-task-section="assignments"] .tasks-v2-group-head{
  background:linear-gradient(105deg,color-mix(in srgb,#24b77a 12%,var(--surface)),color-mix(in srgb,#24b77a 3%,var(--surface)) 70%);
  border-color:color-mix(in srgb,#18865a 18%,var(--line));
}
.tasks-v2-group[data-task-section="assignments"] .tasks-v2-group-icon{
  color:#18865a;
  background:color-mix(in srgb,#24b77a 14%,var(--surface));
  border-color:color-mix(in srgb,#18865a 19%,var(--line));
}
.tasks-v2-group.is-expanded .tasks-v2-group-head{
  box-shadow:0 5px 16px rgba(15,39,75,.035);
}
.tasks-v2-group.is-expanded .tasks-v2-group-body{
  padding-top:8px;
}
html[data-theme="dark"] .tasks-v2-group-head,
html[data-theme="dark"] .tasks-v2-group[data-task-section="alarms"] .tasks-v2-group-head,
html[data-theme="dark"] .tasks-v2-group[data-task-section="notes"] .tasks-v2-group-head,
html[data-theme="dark"] .tasks-v2-group[data-task-section="assignments"] .tasks-v2-group-head{
  box-shadow:none;
}
@media (prefers-color-scheme:dark){
  html[data-theme="system"] .tasks-v2-group-head,
  html[data-theme="system"] .tasks-v2-group[data-task-section="alarms"] .tasks-v2-group-head,
  html[data-theme="system"] .tasks-v2-group[data-task-section="notes"] .tasks-v2-group-head,
  html[data-theme="system"] .tasks-v2-group[data-task-section="assignments"] .tasks-v2-group-head{
    box-shadow:none;
  }
}


/* ===== v0.9.70 — typography bump ===== */
.tasks-v2-hero .contacts-launchpad-kicker,
.tasks-v2-results-kicker,
.tasks-v2-kicker {
  font-size: 12px;
  line-height: 1.15;
}
.tasks-v2-hero .search-v4-hero-copy p,
.tasks-v2-mode .search-v4-mode-copy,
.tasks-v2-overdue-chip,
.tasks-v2-inline-empty,
.tasks-v2-more,
.tasks-v2-project-name,
.tasks-v2-meta em,
.tasks-v2-group-copy small,
.tasks-v2-all-toggle,
.tasks-v2-all-toggle span {
  font-size: 12px;
  line-height: 1.25;
}
.tasks-v2-results-title-line h2,
.tasks-v2-group-copy strong,
.tasks-v2-card-main > strong,
.tasks-v2-group-title {
  font-size: 16px;
  line-height: 1.2;
}
.tasks-v2-group-count,
.tasks-v2-mode strong {
  font-size: 14px;
  font-weight: 900;
}
.tasks-v2-group-count {
  min-width: 34px;
  height: 30px;
  border-radius: 11px;
}
.tasks-v2-all-toggle {
  min-height: 32px;
}
.tasks-v2-all-toggle span {
  min-width: 24px;
  height: 24px;
  border-radius: 8px;
}
.tasks-v2-group-head {
  min-height: 64px;
  grid-template-columns: 38px minmax(0,1fr) auto 30px;
}
.tasks-v2-mode {
  min-height: 40px;
}
.tasks-v2-card {
  min-height: 86px;
}
@media (max-width: 380px) {
  .tasks-v2-group-copy strong,
  .tasks-v2-card-main > strong,
  .tasks-v2-group-title {
    font-size: 15px;
  }
  .tasks-v2-mode .search-v4-mode-copy,
  .tasks-v2-overdue-chip,
  .tasks-v2-inline-empty,
  .tasks-v2-more,
  .tasks-v2-project-name,
  .tasks-v2-meta em,
  .tasks-v2-group-copy small,
  .tasks-v2-all-toggle,
  .tasks-v2-all-toggle span,
  .tasks-v2-kicker,
  .tasks-v2-results-kicker {
    font-size: 11.5px;
  }
}

/* ===== v0.9.72 — unify Contacts + Tasks with Projects/Search ===== */

/* Shared principle: content surfaces are flatter and denser; category color is an accent,
   not a full-page visual treatment. Projects/Search remain the reference rhythm. */

/* ---- Tasks: keep drawers, make opened content feel like project/search result cards ---- */
.tasks-v2-results{
  margin-top:10px;
}
.tasks-v2-results-head{
  padding-inline:4px;
  padding-bottom:6px;
}
.tasks-v2-groups{
  gap:8px;
}
.tasks-v2-group{
  border-radius:16px;
}
.tasks-v2-group-head{
  min-height:54px;
  grid-template-columns:34px minmax(0,1fr) auto 28px;
  gap:8px;
  padding:7px 8px;
  border-radius:15px;
  box-shadow:none;
}
.tasks-v2-group-icon{
  width:34px;
  height:34px;
  border-radius:10px;
}
.tasks-v2-group-icon .icon{
  width:16px;
  height:16px;
}
.tasks-v2-group-copy{
  gap:1px;
}
.tasks-v2-group-copy strong{
  font-size:13px;
  line-height:1.15;
  letter-spacing:-.01em;
}
.tasks-v2-group-copy small{
  font-size:12px;
  line-height:1.15;
}
.tasks-v2-group-count{
  min-width:30px;
  height:28px;
  padding-inline:7px;
  border-radius:9px;
  font-size:13px;
}
.tasks-v2-group-chevron{
  width:28px;
  height:28px;
  border-radius:9px;
}
.tasks-v2-group.is-expanded .tasks-v2-group-body{
  padding-top:6px;
}
.tasks-v2-list{
  gap:8px;
}
.tasks-v2-card{
  min-height:76px;
  padding:10px 37px 9px 51px;
  border-radius:16px;
  box-shadow:0 4px 14px rgba(16,24,40,.035);
}
.tasks-v2-accent{
  width:2px;
  inset:10px auto 10px 0;
  border-radius:0 3px 3px 0;
}
.tasks-v2-watermark{
  left:10px;
  top:50%;
  width:30px;
  height:30px;
  transform:translateY(-50%);
  border-radius:10px;
  background:color-mix(in srgb,#f1b94d 12%,var(--surface));
  color:#a47512;
  opacity:1;
}
.tasks-v2-card-note .tasks-v2-watermark{
  background:color-mix(in srgb,#8b72ff 10%,var(--surface));
  color:#7057df;
}
.tasks-v2-card-assignment .tasks-v2-watermark{
  background:color-mix(in srgb,#24b77a 10%,var(--surface));
  color:#18865a;
}
.tasks-v2-card.is-overdue .tasks-v2-watermark{
  background:color-mix(in srgb,var(--danger) 9%,var(--surface));
  color:var(--danger);
}
.tasks-v2-watermark .icon{
  width:16px;
  height:16px;
  stroke-width:1.8;
}
.tasks-v2-kicker{
  margin-bottom:1px;
  font-size:12px;
  line-height:1.1;
  letter-spacing:.01em;
}
.tasks-v2-card-main > strong{
  font-size:13px;
  line-height:1.2;
  letter-spacing:-.012em;
}
.tasks-v2-project-name{
  margin-top:2px;
  font-size:12px;
  line-height:1.2;
}
.tasks-v2-meta{
  gap:4px;
  margin-top:5px;
}
.tasks-v2-meta em{
  min-height:20px;
  padding:0 6px;
  border-radius:7px;
  font-size:12px;
  font-weight:750;
}
.tasks-v2-arrow{
  right:8px;
  width:26px;
  height:26px;
  border-radius:9px;
}
.tasks-v2-inline-empty{
  min-height:56px;
  border-radius:15px;
  font-size:12px;
}
.tasks-v2-more{
  font-size:12px;
}
html[data-theme="dark"] .tasks-v2-card{
  box-shadow:none;
}

/* ---- Contacts: flatten the two large landing-style blocks into app content panels ---- */
.contacts-page{
  padding-bottom:8px;
}
.contacts-page .contacts-launchpad{
  margin-bottom:8px;
}
.contacts-panel{
  margin-top:8px;
  padding:10px 10px 11px;
  border-radius:18px;
  border-color:var(--line);
  background:var(--surface);
  box-shadow:0 4px 14px rgba(16,24,40,.025);
}
.contacts-panel-quick,
.contacts-panel-directory,
.contacts-panel-monitored,
html[data-theme="dark"] .contacts-panel-quick,
html[data-theme="dark"] .contacts-panel-directory{
  background:var(--surface);
}
.contacts-panel-quick{
  border-color:color-mix(in srgb,var(--brand-strong) 13%,var(--line));
}
.contacts-panel-directory{
  border-color:color-mix(in srgb,#7357c8 12%,var(--line));
}
.contacts-section-heading{
  margin-bottom:8px;
  align-items:center;
}
.contacts-panel-kicker{
  margin-bottom:3px;
  font-size:12px;
  letter-spacing:.09em;
}
.contacts-panel-title-row{
  gap:7px;
}
.contacts-panel-title-icon{
  width:28px;
  height:28px;
  flex-basis:28px;
  border-radius:9px;
  box-shadow:none;
}
.contacts-panel-title-icon .icon{
  width:15px;
  height:15px;
}
.contacts-section-heading h2{
  font-size:15px;
  line-height:1.08;
}
.contacts-section-heading p{
  margin-top:3px;
  font-size:12px;
  line-height:1.25;
}
.contacts-directory-total,
.contacts-monitored-total{
  padding:4px 7px;
  font-size:12px;
}
.contacts-search-box .search-input{
  height:44px;
  padding-left:39px;
  border-radius:13px;
  box-shadow:none;
  font-size:12px;
}
.contacts-search-box > .icon{
  left:13px;
  width:16px;
  height:16px;
}
.contacts-panel-quick .contacts-search-box .search-input:focus,
.contacts-panel-directory .contacts-search-box .search-input:focus{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--contacts-panel-accent,var(--brand-strong)) 7%,transparent);
}
.contacts-search-hint{
  min-height:48px;
  margin-top:7px;
  padding:7px 9px;
  gap:8px;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent);
  border-radius:13px;
  background:color-mix(in srgb,var(--surface-2) 66%,var(--surface));
}
.contacts-hint-icon{
  width:30px;
  height:30px;
  border-radius:9px;
  box-shadow:none;
}
.contacts-hint-icon .icon{
  width:16px;
  height:16px;
}
.contacts-search-hint strong{
  font-size:12px;
  line-height:1.15;
}
.contacts-search-hint div > span{
  margin-top:1px;
  font-size:12px;
  line-height:1.2;
}
.contacts-filter-panel{
  margin-top:7px;
  border-radius:13px;
  background:var(--surface);
}
.contacts-filter-panel > summary{
  min-height:40px;
  padding:0 10px;
  font-size:12px;
}
.contacts-filter-summary-note{
  font-size:12px;
}
.contacts-filter-grid{
  padding:8px 8px 3px;
}
.contacts-filter-grid .field input{
  min-height:39px;
  border-radius:11px;
}
.contacts-filter-actions{
  padding:7px 8px 8px;
}
.contacts-quick-results,
.contacts-directory-results,
.contacts-monitored-results{
  margin-top:8px;
}
.contacts-results-heading{
  margin:0 2px 6px;
}
.contacts-results-heading h2{
  font-size:13px;
}
.contacts-results-heading span{
  font-size:12px;
}
.contacts-results-card,
.contacts-results-skeleton{
  gap:8px;
}
.contacts-company-row,
.contacts-result-skeleton-row{
  min-height:74px;
  border-radius:16px;
  box-shadow:0 4px 14px rgba(16,24,40,.03);
}
.contacts-company-row{
  padding:10px 38px 9px 12px;
}
.contacts-company-row .row-main{
  padding-left:0;
}
.contacts-company-watermark{
  display:none;
}
.contacts-company-row.is-quick-result::before{
  top:10px;
  bottom:10px;
  width:2px;
  border-radius:0 3px 3px 0;
}
.contacts-company-title-line strong{
  font-size:13px;
  line-height:1.2;
  color:var(--text);
}
.contacts-company-location{
  margin-top:2px;
  font-size:12px;
}
.contacts-company-meta{
  gap:4px;
  margin-top:5px!important;
}
.contacts-company-meta b,
.contacts-exa-badge,
.contacts-company-row .company-row-side .status-pill{
  font-size:12px;
  border-radius:7px;
}
.contacts-exa-description{
  margin-top:4px!important;
  font-size:12px!important;
  line-height:1.25;
}
.contacts-company-row .company-row-side{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
}
.contacts-company-arrow{
  width:26px;
  height:26px;
  border-radius:9px;
}
.contacts-next-page{
  min-height:38px;
  border-radius:13px;
  box-shadow:none;
}
html[data-theme="dark"] .contacts-panel,
html[data-theme="dark"] .contacts-company-row,
html[data-theme="dark"] .contacts-result-skeleton-row{
  box-shadow:none;
}

@media (max-width:380px){
  .contacts-panel{
    padding:9px;
    border-radius:17px;
  }
  .contacts-search-box .search-input{
    height:43px;
    font-size:12px;
  }
  .contacts-section-heading h2{
    font-size:14px;
  }
  .contacts-company-row{
    padding-right:36px;
  }
  .tasks-v2-group-copy strong,
  .tasks-v2-card-main > strong{
    font-size:12.5px;
  }
}

/* =====================================================================
   v9.74 — UNIFIED PAGE SYSTEM · Contacte · Proiecte · Taskuri · Căutare
   ---------------------------------------------------------------------
   Sursa de design: Home (.dash-*) + pagina de detalii proiect.
   Scop: exclusiv `.unified-page` (clasa comună de pe rădăcina celor 4 pagini).
   Home nu e atins.

   POLITICA DE TEXT — doar valori pare, nimic sub 10px
     18px    titluri de secțiune/pagină (h2 din header-ele cu kicker, hero h1)
     16px    valori numerice accentuate (sume, suprafețe)
     14px    titluri de rând/card (nume companie, proiect, task) + etichete de control
     12px    text informativ normal (căutare, meta, chips, butoane)
     10px    kicker uppercase + subheader/info (tagline, hint-uri, „Actualizat…”, CTA)

   LOGICA DARK (nu light inversat)
     - adâncime prin straturi de suprafață + muchie luminoasă, fără umbre negre
     - hero: aceeași strălucire albastră ca pe Home
     - tonurile semantice au perechi separate: în light text ÎNCHIS pe fond pal,
       în dark text DESCHIS pe fond adânc tentat (ca .dash-today-card)
     - lime (--brand-strong) = stare activă / kicker / CTA, ca pe Home;
       accentele decorative de rând sunt reduse ca să nu concureze cu ele
   ===================================================================== */

/* ---- 0. Tokens ---- */
.unified-page {
  /* geometrie */
  --u-r-hero: 20px;                 /* = .dash-hero-card    */
  --u-r-card: 17px;                 /* = .funnel-stage-card */
  --u-r-field: 14px;
  --u-r-chip: 12px;
  --u-r-tile: 9px;
  --u-section-gap: 24px;
  --u-row-gap: 9px;
  /* scara de text */
  --u-fs-heading: 18px;
  --u-fs-title: 14px;
  --u-fs-value: 16px;
  --u-fs-body: 12px;
  --u-fs-aux: 10px;
  --u-fs-kicker: 10px;
  /* hero: identic cu Home în ambele teme */
  --u-shadow-hero: 0 24px 60px rgba(18, 73, 169, .24);
  /* LIGHT */
  --u-shadow-card: 0 6px 18px rgba(28, 58, 120, .05);
  --u-accent: var(--brand-strong);
  --u-accent-neutral: var(--brand-strong);
  --u-tint: 12%;
  --u-chip-edge: inset 0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent);
  --u-success-fg: #0d7a52;  --u-success-bg: var(--success-bg);  --u-success-accent: var(--success);
  --u-warning-fg: #86560a;  --u-warning-bg: var(--warning-bg);  --u-warning-accent: #e0a12c;
  --u-info-fg:    #1d54b8;  --u-info-bg:    var(--info-bg);     --u-info-accent:    #2f6bd7;
  --u-danger-fg:  #b3202f;  --u-danger-bg:  var(--danger-bg);   --u-danger-accent:  var(--danger);
  --u-violet-fg:  #5b3fc4;  --u-violet-bg:  #f0edff;
  --u-neutral-fg: #55627a;  --u-neutral-bg: var(--surface-3);
  --u-sel-bg: #eaf2ff;
  --u-sel-bd: rgba(34, 111, 230, .38);
  --u-sel-fg: #1557bd;
}
html[data-theme="dark"] .unified-page {
  --u-shadow-card: inset 0 1px 0 rgba(255, 255, 255, .04);
  --u-accent-neutral: color-mix(in srgb, var(--brand-strong) 55%, var(--surface));
  --u-tint: 20%;
  --u-chip-edge: inset 0 0 0 1px color-mix(in srgb, var(--line) 80%, transparent);
  --u-success-fg: #62dcab;  --u-success-accent: #34c98b;
  --u-warning-fg: #f3c463;  --u-warning-accent: #e2a93c;
  --u-info-fg:    #8dbaff;  --u-info-accent:    #5b9bff;
  --u-danger-fg:  #ff909b;  --u-danger-accent:  #f0606e;
  --u-violet-fg:  #cbbcff;  --u-violet-bg: color-mix(in srgb, #8b72ff 22%, var(--surface));
  --u-neutral-fg: #b8c3d0;
  --u-sel-bg: color-mix(in srgb, var(--brand-strong) 14%, var(--surface));
  --u-sel-bd: color-mix(in srgb, var(--brand-strong) 50%, var(--line));
  --u-sel-fg: var(--brand-strong);
}
@media (prefers-color-scheme: dark) {
  html[data-theme="system"] .unified-page {
    --u-shadow-card: inset 0 1px 0 rgba(255, 255, 255, .04);
    --u-accent-neutral: color-mix(in srgb, var(--brand-strong) 55%, var(--surface));
    --u-tint: 20%;
    --u-chip-edge: inset 0 0 0 1px color-mix(in srgb, var(--line) 80%, transparent);
    --u-success-fg: #62dcab;  --u-success-accent: #34c98b;
    --u-warning-fg: #f3c463;  --u-warning-accent: #e2a93c;
    --u-info-fg:    #8dbaff;  --u-info-accent:    #5b9bff;
    --u-danger-fg:  #ff909b;  --u-danger-accent:  #f0606e;
    --u-violet-fg:  #cbbcff;  --u-violet-bg: color-mix(in srgb, #8b72ff 22%, var(--surface));
    --u-neutral-fg: #b8c3d0;
    --u-sel-bg: color-mix(in srgb, var(--brand-strong) 14%, var(--surface));
    --u-sel-bd: color-mix(in srgb, var(--brand-strong) 50%, var(--line));
    --u-sel-fg: var(--brand-strong);
  }
}
/* Fără [hidden] global în app.css: îl garantăm pe cele 4 pagini. */
html .unified-page [hidden] { display: none !important; }
/* Focus vizibil pe tastatură */
html .unified-page :is(a, button, summary, input, select):focus-visible {
  outline: 2px solid var(--brand-strong);
  outline-offset: 2px;
}

/* ---- 1. HERO: aceeași carcasă ca .dash-hero-card ---- */
html .unified-page :is(.contacts-launchpad, .tasks-v2-hero, .search-v4-hero) {
  width: auto;
  margin: 3px 0 0;
  padding: 14px 14px 13px;
  border-radius: var(--u-r-hero);
  box-shadow: var(--u-shadow-hero);
}
html .unified-page .contacts-launchpad-kicker {
  font-size: var(--u-fs-kicker);
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1;
  color: rgba(255, 255, 255, .95);
}
html .unified-page :is(.contacts-launchpad, .tasks-v2-hero, .search-v4-hero) h1 {
  font-size: var(--u-fs-heading);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.03em;
  margin-top: 6px;
}
html .unified-page :is(.contacts-launchpad, .tasks-v2-hero, .search-v4-hero) p {
  font-size: var(--u-fs-aux);
  line-height: 1.45;
  color: rgba(255, 255, 255, .95);
}
/* Comutatoare din hero: sticlă ca .dash-period, activ alb ca .dash-hero-cta */
html .unified-page :is(.search-v4-mode, .tasks-v2-mode) {
  border-radius: 13px;
  background: rgba(255, 255, 255, .035);   /* = .dash-period */
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
html .unified-page .contacts-mode-chip:not(.is-active) {
  background: rgba(255, 255, 255, .035);
  border-color: rgba(255, 255, 255, .16);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
html .unified-page :is(.search-v4-mode, .tasks-v2-mode).is-active {
  background: #fff;
  color: #0b56ce;
  border-color: rgba(255, 255, 255, .92);
  box-shadow: 0 7px 16px rgba(14, 46, 106, .16);
}
html .unified-page :is(.search-v4-mode, .tasks-v2-mode).is-active :is(.search-v4-mode-copy, strong) { color: #0b56ce; }
html .unified-page :is(.search-v4-mode, .tasks-v2-mode).is-active .search-v4-mode-icon {
  background: rgba(11, 86, 206, .10);
  color: #0b56ce;
}
html .unified-page :is(.search-v4-mode, .tasks-v2-mode).is-active strong { background: rgba(11, 86, 206, .10); }
html .unified-page .search-v4-mode-icon { width: 22px; height: 22px; border-radius: 7px; }
html .unified-page .search-v4-mode-copy { font-size: var(--u-fs-body); font-weight: 750; }
html .unified-page .search-v4-mode strong {
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 7px;
  font-size: var(--u-fs-body);
  font-weight: 850;
}
html .unified-page .contacts-mode-chip {
  font-size: var(--u-fs-body);
  font-weight: 750;
  min-height: 32px;
  padding-inline: 10px;
}
html .unified-page .contacts-mode-chip.is-active { color: #0b56ce; }
html .unified-page :is(.search-v4-box, .tasks-v2-search-wrap) { border-radius: 13px; }
html .unified-page :is(.search-v4-box, .tasks-v2-search-wrap) .search-input { font-size: var(--u-fs-body); }
html .unified-page .search-v4-examples > span { font-size: var(--u-fs-aux); font-weight: 700; color: rgba(255, 255, 255, .95); }
html .unified-page .search-v4-example-scroll {
  flex-wrap: wrap;
  overflow: visible;
  padding: 0;
}
html .unified-page .search-v4-example-scroll button {
  min-height: 26px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: var(--u-fs-aux);
  font-weight: 750;
  color: rgba(255, 255, 255, .94);
}
/* Dark: chips-urile din hero nu au fundal propriu; cele inactive sunt sticlă */
html[data-theme="dark"] .unified-page .contacts-mode-tabs { background: transparent; border-color: transparent; }
@media (prefers-color-scheme: dark) {
  html[data-theme="system"] .unified-page .contacts-mode-tabs { background: transparent; border-color: transparent; }
}

/* Tasks: 3 tile-uri în hero — numărul e text simplu (ca .dash-period), iar pe ecrane înguste fără pictogramă */
html .unified-page .tasks-v2-mode { padding-inline: 8px; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 5px; }
html .unified-page .tasks-v2-mode .search-v4-mode-icon { width: 20px; height: 20px; border-radius: 6px; }
html .unified-page .tasks-v2-mode strong { min-width: 0; height: auto; padding: 0 2px; background: transparent !important; font-size: var(--u-fs-body); }
@media (max-width: 400px) {
  html .unified-page .tasks-v2-mode { grid-template-columns: minmax(0, 1fr) auto; }
  html .unified-page .tasks-v2-mode .search-v4-mode-icon { display: none; }
}

/* ---- 2. SECȚIUNI LIBERE (ca pe Home) ---- */
html .unified-page :is(.contacts-panel, .projects-results-panel) {
  margin-top: var(--u-section-gap);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html .unified-page .projects-results-panel { margin-bottom: 6px; }
html .unified-page .dash-section-head { margin-bottom: 12px; }
html .unified-page .dash-section-head h2 {
  min-width: 0;
  font-size: var(--u-fs-heading);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0;
}
html .unified-page .dash-section-kicker { font-size: var(--u-fs-kicker); }
/* icon în fața titlului — reface .contacts-panel-title-row/-icon originale, restilizate ca iconul plat de pe Home */
html .unified-page .contacts-panel-title-row { margin-top: 2px; }
html .unified-page .contacts-panel-title-icon {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
  border: 0;
  background: transparent;
  border-radius: 0;
  color: var(--brand-strong);
}
html .unified-page .contacts-panel-title-icon .icon,
html .unified-page .contacts-panel-title-icon svg { width: 18px; height: 18px; }
html .unified-page .tasks-v2-results-title-line { gap: 8px; }
html .unified-page .tasks-v2-results-title-line > .contacts-panel-title-icon { margin: 0; }
html .unified-page .dash-section-head + .dash-funnel-tagline,
html .unified-page .projects-results-head + .dash-funnel-tagline {
  margin: -6px 0 12px;
  font-size: var(--u-fs-aux);
  line-height: 1.45;
  color: var(--muted);
}
html .unified-page .dash-section-head :is(.contacts-directory-total, .contacts-monitored-total) {
  background: transparent;
  border: 0;
  padding: 0 0 2px;
  font-size: var(--u-fs-aux);
  font-weight: 800;
  color: var(--brand-strong);
  white-space: nowrap;
}
html .unified-page .projects-sort-button {
  min-height: 0;
  padding: 0 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
  font-size: var(--u-fs-aux);
  font-weight: 700;
  cursor: default;
}
html .unified-page .projects-sort-button .projects-sort-icon { width: 13px; height: 13px; }
html .unified-page .projects-title-count { color: inherit; }
html .unified-page .projects-results-head.dash-section-head { align-items: flex-end; }
html .unified-page .contacts-results-heading { margin: 0 0 9px; align-items: center; }
html .unified-page .contacts-results-heading h2 { font-size: var(--u-fs-body); font-weight: 800; letter-spacing: 0; color: var(--muted); }
html .unified-page .contacts-results-heading .muted { font-size: var(--u-fs-aux); font-weight: 800; background: transparent; padding: 0; color: var(--muted); }
html .unified-page .search-v4-results-head { margin: 0 0 12px; padding: 0; align-items: flex-end; }
html .unified-page .search-v4-results-shell { margin-top: var(--u-section-gap); }
html .unified-page .tasks-v2-results { margin-top: var(--u-section-gap); }

/* ---- 3. CÂMPURI ---- */
html .unified-page :is(.contacts-search-box, .projects-search-box) .search-input {
  height: 44px;
  border-radius: var(--u-r-field);
  font-size: var(--u-fs-body);
  font-weight: 600;
  box-shadow: none;
  border-color: var(--line);
}
html .unified-page :is(.contacts-search-box, .projects-search-box) .search-input:focus {
  border-color: color-mix(in srgb, var(--brand-strong) 55%, var(--line));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-strong) 10%, transparent);
}
html .unified-page :is(.contacts-search-box, .projects-search-box) .icon { color: var(--brand-strong); }
html .unified-page :is(.projects-filter-trigger, .contacts-filter-panel-advanced) {
  border: 1px solid var(--line);
  border-radius: var(--u-r-card);
  background: var(--surface);
  box-shadow: var(--u-shadow-card);
}
html .unified-page .projects-filter-trigger { min-height: 52px; margin-top: 9px; }
html .unified-page .projects-filter-trigger.is-active { border-color: color-mix(in srgb, var(--brand-strong) 45%, var(--line)); }
html .unified-page .contacts-filter-panel-advanced { margin-top: 9px; }
html .unified-page .projects-filter-trigger strong,
html .unified-page .contacts-filter-panel-advanced > summary > span:not(.contacts-filter-summary-note) {
  font-size: var(--u-fs-title);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--text);
}
html .unified-page :is(.projects-filter-trigger small, .contacts-filter-summary-note) {
  font-size: var(--u-fs-aux);
  font-weight: 600;
  color: var(--muted);
}

/* Panoul „Filtre director” — înainte cu culori de light hard-codate (#18243a, #dce4f0, #eaf2ff…) */
html .unified-page .contacts-filter-panel-advanced[open] > summary { border-bottom-color: var(--line); }
html .unified-page .contacts-filter-group { border-bottom-color: var(--line); }
html .unified-page .contacts-filter-group-head strong { font-size: var(--u-fs-title); font-weight: 700; color: var(--text); }
html .unified-page .contacts-filter-group-head span { font-size: var(--u-fs-aux); color: var(--muted); }
html .unified-page .contacts-filter-pill span {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: var(--u-r-chip);
  background: var(--surface-2);
  color: var(--muted);
  font-size: var(--u-fs-body);
  font-weight: 700;
}
html .unified-page .contacts-filter-pill input:checked + span {
  border-color: var(--u-sel-bd);
  background: var(--u-sel-bg);
  color: var(--u-sel-fg);
}
html .unified-page .contacts-range-label { font-size: var(--u-fs-body); font-weight: 700; color: var(--text); }
html .unified-page .contacts-range-separator { color: var(--muted); }
html .unified-page .contacts-filter-body .field > span { font-size: var(--u-fs-aux); font-weight: 700; color: var(--muted); }
html .unified-page .contacts-filter-actions-sticky { background: var(--surface); border-top-color: var(--line); }

/* ---- 4. CHIPS DE FILTRARE ---- */
html .unified-page .search-v5-tool {
  min-height: 36px;
  padding: 0 12px;
  flex: 0 0 auto;
  border-radius: var(--u-r-chip);
  font-size: var(--u-fs-body);
  font-weight: 750;
  letter-spacing: 0;
}
html .unified-page .search-v5-tool b { font-size: inherit; font-weight: 750; }
html .unified-page .search-v5-tool.is-active {
  background: var(--brand-strong);
  border-color: var(--brand-strong);
  color: var(--on-brand);
  box-shadow: 0 5px 12px color-mix(in srgb, var(--brand-strong) 22%, transparent);
}

/* ---- 4b. HERO Proiecte: 7 moduri/filtre — doar iconițe, eticheta apare pe cel activ ---- */
/* Rezolvă overflow-ul ("În apropiere" nu încăpea) și elimină grila duplicată de mai jos:
   Toate/Favorite/Proiectele mele + Actualizate azi/Cu notițe/Cu alarmă (mutate aici din
   fosta .projects-quick-grid) + În apropiere, toate în același rând, ca pe bara din detalii proiect. */
html .unified-page .projects-mode-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
html .unified-page .projects-mode-tabs::-webkit-scrollbar { display: none; }
html .unified-page .projects-mode-tabs .contacts-mode-chip {
  flex: 0 0 auto;
  width: 36px;
  padding-inline: 0;
  justify-content: center;
  gap: 0;
}
html .unified-page .projects-mode-tabs .contacts-mode-chip .contacts-mode-label {
  display: none;
  margin-left: 6px;
  white-space: nowrap;
}
html .unified-page .projects-mode-tabs .contacts-mode-chip.is-active {
  width: auto;
  padding-inline: 12px;
}
html .unified-page .projects-mode-tabs .contacts-mode-chip.is-active .contacts-mode-label { display: inline; }
/* pointerele fine (mouse) pot vedea eticheta la hover/focus, ca tooltip nativ n-ar apărea altfel */
@media (hover: hover) and (pointer: fine) {
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):hover,
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):focus-visible {
    width: auto;
    padding-inline: 12px;
  }
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):hover .contacts-mode-label,
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):focus-visible .contacts-mode-label { display: inline; }
}
html .unified-page .search-v5-project-tools { padding: 0 0 2px; gap: 6px; }
html .unified-page .saved-filter-pill {
  min-height: 36px;
  border-radius: var(--u-r-chip);
  box-shadow: none;
  font-size: var(--u-fs-body);
  font-weight: 750;
}
html .unified-page .projects-saved-head { padding-inline: 0; }
html .unified-page .projects-saved-head span {
  font-size: var(--u-fs-kicker);
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--brand-strong);
}
html .unified-page .projects-saved-head button { font-size: var(--u-fs-aux); font-weight: 800; color: var(--brand-strong); }
html .unified-page .projects-saved-block { border-top-color: var(--line); }

/* ---- 5. CARDURI: o singură carcasă ---- */
html .unified-page :is(
  .contacts-company-row, .projects-v2-card, .tasks-v2-card,
  .contacts-result-skeleton-row,
  .projects-progressive-card, .tasks-v2-skeleton-card, .projects-api-error
) {
  border: 1px solid var(--line);
  border-radius: var(--u-r-card);
  background: var(--surface);
  box-shadow: var(--u-shadow-card);
}
html .unified-page :is(.projects-v2-list, .contacts-results-card, .tasks-v2-list, .tasks-v2-groups) { display: grid; gap: var(--u-row-gap); }
html .unified-page .contacts-results-card { padding: 0; border: 0; background: transparent; box-shadow: none; }
/* Bară de accent laterală (limbajul din detalii proiect) */
html .unified-page :is(.contacts-company-row, .projects-v2-card) { position: relative; overflow: hidden; --u-accent: var(--u-accent-neutral); }
html .unified-page :is(.contacts-company-row, .projects-v2-card)::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--u-accent);
  opacity: .92;
  pointer-events: none;
}
html .unified-page .projects-v2-card.tone-success { --u-accent: var(--u-success-accent); color: var(--text); }
html .unified-page .projects-v2-card.tone-warning { --u-accent: var(--u-warning-accent); color: var(--text); }
html .unified-page .projects-v2-card.tone-info    { --u-accent: var(--u-info-accent);    color: var(--text); }
html .unified-page .projects-v2-card.tone-neutral { --u-accent: var(--muted-2);          color: var(--text); }

/* Tipografie de card */
html .unified-page :is(.contacts-company-title-line strong, .projects-v2-card h3, .tasks-v2-card-main > strong) {
  font-size: var(--u-fs-title);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -.012em;
  color: var(--text);
}
html .unified-page :is(.contacts-company-location, .projects-v2-company, .tasks-v2-project-name) {
  font-size: var(--u-fs-body);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--muted);
}
html .unified-page :is(.contacts-company-meta b, .tasks-v2-meta em, .projects-v2-data-row span) {
  font-size: var(--u-fs-body);
  font-weight: 700;
  line-height: 1.3;
  padding: 3px 7px;
  border-radius: 8px;
  color: var(--muted);
  background: var(--surface-2);
  box-shadow: var(--u-chip-edge);
}
html .unified-page .projects-v2-data-row strong {
  font-size: var(--u-fs-value);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: var(--text);
}
html .unified-page :is(.projects-v2-updated-under-title, .projects-v2-project-number, .projects-v2-construction-type, .projects-v2-offer-status) {
  font-size: var(--u-fs-aux) !important;
  font-weight: 700;
  color: var(--muted) !important;
}
html .unified-page .projects-v2-offer-status { padding: 2px 7px; border-radius: 8px; background: var(--surface-2); box-shadow: var(--u-chip-edge); }
html .unified-page .projects-v2-location { font-size: var(--u-fs-body); font-weight: 650; color: var(--muted); }
html .unified-page .contacts-exa-description { font-size: var(--u-fs-body); font-weight: 500; color: var(--muted); }

/* Pastile semantice — perechi fg/bg separate pe temă */
html .unified-page :is(.status-pill, .projects-v2-domain-pill, .tasks-v2-overdue-chip, .contacts-exa-badge) {
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: var(--u-fs-aux);
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
html .unified-page .status-pill.tone-success { color: var(--u-success-fg); background: var(--u-success-bg); }
html .unified-page .status-pill.tone-warning { color: var(--u-warning-fg); background: var(--u-warning-bg); }
html .unified-page .status-pill.tone-info    { color: var(--u-info-fg);    background: var(--u-info-bg); }
html .unified-page .status-pill.tone-danger  { color: var(--u-danger-fg);  background: var(--u-danger-bg); }
html .unified-page .status-pill.tone-neutral { color: var(--u-neutral-fg); background: var(--u-neutral-bg); }
html .unified-page .projects-v2-domain-pill  { color: var(--u-violet-fg);  background: var(--u-violet-bg); }
html .unified-page .tasks-v2-overdue-chip    { color: var(--u-danger-fg);  background: var(--u-danger-bg); }
html .unified-page .contacts-exa-badge       { color: var(--u-info-fg);    background: var(--u-info-bg); box-shadow: none; }

/* Rând contact */
html .unified-page .contacts-company-row { padding: 12px 40px 11px 15px; }
/* pastila e ascunsă sub 381px de o regulă existentă — rezervăm spațiul doar când apare */
@media (min-width: 381px) {
  html .unified-page .contacts-company-row:has(.status-pill) { padding-right: 118px; }
}
html .unified-page .contacts-company-meta { flex-wrap: wrap; gap: 5px; margin-top: 7px !important; }
html .unified-page :is(.contacts-company-arrow, .tasks-v2-arrow, .search-unified-project-arrow) {
  width: 26px;
  height: 26px;
  border-radius: var(--u-r-tile);
  background: var(--surface-2);
  color: var(--brand-strong);
}
/* Card proiect */
html .unified-page .projects-v2-card-main { padding: 12px 48px 12px 15px; }
html .unified-page .projects-v2-meta-row { gap: 6px 7px; margin-top: 8px; }
html .unified-page .projects-v2-data-row { gap: 6px 7px; margin-top: 9px; }
html .unified-page .projects-v2-footer-row { gap: 4px 8px; margin-top: 9px; }
html .unified-page .projects-v2-updated-under-title { margin-top: 2px; }
html .unified-page .projects-v2-company { margin-top: 5px; }
html .unified-page .company-v2-star {
  width: 30px;
  height: 30px;
  border-radius: var(--u-r-tile);
  border: 1px solid var(--line);
  background: var(--surface-2);
  box-shadow: none;
}

/* ---- 6. TASKURI: ton per tip = perechile semantice ---- */
html .unified-page .tasks-v2-card { padding: 12px 40px 11px 52px; }
html .unified-page .tasks-v2-card-alarm      { --u-accent: var(--u-warning-accent); --u-fg: var(--u-warning-fg); }
html .unified-page .tasks-v2-card-alarm.is-overdue { --u-accent: var(--u-danger-accent); --u-fg: var(--u-danger-fg); }
html .unified-page .tasks-v2-card-note       { --u-accent: var(--u-info-accent);    --u-fg: var(--u-info-fg); }
html .unified-page .tasks-v2-card-assignment { --u-accent: var(--u-success-accent); --u-fg: var(--u-success-fg); }
html .unified-page .tasks-v2-card .tasks-v2-accent { width: 3px; inset: 12px auto 12px 0; border-radius: 0 3px 3px 0; background: var(--u-accent); }
html .unified-page .tasks-v2-card .tasks-v2-kicker {
  font-size: var(--u-fs-kicker);
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--u-fg);
}
html .unified-page .tasks-v2-card .tasks-v2-watermark {
  color: var(--u-fg);
  background: color-mix(in srgb, var(--u-accent) 14%, var(--surface));
}
html .unified-page .tasks-v2-group[data-task-section="alarms"]      { --u-accent: var(--u-warning-accent); --u-fg: var(--u-warning-fg); }
html .unified-page .tasks-v2-group[data-task-section="notes"]       { --u-accent: var(--u-info-accent);    --u-fg: var(--u-info-fg); }
html .unified-page .tasks-v2-group[data-task-section="assignments"] { --u-accent: var(--u-success-accent); --u-fg: var(--u-success-fg); }
html .unified-page .tasks-v2-group .tasks-v2-group-head {
  border-radius: var(--u-r-card);
  box-shadow: var(--u-shadow-card);
  background: linear-gradient(105deg, color-mix(in srgb, var(--u-accent) var(--u-tint), var(--surface)), color-mix(in srgb, var(--u-accent) 3%, var(--surface)) 70%);
  border-color: color-mix(in srgb, var(--u-accent) 24%, var(--line));
}
html .unified-page .tasks-v2-group .tasks-v2-group-icon {
  color: var(--u-fg);
  background: color-mix(in srgb, var(--u-accent) 16%, var(--surface));
  border-color: color-mix(in srgb, var(--u-accent) 24%, var(--line));
}
html .unified-page .tasks-v2-group-copy strong { font-size: var(--u-fs-title); font-weight: 700; letter-spacing: -.012em; color: var(--text); }
html .unified-page .tasks-v2-group-copy small { font-size: var(--u-fs-body); font-weight: 600; color: var(--muted); }
html .unified-page .tasks-v2-group-count { font-size: var(--u-fs-title); }
html .unified-page .tasks-v2-group-body { padding-top: var(--u-row-gap); }
html .unified-page .tasks-v2-all-toggle {
  min-height: 0;
  padding: 0 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--brand-strong);
  font-size: var(--u-fs-aux);
  font-weight: 800;
  line-height: 1;
}
html .unified-page .tasks-v2-all-toggle > span {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-strong) 14%, var(--surface));
  color: var(--brand-strong);
  font-size: var(--u-fs-aux);
  font-weight: 800;
}
html .unified-page .tasks-v2-all-toggle.is-active > span { background: var(--brand-strong); color: var(--on-brand); }

/* ---- 7. PAGINARE (Proiecte) ---- */
html .unified-page .projects-page-controls-top { min-height: 0; margin: 0 0 12px; padding: 0; border-radius: 0; background: transparent; }
html .unified-page .projects-page-size { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; gap: 5px; }
html .unified-page .projects-page-size a {
  min-width: 34px;
  height: 32px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--muted);
  font-size: var(--u-fs-body);
  font-weight: 800;
}
html .unified-page .projects-page-size a.is-active { background: var(--brand-strong); border-color: var(--brand-strong); color: var(--on-brand); box-shadow: none; }
html .unified-page :is(.projects-page-size-label, .projects-page-size-suffix) { font-size: var(--u-fs-aux); font-weight: 700; color: var(--muted); }
html .unified-page .projects-range-indicator { font-size: var(--u-fs-body); font-weight: 800; color: var(--muted); }
html .unified-page .projects-pager-current { font-size: var(--u-fs-body); font-weight: 800; color: var(--muted); }
html .unified-page :is(.projects-pager-button, .contacts-next-page) {
  min-height: 40px;
  border-radius: var(--u-r-field);
  font-size: var(--u-fs-body);
  font-weight: 800;
}
html .unified-page .projects-pager-button.is-disabled { opacity: .55; }

/* ---- 8. STĂRI GOALE / HINT-URI ---- */
/* Nu e un card (nu concurează vizual cu rândurile de rezultate) — doar text, ca un subtitlu de secțiune */
html .unified-page .contacts-search-hint {
  display: block;
  margin-top: 10px;
  padding: 0 1px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html .unified-page .contacts-search-hint strong {
  display: block;
  font-size: var(--u-fs-body);
  font-weight: 700;
  color: var(--text);
}
html .unified-page .contacts-search-hint span {
  display: block;
  margin-top: 2px;
  font-size: var(--u-fs-aux);
  font-weight: 500;
  color: var(--muted);
  line-height: 1.45;
}
html .unified-page .empty-state p { font-size: var(--u-fs-body); color: var(--muted); }

/* ---- 9. DIRECTOR: un singur accent (brand), nu violet ---- */
html .unified-page .contacts-panel-directory { --contacts-panel-accent: var(--brand-strong); }

/* ---- 10. Ajustări din audit ---- */
/* pastilele din panoul Director (regulile vechi le țineau la ~8.7px) */
html .unified-page :is(.contacts-filter-pills, .contacts-role-grid, .contacts-activity-grid, .contacts-domain-grid) .contacts-filter-pill span {
  font-size: var(--u-fs-body);
  font-weight: 700;
  min-height: 36px;
  border-radius: var(--u-r-chip);
}
html .unified-page :is(.contacts-role-grid, .contacts-activity-grid, .contacts-domain-grid) .contacts-filter-pill input:checked + span {
  border-color: var(--u-sel-bd);
  background: var(--u-sel-bg);
  color: var(--u-sel-fg);
}
/* acțiunile panoului Director sunt butoane principale, nu auxiliare */
html .unified-page .contacts-filter-actions :is(.primary-button, .secondary-button) {
  min-height: 44px;
  border-radius: var(--u-r-field);
  font-size: var(--u-fs-title);
  font-weight: 800;
}
/* filtre salvate */
html .unified-page .saved-filter-pill a span { font-size: var(--u-fs-body); font-weight: 750; }
/* chips de filtrare din Search: text lizibil și în starea inactivă */
html .unified-page .search-v5-tool:not(.is-active) { color: var(--muted); }
html .unified-page .search-v5-tool :is(b, span) { color: inherit; }
/* contorul din „Toate N”: culoare cu contrast pe fundal tentat */
html .unified-page .tasks-v2-all-toggle > span { color: var(--u-sel-fg); }
html .unified-page .tasks-v2-all-toggle.is-active > span { color: var(--on-brand); }
html .unified-page .search-v4-mode:not(.is-active) strong { background: rgba(4, 35, 90, .24); }


/* ===== v0.9.75 Text size setting ===== */
.text-size-settings-card{display:grid;gap:10px}
.text-size-segmented{grid-template-columns:repeat(3,minmax(0,1fr))}
.text-size-segmented button{min-width:0;padding-left:8px;padding-right:8px}
.text-size-offset-note{display:block;margin-top:-2px}
@media(max-width:380px){.text-size-segmented button{font-size:10px!important;padding-left:5px;padding-right:5px}}


/* ===== v0.9.75 Contacts choice separator ===== */
.contacts-mode-tabs-monitor-only{justify-content:flex-end}
.contacts-mode-tabs-monitor-only .contacts-monitor-chip{margin-left:auto}
.contacts-choice-divider{display:flex;align-items:center;gap:10px;margin:16px 4px 17px;color:var(--muted)}
.contacts-choice-divider[hidden]{display:none!important}
.contacts-choice-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand-strong) 34%,var(--line)) 55%,transparent)}
.contacts-choice-divider strong{font-size:9px;line-height:1;letter-spacing:.16em;font-weight:900;color:color-mix(in srgb,var(--brand-strong) 72%,var(--muted));background:color-mix(in srgb,var(--brand-strong) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--brand-strong) 16%,var(--line));padding:6px 9px;border-radius:999px}


/* ===== v0.9.75 Project note history ===== */
.project-note-history{margin:4px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.project-note-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.project-note-history-head strong{font-size:11px}.project-note-history-head span{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-strong) 10%,var(--surface));color:var(--brand-strong);font-size:9px;font-weight:800}
.project-note-history-list{display:grid;gap:7px;max-height:230px;overflow:auto;padding-right:2px}
.project-note-history-item{border:1px solid var(--line);border-radius:13px;padding:9px 10px;background:color-mix(in srgb,var(--surface) 94%,var(--bg))}
.project-note-history-item>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-note-history-item strong{font-size:9px}.project-note-history-item small{font-size:8px;color:var(--muted)}
.project-note-history-item p{margin:5px 0 0;font-size:10px;line-height:1.45;color:var(--text);white-space:pre-wrap}


/* ===== v0.9.75 Cafeaua cu VICTA editorial desk ===== */
.briefing-editor-page{display:grid;gap:14px;padding-bottom:104px}
.briefing-editor-hero{position:relative;overflow:hidden;border-radius:24px;padding:19px 18px;background:linear-gradient(135deg,var(--brand-strong),color-mix(in srgb,var(--brand-strong) 78%,#5f8cff));color:var(--on-brand);box-shadow:0 16px 36px rgba(7,53,121,.16)}
.briefing-editor-hero:after{content:"";position:absolute;inset:auto -60px -85px auto;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.09)}
.briefing-editor-hero .eyebrow{color:rgba(255,255,255,.72)}
.briefing-editor-hero h2{margin:5px 0 5px;font-size:22px;line-height:1.1}
.briefing-editor-hero p{margin:0;max-width:620px;color:rgba(255,255,255,.84);line-height:1.5}
.briefing-editor-date-flow{display:flex;align-items:center;gap:10px;margin-top:15px;position:relative;z-index:1}
.briefing-editor-date-flow>span{display:grid;gap:2px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}
.briefing-editor-date-flow small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.66)}
.briefing-editor-date-flow strong{font-size:11px}
.briefing-editor-date-picker{display:flex;align-items:end;gap:10px}.briefing-editor-date-picker .field{flex:1;margin:0}.briefing-editor-date-picker button{white-space:nowrap}
.briefing-editor-form{display:grid;gap:16px}.briefing-editor-section{margin:0}.briefing-editor-section .section-heading{margin-bottom:8px}
.briefing-editor-list{overflow:hidden;padding:0}.briefing-editor-source-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px 13px;border-bottom:1px solid var(--line);cursor:pointer}.briefing-editor-source-row:last-child{border-bottom:0}
.briefing-editor-source-row>input{position:absolute;opacity:0;pointer-events:none}.briefing-editor-source-check{width:20px;height:20px;border-radius:7px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;margin-top:1px}.briefing-editor-source-row>input:checked+.briefing-editor-source-check{border-color:var(--brand-strong);background:var(--brand-strong);box-shadow:inset 0 0 0 4px var(--brand-strong)}.briefing-editor-source-row>input:checked+.briefing-editor-source-check:after{content:"✓";font-size:12px;font-weight:900;color:var(--on-brand)}
.briefing-editor-source-copy{display:grid;gap:4px;min-width:0}.briefing-editor-source-copy strong{font-size:11px;line-height:1.35}.briefing-editor-source-copy span{font-size:9px;line-height:1.45;color:var(--muted)}.briefing-editor-source-copy small{font-size:8px;color:var(--muted)}
.briefing-editor-custom-stack{display:grid;gap:13px}.briefing-editor-custom-row{display:grid;gap:9px;padding-bottom:13px;border-bottom:1px solid var(--line)}.briefing-editor-custom-row:last-child{padding-bottom:0;border-bottom:0}.briefing-editor-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.briefing-editor-custom-row textarea{min-height:84px}.briefing-editor-custom-stack.is-compact textarea{min-height:64px}.briefing-editor-notes{min-height:132px}
.briefing-editor-actions{position:sticky;bottom:76px;z-index:14;display:grid;grid-template-columns:1fr 1.2fr;gap:8px;padding:8px;border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);box-shadow:0 10px 28px rgba(13,39,84,.14);backdrop-filter:blur(16px)}
.briefing-editor-actions button{min-width:0}.briefing-editor-footnote{margin:8px 4px 0;text-align:center;font-size:8px;color:var(--muted);line-height:1.45}
@media(max-width:480px){.briefing-editor-grid-two{grid-template-columns:1fr}.briefing-editor-date-picker{align-items:stretch;flex-direction:column}.briefing-editor-date-picker button{width:100%}.briefing-editor-actions{grid-template-columns:1fr}.briefing-editor-date-flow{flex-wrap:wrap}}

/* ===== v0.9.75 Fast Email compose ===== */
.project-fastemail-compose-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;min-height:32px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--brand-strong) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand-strong) 7%,var(--surface));color:var(--brand-strong);font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.project-fastemail-compose-button:hover{background:color-mix(in srgb,var(--brand-strong) 11%,var(--surface))}
.project-fastemail-template-summary{display:grid;gap:9px;margin-bottom:11px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--brand-strong) 13%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--brand-strong) 4%,var(--surface))}.project-fastemail-template-summary>div:first-child{display:grid;gap:2px}.project-fastemail-template-summary strong{font-size:10px}.project-fastemail-template-summary span{font-size:8.5px;color:var(--muted)}
.project-fastemail-template-chips{display:flex;gap:5px;overflow:auto;padding-bottom:2px}.project-fastemail-template-chips span{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:5px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:8px}
.project-fastemail-unavailable{display:flex;align-items:flex-start;gap:7px;margin-bottom:10px;padding:10px 11px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,var(--bg));color:var(--muted);font-size:9px;line-height:1.4}
.project-fastemail-compose-sheet form{display:grid;gap:8px}.project-fastemail-compose-sheet .field{margin:0}.project-fastemail-compose-sheet select,.project-fastemail-compose-sheet input,.project-fastemail-compose-sheet textarea{width:100%}.project-fastemail-body{min-height:180px;resize:vertical;line-height:1.45}
.project-fastemail-attachment{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--bg));cursor:pointer}.project-fastemail-attachment[hidden]{display:none!important}.project-fastemail-attachment input{width:auto;margin:0}.project-fastemail-attachment span{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--text)}
.project-fastemail-compose-status{min-height:0;padding:0 2px;font-size:8.5px;line-height:1.4;color:var(--muted)}.project-fastemail-compose-status[hidden]{display:none}.project-fastemail-compose-status[data-tone="ok"]{color:color-mix(in srgb,#1e8c55 80%,var(--text))}.project-fastemail-compose-status[data-tone="error"]{color:#b42318}


/* ===== v0.9.78 Fast Email modal polish + xlarge adaptive layout ===== */
.project-fastemail-compose-sheet{
  height:min(92dvh,780px);
  max-height:92dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.project-fastemail-recipient-card{
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0 12px;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--brand-strong) 14%,var(--line));
  border-radius:15px;
  background:color-mix(in srgb,var(--brand-strong) 5%,var(--surface));
}
.project-fastemail-recipient-icon{
  width:36px;
  height:36px;
  min-width:36px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--brand-strong);
  background:color-mix(in srgb,var(--brand-strong) 10%,var(--surface));
}
.project-fastemail-recipient-card>div{min-width:0;display:grid;gap:1px}
.project-fastemail-recipient-card small{font-size:8px;color:var(--muted);font-weight:750}
.project-fastemail-recipient-card strong{font-size:11px;line-height:1.25;overflow-wrap:anywhere}
.project-fastemail-recipient-card span:not(.project-fastemail-recipient-icon){font-size:8.5px;line-height:1.35;color:var(--muted)}
.project-fastemail-message-field{display:grid;gap:5px}
.project-fastemail-rich-editor{
  min-height:168px;
  max-height:310px;
  overflow:auto;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:14px;
  outline:none;
  background:var(--surface);
  color:var(--text);
  line-height:1.55;
  overflow-wrap:anywhere;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.project-fastemail-rich-editor:focus{
  border-color:color-mix(in srgb,var(--brand-strong) 55%,var(--line));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-strong) 8%,transparent);
}
.project-fastemail-rich-editor:empty::before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}
.project-fastemail-rich-editor p{margin:0 0 9px}
.project-fastemail-rich-editor p:last-child{margin-bottom:0}
.project-fastemail-rich-editor br+br{line-height:1.8}
.project-fastemail-rich-editor img{max-width:100%;height:auto}
.project-fastemail-rich-editor a{color:var(--brand-strong)}
.project-fastemail-token-note{font-size:8px;line-height:1.4;color:var(--muted)}
.project-fastemail-send-button[disabled]{opacity:.45;cursor:not-allowed;filter:saturate(.55)}
.project-fastemail-compose-sheet .field>span{font-weight:750}
.project-fastemail-compose-sheet select:disabled{opacity:.68;cursor:wait}

/* Max text size keeps the +3px accessibility mode, but lets the UI reflow instead of clipping. */
html[data-font-size="xlarge"] .project-contact-full{align-items:flex-start;gap:9px;padding-left:10px;padding-right:10px}
html[data-font-size="xlarge"] .project-contact-full-main{min-width:0;overflow:hidden}
html[data-font-size="xlarge"] .project-contact-channel-strip-labeled{gap:5px}
html[data-font-size="xlarge"] .project-contact-channel-pill.has-label,
html[data-font-size="xlarge"] .project-contact-channel-pill.is-link.has-label{
  height:auto!important;
  min-height:32px!important;
  padding:7px 8px!important;
  line-height:1.2!important;
  white-space:normal!important;
  text-align:center;
}
html[data-font-size="xlarge"] .project-contact-data a,
html[data-font-size="xlarge"] .project-reveal-form button,
html[data-font-size="xlarge"] .project-fastemail-compose-button{
  height:auto;
  min-height:36px;
  max-width:100%;
  padding:8px 10px;
  white-space:normal!important;
  line-height:1.2;
  overflow-wrap:anywhere;
}
html[data-font-size="xlarge"] .project-contact-data{align-items:stretch}
html[data-font-size="xlarge"] .project-contact-data a{flex:1 1 100%;justify-content:flex-start}
html[data-font-size="xlarge"] .project-detail-tabs{overflow-x:auto}
html[data-font-size="xlarge"] .project-detail-tabs .tab-button{min-width:96px;height:auto;min-height:48px;white-space:normal}
html[data-font-size="xlarge"] .project-detail-tabs .tab-button .tab-button-inner{white-space:normal;line-height:1.15;text-align:center}
html[data-font-size="xlarge"] .project-sheet-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-font-size="xlarge"] .project-sheet-tabs button{height:auto;min-height:44px;white-space:normal;line-height:1.15;padding:7px 5px}
html[data-font-size="xlarge"] .project-stage-track{grid-template-columns:repeat(5,minmax(76px,1fr));overflow-x:auto;padding-bottom:4px}
html[data-font-size="xlarge"] .project-stage-name{white-space:normal;line-height:1.15}
html[data-font-size="xlarge"] .project-kpi-grid,
html[data-font-size="xlarge"] .project-kpi-grid-two{grid-template-columns:1fr}
html[data-font-size="xlarge"] .project-kpi-card strong{overflow-wrap:anywhere}
html[data-font-size="xlarge"] .row-main strong,
html[data-font-size="xlarge"] .row-main span,
html[data-font-size="xlarge"] .notification-title-row strong,
html[data-font-size="xlarge"] .home-quick-action small,
html[data-font-size="xlarge"] .projects-results-head h2,
html[data-font-size="xlarge"] .projects-v2-title-row p,
html[data-font-size="xlarge"] .projects-v2-location{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
html[data-font-size="xlarge"] .chip,
html[data-font-size="xlarge"] .task-tabs button,
html[data-font-size="xlarge"] .compact-segmented a,
html[data-font-size="xlarge"] .contacts-mode-chip,
html[data-font-size="xlarge"] .text-button,
html[data-font-size="xlarge"] .install-button{
  height:auto;
  min-height:38px;
  white-space:normal!important;
  line-height:1.15;
  text-align:center;
}
html[data-font-size="xlarge"] .sheet-title-row{align-items:flex-start}
html[data-font-size="xlarge"] .sheet-title-row>div{min-width:0}
html[data-font-size="xlarge"] .project-fastemail-compose-sheet .field select,
html[data-font-size="xlarge"] .project-fastemail-compose-sheet .field input{height:auto;min-height:48px;line-height:1.2}
html[data-font-size="xlarge"] .project-fastemail-rich-editor{min-height:210px}
html[data-font-size="xlarge"] .briefing-editor-grid-two{grid-template-columns:1fr}
html[data-font-size="xlarge"] .briefing-editor-date-picker{align-items:stretch;flex-direction:column}
html[data-font-size="xlarge"] .briefing-editor-date-picker button{width:100%;white-space:normal}
html[data-font-size="xlarge"] .briefing-editor-actions{grid-template-columns:1fr}
html[data-font-size="xlarge"] .contacts-filter-grid{grid-template-columns:1fr}
html[data-font-size="xlarge"] .contacts-launchpad .contacts-mode-tabs{flex-wrap:wrap}

@media(max-width:390px){
  html[data-font-size="xlarge"] .project-contact-full-avatar{width:42px;min-width:42px;height:42px;margin-left:-4px}
  html[data-font-size="xlarge"] .project-fastemail-recipient-card{align-items:flex-start}
  html[data-font-size="xlarge"] .project-sheet-tabs{grid-template-columns:1fr 1fr}
}

/* ===== v0.9.79 Project contacts — company actions + clean revealed data ===== */
.project-contact-group-actions{
  position:absolute;
  top:10px;
  right:10px;
  z-index:7;
  display:flex;
  align-items:center;
  gap:6px;
}
.project-contact-group-action{
  width:30px;
  height:30px;
  min-width:30px;
  border:1px solid color-mix(in srgb,var(--brand-strong) 16%,var(--line));
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 94%,var(--brand-strong) 6%);
  color:var(--brand-strong);
  display:inline-grid;
  place-items:center;
  padding:0;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(20,65,130,.06);
}
.project-contact-group-action:hover{
  background:color-mix(in srgb,var(--brand-strong) 10%,var(--surface));
  border-color:color-mix(in srgb,var(--brand-strong) 28%,var(--line));
}
.project-contact-group-action.is-fastemail{
  background:color-mix(in srgb,var(--brand-strong) 8%,var(--surface));
}
.project-contact-group-action .icon,
.project-contact-group-action svg{
  width:15px;
  height:15px;
}
.grouped-contact-list .project-contact-group > .project-contact-full.is-group-company{
  padding-right:84px!important;
}
.grouped-contact-list .project-contact-group:not(:has(> .project-contact-full.is-group-company)) .project-contact-group-people .project-contact-full:first-child{
  padding-right:48px!important;
}
/* Actual revealed values are the action; generic Email/Telefon availability chips are hidden in PHP. */
.project-contact-data{
  align-items:center;
}
.project-contact-data a{
  max-width:100%;
  overflow-wrap:anywhere;
}

html[data-font-size="xlarge"] .project-contact-group-actions{
  top:9px;
  right:9px;
  gap:5px;
}
html[data-font-size="xlarge"] .project-contact-group-action{
  width:36px;
  height:36px;
  min-width:36px;
  border-radius:11px;
}
html[data-font-size="xlarge"] .grouped-contact-list .project-contact-group > .project-contact-full.is-group-company{
  padding-right:96px!important;
}
html[data-font-size="xlarge"] .project-contact-data a{
  width:100%;
}
@media(max-width:390px){
  .project-contact-group-actions{top:8px;right:8px}
  .project-contact-group-action{width:29px;height:29px;min-width:29px}
  .grouped-contact-list .project-contact-group > .project-contact-full.is-group-company{padding-right:76px!important}
  html[data-font-size="xlarge"] .project-contact-group-action{width:34px;height:34px;min-width:34px}
  html[data-font-size="xlarge"] .grouped-contact-list .project-contact-group > .project-contact-full.is-group-company{padding-right:88px!important}
}

/* ===== v0.9.82 UX cleanup + tiered typography + Search nearby ===== */
/* Search: keep all project tools fully visible instead of clipping the Alarm control. */
html .unified-page .search-v5-project-tools{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:visible;
  gap:6px;
  padding-inline:0;
}
html .unified-page .search-v5-tool{
  min-width:0;
  width:100%;
  padding-inline:5px;
  gap:3px;
  white-space:nowrap;
}
html .unified-page .search-v5-tool b{min-width:0;font-size:9px}
@media(max-width:390px){
  html .unified-page .search-v5-project-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Search: Nearby lives here, not in the Projects hero. */
.search-v4-nearby-shortcut{
  margin-top:8px;
  min-height:30px;
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--brand-strong);
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}
.search-v4-nearby-shortcut.is-active{background:color-mix(in srgb,var(--brand-strong) 9%,var(--surface));border-color:color-mix(in srgb,var(--brand-strong) 28%,var(--line))}
.search-nearby-shell{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--u-shadow-card)}
.search-nearby-controls{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);gap:8px;align-items:end;margin:12px 0 8px}
.search-nearby-controls .field{margin:0}.search-nearby-controls .field>span{font-size:8px;font-weight:800;color:var(--muted)}
.search-nearby-locate{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.search-nearby-results{display:grid;gap:8px;margin-top:10px}
@media(max-width:390px){.search-nearby-controls{grid-template-columns:1fr}.search-nearby-locate{width:100%}}

/* Company financials are information, not a drawer: always open. */
.company-v6-financials-open{border-top:1px solid rgba(32,53,86,.07)}
.company-v6-financials-title{
  min-height:43px;
  display:flex;
  align-items:center;
  padding:0 14px;
  color:#30547f;
  font-size:8px;
  font-weight:750;
}
.company-v6-financials-title>span{display:inline-flex;align-items:center;gap:7px}
html[data-theme="dark"] .company-v6-financials-title{color:var(--text)}

/* The briefing editor belongs to Cafeaua, not Account settings. */
.briefing-page-editor-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--brand-strong);
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}



/* ===== v0.9.83: wrapping project shortcuts, left monitored, desktop editor ===== */
/* Projects hero: never clip/overflow. Keep font size; reduce horizontal padding slightly and wrap naturally. */
html .unified-page .projects-mode-tabs{
  flex-wrap:wrap;
  overflow:visible;
  row-gap:7px;
}
html .unified-page .projects-mode-tabs .contacts-mode-chip.is-active{
  padding-inline:9px;
}
/* Do not expand inactive chips on hover: expansion was what pushed the row outside the hero. */
@media (hover:hover) and (pointer:fine){
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):hover,
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):focus-visible{
    width:36px;
    padding-inline:0;
  }
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):hover .contacts-mode-label,
  html .unified-page .projects-mode-tabs .contacts-mode-chip:not(.is-active):focus-visible .contacts-mode-label{
    display:none;
  }
}

/* Contacts: the only remaining top action should start from the left, not float by itself on the right. */
html .unified-page .contacts-mode-tabs-monitor-only{justify-content:flex-start}
html .unified-page .contacts-mode-tabs-monitor-only .contacts-monitor-chip{margin-left:0!important;margin-right:auto}

/* Cafeaua editor is a desktop editorial tool, not a mobile-app screen. */
.briefing-editor-desktop-body{
  min-width:920px;
  background:#eef3f8;
  --bg:#eef3f8;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --text:#17233a;
  --muted:#718096;
  --muted-2:#8b98aa;
  --line:#dbe3ed;
  --nav-bg:#ffffff;
}
.briefing-editor-desktop-frame{
  max-width:1180px!important;
  min-height:100vh;
  margin:0 auto;
  background:transparent!important;
}
.briefing-editor-desktop-frame .content-bare{
  padding:24px 28px 48px!important;
}
.briefing-editor-desktop-page{
  display:grid;
  gap:18px;
  padding-bottom:32px;
}
.briefing-editor-desktop-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:72px;
  padding:0 4px 16px;
  border-bottom:1px solid #d7e0eb;
}
.briefing-editor-desktop-topbar>div{display:grid;gap:2px}
.briefing-editor-desktop-brand{font-size:10px;font-weight:900;letter-spacing:.14em;color:#0b56ce}
.briefing-editor-desktop-topbar strong{font-size:22px;line-height:1.15;color:#17233a}
.briefing-editor-desktop-topbar small{font-size:11px;color:#718096}
.briefing-editor-desktop-topbar>a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:0 14px;border-radius:10px;
  border:1px solid #cad5e2;background:#fff;color:#23446f;
  font-size:11px;font-weight:800;text-decoration:none;
}
.briefing-editor-desktop-page .briefing-editor-hero{
  border-radius:16px;
  padding:20px 22px;
  box-shadow:0 10px 28px rgba(35,68,111,.10);
}
.briefing-editor-desktop-page .briefing-editor-date-picker{
  display:grid;
  grid-template-columns:minmax(260px,420px) auto;
  justify-content:start;
  align-items:end;
  max-width:none;
}
.briefing-editor-desktop-page .briefing-editor-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.briefing-editor-desktop-page .briefing-editor-form>.briefing-editor-section:nth-of-type(3),
.briefing-editor-desktop-page .briefing-editor-form>.briefing-editor-section:nth-of-type(4),
.briefing-editor-desktop-page .briefing-editor-form>.briefing-editor-section:nth-of-type(5),
.briefing-editor-desktop-page .briefing-editor-actions,
.briefing-editor-desktop-page .briefing-editor-footnote{
  grid-column:1/-1;
}
.briefing-editor-desktop-page .briefing-editor-list{
  max-height:430px;
  overflow:auto;
  border:1px solid #dbe3ed;
}
.briefing-editor-desktop-page .briefing-editor-source-row{padding:14px 15px}
.briefing-editor-desktop-page .briefing-editor-source-copy strong{font-size:12px}
.briefing-editor-desktop-page .briefing-editor-source-copy span{font-size:10px}
.briefing-editor-desktop-page .briefing-editor-source-copy small{font-size:9px}
.briefing-editor-desktop-page .briefing-editor-grid-two{grid-template-columns:1fr 1fr}
.briefing-editor-desktop-page .briefing-editor-actions{
  position:static;
  display:flex;
  justify-content:flex-end;
  grid-template-columns:none;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.briefing-editor-desktop-page .briefing-editor-actions button{min-width:220px}
.briefing-editor-desktop-page .briefing-editor-footnote{text-align:right;margin-top:-8px}


/* v0.9.84 — Nearby paginated like Projects; location reused in current tab. */
.nearby-pagination{margin-top:10px}
.nearby-pagination[hidden]{display:none!important}
.nearby-page-controls{margin-bottom:0}
.nearby-page-size button{min-width:29px;height:27px;padding:0 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:var(--u-fs-small);font-weight:800;cursor:pointer}
.nearby-page-size button.is-active{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}
.nearby-page-size button:disabled{opacity:.55}
.nearby-pager button.projects-pager-button{cursor:pointer;font:inherit}
.nearby-pager button.projects-pager-button.is-disabled{cursor:default}

/* v0.9.85 — nearby filters + field route */
.search-nearby-basic-filters{display:grid;gap:10px;margin:8px 0 10px}
.search-nearby-domain{margin:0}
.search-nearby-domain>span,.search-nearby-stage-filter>span{display:block;margin-bottom:5px;font-size:var(--u-fs-tiny);font-weight:850;color:var(--muted);letter-spacing:.02em}
.search-nearby-stage-scroll{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.search-nearby-stage-scroll::-webkit-scrollbar{display:none}
.nearby-stage-chip{flex:0 0 auto;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--u-fs-small);font-weight:800;cursor:pointer;white-space:nowrap}
.nearby-stage-chip.is-active{border-color:color-mix(in srgb,var(--brand) 48%,var(--line));background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand-strong)}
.nearby-project-card{position:relative}
.nearby-project-card .project-card-main{padding-right:72px}
.nearby-route-add{position:absolute;z-index:3;right:10px;top:10px;display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--brand-strong);font:inherit;font-size:var(--u-fs-tiny);font-weight:850;box-shadow:0 4px 14px rgba(16,49,103,.08);backdrop-filter:blur(10px);cursor:pointer}
.nearby-route-add b{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--brand) 10%,var(--surface));font-size:13px;line-height:1}
.nearby-route-add.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}
.nearby-route-add.is-selected b{background:rgba(255,255,255,.18)}
.nearby-route-add:disabled{opacity:.4;cursor:not-allowed}
.search-nearby-shell.has-route-selection{padding-bottom:92px}
.nearby-route-bar{position:fixed;z-index:95;left:50%;transform:translateX(-50%);bottom:calc(70px + env(safe-area-inset-bottom));width:min(420px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 16px 38px rgba(16,49,103,.22);backdrop-filter:blur(18px)}
.nearby-route-bar[hidden]{display:none!important}
.nearby-route-summary{display:flex;min-width:0;align-items:center;gap:7px}
.nearby-route-icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}
.nearby-route-summary>span:last-child{display:grid;min-width:0;gap:1px}
.nearby-route-summary strong{font-size:var(--u-fs-body);line-height:1.1}
.nearby-route-summary small{font-size:var(--u-fs-tiny);color:var(--muted);white-space:nowrap}
.nearby-route-clear{min-height:34px;padding:0 7px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--u-fs-tiny);font-weight:800;cursor:pointer}
.nearby-route-open{min-height:36px;padding-inline:10px;white-space:nowrap;font-size:var(--u-fs-small)}
@media(max-width:390px){.nearby-route-bar{grid-template-columns:minmax(0,1fr) auto}.nearby-route-clear{display:none}.nearby-route-open{padding-inline:9px}.nearby-project-card .project-card-main{padding-right:65px}}


/* ===== v0.9.86 — Nearby controls aligned with the existing VICTA Mobile filter language ===== */
.search-nearby-toolbar{
  display:grid;
  gap:9px;
  margin:12px 0 8px;
}
.nearby-radius-panel{
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--u-r-card,16px);
  background:var(--surface);
  box-shadow:var(--u-shadow-card,0 7px 20px rgba(16,24,40,.045));
}
.nearby-radius-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 1px 7px;
}
.nearby-radius-head span{
  color:var(--muted);
  font-size:var(--u-fs-aux,9px);
  font-weight:750;
}
.nearby-radius-head strong{
  color:var(--brand-strong);
  font-size:var(--u-fs-small,11px);
  font-weight:850;
}
.nearby-radius-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.nearby-radius-options button{
  min-width:0;
  min-height:38px;
  padding:0 6px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
  font-size:var(--u-fs-small,11px);
  font-weight:800;
  cursor:pointer;
}
.nearby-radius-options button.is-active{
  border-color:color-mix(in srgb,var(--brand-strong) 72%,var(--line));
  background:var(--brand-strong);
  color:#fff;
  box-shadow:0 7px 16px color-mix(in srgb,var(--brand-strong) 20%,transparent);
}
.search-nearby-locate{
  width:100%;
  min-height:44px;
  border-radius:15px;
}
.search-nearby-filter-trigger{
  margin-top:8px;
}
.nearby-filter-count{
  min-width:26px;
  height:26px;
  padding:0 7px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:var(--brand-strong);
  color:#fff;
  font-size:var(--u-fs-aux,9px);
  font-weight:850;
}
.nearby-filter-sheet{
  padding-bottom:calc(18px + env(safe-area-inset-bottom));
}
.nearby-filter-sheet-body{
  display:grid;
  gap:17px;
  padding:2px 0 5px;
}
.nearby-filter-sheet .search-nearby-domain{
  margin:0;
}
.nearby-filter-sheet .search-nearby-domain>span,
.nearby-filter-sheet .search-nearby-stage-filter>span{
  display:block;
  margin:0 0 7px;
  color:var(--muted);
  font-size:var(--u-fs-aux,9px);
  font-weight:800;
}
.nearby-filter-sheet .search-nearby-domain select{
  width:100%;
  min-height:46px;
  padding:0 38px 0 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-size:var(--u-fs-body,12px);
  font-weight:650;
}
.nearby-filter-stage-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.nearby-filter-stage-grid .nearby-stage-chip{
  width:100%;
  min-height:42px;
  padding:7px 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:normal;
  text-align:center;
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 4px 12px rgba(16,24,40,.025);
}
.nearby-filter-stage-grid .nearby-stage-chip.is-active{
  border-color:color-mix(in srgb,var(--brand-strong) 42%,var(--line));
  background:color-mix(in srgb,var(--info-bg) 62%,var(--surface));
  color:var(--brand-strong);
  box-shadow:none;
}
.nearby-filter-actions{
  margin-top:12px;
}
@media(max-width:360px){
  .nearby-radius-options{gap:5px}
  .nearby-radius-options button{padding-inline:4px}
  .nearby-filter-stage-grid{gap:7px}
}


/* v0.9.88 accessibility spacing/reflow */
html[data-font-size="large"] .section{margin-top:24px!important}
html[data-font-size="xlarge"] .section{margin-top:30px!important}

html[data-font-size="xlarge"] .dash-briefing-card{padding-bottom:22px!important}
html[data-font-size="xlarge"] .dash-briefing-actions{margin-left:-100px!important;width:calc(100% + 100px)!important;max-width:none!important}

html[data-font-size="xlarge"] .project-stage-track{grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow-x:visible!important;padding-bottom:0!important}
html[data-font-size="xlarge"] .project-stage-step{min-width:0!important}
html[data-font-size="xlarge"] .project-stage-name{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.15}

html[data-font-size="xlarge"] .project-kpi-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html[data-font-size="xlarge"] .project-kpi-grid-two .project-kpi-card{min-width:0}
html[data-font-size="xlarge"] .project-kpi-grid-two .project-kpi-card>span:last-child{min-width:0}

/* ===== v0.9.89 Mare — search hero width + unified hero breathing room ===== */
html[data-font-size="xlarge"] .search-v4-hero h1,
html[data-font-size="xlarge"] .search-v4-hero-copy p{
  max-width:260px!important;
}

html[data-font-size="xlarge"] .search-v4-mode-row{
  margin-top:20px!important;
}

/* More vertical room in the main unified page heroes when font size is Mare.
   Projects inherits .contacts-launchpad, but keep .projects-launchpad explicit too. */
html[data-font-size="xlarge"] .unified-page :is(
  .contacts-launchpad,
  .projects-launchpad,
  .tasks-v2-hero,
  .search-v4-hero
){
  padding-top:30px!important;
  padding-bottom:30px!important;
}

/* v0.9.91 - company hero grid fix after removing the initial tile */
.company-v4-hero-head {
  grid-template-columns: minmax(0,1fr) 40px !important;
  gap: 12px;
  align-items: flex-start;
}
.company-v4-identity {
  min-width: 0;
  width: 100%;
  text-align: left;
}
.company-v4-identity h2,
.company-v4-identity p {
  max-width: none;
  width: auto;
  text-align: left;
}
.company-v4-monitor-form {
  justify-self: end;
  align-self: start;
}
.company-v6-hero-meta {
  justify-content: flex-start;
  text-align: left;
}
.company-v6-financial-grid {
  padding-top: 0;
}

/* v0.9.93 - company data is one continuous two-column table */
.company-v6-facts-complete{
  padding-bottom:0;
}
.company-v6-facts-complete>div:nth-last-child(-n+2){
  border-bottom:0;
}
.company-v6-facts-complete strong{
  font-size:10px;
}

/* ===== v0.9.94 — readable project filters + true multi-select categories ===== */
.projects-filter-sheet{
  --pf-title:13px;
  --pf-sub:10.5px;
  --pf-label:11.5px;
  --pf-control:12.5px;
  --pf-option:12px;
  --pf-note:10.5px;
  max-height:min(92dvh,var(--victa-vv-height,840px));
  padding-bottom:calc(18px + var(--victa-vv-bottom,0px) + env(safe-area-inset-bottom));
}
@media(min-width:700px){
  .projects-filter-sheet{max-width:560px;padding-left:20px;padding-right:20px}
}
.projects-filter-sheet .sheet-title-row .eyebrow{font-size:10px;letter-spacing:.12em}
.projects-filter-sheet .sheet-title-row h3{font-size:20px;line-height:1.08}
.projects-filter-sheet .projects-advanced-filter-form{gap:12px}
.projects-filter-sheet .projects-filter-group{border-radius:16px;overflow:visible}
.projects-filter-sheet .projects-filter-group>summary{gap:3px;padding:14px 15px}
.projects-filter-sheet .projects-filter-group>summary::after{right:15px;top:12px;font-size:18px}
.projects-filter-sheet .projects-filter-group>summary span{font-size:var(--pf-title);line-height:1.25}
.projects-filter-sheet .projects-filter-group>summary small{font-size:var(--pf-sub);line-height:1.35}
.projects-filter-sheet .projects-filter-group-body{gap:13px;padding:13px 14px 15px}
.projects-filter-sheet .projects-filter-grid{gap:10px}
.projects-filter-sheet .projects-filter-group .field label{margin-bottom:6px;font-size:var(--pf-label);line-height:1.25;font-weight:780;color:var(--muted)}
.projects-filter-sheet .projects-filter-group .field input,
.projects-filter-sheet .projects-filter-group .field select{
  min-height:44px;
  padding:0 12px;
  border-radius:13px;
  font-size:var(--pf-control);
  line-height:1.25;
}
.projects-filter-sheet .projects-filter-checks{gap:9px}
.projects-filter-sheet .projects-filter-checks label{min-height:42px;padding:7px 11px;border-radius:13px;font-size:var(--pf-option);line-height:1.25}
.projects-filter-sheet .projects-filter-source-note{margin:0;color:var(--muted-2);font-size:var(--pf-note);line-height:1.4}
.projects-filter-sheet .projects-filter-actions{padding-top:14px}
.projects-filter-sheet .projects-filter-actions :is(.primary-button,.secondary-button){min-height:48px;font-size:14px}

.projects-multi-field{min-width:0}
.projects-multi-field.is-open{grid-column:1/-1}
.projects-multiselect{min-width:0;position:relative}
.projects-multiselect>summary{
  list-style:none;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface-2);
  color:var(--text);
  cursor:pointer;
  user-select:none;
}
.projects-multiselect>summary::-webkit-details-marker{display:none}
.projects-multiselect>summary [data-project-multiselect-summary]{
  min-width:0;
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:var(--pf-control);
  font-weight:680;
  line-height:1.25;
}
.projects-multiselect>summary>.icon{width:16px;height:16px;flex:0 0 auto;color:var(--muted);transition:transform .16s ease}
.projects-multiselect[open]>summary{border-color:color-mix(in srgb,var(--brand-strong) 50%,var(--line));background:var(--surface)}
.projects-multiselect[open]>summary>.icon{transform:rotate(180deg)}
.projects-multiselect.has-selection>summary{border-color:color-mix(in srgb,var(--brand-strong) 34%,var(--line))}
.projects-multiselect.is-disabled>summary{opacity:.55;cursor:not-allowed}
.projects-multiselect-menu{
  margin-top:7px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 12px 28px rgba(16,49,103,.12);
}
.projects-multiselect-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 1px 8px}
.projects-multiselect-menu-head>span{font-size:10.5px;font-weight:760;color:var(--muted)}
.projects-multiselect-menu-head button{border:0;background:transparent;color:var(--brand-strong);font:inherit;font-size:10.5px;font-weight:850;cursor:pointer;padding:4px 2px}
.projects-multiselect-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  max-height:250px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:1px;
}
.projects-multiselect-option{
  position:relative;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  min-height:40px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--text);
  cursor:pointer;
}
.projects-multiselect-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.projects-multiselect-check{
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border:1.5px solid color-mix(in srgb,var(--muted) 58%,var(--line));
  border-radius:7px;
  background:var(--surface);
  color:transparent;
}
.projects-multiselect-check .icon{width:13px;height:13px}
.projects-multiselect-label{min-width:0;font-size:var(--pf-option);font-weight:720;line-height:1.25;overflow-wrap:anywhere}
.projects-multiselect-option:has(input:checked){border-color:color-mix(in srgb,var(--brand-strong) 42%,var(--line));background:color-mix(in srgb,var(--info-bg) 66%,var(--surface))}
.projects-multiselect-option input:checked + .projects-multiselect-check{border-color:var(--brand-strong);background:var(--brand-strong);color:#fff}
.projects-multiselect-option:has(input:focus-visible){outline:2px solid color-mix(in srgb,var(--brand-strong) 55%,transparent);outline-offset:2px}

@media(max-width:520px){
  .projects-filter-sheet{--pf-title:13px;--pf-sub:10.5px;--pf-label:11.5px;--pf-control:12.5px;--pf-option:12px}
  .projects-filter-grid-multiselect{grid-template-columns:1fr!important}
  .projects-multiselect-options{grid-template-columns:1fr;max-height:230px}
}
html[data-font-size="large"] .projects-filter-sheet{
  --pf-title:14px;--pf-sub:11.5px;--pf-label:12.5px;--pf-control:13.5px;--pf-option:13px;--pf-note:11.5px;
}
html[data-font-size="xlarge"] .projects-filter-sheet{
  --pf-title:15px;--pf-sub:12.5px;--pf-label:13.5px;--pf-control:14.5px;--pf-option:14px;--pf-note:12.5px;
}

/* ===== v0.9.96 Projects API retry — polished emergency action ===== */
html .unified-page [data-projects-results-retry] {
  -webkit-appearance: none;
  appearance: none;
  width: auto;
  min-width: 112px;
  min-height: 36px;
  padding: 0 14px 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid color-mix(in srgb, var(--brand-strong) 24%, var(--line));
  border-radius: 999px;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--surface) 96%, var(--brand) 4%),
    color-mix(in srgb, var(--surface-2) 88%, var(--brand) 12%));
  color: var(--brand-strong);
  box-shadow:
    0 5px 14px rgba(19, 82, 171, .08),
    inset 0 1px 0 rgba(255,255,255,.78);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.01em;
  cursor: pointer;
  white-space: nowrap;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
html .unified-page [data-projects-results-retry]::before {
  content: "↻";
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-.25px);
}
html .unified-page [data-projects-results-retry]:hover {
  border-color: color-mix(in srgb, var(--brand-strong) 42%, var(--line));
  background: color-mix(in srgb, var(--brand) 9%, var(--surface));
  box-shadow: 0 7px 18px rgba(19, 82, 171, .13);
  transform: translateY(-1px);
}
html .unified-page [data-projects-results-retry]:active {
  transform: translateY(0);
  box-shadow: 0 3px 9px rgba(19, 82, 171, .10);
}
html .unified-page [data-projects-results-retry]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand) 24%, transparent);
  outline-offset: 2px;
}
html[data-theme="dark"] .unified-page [data-projects-results-retry] {
  background: color-mix(in srgb, var(--surface) 91%, var(--brand) 9%);
  border-color: color-mix(in srgb, var(--brand) 36%, var(--line));
  box-shadow: 0 7px 18px rgba(0,0,0,.16);
}
@media (max-width: 390px) {
  html .unified-page [data-projects-results-retry] {
    min-width: 104px;
    min-height: 35px;
    padding-inline: 11px 13px;
    font-size: 11.5px;
  }
}
