/* Hallmark · macrostructure: product workspace · tone: precise and composed · anchor hue: blue
 * Manrope + Inter · pre-emit critique: P4 H5 E4 S4 R5 V4 */
@import url('fonts/fonts.css');
@import url('tokens.css');
body { font-family:var(--font-ui); font-size:14px; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
h1,h2,h3,.brand,.overview-item strong { font-family:var(--font-display); }
a,button { -webkit-tap-highlight-color:transparent; }
button,a.button,.export-actions a,.date-presets a,.mobile-work-nav a { white-space:nowrap; }
.app-rail { width:224px; background:var(--color-surface); color:var(--color-ink); border-right:1px solid var(--color-rule); padding:28px 16px 20px; }
.brand { flex-direction:row; align-items:center; gap:12px; padding:0 10px 28px; }
.brand-symbol { display:grid; place-content:center; width:42px; height:42px; border-radius:10px; background:var(--color-ink); color:var(--color-surface); font-size:21px; font-weight:700; letter-spacing:-.07em; }
.brand-symbol span { display:none; }
.brand-wordmark { font-size:14px; font-weight:750; letter-spacing:.04em; }
.brand-wordmark small { display:block; color:var(--color-muted); font-size:10px; font-weight:450; letter-spacing:0; margin-top:5px; }
.rail-section-label { margin:16px 12px 10px; font-size:10px; letter-spacing:.09em; color:var(--color-muted); }
.app-rail .rail-nav { margin:0; gap:5px; }
.app-rail .rail-link { border:0; border-radius:7px; padding:12px; gap:12px; color:var(--color-muted); background:transparent; font-weight:500; font-size:13px; }
.app-rail .rail-link:hover { background:var(--color-paper); color:var(--color-ink); }
.app-rail .rail-link[aria-current='page'] { background:var(--color-accent-wash); color:var(--color-accent); font-weight:650; }
.nav-icon { width:18px; height:18px; flex-basis:18px; }
.rail-bottom { border-color:var(--color-rule); padding:20px 10px 0; }
.rail-account,.rail-logout { color:var(--color-muted); }
.rail-account small { color:var(--color-ink); font-size:11px; }
.account-dot { box-shadow:none; }
.rail-logout:hover { color:var(--color-accent); }
.page { margin-left:224px; padding:0 32px 28px; max-width:1900px; }
.workspace-utility { min-height:66px; font-size:12px; color:var(--color-muted); }
.workspace-utility strong { color:var(--color-ink); }
.utility-private { border:1px solid var(--color-rule); border-radius:6px; background:var(--color-surface); padding:6px 10px; }
.workspace-header { padding:32px 0 24px; gap:20px; }
h1,.detail-top h1 { font-size:32px; font-weight:750; letter-spacing:-.045em; line-height:1.25; margin-bottom:8px; }
.lede { font-size:13px; line-height:1.7; max-width:700px; }
.eyebrow,.section-index,.card-index,.header-meta { display:none; }
.export-actions a { border:1px solid var(--color-rule); border-radius:7px; padding:10px 13px; font-size:12px; font-weight:550; }
.export-actions a:hover { border-color:var(--color-accent); color:var(--color-accent); }
.date-toolbar { flex-direction:column-reverse; align-items:stretch; padding:16px 18px; gap:16px; border-radius:12px; }
.date-presets { border:0; padding:0; gap:6px; }
.date-presets a { font-size:12px; padding:8px 12px; border-radius:6px; font-weight:500; }
.date-presets a.is-selected { color:var(--color-accent); background:var(--color-accent-wash); font-weight:650; }
.report-date-filter { gap:12px; }
.report-date-filter > div { display:flex; align-items:center; gap:8px; }
.report-date-filter label { font-size:11px; color:var(--color-muted); margin:0; }
.report-date-filter input { width:145px; min-height:36px; padding:7px 10px; font-size:12px; }
.report-date-filter .button { min-height:36px; padding:7px 16px; }
.period-caption { font-size:11px; margin:10px 2px 20px; line-height:1.6; }
.period-caption span { margin-left:12px; }
.sync-banner { margin:0 0 18px; padding:0 2px; min-height:24px; }
.overview { gap:14px; margin:0 0 24px; }
.overview-item,.overview-item:first-child,.overview-item+.overview-item { background:var(--color-surface); border:1px solid var(--color-rule); border-radius:12px; padding:18px 20px; min-height:132px; }
.overview-item.is-active { background:var(--color-accent-wash); border-color:var(--color-accent); box-shadow:none; }
.overview-item.is-active::before { display:none; }
.overview-item > span { font-size:12px; font-weight:550; text-transform:none; }
.overview-item strong { font-size:34px; font-weight:700; line-height:1.2; margin:10px 0 4px; letter-spacing:-.045em; }
.overview-item small { font-size:11px; }
.inbox,.thread-panel,.detail-card { border-radius:12px; border-color:var(--color-rule); }
.inbox-top { padding:20px 22px; gap:20px; }
.inbox h2,.detail-card h2 { font-size:17px; font-weight:750; letter-spacing:-.025em; line-height:1.4; }
.inbox-top h2 span { font-family:var(--font-ui); font-size:11px; border:1px solid var(--color-rule); border-radius:6px; padding:3px 7px; }
.search-control { border-color:var(--color-rule); border-radius:7px; background:var(--color-paper); }
.search-control input { font-size:12px; background:transparent; }
.search-control button { background:var(--color-surface); color:var(--color-ink); border-left:1px solid var(--color-rule); font-weight:600; }
.filter-strip { gap:6px; padding:0 22px 18px; border:0; }
.filter-chip { padding:7px 11px; font-size:12px; border-radius:6px; border:1px solid transparent; }
.filter-chip.is-selected { background:var(--color-accent-wash); color:var(--color-accent); border-color:transparent; }
.conversation-table thead th,.contact-table th,.report-table th { background:var(--color-paper); color:var(--color-muted); letter-spacing:.01em; font-size:11px; font-weight:550; text-transform:none; }
.conversation-table td { padding-top:18px; padding-bottom:18px; font-size:12px; }
.conversation-table tbody tr:hover,.contact-table tbody tr:hover { background:var(--color-paper); }
.lead-name { font-size:13px; font-weight:650; letter-spacing:-.015em; }
.lead-summary { font-size:12px; line-height:1.6; color:var(--color-muted); }
.status { border-radius:5px; padding:5px 8px; font-size:11px; font-weight:550; white-space:nowrap; }
.field { border-color:var(--color-rule-strong); border-radius:7px; padding:10px 12px; font-size:13px; min-height:42px; }
.field:focus { border-color:var(--color-accent); }
.button { color:var(--color-surface); background:var(--color-accent); border-radius:7px; font-size:12px; font-weight:600; min-height:40px; padding:10px 17px; }
.button:hover { background:var(--color-ink); }
.text-button { color:var(--color-accent); font-size:12px; }
.back-link { margin-top:26px; font-size:12px; }
.detail-top { padding:24px 0 20px; }
.detail-jumps { gap:8px; margin-bottom:20px; }
.detail-jumps a { font-size:12px; text-decoration:none; padding:8px 12px; background:var(--color-surface); border:1px solid var(--color-rule); border-radius:6px; }
.detail-layout { grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr); gap:20px; }
.thread-heading { color:var(--color-ink); font-size:13px; font-weight:650; letter-spacing:0; padding:20px; }
.thread-heading small { font-size:11px; }
.timeline { background:var(--color-paper); padding:24px; }
.message { background:var(--color-surface); border:1px solid var(--color-rule); border-radius:12px 12px 12px 3px; max-width:88%; padding:14px 16px; margin-bottom:18px; }
.message.outgoing { background:var(--color-accent-wash); border:1px solid var(--color-rule); border-radius:12px 12px 3px 12px; }
.message-name { font-size:11px; font-weight:650; }
.message-body { font-size:13px; line-height:1.75; }
.message-time { font-size:10px; }
.detail-card { padding:22px; }
.summary-card { border-top:1px solid var(--color-rule); }
.edit-card label,.login-card label { font-size:12px; font-weight:500; letter-spacing:0; color:var(--color-ink-2); }
.facts dt { font-size:11px; letter-spacing:0; font-weight:500; }
.facts dd { font-size:13px; }
.pipeline-board { gap:18px; grid-auto-columns:290px; }
.pipeline-column { background:var(--color-paper); border:0; border-radius:12px; padding:0 2px 14px; }
.pipeline-column > header { padding:12px 10px 18px; border-top:3px solid var(--color-rule-strong); }
.pipeline-column:nth-child(2) > header,.pipeline-column:nth-child(3) > header { border-top-color:var(--color-accent); }
.pipeline-column:nth-child(4) > header,.pipeline-column:nth-child(5) > header { border-top-color:var(--color-amber); }
.pipeline-column:last-child > header { border-top-color:var(--color-green); }
.pipeline-column h2 { font-family:var(--font-ui); font-size:12px; font-weight:650; }
.pipeline-column header > span { border-radius:5px; background:var(--color-surface); padding:3px 7px; font-size:11px; }
.pipeline-card { border-radius:10px; padding:18px; margin-bottom:12px; }
.pipeline-card p { font-size:12px; }
.pipeline-card small { font-size:11px; }
.pipeline-card .field { font-size:12px; }
.stage-tab { border-radius:8px; }
.work-row { padding:20px 22px; }
.report-table th,.report-table td { padding:15px 20px; }
.report-table tfoot,.report-table tfoot th { background:var(--color-paper); }
.source-monogram { background:var(--color-accent-wash); color:var(--color-accent); border:0; border-radius:7px; }
.report-grid { gap:20px; }
.report-ranking .inbox-top { padding:20px; }
.limit-note { font-size:11px; line-height:1.7; }
.workspace-footer { font-size:10px; margin-top:32px; }
.is-login { background:var(--color-paper); }
.login-masthead { border:0; padding:28px 6vw; }
.login-mark { font-family:var(--font-display); font-weight:800; letter-spacing:-.07em; }
.login-intro h1 { font-size:clamp(40px,5vw,70px); font-weight:750; line-height:1.18; letter-spacing:-.055em; }
.login-intro h1 em { font-style:normal; font-weight:750; }
.login-card { border:1px solid var(--color-rule); border-radius:16px; padding:36px; }
.login-card h2 { font-size:27px; font-weight:700; font-family:var(--font-display); letter-spacing:-.035em; }
.login-rule { font-size:10px; letter-spacing:.02em; }
@media(min-width:1600px) { .page { padding-left:48px; padding-right:48px; } .date-toolbar { flex-direction:row; justify-content:space-between; } }
@media(max-width:1100px) {
 .page { margin-left:0; padding:0 24px 24px; }
 .mobile-bar { background:var(--color-surface); color:var(--color-ink); border-bottom:1px solid var(--color-rule); }
 .mobile-bar button,.mobile-brand span { color:var(--color-muted); }
 .mobile-work-nav { background:var(--color-surface); padding:10px 24px; gap:6px; border-bottom:1px solid var(--color-rule); }
 .mobile-work-nav a { color:var(--color-muted); padding:8px 11px; font-size:12px; border-radius:6px; }
 .mobile-work-nav a[aria-current='page'] { background:var(--color-accent-wash); color:var(--color-accent); }
 .workspace-utility { min-height:48px; }
 .detail-layout { grid-template-columns:minmax(0,1fr); }
 .conversation-table td { padding:0; }
 .conversation-table td::before { text-transform:none; letter-spacing:0; font-size:10px; }
 .conversation-table tr { padding:20px; }
}
@media(max-width:768px) {
 .workspace-header { flex-direction:column; align-items:flex-start; }
 .inbox-top { flex-direction:column; align-items:stretch; }
 .overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .report-date-filter > div { display:block; }
 .report-date-filter label { display:block; margin-bottom:5px; }
 .report-date-filter { align-items:flex-end; }
 .report-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:620px) {
 .page { padding:0 14px 24px; } .mobile-work-nav { padding:8px 12px; }
 .workspace-header { padding:24px 0 20px; gap:12px; }
 h1,.detail-top h1 { font-size:27px; line-height:1.3; }
 .workspace-header .export-actions { margin:0; }
 .lede { font-size:12px; }
 .date-toolbar { padding:12px; gap:12px; }
 .date-presets { justify-content:flex-start; gap:4px; }
 .date-presets a { font-size:11px; padding:8px 9px; }
 .report-date-filter { gap:10px; }
 .report-date-filter > div { flex:1 1 110px; min-width:0; }
 .report-date-filter input { width:100%; }
 .report-date-filter .button { width:100%; }
 .period-caption { font-size:10px; } .period-caption span { display:block; margin:3px 0 0; }
 .overview { gap:10px; }
 .overview-item,.overview-item:first-child,.overview-item+.overview-item { padding:14px; min-height:124px; }
 .overview-item strong { font-size:29px; }
 .overview-item > span { font-size:11px; }
 .overview-item small { font-size:10px; }
 .conversation-table tbody { grid-template-columns:minmax(0,1fr); }
 .conversation-table tr:nth-child(odd) { border-right:0; }
 .filter-strip { padding:0 16px 16px; gap:4px; }
 .filter-chip { font-size:11px; padding:7px 8px; }
 .detail-top { align-items:flex-start; flex-direction:column; gap:10px; }
 .detail-jumps { display:flex; flex-wrap:wrap; gap:6px; }
 .detail-jumps a { font-size:11px; padding:8px; white-space:nowrap; }
 .detail-card { padding:18px; }
 .thread-heading { flex-wrap:wrap; padding:16px; gap:5px; }
 .timeline { padding:16px 12px; }
 .message { max-width:94%; }
 .pipeline-board { grid-auto-columns: min(280px,85vw); }
 .login-layout { display:block; min-height:auto; }
 .login-intro { padding:24px 0; } .login-intro h1 { font-size:38px; }
 .login-rule { margin-top:28px; gap:12px; }
 .login-card { padding:24px; margin-bottom:32px; }
 .is-login .page { padding:0 20px; }
}
/* Keep the first records within the initial desktop viewport. */
@media(min-width:1101px) {
 .brand { display:flex; }
 .workspace-utility { min-height:52px; }
 .workspace-header { padding:24px 0 20px; }
 .date-toolbar { padding:12px 16px; gap:10px; }
 .period-caption { margin-bottom:12px; }
 .sync-banner { margin-bottom:12px; }
 .overview-item,.overview-item:first-child,.overview-item+.overview-item { min-height:112px; padding:14px 18px; }
 .overview-item strong { margin:6px 0 3px; }
 .overview { margin-bottom:20px; }
 .inbox-top { padding:16px 20px; }
}
@media(min-width:1101px) {
 .conversation-table th:first-child { width:25%; }
 .conversation-table th:nth-child(2) { width:10%; }
 .conversation-table th:nth-child(3) { width:18%; }
 .conversation-table th:nth-child(4) { width:11%; }
 .conversation-table th:nth-child(5) { width:15%; }
 .conversation-table th:nth-child(6) { width:13%; }
 .conversation-table th:last-child { width:8%; }
 .conversation-table .row-action { padding-left:4px; padding-right:4px; }
}
.mobile-work-nav a { text-decoration:none; }
/* Source-led refinement: hierarchy, proximity and a single icon vocabulary. */
.ui-icon { width:18px; height:18px; flex:0 0 18px; vertical-align:middle; }
.button,.text-button,.export-actions a,.source-link,.back-link,.rail-logout { display:inline-flex; align-items:center; gap:8px; }
.button { min-width:112px; justify-content:center; background:var(--color-paper); color:var(--color-ink); border:1px solid var(--color-rule-strong); min-height:44px; }
.button:hover { color:var(--color-accent); background:var(--color-accent-wash); border-color:var(--color-accent); }
.button-primary { background:var(--color-accent); color:var(--color-surface); border-color:var(--color-accent); }
.button-primary:hover { background:var(--color-ink); color:var(--color-surface); }
.text-button { min-height:36px; }
.rail-logout { width:100%; justify-content:flex-start; }
.export-actions a { min-height:40px; border-color:transparent; background:var(--color-paper); }
.inbox,.thread-panel,.detail-card,.date-toolbar,.pipeline-card { border-color:transparent; }
.overview { background:var(--color-surface); gap:0; border-radius:12px; overflow:hidden; }
.overview-item,.overview-item:first-child,.overview-item+.overview-item { border:0; border-radius:0; background:transparent; }
.overview-item.is-active { background:var(--color-accent-wash); box-shadow:inset 3px 0 var(--color-accent); }
.conversation-table thead th,.contact-table th,.report-table th { background:var(--color-surface); }
.conversation-table td,.contact-table td { border-top-color:var(--color-paper); }
.date-toolbar { flex-direction:row; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; }
.date-presets { flex:1 1 470px; }
.custom-period { flex:0 1 auto; }
.custom-period > summary { list-style:none; display:flex; align-items:center; gap:8px; padding:9px 10px; color:var(--color-ink-2); font-size:12px; cursor:pointer; min-height:40px; border-radius:7px; background:var(--color-paper); }
.custom-period > summary::-webkit-details-marker { display:none; }
.custom-period[open] { flex-basis:100%; }
.custom-period[open] > summary { width:fit-content; margin-bottom:14px; }
.custom-period .report-date-filter { padding:0 8px 8px; }
.custom-period[open] > summary > .ui-icon:last-child { transform:rotate(180deg); }
.period-caption { color:var(--color-muted); }
.empty-illustration { display:inline-grid!important; place-items:center; width:64px; height:64px; background:var(--color-accent-wash); border-radius:20px; color:var(--color-accent)!important; }
.empty-illustration .ui-icon { width:30px; height:30px; }
.empty-state { text-align:left; padding:32px; }
.empty-state h3 { margin-top:16px; }
.mobile-menu { display:none; }
.is-pending { opacity:.65; cursor:progress; }
.is-pending::after { content:'…'; font-weight:700; }
@media(prefers-reduced-motion:no-preference) {
 .workspace-header,.detail-top { animation:workspace-appear 160ms ease-out; }
 .inbox,.detail-layout,.pipeline-board { animation:workspace-appear 220ms ease-out; }
 @keyframes workspace-appear { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(max-width:1100px) {
 .mobile-menu { display:block; background:var(--color-surface); padding:0 24px 10px; }
 .mobile-menu > summary { list-style:none; display:flex; align-items:center; gap:12px; min-height:44px; cursor:pointer; font-size:13px; font-weight:600; }
 .mobile-menu > summary::-webkit-details-marker { display:none; }
 .menu-chevron { margin-left:auto; }
 .mobile-menu[open] .menu-chevron { transform:rotate(180deg); }
 .mobile-work-nav { display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; padding:8px 0; gap:4px; border:0; }
 .mobile-work-nav a { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 12px; width:100%; }
 .mobile-work-nav .ui-icon { width:20px; height:20px; flex-basis:20px; }
 .mobile-menu[open] + .page { border-top:1px solid var(--color-rule); }
}
@media(max-width:620px) {
 .mobile-menu { padding:0 16px 8px; }
 .custom-period { width:100%; }
 .custom-period > summary { width:100%; font-size:11px; }
 .custom-period > summary > .ui-icon:last-child { margin-left:auto; }
 .date-presets { flex-basis:100%; }
 .date-presets a { min-height:40px; display:inline-flex; align-items:center; }
 .custom-period[open] > summary { width:100%; }
 .custom-period .report-date-filter { padding:0; }
 .custom-period .report-date-filter .button { min-height:44px; }
 .overview-item:nth-child(n+3) { border-top:0; }
 .empty-state { padding:24px; }
}
