:root {
    --navy: #14243a;
    --blue: #2457a6;
    --slate: #64748b;
    --line: #e6ebf1;
    --surface: #f5f7fa;
}
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--surface);
    color: #1f2937;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.app-navbar { background: var(--navy); box-shadow: 0 2px 12px rgb(15 23 42 / 12%); }
.navbar-brand { font-weight: 650; letter-spacing: .01em; }
.brand-mark { width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 8px; background: #71b5f7; color: #102139; font-size: .72rem; font-weight: 800; }
main { flex: 1; max-width: 1600px; }
.card { border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 18px rgb(15 23 42 / 3%); }
.card-header { border-color: var(--line); }
.metric-card { border-left: 3px solid #85b8ed; }
.metric-label { color: var(--slate); font-size: .84rem; font-weight: 600; }
.metric-value { margin: .35rem 0; color: var(--navy); font-size: 2rem; font-weight: 700; letter-spacing: -.03em; }
.eyebrow { color: var(--blue); font-size: .72rem; font-weight: 750; letter-spacing: .1em; }
.page-heading h1 { color: var(--navy); font-weight: 720; letter-spacing: -.025em; }
.form-label { color: #344256; font-size: .9rem; font-weight: 600; }
.form-control, .form-select { border-color: #d7dee8; min-height: 42px; }
.form-control:focus, .form-select:focus { border-color: #76a4e4; box-shadow: 0 0 0 .2rem rgb(36 87 166 / 12%); }
.btn-primary { background: var(--blue); border-color: var(--blue); }
.table thead th { color: #516175; background: #f9fafc; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.table > :not(caption) > * > * { padding: .85rem 1rem; border-color: var(--line); }
.detail-list dt { color: var(--slate); font-size: .87rem; font-weight: 600; }
.detail-list dd { margin-bottom: 1rem; }
.import-headers { white-space: normal; overflow-wrap: anywhere; line-height: 1.8; }
footer { background: #fff; }
.existing-contact-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; padding: .6rem 0; border-bottom: 1px solid var(--line); }
.existing-contact-row:last-child { border-bottom: 0; }
