:root {
    --white: #ffffff;
    --space-indigo: #102a72;
    --navy-electric: #244cff;
    --graphite: #27252d;
    --chocolate: #a8430e;
    --black: #000;
    --spicy-paprika: #a93216;
    --orange-bright: #ff7a18;
    --orange-hover: #e85d04;
    --green-bright: #26d07c;
    --green-hover: #18b86a;
    --gold-bright: #ffb000;
    --red-bright: #ff5b3a;
    --won-neon: #19a7ff;
    --won-hover: #49bdff;
    --won-ink: #005a99;
    --lost-neon: #ff2d55;
    --lost-hover: #ff5575;
    --lost-ink: #9b0025;
    --night-ink: #090c1b;
    --ink: var(--space-indigo);
    --ink-2: var(--graphite);
    --muted: #5f5c64;
    --line: rgba(25, 31, 60, .22);
    --control-line: #96929b;
    --canvas: #efedeb;
    --green-950: var(--space-indigo);
    --green-900: var(--space-indigo);
    --green-800: var(--chocolate);
    --green-700: var(--spicy-paprika);
    --green-100: rgba(213, 103, 35, .12);
    --lime: var(--orange-bright);
    --lime-2: #cf4b17;
    --coral: var(--spicy-paprika);
    --gold: var(--chocolate);
    --blue: var(--space-indigo);
    --purple: var(--graphite);
    --danger: var(--spicy-paprika);
    --followup: var(--gold-bright);
    --followup-dark: #754300;
    --success: #17653d;
    --success-dark: #104c2d;
    --shadow-sm: 0 1px 2px rgba(25, 31, 60, .08), 0 5px 18px rgba(25, 31, 60, .08);
    --shadow-lg: 0 24px 70px rgba(25, 31, 60, .18);
    --radius: 16px;
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; color: var(--ink); font-family: "DM Sans", system-ui, sans-serif; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.icon { width: 19px; height: 19px; flex: 0 0 auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, .brand { font-family: "Manrope", system-ui, sans-serif; }

/* Shared controls */
.button { min-height: 43px; padding: 0 18px; border: 1px solid transparent; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; transition: .18s ease; white-space: nowrap; }
.button:hover { transform: translateY(-1px); }
.button--primary { color: var(--space-indigo); background: var(--orange-bright); box-shadow: 0 5px 14px rgba(255, 122, 24, .28); }
.button--primary:hover { color: var(--space-indigo); background: var(--orange-hover); box-shadow: 0 8px 20px rgba(232, 93, 4, .32); }
.button--accent { color: var(--space-indigo); background: var(--orange-bright); }
.button--accent:hover { color: var(--space-indigo); background: var(--orange-hover); }
.button--soft { border-color: var(--line); background: #fff; color: var(--ink-2); }
.button--soft:hover { color: var(--ink); border-color: #c9d4cf; background: #fbfcfb; }
.button--quiet { min-height: 37px; padding: 0 12px; border-color: transparent; color: var(--green-700); background: #f1f6f3; }
.button--quiet:hover { color: var(--green-800); background: #e7f0eb; }
.button--danger { border-color: rgba(202,91,46,.25); color: var(--spicy-paprika); background: rgba(202,91,46,.07); }.button--danger:hover { border-color: rgba(202,91,46,.42); color: var(--white); background: var(--spicy-paprika); }
.button--followup { border-color: rgba(25,31,60,.12); color: var(--space-indigo); background: var(--gold-bright); box-shadow: 0 5px 14px rgba(255,176,0,.25); }.button--followup:hover { color: var(--space-indigo); background: #f09f00; box-shadow: 0 7px 18px rgba(240,159,0,.3); }
.button--danger-solid { color: var(--white); background: var(--spicy-paprika); box-shadow: 0 5px 12px rgba(202,91,46,.2); }.button--danger-solid:hover { color: var(--white); background: #b94e25; box-shadow: 0 7px 18px rgba(202,91,46,.27); }
.button--success { color: var(--space-indigo); background: var(--green-bright); box-shadow: 0 5px 14px rgba(38,208,124,.25); }.button--success:hover { color: var(--space-indigo); background: var(--green-hover); box-shadow: 0 7px 18px rgba(24,184,106,.3); }
.button.is-current { box-shadow: 0 0 0 3px rgba(25,31,60,.15); }.button:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.button--small { min-height: 36px; padding: 0 14px; font-size: 14px; }
.button--wide { width: 100%; min-height: 50px; }
.icon-button { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: transparent; cursor: pointer; transition: .18s ease; }
.icon-button:hover { background: #edf2ef; }
.eyebrow { margin-bottom: 13px; display: flex; align-items: center; gap: 8px; color: var(--green-700); font-size: 13px; line-height: 1; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.eyebrow i { width: 18px; height: 2px; background: var(--coral); border-radius: 2px; }
.eyebrow--light { color: #cfe0da; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-heading h2 { margin: 0 0 4px; color: var(--ink); font-size: 17px; line-height: 1.3; font-weight: 800; }
.panel-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.panel-heading > a { display: inline-flex; align-items: center; gap: 5px; color: var(--green-700); font-size: 14px; font-weight: 700; }
.panel-heading > a .icon { width: 15px; }
.heading-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--green-700); background: #edf5f1; }
.heading-icon .icon { width: 17px; }
.avatar { border-radius: 50%; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; font-weight: 800; letter-spacing: -.02em; }
.avatar-img { width: 100%; height: 100%; border-radius: inherit; display: block; object-fit: cover; }
.avatar--user { width: 38px; height: 38px; color: #17392f; background: var(--lime); font-size: 14px; }
.avatar--restaurant { width: 43px; height: 43px; border: 3px solid #a5aba9; font-size: 13px; box-shadow: 0 0 0 2px var(--white); }
.avatar--restaurant.avatar-status--lost { border-color: var(--spicy-paprika); }.avatar--restaurant.avatar-status--not-contacted { border-color: #a5aba9; }.avatar--restaurant.avatar-status--interested { border-color: var(--success); }.avatar--restaurant.avatar-status--followup { border-color: var(--followup); }
.avatar--hero { width: 72px; height: 72px; border-radius: 20px; font-size: 18px; }
.avatar--tiny { width: 34px; height: 34px; font-size: 12px; }
.avatar-tone-1 { color: #205646; background: #dceee7; }
.avatar-tone-2 { color: #9a4c3c; background: #fae2dc; }
.avatar-tone-3 { color: #795a20; background: #f6e8c8; }
.avatar-tone-4 { color: #546f97; background: #e0e9f3; }
.avatar-tone-5 { color: #6b598d; background: #eae4f2; }
.status { width: fit-content; padding: 6px 9px; border-radius: 20px; display: inline-flex; align-items: center; gap: 6px; color: #52665f; background: #f0f3f1; font-size: 12px; line-height: 1; font-weight: 800; white-space: nowrap; }
.status i { width: 6px; height: 6px; border-radius: 50%; background: #8ca098; }
.status--new { color: #52665f; background: #eef2f0; }.status--new i { background: #89a097; }
.status--contacted { color: #35638b; background: #e8f1f8; }.status--contacted i { background: #6f9fc7; }
.status--qualified { color: #6b568d; background: #efeaf6; }.status--qualified i { background: #8d7bb5; }
.status--proposal { color: #8d6522; background: #f9efd6; }.status--proposal i { background: #e0ad4f; }
.status--won { color: #30715b; background: #e0f2ea; }.status--won i { background: #4a9a7e; }
.status--lost { color: #9e4d40; background: #fae6e1; }.status--lost i { background: #d66d5b; }
/* Palette tints */
.main-nav a.active { color: var(--space-indigo); background: rgba(213,103,35,.1); }.main-nav a.active .icon { color: var(--chocolate); }
.metric-icon--green, .metric-icon--blue { color: var(--space-indigo); background: rgba(25,31,60,.09); }.metric-icon--coral, .metric-icon--gold { color: var(--spicy-paprika); background: rgba(213,103,35,.12); }
.avatar-tone-1, .avatar-tone-4 { color: var(--space-indigo); background: rgba(25,31,60,.1); }.avatar-tone-2, .avatar-tone-3, .avatar-tone-5 { color: var(--spicy-paprika); background: rgba(213,103,35,.13); }
.status--new { color: var(--graphite); background: rgba(49,48,56,.08); }.status--new i { background: var(--graphite); }.status--contacted, .status--qualified { color: var(--space-indigo); background: rgba(25,31,60,.09); }.status--contacted i, .status--qualified i { background: var(--space-indigo); }.status--proposal, .status--won { color: var(--chocolate); background: rgba(213,103,35,.11); }.status--proposal i, .status--won i { background: var(--chocolate); }.status--lost { color: var(--spicy-paprika); background: rgba(202,91,46,.1); }.status--lost i { background: var(--spicy-paprika); }
.nav-dot { width: 8px; height: 8px; border-radius: 50%; background: #8ca098; }
.nav-dot--new { background: #8ca098; }.nav-dot--contacted { background: var(--blue); }.nav-dot--qualified { background: var(--purple); }.nav-dot--proposal { background: var(--gold); }.nav-dot--won { background: #4a9a7e; }
.field { display: flex; flex-direction: column; gap: 7px; color: var(--ink-2); font-size: 14px; font-weight: 700; }
.field input, .field select, .field textarea, .activity-composer textarea { border: 1px solid var(--control-line); border-radius: 10px; color: var(--ink); background: #fff; outline: 0; box-shadow: none; transition: border-color .18s, box-shadow .18s; }
.field input, .field select { height: 45px; }
.field input:focus, .field select:focus, .field textarea:focus, .activity-composer textarea:focus { border-color: var(--chocolate); box-shadow: 0 0 0 3px rgba(168, 67, 14, .18); }
.field textarea { padding: 12px 13px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder, .form-control::placeholder, .global-search input::placeholder, .filter-search input::placeholder { color: #737078; opacity: 1; }
.form-actions { display: flex; justify-content: flex-end; gap: 8px; }

/* Sign in */
.login-body { min-height: 100vh; background: #f6f7f5; }
.neutral-login { min-height: 100vh; padding: 28px; display: grid; place-items: center; background: var(--space-indigo); }
.neutral-login-card { width: min(100%, 410px); padding: 42px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: var(--white); box-shadow: 0 32px 90px rgba(0,0,0,.3); }
.neutral-mark { width: 25px; height: 6px; margin-bottom: 38px; border-radius: 8px; display: block; background: var(--chocolate); }
.neutral-login-card .login-heading { margin-bottom: 28px; }.neutral-login-card .login-heading h1 { margin: 0 0 8px; font-size: 27px; letter-spacing: -.04em; }.neutral-login-card .login-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.neutral-login-card .login-footer { display: flex; align-items: center; justify-content: center; gap: 6px; }.neutral-login-card .login-footer .icon { width: 12px; height: 12px; }
.neutral-login-card .field > input { width: 100%; padding: 0 13px; }.neutral-login-card .field small { margin-left: 4px; color: var(--muted); font-weight: 500; }.invite-card { width: min(100%, 450px); }
.login-options { margin-top: -4px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 13px; }.login-options label { display: flex; align-items: center; gap: 7px; cursor: pointer; }.login-options input { width: 15px; height: 15px; accent-color: var(--chocolate); }.login-options a, .auth-back { color: var(--chocolate); font-weight: 700; }.auth-back { margin-top: 24px; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; }.auth-back .icon { width: 13px; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(430px, 1.08fr) minmax(430px, .92fr); }
.login-story { min-height: 680px; padding: 47px clamp(45px, 6vw, 90px); position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; color: white; background: var(--green-950); }
.login-story::before { width: 520px; height: 520px; content: ""; position: absolute; right: -150px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(217, 242, 117, .14), transparent 65%); }
.brand { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 11px; color: var(--green-950); font-size: 20px; font-weight: 800; letter-spacing: -.05em; }
.brand:hover { color: inherit; }
.brand--light { color: white; }
.brand-mark { width: 35px; height: 35px; border-radius: 10px; display: inline-grid; place-items: center; color: var(--white); background: var(--chocolate); transform: rotate(-3deg); }
.brand-mark .icon { width: 21px; height: 21px; stroke-width: 1.65; }
.brand-logo { width: 38px; height: 38px; border-radius: 10px; object-fit: cover; }
.brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.brand-byline { font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--muted); }
.story-copy { max-width: 570px; position: relative; z-index: 2; padding: 80px 0 50px; }
.story-copy h1 { margin: 0 0 25px; color: white; font-size: clamp(45px, 5.2vw, 74px); line-height: 1.04; font-weight: 700; letter-spacing: -.055em; }
.story-copy h1 em { color: var(--lime); font-style: normal; }
.story-copy > p { max-width: 490px; margin: 0; color: #b9cbc5; font-size: 17px; line-height: 1.65; }
.story-card { max-width: 485px; padding-top: 26px; position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; gap: 24px; }
.story-card p { margin: 0; color: #9fb6ae; font-size: 14px; line-height: 1.5; }
.story-card strong { color: white; font-size: 14px; }
.story-avatars { min-width: 150px; display: flex; }
.story-avatars span { width: 37px; height: 37px; margin-left: -7px; border: 2px solid var(--green-950); border-radius: 50%; display: grid; place-items: center; color: var(--green-950); background: #d8ebe4; font-size: 12px; font-weight: 800; }
.story-avatars span:first-child { margin-left: 0; }.story-avatars span:nth-child(2) { background: #f7dcd6; }.story-avatars span:nth-child(3) { background: #f4e6c6; }.story-avatars span:last-child { width: 46px; color: #fff; background: var(--green-700); }
.story-orbit { position: absolute; border: 1px solid rgba(217, 242, 117, .08); border-radius: 50%; pointer-events: none; }.story-orbit--one { width: 480px; height: 480px; right: -350px; bottom: 20px; }.story-orbit--two { width: 220px; height: 220px; right: -80px; bottom: 100px; }
.login-panel { padding: 50px; display: grid; place-items: center; background: #f8f9f7; }
.login-form-wrap { width: min(100%, 420px); }
.mobile-brand { margin-bottom: 45px; display: none; align-items: center; gap: 10px; font-family: "Manrope", sans-serif; font-size: 20px; }
.login-heading { margin-bottom: 34px; }.login-heading h2 { margin: 0 0 9px; font-size: 38px; line-height: 1.1; letter-spacing: -.045em; }.login-heading p { margin: 0; color: var(--muted); font-size: 15px; }
.login-form { display: flex; flex-direction: column; gap: 20px; }
.field-row { display: flex; justify-content: space-between; }.field-row a { color: var(--green-700); font-size: 14px; }
.input-icon { position: relative; display: block; }.input-icon > .icon { width: 17px; height: 17px; position: absolute; left: 15px; top: 15px; color: var(--muted); z-index: 1; }.input-icon input { width: 100%; height: 49px; padding: 0 44px 0 44px; }
.reveal { width: 42px; height: 42px; padding: 0; position: absolute; right: 4px; top: 4px; border: 0; display: grid; place-items: center; color: var(--muted); background: transparent; }.reveal .icon { width: 17px; }
.demo-note { margin-top: 23px; padding: 14px 16px; border-radius: 11px; display: flex; align-items: center; gap: 12px; color: var(--ink-2); background: #edf2ef; }.demo-note > .icon { width: 20px; color: var(--green-700); }.demo-note p { margin: 0; font-size: 14px; line-height: 1.55; }.demo-note strong { color: var(--ink); }
.login-footer { margin: 32px 0 0; color: var(--muted); font-size: 13px; text-align: center; }
.setup-error { width: min(620px, calc(100% - 36px)); min-height: 100vh; margin: 0 auto; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }.setup-error .brand-mark { margin-bottom: 35px; }.setup-error h1 { margin: 0 0 13px; font-size: clamp(30px, 6vw, 46px); letter-spacing: -.05em; }.setup-error > p { max-width: 520px; color: var(--muted); line-height: 1.65; }.setup-error code { color: var(--green-700); }.setup-error pre { width: 100%; margin: 12px 0 18px; padding: 17px 19px; border: 1px solid #dfe6e2; border-radius: 11px; color: #d9f275; background: var(--green-950); }.setup-error-detail { width: 100%; margin-bottom: 18px; padding: 12px 14px; border-radius: 9px; color: #8d4439; background: #f9e8e4; font-size: 14px; word-break: break-word; }
.alert { margin-bottom: 20px; padding: 12px 14px; border: 0; border-radius: 10px; display: flex; align-items: center; gap: 10px; font-size: 14px; }.alert .icon { width: 17px; }.alert--error { color: #8d4439; background: #f9e8e4; }.alert--success { color: #28624f; background: #e5f1ec; }

/* Application shell */
.app-body { min-height: 100vh; background: var(--canvas); }
.app-frame { min-height: 100vh; }
.sidebar { width: 258px; height: 100vh; padding: 26px 20px 18px; position: fixed; z-index: 40; inset: 0 auto 0 0; display: flex; flex-direction: column; background: #fff; border-right: 1px solid var(--line); overflow-y: auto; }
.sidebar-top { padding: 0 8px 29px; display: flex; align-items: center; justify-content: space-between; }.sidebar-close { display: none; }
.sidebar-add { width: 100%; margin-bottom: 25px; }
.main-nav { display: flex; flex: 1; flex-direction: column; gap: 3px; }
.nav-label { padding: 0 12px 8px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }.nav-label--second { padding-top: 25px; }
.main-nav a { min-height: 42px; padding: 0 12px; border-radius: 9px; display: flex; align-items: center; gap: 12px; color: #60746c; font-size: 14px; font-weight: 600; transition: .16s ease; }.main-nav a .icon { width: 17px; }.main-nav a small { margin-left: auto; padding: 2px 7px; border-radius: 10px; color: var(--muted); background: #edf1ef; font-size: 12px; }.main-nav a:hover { color: var(--ink); background: #f2f5f3; }.main-nav a.active { color: var(--green-900); background: #eaf2ee; font-weight: 800; }.main-nav a.active .icon { color: var(--green-700); }
.main-nav a.nav-link--due { box-shadow: inset 0 0 0 2px var(--followup); color: var(--followup-dark); }.main-nav a.nav-link--due .icon { color: var(--followup-dark); }
.main-nav a.nav-link--new { box-shadow: inset 0 0 0 2px var(--success); color: var(--success); }.main-nav a.nav-link--new .icon { color: var(--success); }
.sidebar-tip { margin-top: auto; padding: 15px 13px; border: 1px solid #e7eee9; border-radius: 12px; display: flex; gap: 11px; background: #f7faf8; }.sidebar-tip > span { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: #785c1d; background: #f3e4b8; }.sidebar-tip .icon { width: 15px; }.sidebar-tip strong { display: block; margin-bottom: 3px; font-size: 13px; }.sidebar-tip p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.sidebar-user { margin-top: 16px; padding: 14px 5px 0; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }.sidebar-user > div { min-width: 0; flex: 1; }.sidebar-user strong, .sidebar-user small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.sidebar-user strong { font-size: 14px; }.sidebar-user small { color: var(--muted); font-size: 12px; }.sidebar-user form { margin-left: auto; }.sidebar-user .icon-button { width: 32px; height: 32px; color: var(--muted); }.sidebar-user .icon { width: 16px; }
.main-area { min-height: 100vh; margin-left: 258px; }
.topbar { height: 74px; padding: 0 clamp(24px, 3vw, 44px); position: sticky; z-index: 30; top: 0; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 24px; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.menu-button { display: none; }
.global-search { width: min(465px, 50vw); position: relative; display: flex; align-items: center; }.global-search > .icon { width: 17px; position: absolute; left: 14px; color: var(--muted); }.global-search input { width: 100%; height: 40px; padding: 0 48px 0 42px; border: 1px solid transparent; border-radius: 9px; outline: 0; color: var(--ink); background: #f3f5f4; font-size: 14px; transition: .18s; }.global-search input:focus { border-color: #bfd0c8; background: #fff; box-shadow: 0 0 0 3px rgba(35,96,79,.07); }.global-search kbd { padding: 2px 7px; position: absolute; right: 10px; border: 1px solid #dbe1de; border-radius: 5px; color: var(--muted); background: #fff; box-shadow: none; font-family: inherit; font-size: 12px; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }.topbar-actions .icon-button { color: var(--muted); }.topbar-task { position: relative; }.topbar-task i { width: 6px; height: 6px; position: absolute; right: 7px; top: 7px; border: 1px solid white; border-radius: 50%; display: none; background: var(--coral); }.topbar-task--due { background: rgba(229,170,50,.15); }.topbar-task--due .icon { color: var(--followup-dark); }.topbar-task--due i { display: block; background: var(--followup); box-shadow: 0 0 0 3px rgba(229, 170, 50, .25); animation: bellPulse 1.8s ease-out infinite; }
.page-content { width: 100%; max-width: 1580px; margin: 0 auto; padding: 36px clamp(24px, 3vw, 44px) 55px; }
.page-heading { margin-bottom: 29px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }.page-heading h1 { margin: 0 0 7px; font-size: 30px; line-height: 1.15; letter-spacing: -.04em; }.page-heading p { margin: 0; color: var(--muted); font-size: 14px; }.page-heading .eyebrow { margin-bottom: 12px; }.dashboard-heading h1 { font-size: 31px; }
.toast { width: min(430px, calc(100vw - 30px)); padding: 13px 15px; position: fixed; z-index: 100; right: 24px; top: 91px; border: 0; border-radius: 11px; display: flex; align-items: center; gap: 10px; opacity: 1; color: #275c4b; background: #e2f1ea; box-shadow: 0 12px 40px rgba(20,54,45,.16); font-size: 14px; animation: toast-in .3s ease; }.toast--error { color: #91493d; background: #fae6e2; }.toast > .icon { width: 18px; }.toast span { flex: 1; }.toast button { padding: 2px; border: 0; background: transparent; }.toast button .icon { width: 15px; }
@keyframes toast-in { from { opacity: 0; transform: translateY(-8px); } }
@keyframes bellPulse { 0% { box-shadow: 0 0 0 0 rgba(229,170,50,.45); } 70% { box-shadow: 0 0 0 6px rgba(229,170,50,0); } 100% { box-shadow: 0 0 0 0 rgba(229,170,50,0); } }

/* User menu dropdown */
.user-menu { position: relative; }
.user-menu-trigger { padding: 0; border: 0; background: none; cursor: pointer; }
.user-menu-dropdown { min-width: 230px; padding: 8px; position: absolute; z-index: 60; right: 0; top: calc(100% + 10px); display: none; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: var(--shadow-lg); }
.user-menu.is-open .user-menu-dropdown { display: block; }
.user-menu-head { padding: 10px 10px 12px; margin-bottom: 6px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }.user-menu-head > div { min-width: 0; }.user-menu-head strong { display: block; font-size: 14px; }.user-menu-head small { display: block; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.user-menu-upload, .user-menu-logout { margin: 0; }
.user-menu-item { width: 100%; padding: 9px 10px; border: 0; border-radius: 9px; display: flex; align-items: center; gap: 10px; color: inherit; background: none; font-size: 13px; font-weight: 600; text-align: left; cursor: pointer; }.user-menu-item:hover { background: rgba(25,31,60,.05); }.user-menu-item .icon { width: 15px; }

/* Notification bell dropdown */
.bell-menu { position: relative; }
.bell-menu-dropdown { width: min(340px, calc(100vw - 32px)); padding: 8px; position: absolute; z-index: 60; right: 0; top: calc(100% + 10px); display: none; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: var(--shadow-lg); }
.bell-menu.is-open .bell-menu-dropdown { display: block; }
.bell-menu-head { padding: 9px 10px 11px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; }.bell-menu-head strong { font-size: 14px; }.bell-menu-head span { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.bell-menu-list { max-height: 340px; margin-top: 7px; overflow-y: auto; display: flex; flex-direction: column; gap: 7px; }
.bell-menu-list .quiet-row { margin: 0; padding: 14px 10px; }
.bell-due-item { flex-wrap: wrap; }
.bell-menu-footer { margin-top: 7px; padding: 10px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 8px; color: inherit; font-size: 12px; font-weight: 700; text-decoration: none; }.bell-menu-footer:hover { color: var(--chocolate); }.bell-menu-footer .icon { width: 13px; }
.topbar-task--fresh { background: rgba(202,91,46,.16); }
.topbar-task--fresh .icon { color: var(--spicy-paprika); }
.topbar-task--fresh i { display: block; background: var(--spicy-paprika); box-shadow: 0 0 0 3px rgba(202, 91, 46, .25); animation: bellPulseRed 1.4s ease-out infinite; }
@keyframes bellPulseRed { 0% { box-shadow: 0 0 0 0 rgba(202,91,46,.5); } 70% { box-shadow: 0 0 0 7px rgba(202,91,46,0); } 100% { box-shadow: 0 0 0 0 rgba(202,91,46,0); } }

/* Dashboard */
.metric-grid { margin-bottom: 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.metric-card { min-height: 175px; padding: 20px; position: relative; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }.metric-card > p { margin: 21px 0 3px; color: var(--muted); font-size: 13px; font-weight: 600; }.metric-card > strong { display: block; margin-bottom: 4px; font-family: "Manrope", sans-serif; font-size: 27px; line-height: 1.1; letter-spacing: -.035em; }.metric-card > small { color: var(--muted); font-size: 12px; }
.metric-icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; }.metric-icon .icon { width: 18px; }.metric-icon--green { color: #27614f; background: #e0efe9; }.metric-icon--coral { color: #a64f3d; background: #f9e1dc; }.metric-icon--gold { color: #8a6424; background: #f7eaca; }.metric-icon--blue { color: #426d91; background: #e2edf5; }
.metric-trend { padding: 5px 8px; position: absolute; right: 17px; top: 20px; border-radius: 20px; color: var(--muted); background: #f1f3f2; font-size: 12px; font-weight: 700; }.metric-trend .icon { width: 10px; height: 10px; }.metric-trend--good { color: #38735f; background: #e5f2ed; }.metric-trend--warn { color: #9a4d3f; background: #f9e4df; }
.dashboard-grid { margin-bottom: 20px; display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(285px, .75fr); gap: 20px; }.dashboard-grid--lower { grid-template-columns: minmax(0, 1.5fr) minmax(310px, .8fr); }
.pipeline-panel, .city-panel, .recent-panel, .tasks-panel { padding: 22px; }.pipeline-bar { height: 9px; margin: 25px 0 21px; display: flex; gap: 3px; overflow: hidden; border-radius: 9px; background: #edf1ef; }.pipeline-segment { width: var(--segment); height: 100%; }.pipeline-segment--new { background: #9aaba4; }.pipeline-segment--contacted { background: var(--blue); }.pipeline-segment--qualified { background: var(--purple); }.pipeline-segment--proposal { background: var(--gold); }.pipeline-segment--won { background: #4a9a7e; }
.pipeline-stages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }.pipeline-stages a { padding: 0 14px; border-left: 1px solid var(--line); }.pipeline-stages a:first-child { padding-left: 0; border-left: 0; }.pipeline-stages a:last-child { padding-right: 0; }.pipeline-stages a > span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }.pipeline-stages strong, .pipeline-stages small { display: block; }.pipeline-stages strong { margin: 8px 0 3px; font-family: "Manrope", sans-serif; font-size: 20px; }.pipeline-stages small { color: var(--muted); font-size: 12px; }
.city-list { margin-top: 18px; display: flex; flex-direction: column; gap: 14px; }.city-list a { display: flex; align-items: center; gap: 12px; }.city-rank { width: 25px; height: 25px; border-radius: 7px; display: grid; place-items: center; color: var(--muted); background: #f1f4f2; font-size: 12px; font-weight: 800; }.city-list a > div { min-width: 0; flex: 1; }.city-list a > div > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.city-list strong { font-size: 13px; }.city-list small { color: var(--muted); font-size: 12px; }.city-list i { height: 4px; margin-top: 7px; border-radius: 4px; display: block; overflow: hidden; background: #edf1ef; }.city-list b { height: 100%; border-radius: inherit; display: block; background: #6b9b8d; }
.contact-list--compact { margin: 17px -22px -22px; }.contact-row--compact { grid-template-columns: minmax(210px, 1.5fr) minmax(120px, .9fr) 105px 24px !important; padding: 13px 22px !important; }.contact-row--compact .location-cell { padding-left: 0; }
.empty-mini { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.empty-mini > .icon { width: 31px; height: 31px; margin-bottom: 11px; color: #5b9581; }.empty-mini strong { margin-bottom: 4px; font-size: 14px; }.empty-mini p { margin: 0; color: var(--muted); font-size: 12px; }
.mini-task-list { margin: 14px -7px -5px; display: flex; flex-direction: column; }.mini-task-list > a { padding: 12px 7px; border-bottom: 1px solid #edf0ee; display: flex; align-items: center; gap: 11px; }.mini-task-list > a:last-child { border-bottom: 0; }.task-check { width: 17px; height: 17px; border: 1.5px solid #9eaaa5; border-radius: 5px; }.mini-task-list div { min-width: 0; flex: 1; }.mini-task-list strong, .mini-task-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.mini-task-list strong { font-size: 13px; }.mini-task-list small { margin-top: 4px; color: var(--muted); font-size: 12px; }.mini-task-list .icon { width: 14px; color: var(--muted); }
.simple-metrics .metric-card { color: inherit; }.simple-metrics a.metric-card:hover { transform: translateY(-2px); border-color: rgba(213,103,35,.32); }.simple-home-grid { grid-template-columns: minmax(0, 1.3fr) minmax(320px, .8fr); }.available-panel { padding: 22px; }.available-panel .contact-list { margin: 17px -22px -22px; }
.live-panel { padding: 22px; }.live-badge { display: inline-flex; align-items: center; gap: 5px; color: var(--spicy-paprika); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }.live-badge i, .working-now a > i, .live-pulse { width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: var(--spicy-paprika); box-shadow: 0 0 0 4px rgba(202,91,46,.12); }.working-now { margin: 15px -6px 6px; }.working-now > a { padding: 9px 7px; border-radius: 9px; display: flex; align-items: center; gap: 9px; background: rgba(213,103,35,.07); }.working-now > a > span:nth-child(2) { min-width: 0; flex: 1; }.working-now strong, .working-now small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.working-now strong { font-size: 12px; }.working-now small { margin-top: 2px; color: var(--muted); font-size: 12px; }.quiet-row { margin: 18px 0; padding: 13px; border-radius: 9px; color: var(--muted); background: rgba(25,31,60,.04); font-size: 12px; text-align: center; }.live-feed { max-height: 270px; overflow-y: auto; }.live-feed > a { padding: 10px 3px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 9px; }.live-feed > a:last-child { border-bottom: 0; }.live-feed > a > .icon, .feed-mark { width: 25px; height: 25px; padding: 5px; border-radius: 7px; color: var(--chocolate); background: rgba(213,103,35,.1); }.feed-mark { display: block; }.live-feed > a > span:last-child { min-width: 0; }.live-feed strong, .live-feed small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.live-feed strong { font-size: 12px; }.live-feed small { margin-top: 3px; color: var(--muted); font-size: 12px; }

/* Contacts directory */
.contact-toolbar { margin-bottom: 16px; padding: 17px 18px; }.filter-form { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }.filter-search { min-width: 260px; position: relative; flex: 1; }.filter-search .icon { width: 16px; position: absolute; left: 13px; top: 12px; color: var(--muted); }.filter-search input { width: 100%; height: 41px; padding: 0 12px 0 39px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink); background: #fafbfa; font-size: 13px; }.filter-search input:focus { border-color: #a9bdb5; background: white; }.select-wrap { min-width: 145px; position: relative; display: flex; align-items: center; }.select-wrap > .icon:first-child { width: 14px; position: absolute; left: 11px; color: var(--muted); pointer-events: none; }.select-wrap > .icon:last-child { width: 13px; position: absolute; right: 9px; color: var(--muted); pointer-events: none; }.select-wrap select { width: 100%; height: 41px; padding: 0 30px 0 31px; border: 1px solid var(--line); border-radius: 9px; outline: 0; appearance: none; color: var(--ink-2); background: #fff; font-size: 12px; font-weight: 700; }.filter-submit { min-height: 41px; display: none; }.clear-filters { min-height: 38px; padding: 0 7px; display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: 12px; font-weight: 700; }.clear-filters .icon { width: 13px; }.result-meta { margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf0ee; color: var(--muted); font-size: 12px; }.result-meta strong { color: var(--ink); }.result-meta span { margin: 0 5px; color: var(--muted); }
.scope-tabs { margin: -7px 0 15px; display: flex; gap: 7px; }.scope-tabs a { padding: 7px 13px; border: 1px solid var(--line); border-radius: 20px; color: var(--muted); background: var(--white); font-size: 12px; font-weight: 700; }.scope-tabs a.active { border-color: var(--space-indigo); color: var(--white); background: var(--space-indigo); }
.contact-table { overflow: hidden; }.contact-table-head, .contact-row { display: grid; grid-template-columns: minmax(215px, 1.65fr) minmax(220px, 1.65fr) minmax(145px, 1.1fr) 105px 105px 25px; align-items: center; gap: 14px; }.contact-table-head { min-height: 42px; padding: 0 20px; border-bottom: 1px solid var(--line); color: var(--muted); background: #fafbfa; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.contact-row { min-height: 71px; padding: 11px 20px; border-bottom: 1px solid #edf0ee; transition: background .15s; }.contact-row:last-child { border-bottom: 0; }.contact-row:hover { color: inherit; background: #fafcfb; }.restaurant-cell { min-width: 0; display: flex; align-items: center; gap: 12px; }.restaurant-cell > span:last-child, .contact-cell, .location-cell { min-width: 0; }.restaurant-cell strong, .restaurant-cell small, .contact-cell small, .location-cell strong, .location-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.restaurant-cell strong { margin-bottom: 4px; font-size: 13px; }.restaurant-cell small { color: var(--muted); font-size: 12px; }.complete-dot { width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; display: inline-block; background: #54a184; }.contact-cell { display: flex; flex-direction: column; gap: 4px; }.contact-cell small { display: flex; align-items: center; gap: 6px; color: var(--ink-2); font-size: 12px; }.contact-cell .icon { width: 12px; height: 12px; color: var(--muted); }.contact-cell small.muted { color: var(--muted); }.location-cell strong { margin-bottom: 4px; font-size: 12px; }.location-cell small, .followup-cell small { color: var(--muted); font-size: 12px; }.followup-cell strong { color: var(--ink-2); font-size: 12px; }.row-arrow { display: grid; place-items: center; color: var(--muted); }.row-arrow .icon { width: 14px; }
.restaurant-status-key { margin: -3px 0 13px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; justify-content: flex-end; gap: 15px; flex-wrap: wrap; color: var(--muted); background: rgba(255,255,255,.72); font-size: 12px; }.restaurant-status-key strong { margin-right: auto; color: var(--space-indigo); font-size: 12px; }.restaurant-status-key span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }.key-ring { width: 11px; height: 11px; border: 3px solid #a5aba9; border-radius: 50%; display: inline-block; background: var(--white); }.key-ring--lost { border-color: var(--spicy-paprika); }.key-ring--not-contacted { border-color: #a5aba9; }.key-ring--interested { border-color: var(--success); }.key-ring--followup { border-color: var(--followup); }
.available-dot { width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; display: inline-block; background: var(--chocolate); }.owner-pill { max-width: 100px; padding: 5px 8px; border-radius: 7px; display: inline-block; overflow: hidden; color: var(--graphite); background: rgba(25,31,60,.06); font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }.owner-pill--available { color: var(--chocolate); background: rgba(213,103,35,.1); }.owner-pill--not-interested { color: var(--spicy-paprika); background: rgba(202,91,46,.1); }.owner-pill--mine { color: var(--white); background: var(--space-indigo); }
/* "Currently viewing" chip, filled live from api=viewers (2-minute window) */
.viewing-chip { margin-top: 5px; display: flex; align-items: center; gap: 6px; color: var(--followup-dark) !important; font-size: 12px !important; font-weight: 800; }
.viewing-chip[hidden] { display: none; }
.viewing-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; flex: 0 0 auto; background: var(--followup); box-shadow: 0 0 0 3px rgba(229,170,50,.2); animation: bellPulse 1.8s ease-out infinite; }
/* Status column in the restaurants table: bigger, outlined, easier to scan */
.contact-list .status { padding: 7px 11px; font-size: 12px; letter-spacing: .03em; box-shadow: inset 0 0 0 1.5px currentColor; }
.contact-list .status i { width: 7px; height: 7px; }
.pagination { margin-top: 19px; display: flex; align-items: center; justify-content: space-between; }.pagination > a { min-width: 90px; display: flex; align-items: center; gap: 5px; color: var(--ink-2); font-size: 12px; font-weight: 700; }.pagination > a:last-child { justify-content: flex-end; }.pagination .icon { width: 13px; }.pagination a.disabled { pointer-events: none; opacity: .4; }.pagination > span { display: flex; align-items: center; gap: 4px; }.pagination > span a { width: 31px; height: 31px; border-radius: 8px; display: grid; place-items: center; color: var(--muted); font-size: 12px; font-weight: 700; }.pagination > span a:hover { background: #e9eeeb; }.pagination > span a.active { color: white; background: var(--green-800); }.pagination > span i { color: var(--muted); font-style: normal; font-size: 12px; }
.empty-state { min-height: 410px; padding: 50px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.empty-icon { width: 56px; height: 56px; margin-bottom: 18px; border-radius: 17px; display: grid; place-items: center; color: var(--green-700); background: #e9f2ee; }.empty-icon .icon { width: 25px; height: 25px; }.empty-state h1, .empty-state h2 { margin: 0 0 8px; font-size: 21px; }.empty-state p { max-width: 420px; margin: 0 0 22px; color: var(--muted); font-size: 14px; }.empty-state > div { display: flex; gap: 8px; }.standalone-empty { margin-top: 30px; }

/* Account detail */
.breadcrumb-row { margin: -5px 0 24px; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }.breadcrumb-row a { display: flex; align-items: center; gap: 5px; color: var(--green-700); font-weight: 700; }.breadcrumb-row .icon { width: 13px; }
.account-hero { margin-bottom: 25px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }.account-identity { min-width: 0; display: flex; align-items: center; gap: 17px; }.account-identity > div { min-width: 0; }.account-title-line { display: flex; align-items: center; gap: 12px; }.account-title-line h1 { margin: 0; overflow: hidden; text-overflow: ellipsis; font-size: 28px; line-height: 1.25; letter-spacing: -.04em; white-space: nowrap; }.account-identity p { margin: 7px 0 0; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; }.account-identity p .icon { width: 13px; }.account-identity p span { color: var(--muted); }.hero-actions { display: flex; gap: 8px; }
.ownership-banner { min-height: 66px; margin: -8px 0 18px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: var(--white); }.ownership-banner > div { display: flex; align-items: center; gap: 11px; }.ownership-banner > div > .icon { width: 19px; color: var(--chocolate); }.ownership-banner strong, .ownership-banner small { display: block; }.ownership-banner strong { margin-bottom: 3px; font-size: 13px; }.ownership-banner small { color: var(--muted); font-size: 12px; }.ownership-banner--owned { background: rgba(25,31,60,.035); }.ownership-banner--mine { border-color: rgba(213,103,35,.22); background: rgba(213,103,35,.06); }.locked-composer { margin-bottom: 22px; padding: 13px 14px; border-radius: 9px; display: flex; align-items: center; gap: 9px; color: var(--muted); background: rgba(25,31,60,.05); font-size: 12px; }.locked-composer .icon { width: 15px; }
.account-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(280px, .68fr); gap: 20px; align-items: start; }.account-main, .account-aside { min-width: 0; display: flex; flex-direction: column; gap: 18px; }.account-summary, .activity-panel, .momentum-card, .sales-card, .research-card { padding: 22px; }
.contact-details-grid { margin-top: 23px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }.detail-block { min-width: 0; display: flex; align-items: flex-start; gap: 12px; }.detail-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: #5b7e73; background: #edf3f0; }.detail-icon .icon { width: 16px; }.detail-block > div { min-width: 0; }.detail-block small, .detail-block strong, .detail-block a { display: block; overflow: hidden; text-overflow: ellipsis; }.detail-block small { margin-bottom: 4px; color: var(--muted); font-size: 12px; }.detail-block strong, .detail-block a { color: var(--ink-2); font-size: 13px; line-height: 1.45; }.detail-block a:hover { color: var(--green-700); }.detail-block a .icon { width: 11px; height: 11px; }.missing-detail { color: var(--spicy-paprika) !important; font-weight: 600; }
.additional-contacts { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }.additional-contacts > strong { display: block; margin-bottom: 8px; font-size: 12px; }.additional-contacts > div { display: flex; gap: 8px; flex-wrap: wrap; }.additional-contacts a { padding: 6px 9px; border-radius: 7px; display: flex; align-items: center; gap: 5px; color: var(--ink-2); background: #f3f6f4; font-size: 12px; }.additional-contacts .icon { width: 12px; }

/* Chain badge + social links */
.chain-badge { padding: 4px 10px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; color: var(--ink); background: rgba(25,31,60,.06); font-size: 12px; font-weight: 700; }
.chain-badge .icon { width: 12px; }
.social-link { padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; display: inline-flex; align-items: center; color: inherit; font-size: 12px; font-weight: 600; text-decoration: none; }
.social-link:hover { border-color: rgba(213,103,35,.32); }
.restaurant-map-panel { padding: 22px; overflow: hidden; }.restaurant-map-panel .panel-heading { align-items: center; }.restaurant-map-panel .panel-heading p { max-width: 510px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.restaurant-map-panel .button .icon { width: 13px; }.restaurant-map-frame { height: 290px; margin: 18px -22px -22px; border-top: 1px solid var(--line); overflow: hidden; background: rgba(25,31,60,.04); }.restaurant-map-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.activity-panel .panel-heading { margin-bottom: 20px; }.activity-composer { margin-bottom: 25px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fbfcfb; }.activity-types { padding: 9px 10px 0; display: flex; gap: 3px; }.activity-types label { cursor: pointer; }.activity-types input { position: absolute; opacity: 0; pointer-events: none; }.activity-types span { min-height: 31px; padding: 0 9px; border-radius: 7px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 700; }.activity-types span .icon { width: 13px; }.activity-types input:checked + span { color: var(--green-800); background: #e8f0ec; }.activity-composer textarea { width: 100%; padding: 13px; border: 0; border-radius: 0; outline: 0; background: transparent; font-size: 13px; resize: vertical; }.composer-footer { min-height: 49px; padding: 7px 9px 7px 13px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }.task-due { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }.task-due[hidden] { display: none; }.task-due .icon { width: 13px; }.task-due input { padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink-2); background: white; font-size: 12px; }
.timeline { position: relative; }.timeline::before { width: 1px; content: ""; position: absolute; left: 16px; top: 16px; bottom: 25px; background: #dfe6e2; }.timeline-item { min-height: 65px; padding: 0 0 22px 47px; position: relative; }.timeline-icon { width: 33px; height: 33px; position: absolute; z-index: 2; left: 0; top: 0; border: 1px solid #e0e8e4; border-radius: 50%; display: grid; place-items: center; color: #607b72; background: #f3f7f5; }.timeline-icon .icon { width: 14px; }.timeline-item--call .timeline-icon { color: #3e6f92; background: #edf4f8; }.timeline-item--email .timeline-icon { color: #725f94; background: #f1edf6; }.timeline-item--meeting .timeline-icon { color: #926a29; background: #faf1dc; }.timeline-item--task .timeline-icon { color: #9b5042; background: #fae9e5; }.timeline-content { padding-top: 1px; }.timeline-content > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.timeline-content strong { font-size: 12px; }.timeline-content time { color: var(--muted); font-size: 12px; }.timeline-content p { margin: 7px 0 5px; color: var(--ink-2); font-size: 13px; line-height: 1.55; }.timeline-content > small { color: var(--muted); font-size: 12px; }.timeline-task { margin: 8px 0; padding: 8px 10px; border-radius: 8px; display: flex; justify-content: space-between; align-items: center; background: #f6f8f7; }.timeline-task span { display: flex; align-items: center; gap: 6px; color: var(--danger); font-size: 12px; font-weight: 700; }.timeline-task span.done { color: #43806c; }.timeline-task .icon { width: 13px; }.timeline-task form { margin: 0; }.timeline-task button { padding: 0; border: 0; color: var(--green-700); background: transparent; font-size: 12px; font-weight: 800; }.empty-timeline { padding: 35px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--muted); }.empty-timeline > span { width: 42px; height: 42px; margin-bottom: 11px; border-radius: 50%; display: grid; place-items: center; background: #edf3f0; }.empty-timeline .icon { width: 19px; }.empty-timeline strong { color: var(--ink); font-size: 13px; }.empty-timeline p { margin: 5px 0 0; font-size: 12px; }
.timeline-item--viewed .timeline-icon, .timeline-item--ownership .timeline-icon, .timeline-item--updated .timeline-icon { color: var(--chocolate); background: rgba(213,103,35,.1); }
.momentum-card { display: grid; grid-template-columns: 72px 1fr; gap: 15px; align-items: center; }.momentum-ring { width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--green-700) var(--progress), #e7edea 0); position: relative; }.momentum-ring::after { width: 54px; height: 54px; content: ""; position: absolute; border-radius: 50%; background: white; }.momentum-ring span { position: relative; z-index: 1; font-family: "Manrope", sans-serif; font-size: 14px; font-weight: 800; }.momentum-card h2 { margin: 0 0 5px; font-size: 14px; }.momentum-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.momentum-card ul { margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line); grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; list-style: none; }.momentum-card li { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }.momentum-card li .icon { width: 13px; }.momentum-card li.done { color: #3b725f; }
.sales-card .panel-heading, .research-card .panel-heading { align-items: center; }.sales-card .icon-button { width: 30px; height: 30px; color: var(--muted); }.sales-card .icon-button .icon { width: 14px; }.sales-card dl { margin: 15px 0 0; }.sales-card dl > div { min-height: 37px; border-bottom: 1px solid #edf0ee; display: flex; align-items: center; justify-content: space-between; gap: 15px; }.sales-card dl > div:last-child { border: 0; }.sales-card dt { color: var(--muted); font-size: 12px; font-weight: 500; }.sales-card dd { margin: 0; color: var(--ink-2); font-size: 12px; font-weight: 700; text-align: right; }.sales-card dd.overdue { color: var(--danger); }.priority { display: inline-flex; align-items: center; gap: 5px; text-transform: capitalize; }.priority::before { width: 6px; height: 6px; content: ""; border-radius: 50%; background: #91a19b; }.priority--high::before { background: var(--coral); }.priority--medium::before { background: var(--gold); }.priority--low::before { background: var(--blue); }
.research-card > p { margin: 14px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.55; }.research-links { margin-top: 14px; display: flex; flex-direction: column; gap: 7px; }.research-links a { display: flex; align-items: center; justify-content: space-between; color: var(--green-700); font-size: 12px; font-weight: 700; }.research-links .icon { width: 12px; }
.pain-points { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }.pain-points-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.pain-points-heading h3 { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; letter-spacing: -.02em; }.pain-points-heading .icon { width: 13px; color: var(--coral); }.pain-points-help { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.pain-points-empty { margin: 12px 0 0; padding: 11px 12px; border-radius: 9px; color: var(--muted); background: rgba(25,31,60,.04); font-size: 12px; line-height: 1.55; }
.pain-point-list { margin: 13px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }.pain-point { padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }.pain-point--open { border-color: rgba(202,91,46,.3); background: rgba(202,91,46,.045); }.pain-point-answer { margin-top: 10px; }.pain-point-label { display: block; margin-bottom: 4px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.pain-point p { margin: 0; color: var(--ink-2); font-size: 12px; line-height: 1.55; }.pain-point .pain-point-todo { color: var(--muted); font-style: italic; }
.pain-point-meta { margin-top: 10px; padding-top: 9px; border-top: 1px solid #edf0ee; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }.pain-point-meta small { color: var(--muted); font-size: 12px; }.pain-point-actions { display: flex; align-items: center; gap: 9px; }.pain-point-actions form { margin: 0; }.link-button { padding: 0; border: 0; color: var(--green-700); background: none; font-size: 12px; font-weight: 700; cursor: pointer; }.link-button:hover { text-decoration: underline; }.link-button--danger { color: var(--danger); }
.claim-modal-icon--done { background: var(--success); box-shadow: 0 8px 20px rgba(47,133,90,.25); }.pain-point-modal .field + .field { margin-top: 14px; }.pain-point-modal .field small { color: var(--muted); font-weight: 500; }

/* Tasks */
.task-tabs { margin: -5px 0 16px; border-bottom: 1px solid var(--line); display: flex; gap: 26px; }.task-tabs a { padding: 0 2px 12px; position: relative; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }.task-tabs a::after { height: 2px; content: ""; position: absolute; inset: auto 0 -1px; border-radius: 2px; background: transparent; }.task-tabs a.active { color: var(--green-800); }.task-tabs a.active::after { background: var(--green-700); }.task-tabs span { min-width: 20px; padding: 2px 6px; border-radius: 10px; text-align: center; color: var(--muted); background: #e8ecea; font-size: 12px; }
.outcome-tabs .outcome-tab--won { color: var(--success); }.outcome-tabs .outcome-tab--won::after { background: var(--success); }.outcome-tabs .outcome-tab--lost { color: var(--spicy-paprika); }.outcome-tabs .outcome-tab--lost::after { background: var(--spicy-paprika); }.outcome-search .filter-search { flex: 1; }
.task-page-panel { overflow: hidden; }.task-table-head, .task-row { display: grid; grid-template-columns: auto minmax(240px, 1.7fr) minmax(190px, 1.1fr) 150px 90px 24px; align-items: center; gap: 15px; }.task-table-head { min-height: 43px; padding: 0 20px; color: var(--muted); background: #fafbfa; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.task-table-head span:first-child { grid-column: 2; }.task-row { min-height: 73px; padding: 11px 20px; border-top: 1px solid #edf0ee; }.task-toggle button { height: 26px; padding: 0 11px; border: 1.5px solid #9aaba4; border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); background: white; font-size: 12px; font-weight: 700; white-space: nowrap; cursor: pointer; transition: .18s ease; }.task-toggle button:hover { border-color: var(--green-700); color: var(--green-700); }.task-toggle .icon { width: 12px; }.task-row--done { opacity: .65; }.task-row--done .task-toggle button { border-color: var(--green-700); color: white; background: var(--green-700); }.task-row--done .task-title strong { text-decoration: line-through; }.task-title strong, .task-title small { display: block; }.task-title strong { margin-bottom: 4px; font-size: 13px; }.task-title small { color: var(--muted); font-size: 12px; }.task-account { min-width: 0; display: flex; align-items: center; gap: 9px; }.task-account > span:last-child { min-width: 0; }.task-account strong, .task-account small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.task-account strong { font-size: 12px; }.task-account small { margin-top: 3px; color: var(--muted); font-size: 12px; }.task-date { display: flex; align-items: center; gap: 6px; color: var(--ink-2); font-size: 12px; }.task-date .icon { width: 13px; color: var(--muted); }.task-date.overdue { color: var(--danger); }.task-date.overdue .icon { color: var(--danger); }.empty-state--tasks { min-height: 390px; }

/* Duplicate review */
.duplicate-heading { margin-bottom: 17px; }.pending-summary { margin-bottom: 15px; padding: 18px 20px; display: flex; align-items: center; gap: 14px; }.pending-summary small { color: var(--muted); font-size: 12px; }.pending-summary h2 { margin: 3px 0; font-size: 15px; }.pending-summary p { margin: 0; color: var(--muted); font-size: 12px; }.duplicate-list { display: flex; flex-direction: column; gap: 10px; }.duplicate-card { padding: 16px 18px; display: grid; grid-template-columns: minmax(240px, 1fr) 140px auto; align-items: center; gap: 18px; }.duplicate-main { min-width: 0; display: flex; align-items: center; gap: 12px; }.duplicate-main > div { min-width: 0; }.duplicate-main h2 { margin: 0 0 4px; font-size: 14px; }.duplicate-main p { margin: 0; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.match-reasons { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 5px; }.match-reasons span { padding: 4px 7px; border-radius: 10px; display: inline-flex; align-items: center; gap: 4px; color: var(--chocolate); background: rgba(213,103,35,.1); font-size: 12px; font-weight: 700; }.match-reasons .icon { width: 10px; height: 10px; }.duplicate-actions { display: flex; gap: 7px; }.duplicate-actions form { margin: 0; }.duplicate-actions .button { min-height: 36px; padding: 0 12px; font-size: 12px; }.duplicate-footer { margin-top: 16px; padding: 14px 0; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }.duplicate-footer p { margin: 0 auto 0 0; color: var(--muted); font-size: 12px; }

/* Team and access */
.team-layout > .team-panel:only-child { grid-column: 1 / -1; }
.team-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .65fr); gap: 20px; align-items: start; }.team-panel, .invite-panel, .invite-result, .pending-panel, .access-panel { padding: 22px; }.member-list { margin: 16px -22px -22px; }.member-row { min-height: 72px; padding: 12px 22px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 43px minmax(150px, 1fr) minmax(190px, 1fr); align-items: center; gap: 12px; }.member-row > div:nth-child(2) { min-width: 0; }.member-row strong, .member-row > div:nth-child(2) > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.member-row strong { font-size: 13px; }.member-row strong small { color: var(--muted); font-size: 12px; }.member-row > div:nth-child(2) > span { margin-top: 3px; color: var(--muted); font-size: 12px; }.member-work { text-align: right; }.member-work a { display: flex; align-items: center; justify-content: flex-end; gap: 6px; color: var(--chocolate); font-size: 12px; font-weight: 700; }.member-work a i { width: 6px; height: 6px; border-radius: 50%; background: var(--spicy-paprika); }.member-work > span, .member-work > small { display: block; color: var(--muted); font-size: 12px; }.member-work > small { margin-top: 4px; }.team-side { display: flex; flex-direction: column; gap: 16px; }.invite-panel form { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }.invite-result h3 { margin: 12px 0 4px; font-family: "Manrope", sans-serif; font-size: 14px; }.invite-result p { margin: 0 0 10px; color: var(--muted); font-size: 12px; }.copy-field { display: flex; }.copy-field input { min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px 0 0 8px; flex: 1; color: var(--graphite); background: rgba(25,31,60,.035); font-size: 12px; }.copy-field button { padding: 0 12px; border: 0; border-radius: 0 8px 8px 0; color: var(--white); background: var(--space-indigo); font-size: 12px; font-weight: 700; }.invite-result > small { margin-top: 8px; display: block; color: var(--muted); font-size: 12px; }.pending-panel > div:not(.panel-heading) { padding: 10px 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 9px; }.pending-panel > div:nth-child(2) { margin-top: 11px; }.pending-panel strong, .pending-panel small { display: block; }.pending-panel strong { font-size: 12px; }.pending-panel small, .pending-panel time { margin-top: 2px; color: var(--muted); font-size: 12px; }.pending-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }.pending-actions time { margin-top: 0; }.pending-revoke-form { margin: 0; }.access-panel { margin-top: 20px; overflow: hidden; }.access-table { margin: 15px -22px -22px; overflow-x: auto; }.access-head, .access-row { min-width: 650px; padding: 0 22px; display: grid; grid-template-columns: minmax(180px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(135px,.8fr); align-items: center; gap: 15px; }.access-head { min-height: 36px; color: var(--muted); background: rgba(25,31,60,.035); font-size: 12px; font-weight: 800; text-transform: uppercase; }.access-row { min-height: 57px; border-top: 1px solid var(--line); }.access-row strong, .access-row small { display: block; }.access-row strong, .access-row time { font-size: 12px; }.access-row small { margin-top: 2px; color: var(--muted); font-size: 12px; }.auth-event { width: fit-content; padding: 5px 8px; border-radius: 12px; color: var(--space-indigo); background: rgba(25,31,60,.07); font-size: 12px; font-weight: 700; }.auth-event--login_success, .auth-event--login_remembered { color: var(--chocolate); background: rgba(213,103,35,.1); }.auth-event--login_failure, .auth-event--login_blocked_country { color: var(--spicy-paprika); background: rgba(202,91,46,.1); }

/* Team member roles */
.role-badge { padding: 2px 7px; border-radius: 999px; color: var(--chocolate); background: rgba(213,103,35,.12); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.member-role-form { margin: 6px 0 0; display: flex; justify-content: flex-end; }
.member-type-form { margin: 8px 0 0; display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.member-type-form select { min-height: 36px; padding: 0 30px 0 10px; border: 1px solid var(--control-line); border-radius: 9px; color: var(--ink); background: var(--white); font-size: 12px; font-weight: 700; }
.team-type-badge { margin-left: 4px; padding: 3px 7px; border-radius: 999px; color: var(--ink); background: rgba(25,31,60,.08); font-weight: 800; }
.team-type-badge--freelance { color: var(--chocolate) !important; background: rgba(213,103,35,.13); }
.team-type-badge--director { color: #17653d !important; background: rgba(38,208,124,.13); }

/* Freelance time registration */
.freelance-page-reminder { margin-bottom: 17px; padding: 16px 18px; border: 1px solid rgba(255,176,0,.45); border-radius: 15px; display: flex; align-items: center; gap: 14px; color: var(--space-indigo); background: linear-gradient(110deg, rgba(255,176,0,.16), rgba(255,122,24,.08)); box-shadow: 0 8px 24px rgba(117,67,0,.06); }
.freelance-reminder-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--gold-bright); box-shadow: 0 5px 14px rgba(255,176,0,.22); }
.freelance-reminder-icon .icon { width: 20px; height: 20px; }
.freelance-page-reminder > div { min-width: 0; flex: 1; }
.freelance-page-reminder strong, .freelance-page-reminder p { display: block; }
.freelance-page-reminder strong { font-family: "Manrope", sans-serif; font-size: 14px; }
.freelance-page-reminder p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.freelance-reminder-status { padding: 6px 10px; border-radius: 999px; flex: 0 0 auto; color: var(--followup-dark); background: rgba(255,176,0,.2); font-size: 12px; font-weight: 800; }
.freelance-summary { margin-bottom: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 14px; }
.freelance-summary article { padding: 18px 20px; }
.freelance-summary span, .freelance-summary small { display: block; color: var(--muted); font-size: 12px; font-weight: 700; }
.freelance-summary strong { margin: 3px 0; display: block; font-family: "Manrope", sans-serif; font-size: 29px; line-height: 1.1; }
.freelance-layout { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: 20px; align-items: start; }
.freelance-form-panel, .freelance-history { padding: 22px; }
.freelance-form { margin-top: 19px; display: flex; flex-direction: column; gap: 15px; }
.freelance-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.freelance-file { height: auto !important; min-height: 45px; padding: 7px; font-size: 12px; }
.freelance-file::file-selector-button { margin: -7px 11px -7px -7px; padding: 12px 13px; border: 0; border-right: 1px solid var(--line); color: var(--space-indigo); background: #f4f5f8; font-weight: 700; cursor: pointer; }
.freelance-file:hover::file-selector-button { background: #eceef4; }
.freelance-form .field > small { color: var(--muted); font-size: 12px; font-weight: 500; }
.freelance-form .field > span small { color: var(--muted); font-weight: 500; }
.freelance-entry-list { margin: 16px -22px -22px; }
.freelance-entry { padding: 16px 22px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 54px minmax(0,1fr) 38px; align-items: start; gap: 14px; }
.freelance-entry-date { width: 54px; padding: 8px 4px; border-radius: 11px; text-align: center; color: var(--space-indigo); background: rgba(25,31,60,.07); }
.freelance-entry-date strong, .freelance-entry-date span { display: block; }
.freelance-entry-date strong { font-family: "Manrope", sans-serif; font-size: 21px; line-height: 1; }
.freelance-entry-date span { margin-top: 4px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.freelance-entry-copy { min-width: 0; }
.freelance-entry-copy > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.freelance-entry-copy > div > strong { font-size: 14px; }
.freelance-entry-copy a { max-width: 55%; display: inline-flex; align-items: center; gap: 5px; overflow: hidden; color: var(--chocolate); font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.freelance-entry-copy a .icon { width: 13px; }
.freelance-entry-copy p { margin: 7px 0 0; color: var(--ink-2); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.freelance-delete { color: var(--danger); }
.freelance-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--muted); }
.freelance-empty .icon { width: 30px; height: 30px; margin-bottom: 8px; }
.freelance-empty p { margin: 0; font-size: 13px; }
.freelance-login-reminder { margin-bottom: 18px; padding: 13px 14px; border: 1px solid rgba(255,176,0,.45); border-radius: 14px; display: flex; align-items: center; gap: 12px; color: inherit; background: linear-gradient(110deg, rgba(255,176,0,.15), rgba(255,122,24,.07)); }
.freelance-login-reminder:hover { border-color: var(--gold-bright); color: inherit; transform: translateY(-1px); }
.freelance-login-reminder > span:nth-child(2) { min-width: 0; flex: 1; }
.freelance-login-reminder strong, .freelance-login-reminder small { display: block; }
.freelance-login-reminder strong { font-family: "Manrope", sans-serif; font-size: 13px; }
.freelance-login-reminder small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.freelance-login-reminder > .icon:last-child { width: 17px; color: var(--chocolate); }
.freelance-login-reminder .freelance-reminder-icon { width: 38px; height: 38px; border-radius: 11px; }
.freelance-signout-modal .modal-dialog { max-width: 450px; }
.freelance-signout-modal .modal-content { padding-top: 26px; border: 0; border-radius: 21px; overflow: hidden; box-shadow: 0 28px 80px rgba(9,12,27,.3); text-align: center; }
.freelance-signout-close { position: absolute; z-index: 2; right: 14px; top: 14px; color: var(--muted); }
.freelance-signout-visual { width: 66px; height: 66px; margin: 0 auto; border-radius: 20px; display: grid; place-items: center; color: var(--space-indigo); background: linear-gradient(145deg, var(--gold-bright), var(--orange-bright)); box-shadow: 0 12px 26px rgba(255,122,24,.25); transform: rotate(-3deg); }
.freelance-signout-visual > span { transform: rotate(3deg); }
.freelance-signout-visual .icon { width: 29px; height: 29px; stroke-width: 2; }
.freelance-signout-modal .modal-body { padding: 22px 30px 26px; }
.freelance-signout-modal .eyebrow { justify-content: center; }
.freelance-signout-modal .modal-title { margin: 0; font-family: "Manrope", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -.035em; }
.freelance-signout-modal .modal-body p { margin: 10px auto 0; max-width: 340px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.freelance-signout-modal .modal-footer { padding: 15px 18px; border-top: 1px solid var(--line); justify-content: center; gap: 8px; background: #fafbfa; }
.freelance-signout-modal .modal-footer form { margin: 0; }
[data-theme="dark"] .member-type-form select, [data-theme="dark"] .freelance-entry-date { border-color: var(--line); color: var(--ink); background: #181b26; }
[data-theme="dark"] .freelance-page-reminder, [data-theme="dark"] .freelance-login-reminder { border-color: rgba(255,176,0,.28); background: linear-gradient(110deg, rgba(255,176,0,.13), rgba(255,122,24,.06)); }
[data-theme="dark"] .freelance-signout-modal .modal-footer { background: #11192c; }

@media (max-width: 899.98px) {
    .freelance-layout { grid-template-columns: 1fr; }
}

@media (max-width: 639.98px) {
    .member-type-form { align-items: stretch; justify-content: flex-start; flex-wrap: wrap; }
    .member-type-form label, .member-type-form select { flex: 1; }
    .freelance-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .freelance-form-panel, .freelance-history { padding: 17px; }
    .freelance-entry-list { margin: 14px -17px -17px; }
    .freelance-entry { padding: 14px 17px; grid-template-columns: 48px minmax(0,1fr) 34px; gap: 10px; }
    .freelance-entry-date { width: 48px; }
    .freelance-entry-copy > div { align-items: flex-start; flex-direction: column; gap: 4px; }
    .freelance-entry-copy a { max-width: 100%; }
    .freelance-page-reminder { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: start; }
    .freelance-reminder-status { margin: 0; grid-column: 2; justify-self: start; }
    .freelance-signout-modal .modal-footer { align-items: stretch; flex-direction: column-reverse; }
    .freelance-signout-modal .modal-footer form, .freelance-signout-modal .modal-footer .button { width: 100%; }
}

@media (max-width: 419.98px) {
    .freelance-form-grid { grid-template-columns: 1fr; }
    .freelance-summary article { padding: 15px; }
}

/* Address lookup + phone country detection in the onboard modal */
.field--address { position: relative; }
.address-lookup-input { position: relative; display: block; }
.address-lookup-input > .icon { width: 17px; height: 17px; position: absolute; z-index: 2; left: 14px; top: 50%; color: var(--space-indigo); transform: translateY(-50%); pointer-events: none; }
.address-lookup-input > input { width: 100%; padding-left: 42px; padding-right: 42px; }
.address-lookup-input > i { width: 17px; height: 17px; position: absolute; z-index: 2; right: 14px; top: 50%; border: 2px solid rgba(16,42,114,.16); border-top-color: var(--orange-bright); border-radius: 50%; display: none; transform: translateY(-50%); animation: addressLookupSpin .7s linear infinite; }
.field--address.is-address-loading .address-lookup-input > i { display: block; }
.field--address.is-address-loading .address-lookup-input > input { border-color: rgba(36,76,255,.35); box-shadow: 0 0 0 3px rgba(36,76,255,.09); }
@keyframes addressLookupSpin { to { transform: translateY(-50%) rotate(360deg); } }
.address-suggestions { max-height: 220px; position: absolute; z-index: 70; left: 0; right: 0; top: 100%; margin-top: 6px; overflow: hidden; overflow-y: auto; border: 1px solid var(--line); border-radius: 11px; background: var(--white); box-shadow: var(--shadow-lg); }
.address-suggestion { width: 100%; padding: 10px 13px; border: 0; border-bottom: 1px solid var(--line); display: block; color: var(--ink-2); background: none; font-size: 12px; text-align: left; cursor: pointer; }
.address-suggestion:last-child { border-bottom: 0; }
.address-suggestion:hover, .address-suggestion.is-active { background: rgba(25,31,60,.07); }
.address-suggestion strong, .address-suggestion small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.address-suggestion small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.phone-country-hint { margin-top: 5px; display: block; color: var(--followup-dark); font-size: 12px; font-weight: 700; }
.phone-country-hint[hidden] { display: none; }
.phone-hint { margin-top: 5px; display: block; color: var(--muted); font-size: 12px; }
.phone-hint--ok { color: var(--success); }
[data-theme="dark"] .address-suggestions { background: var(--white); border-color: var(--line); }
[data-theme="dark"] .address-suggestion:hover { background: rgba(255,255,255,.06); }

/* Bootstrap onboarding modal */
.sales-card .viewed-at { margin-top: 2px; display: block; color: var(--muted); font-size: 12px; font-weight: 500; }
.ownership-banner-actions { flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.ownership-banner-actions form { margin: 0; }
.ownership-banner--takeover { border-color: rgba(202,91,46,.2); background: rgba(202,91,46,.055); }
.ownership-banner--not-interested { border-color: rgba(202,91,46,.18); background: rgba(202,91,46,.055); }.ownership-banner--not-interested > div > .icon { color: var(--spicy-paprika); fill: rgba(202,91,46,.15); }.restaurant-actions { margin: -10px 0 20px; display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }.restaurant-actions form { margin: 0; }.quick-note-panel { padding: 20px 22px; }.quick-note-panel[hidden] { display: none; }.quick-note-panel form { margin-top: 15px; }.quick-note-panel textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink-2); background: #fafbfa; font-size: 13px; resize: vertical; }.quick-note-panel textarea:focus { border-color: rgba(213,103,35,.55); background: var(--white); }.quick-note-panel .form-actions { margin-top: 10px; }
.ownership-banner--won { border-color: rgba(47,133,90,.22); background: rgba(47,133,90,.07); }.ownership-banner--won > div > .icon { color: var(--success); }.outcome-readonly-notice { margin-top: 16px; }
.notes-panel { padding: 22px; }.notes-heading { align-items: center; }.note-search { width: min(220px,42%); height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; display: flex; align-items: center; gap: 7px; background: #fafbfa; }.note-search .icon { width: 14px; flex: 0 0 auto; color: var(--muted); }.note-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--ink-2); background: transparent; font-size: 12px; }.note-composer { margin-top: 17px; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; background: #fafbfa; }.note-composer textarea { width: 100%; padding: 13px 14px; border: 0; outline: 0; color: var(--ink-2); background: transparent; font-size: 13px; resize: vertical; }.note-composer > div { min-height: 47px; padding: 7px 8px 7px 14px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }.note-composer > div > span { color: var(--muted); font-size: 12px; }.note-list { margin-top: 18px; border-top: 1px solid var(--line); }.note-card { padding: 15px 3px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 10px; }.note-card[hidden] { display: none; }.note-card:last-of-type { border-bottom: 0; }.note-card > div { min-width: 0; }.note-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.note-card header strong { font-size: 12px; }.note-card time { color: var(--muted); font-size: 12px; }.note-card p { margin: 7px 0 0; color: var(--ink-2); font-size: 13px; line-height: 1.55; white-space: normal; }.notes-empty { padding: 31px 12px 18px; display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--muted); }.notes-empty[hidden] { display: none; }.notes-empty > .icon { width: 21px; margin-bottom: 8px; }.notes-empty strong { color: var(--ink-2); font-size: 12px; }.notes-empty p { margin: 4px 0 0; font-size: 12px; }
.claim-modal .modal-dialog { max-width: 470px; }.claim-modal .modal-content { padding-top: 28px; border: 0; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-lg); text-align: center; }.claim-modal-icon { width: 52px; height: 52px; margin: 0 auto; border-radius: 15px; display: grid; place-items: center; color: var(--white); background: var(--chocolate); box-shadow: 0 8px 20px rgba(213,103,35,.25); }.claim-modal-icon .icon { width: 23px; }.claim-modal .modal-body { padding: 18px 30px 25px; }.claim-modal .eyebrow { justify-content: center; margin-bottom: 12px; }.claim-modal .modal-title { margin: 0; font-family: "Manrope", sans-serif; font-size: 21px; font-weight: 800; line-height: 1.35; letter-spacing: -.035em; }.claim-modal .modal-body p { max-width: 370px; margin: 10px auto 0; color: var(--muted); font-size: 13px; line-height: 1.6; }.claim-modal .modal-footer { padding: 15px 20px; border-top: 1px solid var(--line); justify-content: center; gap: 8px; background: #fafbfa; }.claim-modal .modal-footer form { margin: 0; }
.claim-modal .claim-contact-choice { min-width: 100%; order: 3; }.claim-modal .claim-contact-choice .button { width: 100%; }
.contact-details-modal .modal-dialog { max-width: 650px; }.contact-modal-content { border: 0; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-lg); }.contact-modal-hero { padding: 23px 25px; display: grid; grid-template-columns: 56px minmax(0,1fr) 34px; align-items: center; gap: 15px; color: var(--white); background: var(--space-indigo); }.avatar--modal { width: 56px; height: 56px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; color: var(--white); background: rgba(255,255,255,.12); font-size: 14px; }.contact-modal-hero > div { min-width: 0; }.contact-modal-hero .eyebrow { margin-bottom: 6px; color: rgba(255,255,255,.68); }.contact-modal-hero .eyebrow i { background: var(--chocolate); }.contact-modal-hero .modal-title { margin: 0; overflow: hidden; font-family: "Manrope", sans-serif; font-size: 23px; font-weight: 800; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }.contact-modal-hero p { margin: 6px 0 0; display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.68); font-size: 12px; }.contact-modal-hero p .icon { width: 12px; }.contact-modal-hero p span { color: rgba(255,255,255,.35); }.contact-modal-hero > .icon-button { color: var(--white); background: rgba(255,255,255,.1); }.contact-modal-hero > .icon-button:hover { background: rgba(255,255,255,.18); }.contact-view-notice { padding: 11px 25px; display: flex; align-items: center; gap: 10px; color: var(--chocolate); background: rgba(213,103,35,.09); }.contact-view-notice > .icon { width: 18px; flex: 0 0 auto; }.contact-view-notice strong, .contact-view-notice span { display: block; }.contact-view-notice strong { font-size: 12px; }.contact-view-notice span { margin-top: 2px; color: var(--muted); font-size: 12px; }.contact-details-modal .modal-body { padding: 22px 25px; }.contact-modal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }.contact-modal-card { min-width: 0; min-height: 112px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; display: flex; align-items: flex-start; gap: 12px; background: var(--white); transition: border-color .15s, transform .15s; }.contact-modal-card:not(.is-missing):hover { border-color: rgba(213,103,35,.35); transform: translateY(-1px); }.contact-modal-card--address { min-height: 92px; grid-column: 1 / -1; }.contact-modal-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--chocolate); background: rgba(213,103,35,.1); }.contact-modal-icon .icon { width: 16px; }.contact-modal-card > div { min-width: 0; flex: 1; }.contact-modal-card small, .contact-modal-card strong, .contact-modal-card a, .contact-modal-card em { display: block; }.contact-modal-card small { margin: 1px 0 5px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }.contact-modal-card strong, .contact-modal-card a { overflow: hidden; color: var(--graphite); font-size: 13px; font-weight: 700; line-height: 1.45; text-overflow: ellipsis; }.contact-modal-card a:hover { color: var(--chocolate); }.contact-modal-card em { margin-top: 8px; color: var(--chocolate); font-size: 12px; font-style: normal; font-weight: 700; }.contact-modal-card em .icon { width: 10px; height: 10px; }.contact-modal-card.is-missing { border-style: dashed; background: rgba(25,31,60,.025); }.contact-modal-card.is-missing .contact-modal-icon { color: var(--muted); background: rgba(25,31,60,.06); }.contact-modal-card.is-missing strong, .contact-modal-card.is-missing em { color: var(--muted); }.contact-modal-footer { padding: 15px 25px; border-top: 1px solid var(--line); background: #fafbfa; }.contact-modal-footer p { margin: 0 auto 0 0; color: var(--muted); font-size: 12px; }.contact-modal-footer form { margin: 0; }
.followup-modal .modal-dialog { max-width: 510px; }.followup-modal .modal-content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-lg); }.followup-modal .modal-header { padding: 23px 25px 18px; border-bottom: 1px solid var(--line); align-items: flex-start; }.followup-modal .eyebrow { margin-bottom: 9px; }.followup-modal .modal-title { margin: 0 0 5px; font-family: "Manrope", sans-serif; font-size: 21px; font-weight: 800; }.followup-modal .modal-header p { margin: 0; color: var(--muted); font-size: 12px; }.followup-modal .modal-body { padding: 21px 25px; }.followup-modal .modal-footer { padding: 15px 25px; border-top: 1px solid var(--line); background: #fafbfa; }
.outcome-modal .modal-dialog { max-width: 540px; }.outcome-modal .modal-content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-lg); }.outcome-modal .modal-header { padding: 24px 26px 18px; border-bottom: 1px solid var(--line); align-items: flex-start; }.outcome-modal .modal-header > div { min-width: 0; }.outcome-modal-mark { width: 42px; height: 42px; margin-bottom: 15px; border-radius: 12px; display: grid; place-items: center; }.outcome-modal-mark .icon { width: 19px; }.outcome-modal-mark--lost { color: var(--white); background: var(--spicy-paprika); box-shadow: 0 7px 18px rgba(202,91,46,.22); }.outcome-modal-mark--won { color: var(--white); background: var(--success); box-shadow: 0 7px 18px rgba(47,133,90,.22); }.button--won { color: var(--white); background: var(--success); box-shadow: 0 5px 12px rgba(47,133,90,.2); }.button--won:hover { background: #276c49; }.outcome-modal .eyebrow { margin-bottom: 9px; }.outcome-modal .modal-title { margin: 0 0 7px; font-family: "Manrope", sans-serif; font-size: 21px; font-weight: 800; line-height: 1.3; }.outcome-modal .modal-header p, .outcome-modal .outcome-help { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }.outcome-modal .modal-body { padding: 21px 26px; }.outcome-modal .field > small { margin-top: 7px; display: block; color: var(--muted); font-size: 12px; }.outcome-modal .modal-footer { padding: 15px 26px; border-top: 1px solid var(--line); background: #fafbfa; }.outcome-modal .modal-footer form { margin: 0; }.outcome-note-label { margin-bottom: 7px; display: block; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.outcome-note { padding: 15px; border-left: 3px solid var(--spicy-paprika); border-radius: 0 10px 10px 0; color: var(--graphite); background: rgba(202,91,46,.06); font-size: 13px; line-height: 1.6; }.outcome-help { margin-top: 16px !important; }
.onboard-modal .modal-dialog { max-width: 780px; }.onboard-modal .modal-content { border: 0; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-lg); }.onboard-modal .modal-header { padding: 23px 27px; border-bottom: 1px solid var(--line); align-items: center; gap: 15px; background: linear-gradient(135deg, rgba(213,103,35,.08), rgba(25,31,60,.025)); }.onboard-modal-header > .icon-button { margin-left: auto; align-self: flex-start; }.onboard-modal-mark { width: 45px; height: 45px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; color: var(--white); background: var(--chocolate); box-shadow: 0 8px 20px rgba(213,103,35,.2); }.onboard-modal-mark .icon { width: 21px; }.onboard-modal-heading { min-width: 0; }.onboard-modal .modal-header .eyebrow { margin-bottom: 7px; font-size: 12px; }.onboard-modal .modal-title { margin: 0 0 4px; font-family: "Manrope", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -.035em; }.onboard-modal .modal-header p { margin: 0; color: var(--muted); font-size: 13px; }.onboard-modal .modal-body { padding: 22px 27px 25px; }.onboard-form-body { display: flex; flex-direction: column; gap: 23px; }.onboard-assignment { min-height: 56px; padding: 10px 12px; border: 1px solid rgba(47,133,90,.15); border-radius: 12px; display: flex; align-items: center; gap: 11px; background: rgba(47,133,90,.055); }.onboard-assignment > div { min-width: 0; flex: 1; }.onboard-assignment strong, .onboard-assignment small { display: block; }.onboard-assignment strong { margin-bottom: 2px; color: var(--success-dark); font-size: 12px; }.onboard-assignment small { color: var(--muted); font-size: 12px; }.onboard-assignment-check { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; color: var(--white); background: var(--success); }.onboard-assignment-check .icon { width: 13px; }.onboard-form-section { padding-bottom: 23px; border-bottom: 1px solid var(--line); }.onboard-section-heading { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }.onboard-section-heading > span { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: var(--chocolate); background: rgba(213,103,35,.1); }.onboard-section-heading > span .icon { width: 15px; }.onboard-section-heading h3, .onboard-section-heading p { margin: 0; }.onboard-section-heading h3 { font-family: "Manrope", sans-serif; font-size: 14px; font-weight: 800; }.onboard-section-heading p { margin-top: 2px; color: var(--muted); font-size: 12px; }.onboard-modal .field > span { font-size: 12px; }.onboard-modal .field > span b { color: var(--spicy-paprika); }.onboard-modal .field-help { display: block; color: var(--muted); font-size: 12px; font-weight: 500; }.onboard-modal .invalid-feedback { margin: 0; font-size: 12px; font-weight: 600; }.onboard-optional { margin-top: -1px; border: 1px solid var(--line); border-radius: 13px; background: #fafbfa; overflow: hidden; }.onboard-optional summary { min-height: 58px; padding: 11px 14px; display: flex; align-items: center; gap: 11px; list-style: none; cursor: pointer; }.onboard-optional summary::-webkit-details-marker { display: none; }.onboard-optional summary > .icon:first-child { width: 30px; height: 30px; padding: 7px; border-radius: 8px; color: var(--chocolate); background: rgba(213,103,35,.1); }.onboard-optional summary > span:nth-child(2) { min-width: 0; flex: 1; }.onboard-optional summary strong, .onboard-optional summary small { display: block; }.onboard-optional summary strong { font-size: 12px; }.onboard-optional summary small { margin-top: 2px; color: var(--muted); font-size: 12px; }.onboard-optional summary > .icon:last-child { width: 15px; color: var(--muted); transition: transform .18s; }.onboard-optional[open] summary > .icon:last-child { transform: rotate(180deg); }.onboard-optional-fields { padding: 2px 14px 15px; }.onboard-modal .modal-footer { padding: 15px 27px; border-top: 1px solid var(--line); background: #fafbfa; }.onboard-modal-footer { justify-content: space-between; gap: 15px; }.onboard-modal-footer > p { max-width: 280px; margin: 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; line-height: 1.45; }.onboard-modal-footer > p .icon { width: 14px; color: var(--success); }.onboard-modal-footer > div { display: flex; gap: 8px; }.form-section-label { margin: 3px 0 0; display: flex; align-items: center; gap: 10px; }.form-section-label > span { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: var(--green-950); background: var(--lime); font-size: 12px; font-weight: 800; }.form-section-label strong, .form-section-label small { display: block; }.form-section-label strong { font-size: 13px; }.form-section-label small { color: var(--muted); font-size: 12px; }

/* Call script modal (#scriptModal) */
.script-modal .modal-dialog { max-width: 760px; }.script-modal .modal-content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-lg); }.script-modal .modal-header { padding: 24px 27px 19px; border-bottom: 1px solid var(--line); align-items: flex-start; }.script-modal .modal-header .eyebrow { margin-bottom: 10px; }.script-modal .modal-title { margin: 0 0 5px; font-family: "Manrope", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -.035em; }.script-modal .modal-header p { margin: 0; color: var(--muted); font-size: 13px; }.script-modal .modal-body { padding: 21px 27px; }.script-modal .modal-footer { padding: 16px 27px; border-top: 1px solid var(--line); background: #fafbfa; }
.script-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(200px, .8fr); gap: 18px; align-items: start; }
.script-body { min-height: 260px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; overflow-y: auto; font-size: 14px; line-height: 1.65; }
.script-checklist { display: flex; flex-direction: column; gap: 7px; }
.script-item { width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; gap: 9px; color: inherit; background: var(--white); font-size: 12px; font-weight: 600; text-align: left; cursor: pointer; }
.script-item-check { width: 15px; height: 15px; border: 2px solid var(--line); border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; }
.script-item.is-done { color: var(--muted); text-decoration: line-through; }
.script-item.is-done .script-item-check { border-color: var(--success); background: var(--success); }
.script-item.is-done .script-item-check::after { content: "✓"; color: #fff; font-size: 12px; line-height: 1; }
.script-item.is-current { border-color: var(--followup); box-shadow: 0 0 0 2px rgba(229,170,50,.18); }

@keyframes dueCardPulse { 0% { box-shadow: 0 0 0 3px rgba(229, 170, 50, .38), var(--shadow-sm); } 70% { box-shadow: 0 0 0 9px rgba(229, 170, 50, 0), var(--shadow-sm); } 100% { box-shadow: 0 0 0 3px rgba(229, 170, 50, 0), var(--shadow-sm); } }
.metric-card--due-today { border: 2px solid var(--followup); box-shadow: 0 0 0 3px rgba(229, 170, 50, .22), var(--shadow-sm); animation: dueCardPulse 1.8s ease-out infinite; }
.simple-metrics a.metric-card--due-today:hover { border-color: var(--followup-dark); }
.metric-card--contacted { border: 2px solid #426d91; box-shadow: 0 0 0 3px rgba(66,109,145,.18), var(--shadow-sm); }
.simple-metrics a.metric-card--contacted:hover { border-color: #345670; }

.overview-modal .modal-dialog { max-width: 560px; }
.overview-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.overview-stat { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 13px 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); color: inherit; text-decoration: none; }
a.overview-stat:hover { border-color: rgba(213,103,35,.32); color: inherit; }
.overview-stat .metric-icon { flex: 0 0 auto; }
.overview-stat > div:last-child { min-width: 0; }
.overview-stat strong { display: block; font-family: "Manrope", sans-serif; font-size: 21px; line-height: 1.1; letter-spacing: -.03em; }
.overview-stat span { display: block; color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.4; }
.overview-stat--due { border: 2px solid var(--followup); background: rgba(229, 170, 50, .07); }
.overview-next { margin-top: 18px; }
.overview-next > h3 { margin: 0 0 9px; font-family: "Manrope", sans-serif; font-size: 14px; font-weight: 800; letter-spacing: -.02em; }
.overview-next-list { display: grid; gap: 8px; }
.overview-next-item { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); color: inherit; text-decoration: none; }
.overview-next-item:hover { border-color: rgba(213,103,35,.32); color: inherit; }
.overview-next-item > .icon { flex: 0 0 auto; width: 16px; color: var(--followup-dark); }
.overview-next-item > span { min-width: 0; flex: 1; }
.overview-next-item strong { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.overview-next-item small { display: block; color: var(--muted); font-size: 12px; }
.overview-next-due { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; background: rgba(25,31,60,.06); color: var(--muted); font-size: 12px; font-style: normal; font-weight: 700; }
.overview-next-due--overdue { background: rgba(202,91,46,.12); color: var(--spicy-paprika); }
.overview-next-empty { margin: 0; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.overview-next-empty .icon { width: 16px; color: var(--success); }

/* Team due panel */
.team-due-panel { margin-bottom: 20px; padding: 22px; }
.team-due-list { margin-top: 17px; display: flex; flex-direction: column; gap: 9px; }
.team-due-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.team-due-item:hover { border-color: rgba(213,103,35,.32); }
.team-due-account { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.team-due-main { min-width: 0; }
.team-due-main strong, .team-due-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-due-main strong { font-size: 13px; }
.team-due-main small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.team-due-you { padding: 2px 6px; border-radius: 999px; display: inline-block; color: var(--followup-dark); background: rgba(229,170,50,.16); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.team-due-item .overview-next-due { flex: 0 0 auto; }
.team-due-form { margin: 0; flex: 0 0 auto; }
.team-due-complete .icon { width: 13px; height: 13px; }

/* Demo requests panel */
.demo-requests-panel { padding: 22px; }
.demo-request-list { margin-top: 15px; display: flex; flex-direction: column; gap: 9px; }
.demo-request-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.demo-request-item:hover { border-color: rgba(213,103,35,.32); }

/* Import page */
.import-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 18px; align-items: start; }
.import-columns-list { display: flex; flex-wrap: wrap; gap: 6px; }
.import-columns-list code { padding: 4px 8px; border-radius: 7px; background: rgba(25,31,60,.05); font-size: 12px; }

/* Guide page */
.guide-page { max-width: 860px; }
.guide-page .panel { padding: 24px 26px; }
.guide-page .panel + .panel { margin-top: 14px; }
.guide-page .panel h2 { margin: 0 0 10px; font-family: "Manrope", sans-serif; font-size: 16px; font-weight: 800; }
.guide-page .panel h3 { margin: 18px 0 6px; font-size: 14px; font-weight: 800; }
.guide-page .panel p, .guide-page .panel li { color: var(--ink-2); font-size: 13px; line-height: 1.7; }
.guide-page .panel ul { padding-left: 18px; }

/* Script editor page */
.script-edit-section { margin-bottom: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.script-edit-section input[type="text"] { width: 100%; margin-bottom: 10px; }

/* Responsive Bootstrap breakpoints */
@media (max-width: 1199.98px) {
    .metric-grid { grid-template-columns: repeat(2, 1fr); }
    .sidebar { transform: translateX(-100%); box-shadow: var(--shadow-lg); transition: transform .22s ease; }.sidebar.is-open { transform: translateX(0); }.sidebar-close, .menu-button { display: inline-flex; }.sidebar-scrim { position: fixed; z-index: 35; inset: 0; pointer-events: none; opacity: 0; background: rgba(8, 30, 24, .38); transition: opacity .2s; }.sidebar.is-open + .sidebar-scrim { pointer-events: auto; opacity: 1; }.main-area { margin-left: 0; }
    .account-layout { grid-template-columns: minmax(0, 1.55fr) minmax(265px, .7fr); }
    .contact-table-head, .contact-row { grid-template-columns: minmax(200px, 1.5fr) minmax(190px, 1.45fr) minmax(130px, 1fr) 100px 24px; }.contact-table-head span:nth-child(5), .contact-row > .followup-cell { display: none; }
    .task-table-head, .task-row { grid-template-columns: auto minmax(210px, 1.5fr) minmax(170px, 1fr) 130px 24px; }.task-table-head span:nth-child(5), .task-row > div:nth-last-child(2) { display: none; }
}

@media (max-width: 991.98px) {
    .login-shell { grid-template-columns: 1fr 1fr; }.login-story { padding: 38px; }.story-copy h1 { font-size: 48px; }
    .dashboard-grid, .dashboard-grid--lower { grid-template-columns: 1fr; }.city-list { display: grid; grid-template-columns: repeat(2, 1fr); }.pipeline-stages { grid-template-columns: repeat(5, 1fr); }
    .account-layout { grid-template-columns: 1fr; }.account-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.research-card { grid-column: 1 / -1; }
    .contact-table-head, .contact-row { grid-template-columns: minmax(210px, 1.5fr) minmax(170px, 1.1fr) 105px 24px; }.contact-table-head span:nth-child(2), .contact-row > .contact-cell { display: none; }
    .task-table-head, .task-row { grid-template-columns: auto minmax(210px, 1.5fr) minmax(170px, 1fr) 24px; }.task-table-head span:nth-child(4), .task-row > .task-date { display: none; }
    .team-layout { grid-template-columns: 1fr; }.team-side { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }.pending-panel { grid-column: 1 / -1; }.simple-home-grid { grid-template-columns: 1fr; }.import-layout { grid-template-columns: 1fr; }
    .duplicate-card { grid-template-columns: minmax(240px, 1fr) auto; }.duplicate-owner { display: none; }.duplicate-actions { flex-direction: column; }
}

@media (max-width: 767.98px) {
    .login-shell { display: block; }.login-story { display: none; }.login-panel { min-height: 100vh; padding: 35px 22px; }.mobile-brand { display: flex; }.login-heading h2 { font-size: 33px; }
    .topbar { height: 66px; padding: 0 17px; gap: 11px; }.global-search { width: auto; flex: 1; }.global-search kbd { display: none; }.topbar-actions .topbar-task { display: none; }.page-content { padding: 25px 17px 40px; }
    .page-heading { align-items: flex-start; }.page-heading h1, .dashboard-heading h1 { font-size: 25px; }.page-heading p { max-width: 420px; }.page-heading > .button { min-height: 39px; padding: 0 12px; font-size: 0; }.page-heading > .button .icon { width: 18px; }.contacts-heading { align-items: flex-end; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.metric-card { min-height: 156px; padding: 15px; }.metric-card > p { margin-top: 18px; }.metric-card > strong { font-size: 23px; }.metric-trend { display: none; }
    .pipeline-stages { grid-template-columns: repeat(3, 1fr); gap: 17px 0; }.pipeline-stages a:nth-child(4) { padding-left: 0; border-left: 0; }.city-list { grid-template-columns: 1fr; }.contact-row--compact { grid-template-columns: minmax(190px, 1.6fr) 95px 22px !important; }.contact-row--compact .location-cell { display: none; }
    .filter-form { display: grid; grid-template-columns: repeat(2, 1fr); }.filter-search { min-width: 0; grid-column: 1 / -1; }.select-wrap { min-width: 0; }.select-wrap:nth-of-type(4) { grid-column: 1 / -1; }.filter-submit { display: inline-flex; }.clear-filters { justify-content: center; }
    .contact-table-head { display: none; }.contact-row { min-height: 79px; grid-template-columns: minmax(175px, 1fr) 95px 23px; }.contact-row > .location-cell { display: none; }.contact-row .avatar--restaurant { width: 39px; height: 39px; }.restaurant-cell strong { font-size: 13px; }
    .restaurant-status-key { justify-content: flex-start; gap: 9px 13px; }.restaurant-status-key strong { width: 100%; margin: 0; }
    .pagination > span a:nth-of-type(n+4):not(:last-child), .pagination > span i { display: none; }
    .account-hero { align-items: flex-start; }.avatar--hero { width: 58px; height: 58px; border-radius: 16px; }.account-title-line { align-items: flex-start; flex-direction: column; gap: 5px; }.account-title-line h1 { max-width: 58vw; font-size: 22px; }.account-identity p { max-width: 60vw; flex-wrap: wrap; }.hero-actions { flex-direction: column; }.hero-actions .button { min-width: 40px; min-height: 38px; padding: 0 10px; font-size: 0; }.hero-actions .button .icon { width: 17px; }.contact-details-grid { grid-template-columns: 1fr; gap: 17px; }.account-aside { grid-template-columns: 1fr; }.research-card { grid-column: auto; }.activity-types { overflow-x: auto; }.activity-types span { padding: 0 7px; }.composer-footer { align-items: flex-end; gap: 8px; }.task-due { flex-wrap: wrap; }.timeline-content > div:first-child { align-items: flex-start; flex-direction: column; gap: 3px; }
    .task-table-head { display: none; }.task-row { min-height: 83px; grid-template-columns: auto minmax(0, 1fr) 23px; gap: 10px; }.task-row > .task-account, .task-row > .task-date, .task-row > div:nth-last-child(2) { display: none; }.task-title strong { white-space: normal; }.task-tabs { gap: 10px; justify-content: space-between; overflow-x: auto; }.task-tabs a { flex: 0 0 auto; }
    .onboard-modal .modal-dialog { margin: 0; min-height: 100%; }.onboard-modal .modal-content { min-height: 100vh; border-radius: 0; }.onboard-modal .modal-header, .onboard-modal .modal-body, .onboard-modal .modal-footer { padding-left: 18px; padding-right: 18px; }.onboard-modal .modal-header { align-items: flex-start; gap: 11px; }.onboard-modal-mark { width: 39px; height: 39px; border-radius: 11px; }.onboard-modal .modal-title { font-size: 19px; }.onboard-modal .modal-header p { max-width: 250px; line-height: 1.45; }.onboard-modal-footer { align-items: stretch; flex-direction: column; }.onboard-modal-footer > p { max-width: none; }.onboard-modal-footer > div { width: 100%; }.onboard-modal-footer > div .button--primary { flex: 1; }.onboard-assignment small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .claim-modal .modal-dialog { margin: 14px; }.claim-modal .modal-body { padding-left: 20px; padding-right: 20px; }.claim-modal .modal-footer { align-items: stretch; flex-direction: column-reverse; }.claim-modal .modal-footer form, .claim-modal .modal-footer .button { width: 100%; }
    .contact-details-modal .modal-dialog { margin: 14px; }.contact-modal-hero { padding: 18px; grid-template-columns: 46px minmax(0,1fr) 32px; gap: 11px; }.avatar--modal { width: 46px; height: 46px; border-radius: 13px; }.contact-modal-hero .modal-title { font-size: 19px; }.contact-view-notice, .contact-details-modal .modal-body, .contact-modal-footer { padding-left: 18px; padding-right: 18px; }.contact-modal-grid { grid-template-columns: 1fr; }.contact-modal-card--address { grid-column: auto; }.contact-modal-footer { align-items: stretch; flex-direction: column; }.contact-modal-footer p { margin: 0 0 4px; text-align: center; }.contact-modal-footer form, .contact-modal-footer .button { width: 100%; }
    .restaurant-actions { justify-content: stretch; }.restaurant-actions > .button, .restaurant-actions form { flex: 1; }.restaurant-actions form .button { width: 100%; }.followup-modal .modal-dialog { margin: 14px; }.followup-modal .modal-header, .followup-modal .modal-body, .followup-modal .modal-footer { padding-left: 18px; padding-right: 18px; }
    .outcome-modal .modal-dialog { margin: 14px; }.outcome-modal .modal-header, .outcome-modal .modal-body, .outcome-modal .modal-footer { padding-left: 18px; padding-right: 18px; }.outcome-modal .modal-footer { align-items: stretch; flex-direction: column; }.outcome-modal .modal-footer form, .outcome-modal .modal-footer .button { width: 100%; }
    .notes-heading { align-items: stretch; flex-direction: column; }.note-search { width: 100%; }.note-composer > div { align-items: stretch; flex-direction: column; }.note-composer .button { width: 100%; }.note-card header { align-items: flex-start; flex-direction: column; gap: 3px; }
    .restaurant-map-panel .panel-heading { align-items: flex-start; }.restaurant-map-panel .panel-heading .button { min-width: 38px; padding: 0 10px; font-size: 0; }.restaurant-map-panel .panel-heading .button .icon { width: 16px; }.restaurant-map-frame { height: 235px; }
    .ownership-banner { align-items: stretch; flex-direction: column; }.ownership-banner form .button { width: 100%; }.ownership-banner-actions { align-items: stretch; flex-direction: column-reverse; }.ownership-banner-actions form { width: 100%; }.scope-tabs { overflow-x: auto; padding-bottom: 2px; }.scope-tabs a { flex: 0 0 auto; }.team-side { grid-template-columns: 1fr; }.pending-panel { grid-column: auto; }.member-row { grid-template-columns: 38px minmax(0,1fr); }.member-work { grid-column: 2; text-align: left; }.member-work a { justify-content: flex-start; }.access-panel { padding-left: 16px; padding-right: 16px; }.access-table { margin-left: -16px; margin-right: -16px; }.working-now > a { min-height: 52px; }
    .duplicate-card { grid-template-columns: 1fr; }.duplicate-actions { flex-direction: row; flex-wrap: wrap; }.duplicate-actions .button { flex: 1; }.duplicate-actions form { flex: 1; }.duplicate-actions form .button { width: 100%; }.duplicate-footer { align-items: stretch; flex-direction: column; }.duplicate-footer p { margin: 0; text-align: center; }.duplicate-footer form .button { width: 100%; }
    .team-due-item { flex-wrap: wrap; }.team-due-account { flex: 1 1 100%; }.team-due-form { margin-left: auto; }
    .script-layout { grid-template-columns: 1fr; }.demo-request-item { flex-wrap: wrap; }
}

@media (max-width: 479.98px) {
    .overview-stats { grid-template-columns: 1fr; }
    .neutral-login { padding: 0; background: var(--white); }.neutral-login-card { min-height: 100vh; padding: 35px 23px; border: 0; border-radius: 0; display: flex; flex-direction: column; justify-content: center; box-shadow: none; }
    .metric-grid { grid-template-columns: 1fr; }.metric-card { min-height: 145px; }.pipeline-stages { grid-template-columns: repeat(2, 1fr); }.pipeline-stages a:nth-child(3), .pipeline-stages a:nth-child(5) { padding-left: 0; border-left: 0; }.pipeline-stages a:nth-child(4) { padding-left: 14px; border-left: 1px solid var(--line); }
    .contact-row { padding-left: 13px; padding-right: 13px; }.contact-toolbar { padding: 13px; }.filter-form { grid-template-columns: 1fr; }.filter-search, .select-wrap:nth-of-type(4) { grid-column: auto; }.pagination > a { min-width: 58px; font-size: 0; }.pagination > a .icon { width: 16px; }.pagination > a:last-child { font-size: 0; }
    .account-hero { flex-wrap: wrap; }.account-identity { width: 100%; }.account-title-line h1, .account-identity p { max-width: calc(100vw - 125px); }.hero-actions { width: 100%; flex-direction: row; }.hero-actions .button { flex: 1; }.account-summary, .activity-panel, .momentum-card, .sales-card, .research-card { padding: 17px; }.momentum-card ul { grid-template-columns: 1fr; }.composer-footer { align-items: stretch; flex-direction: column; }.composer-footer .button { width: 100%; }
}

/* Dark theme */
[data-theme="dark"] { color-scheme: dark; --white: #1e2230; --canvas: #0b0d14; --ink: #f5f6fa; --ink-2: rgba(245, 246, 250, .9); --graphite: #e2e3ea; --muted: rgba(245, 246, 250, .72); --line: rgba(255, 255, 255, .20); --control-line: rgba(255, 255, 255, .42); --chocolate: #ff9454; --spicy-paprika: #ff7950; --followup: #ffc14d; --followup-dark: #ffd071; --success: #54cf8d; --success-dark: #74e3a8; --won-ink: #73d2ff; --lost-ink: #ff8298; --shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 5px 18px rgba(0, 0, 0, .34); --shadow-lg: 0 24px 70px rgba(0, 0, 0, .65); }
[data-theme="dark"] body.app-body { background: var(--canvas); color: var(--ink); }
[data-theme="dark"] .sidebar { background: #181b26; border-right-color: var(--line); }
[data-theme="dark"] .topbar { background: rgba(20, 22, 31, .92); border-bottom-color: var(--line); }
[data-theme="dark"] .topbar-actions .icon-button { color: rgba(232, 233, 240, .7); }
[data-theme="dark"] .topbar-task i { border-color: #14161f; }
[data-theme="dark"] .icon-button:hover { background: rgba(255, 255, 255, .07); }
[data-theme="dark"] .panel, [data-theme="dark"] .metric-card { background: var(--white); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .panel-heading h2, [data-theme="dark"] .page-heading h1, [data-theme="dark"] .result-meta strong { color: var(--ink); }
[data-theme="dark"] .main-nav a { color: rgba(232, 233, 240, .68); }
[data-theme="dark"] .main-nav a:hover { color: var(--ink); background: rgba(255, 255, 255, .05); }
[data-theme="dark"] .main-nav a.active { color: var(--ink); background: rgba(232, 128, 63, .22); }
[data-theme="dark"] .main-nav a.active .icon { color: var(--chocolate); }
[data-theme="dark"] .main-nav a.nav-link--due, [data-theme="dark"] .main-nav a.nav-link--due .icon { color: var(--followup); }
[data-theme="dark"] .main-nav a.nav-link--new, [data-theme="dark"] .main-nav a.nav-link--new .icon { color: #4cae7e; }
[data-theme="dark"] .main-nav a small { color: rgba(232, 233, 240, .6); background: rgba(255, 255, 255, .08); }
[data-theme="dark"] .sidebar-tip { border-color: var(--line); background: #181b26; }
[data-theme="dark"] .global-search input { color: var(--ink); background: rgba(255, 255, 255, .06); }
[data-theme="dark"] .global-search input:focus { border-color: rgba(255, 255, 255, .2); background: #181b26; }
[data-theme="dark"] .global-search kbd { border-color: var(--line); color: var(--muted); background: #181b26; }
[data-theme="dark"] .user-menu-dropdown, [data-theme="dark"] .bell-menu-dropdown { background: var(--white); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .task-toggle button { border-color: rgba(255, 255, 255, .28); color: var(--muted); background: #232737; }
[data-theme="dark"] .task-toggle button:hover { border-color: var(--spicy-paprika); color: var(--spicy-paprika); }
[data-theme="dark"] .task-row--done .task-toggle button { border-color: var(--spicy-paprika); color: white; background: var(--spicy-paprika); }
[data-theme="dark"] .topbar-task--due { background: rgba(242, 179, 61, .18); }
[data-theme="dark"] .topbar-task--fresh { background: rgba(226, 106, 61, .22); }
[data-theme="dark"] .user-menu-item:hover { background: rgba(255, 255, 255, .07); }
[data-theme="dark"] .contact-table-head, [data-theme="dark"] .task-table-head { color: rgba(232, 233, 240, .5); background: #181b26; }
[data-theme="dark"] .contact-row, [data-theme="dark"] .mini-task-list > a, [data-theme="dark"] .sales-card dl > div, [data-theme="dark"] .result-meta { border-color: var(--line); }
[data-theme="dark"] .task-row { border-top-color: var(--line); }
[data-theme="dark"] .contact-row:hover { background: rgba(255, 255, 255, .03); }
[data-theme="dark"] .quiet-row, [data-theme="dark"] .locked-composer, [data-theme="dark"] .ownership-banner--owned { background: rgba(255, 255, 255, .05); }
[data-theme="dark"] .timeline::before { background: var(--line); }
[data-theme="dark"] .timeline-icon { border-color: var(--line); background: #232737; }
[data-theme="dark"] .timeline-task, [data-theme="dark"] .additional-contacts a, [data-theme="dark"] .city-rank, [data-theme="dark"] .metric-trend, [data-theme="dark"] .task-tabs span, [data-theme="dark"] .heading-icon, [data-theme="dark"] .detail-icon { background: rgba(255, 255, 255, .07); }
[data-theme="dark"] .metric-trend, [data-theme="dark"] .task-tabs span { color: var(--muted); }
[data-theme="dark"] .momentum-ring::after { background: var(--white); }
[data-theme="dark"] .restaurant-status-key { background: rgba(30, 34, 48, .72); }
[data-theme="dark"] .pagination > span a:hover { background: rgba(255, 255, 255, .07); }
[data-theme="dark"] .status--new { color: rgba(232, 233, 240, .75); background: rgba(255, 255, 255, .08); }
[data-theme="dark"] .status--contacted, [data-theme="dark"] .status--qualified { color: #a9c3de; background: rgba(255, 255, 255, .07); }
[data-theme="dark"] .status--contacted i, [data-theme="dark"] .status--qualified i { background: #a9c3de; }
[data-theme="dark"] .owner-pill { color: rgba(232, 233, 240, .8); background: rgba(255, 255, 255, .08); }
[data-theme="dark"] .field input, [data-theme="dark"] .field select, [data-theme="dark"] .field textarea, [data-theme="dark"] .form-control, [data-theme="dark"] .select-wrap select, [data-theme="dark"] .filter-search input, [data-theme="dark"] .task-due input, [data-theme="dark"] .quick-note-panel textarea, [data-theme="dark"] .copy-field input { border-color: var(--line); color: var(--ink); background: #181b26; }
[data-theme="dark"] .activity-composer, [data-theme="dark"] .note-search, [data-theme="dark"] .note-composer { background: #181b26; }
[data-theme="dark"] .modal-content { border-color: var(--line); color: var(--ink); background: var(--white); }
[data-theme="dark"] .claim-modal .modal-footer, [data-theme="dark"] .followup-modal .modal-footer, [data-theme="dark"] .outcome-modal .modal-footer, [data-theme="dark"] .onboard-modal .modal-footer, [data-theme="dark"] .script-modal .modal-footer { background: #181b26; }
[data-theme="dark"] .onboard-modal .modal-header { background: linear-gradient(135deg, rgba(232,128,63,.12), rgba(255,255,255,.025)); }
[data-theme="dark"] .onboard-assignment { border-color: rgba(80,180,120,.2); background: rgba(47,133,90,.1); }
[data-theme="dark"] .onboard-optional { background: #181b26; }
[data-theme="dark"] .button--soft { border-color: var(--line); color: var(--ink); background: #232737; }
[data-theme="dark"] .button--soft:hover { border-color: rgba(255, 255, 255, .2); background: #2a2f42; }
[data-theme="dark"] .button--quiet { background: rgba(232, 128, 63, .2); }
[data-theme="dark"] .script-body { background: #181b26; }
[data-theme="dark"] .chain-badge { background: rgba(255,255,255,.08); }
[data-theme="dark"] .import-columns-list code { background: rgba(255,255,255,.06); }
[data-theme="dark"] .social-link:hover { border-color: rgba(232,128,63,.45); }
[data-theme="dark"] .demo-request-item:hover { border-color: rgba(232,128,63,.45); }
[data-theme="dark"] .toast { color: #bfe3d2; background: #223528; box-shadow: 0 12px 40px rgba(0, 0, 0, .45); }
[data-theme="dark"] .toast--error { color: #f0c0b5; background: #3a2320; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } .topbar-task--due i { animation: none; } .topbar-task--fresh i { animation: none; } .metric-card--due-today { animation: none; } }

/* Bulk chain management on the restaurants list (admin only). */
.bulk-chain-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px 18px; }
.bulk-chain-bar[hidden] { display: none; }
.bulk-chain-count { min-width: 74px; font-size: 13px; color: var(--ink); }
.bulk-chain-select { min-width: 175px; flex: 0 1 auto; }
.bulk-chain-new { width: 190px; height: 41px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink); background: #fafbfa; font-size: 13px; }
.bulk-chain-new:focus { border-color: #a9bdb5; background: white; }
.bulk-chain-check { flex-shrink: 0; width: 15px; height: 15px; margin: 0; accent-color: var(--chocolate); cursor: pointer; }
@media (max-width: 640px) {
    .bulk-chain-bar { padding: 12px 13px; }
    .bulk-chain-new { flex: 1 1 100%; }
}
[data-theme="dark"] .bulk-chain-new { border-color: var(--line); color: var(--ink); background: #181b26; }

/* Readable control boundaries and placeholder text across every workspace form. */
.field input, .field select, .field textarea, .activity-composer textarea, .select-wrap select, .filter-search input, .global-search input, .task-due input, .copy-field input, .bulk-chain-new { border-color: var(--control-line); }
[data-theme="dark"] .field input::placeholder, [data-theme="dark"] .field textarea::placeholder, [data-theme="dark"] .form-control::placeholder, [data-theme="dark"] .global-search input::placeholder, [data-theme="dark"] .filter-search input::placeholder { color: rgba(245, 246, 250, .7); }

/* Vivid fills use dark ink, while the darker palette remains available for readable text. */
.brand-mark, .onboard-modal-mark, .claim-modal-icon { color: var(--space-indigo); background: var(--orange-bright); }
.neutral-mark, .available-dot { background: var(--orange-bright); }
.onboard-assignment-check, .claim-modal-icon--done { color: var(--space-indigo); background: var(--green-bright); }
.outcome-modal-mark--won, .button--won { color: var(--space-indigo); background: var(--won-neon); box-shadow: 0 7px 20px rgba(25,167,255,.32); }
.button--won:hover { color: var(--space-indigo); background: var(--won-hover); box-shadow: 0 8px 22px rgba(25,167,255,.38); }
.outcome-modal-mark--lost { color: var(--night-ink); background: var(--lost-neon); box-shadow: 0 7px 20px rgba(255,45,85,.3); }
.button--danger-solid { color: var(--night-ink); background: var(--lost-neon); box-shadow: 0 5px 16px rgba(255,45,85,.28); }
.button--danger-solid:hover { color: var(--night-ink); background: var(--lost-hover); box-shadow: 0 7px 20px rgba(255,45,85,.34); }
.script-item.is-done .script-item-check { border-color: var(--green-bright); background: var(--green-bright); }
.script-item.is-done .script-item-check::after { color: var(--space-indigo); }
.avatar--restaurant.avatar-status--lost, .key-ring--lost { border-color: var(--lost-neon); box-shadow: 0 0 0 2px rgba(255,45,85,.12), 0 0 12px rgba(255,45,85,.34); }
.avatar--restaurant.avatar-status--won, .key-ring--won { border-color: var(--won-neon); box-shadow: 0 0 0 2px rgba(25,167,255,.12), 0 0 12px rgba(25,167,255,.34); }
.avatar--restaurant.avatar-status--interested, .key-ring--interested { border-color: var(--green-bright); }
.avatar--restaurant.avatar-status--followup, .key-ring--followup { border-color: var(--gold-bright); }
.status--qualified, .status--success { color: var(--success); background: rgba(38,208,124,.2); }
.status--qualified i, .status--success i { background: var(--green-bright); }
.status--won { color: var(--won-ink); background: rgba(25,167,255,.2); box-shadow: inset 0 0 0 1px rgba(25,167,255,.18); }
.status--won i { background: var(--won-neon); box-shadow: 0 0 8px rgba(25,167,255,.7); }
.status--proposal { color: var(--followup-dark); background: rgba(255,176,0,.24); }
.status--proposal i { background: var(--gold-bright); }
.status--lost { color: var(--lost-ink); background: rgba(255,45,85,.17); box-shadow: inset 0 0 0 1px rgba(255,45,85,.16); }
.status--lost i { background: var(--lost-neon); box-shadow: 0 0 8px rgba(255,45,85,.68); }
.nav-dot--won { background: var(--won-neon); box-shadow: 0 0 8px rgba(25,167,255,.58); }
.outcome-tabs .outcome-tab--won { color: var(--won-ink); }
.outcome-tabs .outcome-tab--won::after { background: var(--won-neon); box-shadow: 0 0 8px rgba(25,167,255,.55); }
.outcome-tabs .outcome-tab--lost { color: var(--lost-ink); }
.outcome-tabs .outcome-tab--lost::after { background: var(--lost-neon); box-shadow: 0 0 8px rgba(255,45,85,.52); }
.owner-pill--not-interested { color: var(--lost-ink); background: rgba(255,45,85,.14); }
.main-nav a.active { background: rgba(255,122,24,.18); box-shadow: inset 3px 0 0 var(--navy-electric); }
.topbar { border-bottom-color: rgba(36,76,255,.28); }
.sidebar { border-right-color: rgba(36,76,255,.18); }
.metric-icon--coral, .metric-icon--gold, .avatar-tone-2, .avatar-tone-3, .avatar-tone-5 { background: rgba(255,122,24,.2); }
.ownership-banner--won { border-color: rgba(25,167,255,.42); background: rgba(25,167,255,.12); }
.ownership-banner--won > div > .icon { color: var(--won-ink); filter: drop-shadow(0 0 5px rgba(25,167,255,.35)); }
.ownership-banner--not-interested { border-color: rgba(255,45,85,.4); background: rgba(255,45,85,.1); }
.ownership-banner--not-interested > div > .icon { color: var(--lost-ink); }
.onboard-assignment { border-color: rgba(38,208,124,.38); background: rgba(38,208,124,.12); }

/* The onboarding form owns the scroll area so its header and actions stay reachable. */
.onboard-modal .modal-content { max-height: calc(100dvh - 32px); }
.onboard-modal .modal-content > form { min-height: 0; display: flex; flex: 1 1 auto; flex-direction: column; overflow: hidden; }
.onboard-modal .modal-header, .onboard-modal .modal-footer { flex: 0 0 auto; }
.onboard-modal .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.onboard-bulk-import { padding: 14px; border: 1px solid rgba(38,208,124,.45); border-radius: 14px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; background: rgba(38,208,124,.11); }
.onboard-bulk-icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--space-indigo); background: var(--green-bright); }
.onboard-bulk-icon .icon { width: 18px; }
.onboard-bulk-import > div:nth-child(2) { min-width: 0; }
.onboard-bulk-import strong, .onboard-bulk-import small { display: block; }
.onboard-bulk-import strong { font-size: 13px; }
.onboard-bulk-import small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.onboard-bulk-actions { display: flex; gap: 7px; }

/* Two-step batch import workflow. */
.import-workflow { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.import-step { padding: 25px; position: relative; overflow: hidden; }
.import-step-number { width: 34px; height: 34px; margin-bottom: 17px; border-radius: 10px; display: grid; place-items: center; color: var(--space-indigo); background: var(--orange-bright); font-family: "Manrope", sans-serif; font-size: 15px; font-weight: 800; }
.import-step-number--green { background: var(--green-bright); }
.import-instructions { margin: 20px 0; padding-left: 22px; color: var(--ink-2); font-size: 13px; line-height: 1.8; }
.import-template-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.import-form { margin-top: 20px; display: flex; flex-direction: column; gap: 15px; }
.import-file-field input { height: auto; min-height: 50px; padding: 10px 12px; background: var(--white); }
.import-file-field small { color: var(--muted); font-size: 12px; font-weight: 500; }
.import-reference { margin-top: 18px; padding: 25px; }
.import-reference h3 { margin: 21px 0 7px; font-size: 15px; }
.import-reference p, .import-reference li { color: var(--ink-2); font-size: 13px; line-height: 1.65; }

@media (max-width: 767.98px) {
    .onboard-modal .modal-dialog { height: 100dvh; min-height: 0; }
    .onboard-modal .modal-content { height: 100dvh; min-height: 0; max-height: 100dvh; }
    .onboard-bulk-import { grid-template-columns: 36px minmax(0,1fr); }
    .onboard-bulk-actions { grid-column: 1 / -1; }
    .onboard-bulk-actions .button { flex: 1; }
    .import-workflow { grid-template-columns: 1fr; }
}

@media (max-width: 479.98px) {
    .onboard-bulk-actions { flex-direction: column; }
    .import-template-actions { flex-direction: column; }
    .import-template-actions .button { width: 100%; }
}

/* Navy navigation shell and clearer workspace navigation. */
.sidebar {
    color: #fff;
    background: linear-gradient(180deg, #102a72 0%, #0a1b4b 100%);
    border-right-color: rgba(36,76,255,.42);
    box-shadow: 12px 0 34px rgba(10,27,75,.12);
}
.sidebar .brand { color: #fff; }
.sidebar .brand-byline, .sidebar .nav-label, .sidebar-user small { color: rgba(255,255,255,.66); }
.sidebar .main-nav a { color: rgba(255,255,255,.78); }
.sidebar .main-nav a:hover { color: #fff; background: rgba(255,255,255,.09); }
.sidebar .main-nav a.active {
    color: #081942;
    background: linear-gradient(135deg, #ff8b2d, var(--orange-bright));
    box-shadow: inset 3px 0 0 #fff, 0 8px 20px rgba(0,0,0,.16);
}
.sidebar .main-nav a.active .icon { color: #102a72; }
.sidebar .main-nav a.nav-link--new:not(.active) { color: #bfeaff; box-shadow: inset 3px 0 0 var(--won-neon); }
.sidebar .main-nav a.nav-link--new:not(.active) .icon { color: var(--won-neon); }
.sidebar .main-nav a.nav-link--due:not(.active) { color: #ffe29a; box-shadow: inset 3px 0 0 var(--gold-bright); }
.sidebar .main-nav a.nav-link--due:not(.active) .icon { color: var(--gold-bright); }
.sidebar-user { border-top-color: rgba(255,255,255,.17); }
.sidebar-user strong { color: #fff; }
.sidebar-user .icon-button { color: rgba(255,255,255,.72); }
.sidebar-user .icon-button:hover { color: #fff; background: rgba(255,255,255,.1); }
.task-tabs a.active:not(.outcome-tab--won):not(.outcome-tab--lost) { color: var(--space-indigo); }
.task-tabs a.active:not(.outcome-tab--won):not(.outcome-tab--lost)::after { background: var(--navy-electric); }
.activity-types input:checked + span { color: var(--space-indigo); background: rgba(36,76,255,.1); }

/* Restaurant directory: five useful columns on desktop, complete cards on mobile. */
.contact-table-head, .contact-row {
    grid-template-columns: minmax(260px, 1.7fr) minmax(230px, 1.35fr) minmax(115px, .65fr) minmax(120px, .72fr) 26px;
    gap: 18px;
}
.contact-table-head { min-height: 46px; padding: 0 22px; background: #f5f7fb; }
.contact-row { min-height: 78px; padding: 13px 22px; border-bottom-color: rgba(16,42,114,.11); }
.contact-row:hover { background: rgba(36,76,255,.045); }
.restaurant-cell { gap: 13px; }
.restaurant-cell > span:last-child { min-width: 0; }
.restaurant-cell strong { margin-bottom: 5px; color: var(--ink); font-size: 14px; }
.restaurant-cell small { display: flex; align-items: center; gap: 5px; color: var(--muted); }
.restaurant-cell small .icon { width: 12px; height: 12px; flex: 0 0 auto; color: var(--navy-electric); }
.contact-cell { gap: 5px; }
.contact-cell small { font-size: 13px; }
.restaurant-status-cell { min-width: 0; display: flex; align-items: center; }
.owner-cell { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.owner-cell .owner-pill { max-width: 100%; }
.owner-cell .available-dot { margin-right: 1px; }
.contact-row .row-arrow { width: 26px; height: 34px; border-radius: 9px; transition: color .15s, background .15s, transform .15s; }
.contact-row:hover .row-arrow { color: var(--navy-electric); background: rgba(36,76,255,.09); transform: translateX(2px); }
.contact-row--compact { grid-template-columns: minmax(220px,1fr) 110px 24px !important; }

/* Dark mode uses layered blue-black surfaces and keeps every control legible. */
[data-theme="dark"] {
    --white: #131c31;
    --canvas: #070b16;
    --ink: #f5f7ff;
    --ink-2: #e4e9f7;
    --graphite: #eef2ff;
    --muted: #aeb8d0;
    --line: rgba(132,154,214,.24);
    --control-line: rgba(151,171,225,.48);
    --navy-electric: #5f7fff;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.45), 0 10px 28px rgba(0,0,0,.24);
    --shadow-lg: 0 28px 80px rgba(0,0,0,.68);
}
[data-theme="dark"] body.app-body {
    background: radial-gradient(circle at 90% 0, rgba(36,76,255,.12), transparent 34rem), var(--canvas);
}
[data-theme="dark"] .sidebar {
    color: #fff;
    background: linear-gradient(180deg, #0b1738 0%, #070d20 100%);
    border-right-color: rgba(95,127,255,.3);
    box-shadow: 14px 0 40px rgba(0,0,0,.3);
}
[data-theme="dark"] .sidebar .main-nav a { color: rgba(240,244,255,.75); }
[data-theme="dark"] .sidebar .main-nav a:hover { color: #fff; background: rgba(95,127,255,.12); }
[data-theme="dark"] .sidebar .main-nav a.active { color: #08142f; background: linear-gradient(135deg, #ff953c, var(--orange-bright)); }
[data-theme="dark"] .sidebar .main-nav a.active .icon { color: #102a72; }
[data-theme="dark"] .topbar { background: rgba(9,14,28,.9); border-bottom-color: rgba(95,127,255,.24); }
[data-theme="dark"] .panel, [data-theme="dark"] .metric-card, [data-theme="dark"] .modal-content {
    color: var(--ink);
    background: linear-gradient(180deg, #151f36 0%, #11192c 100%);
    border-color: var(--line);
}
[data-theme="dark"] .contact-table-head, [data-theme="dark"] .task-table-head, [data-theme="dark"] .access-head {
    color: #aeb8d0;
    background: #0d1528;
}
[data-theme="dark"] .contact-row, [data-theme="dark"] .task-row { border-color: rgba(132,154,214,.18); }
[data-theme="dark"] .contact-row:hover { background: rgba(95,127,255,.1); }
[data-theme="dark"] .contact-row:hover .row-arrow { color: #9bb0ff; background: rgba(95,127,255,.14); }
[data-theme="dark"] .restaurant-status-key { background: rgba(15,24,43,.92); border-color: var(--line); }
[data-theme="dark"] .restaurant-status-key strong { color: #dbe3ff; }
[data-theme="dark"] .key-ring { background: #11192c; }
[data-theme="dark"] .scope-tabs a { color: var(--muted); background: #111a2d; border-color: var(--line); }
[data-theme="dark"] .scope-tabs a.active { color: #fff; background: #284fc5; border-color: #6687ff; }
[data-theme="dark"] .task-tabs a.active:not(.outcome-tab--won):not(.outcome-tab--lost) { color: #aebdff; }
[data-theme="dark"] .task-tabs a.active:not(.outcome-tab--won):not(.outcome-tab--lost)::after { background: #6f8cff; }
[data-theme="dark"] .activity-types input:checked + span { color: #c5d0ff; background: rgba(95,127,255,.16); }
[data-theme="dark"] .global-search input, [data-theme="dark"] .filter-search input, [data-theme="dark"] .select-wrap select,
[data-theme="dark"] .field input, [data-theme="dark"] .field select, [data-theme="dark"] .field textarea,
[data-theme="dark"] .form-control, [data-theme="dark"] .task-due input, [data-theme="dark"] .copy-field input,
[data-theme="dark"] .bulk-chain-new {
    color: var(--ink);
    background: #0d1528;
    border-color: var(--control-line);
}
[data-theme="dark"] .global-search input:focus, [data-theme="dark"] .filter-search input:focus,
[data-theme="dark"] .field input:focus, [data-theme="dark"] .field select:focus, [data-theme="dark"] .field textarea:focus {
    border-color: #6f8cff;
    background: #101a31;
    box-shadow: 0 0 0 3px rgba(95,127,255,.2);
}
[data-theme="dark"] .activity-composer, [data-theme="dark"] .note-search, [data-theme="dark"] .note-composer,
[data-theme="dark"] .script-body, [data-theme="dark"] .onboard-optional { background: #0d1528; }
[data-theme="dark"] .contact-modal-card, [data-theme="dark"] .script-item, [data-theme="dark"] .overview-stat,
[data-theme="dark"] .overview-next-item, [data-theme="dark"] .team-due-item, [data-theme="dark"] .demo-request-item,
[data-theme="dark"] .script-edit-section, [data-theme="dark"] .pain-point { background: #111a2d; border-color: var(--line); }
[data-theme="dark"] .contact-modal-card strong, [data-theme="dark"] .contact-modal-card a,
[data-theme="dark"] .outcome-note { color: var(--ink-2); }
[data-theme="dark"] .contact-modal-card.is-missing, [data-theme="dark"] .pain-points-empty { background: rgba(95,127,255,.055); }
[data-theme="dark"] .claim-modal .modal-footer, [data-theme="dark"] .followup-modal .modal-footer,
[data-theme="dark"] .outcome-modal .modal-footer, [data-theme="dark"] .onboard-modal .modal-footer,
[data-theme="dark"] .script-modal .modal-footer, [data-theme="dark"] .contact-modal-footer { background: #0d1528; }
[data-theme="dark"] .onboard-modal .modal-header { background: linear-gradient(135deg, rgba(255,122,24,.12), rgba(95,127,255,.08)); }
[data-theme="dark"] .onboard-assignment, [data-theme="dark"] .onboard-bulk-import { background: rgba(38,208,124,.08); }
[data-theme="dark"] .owner-pill--mine, [data-theme="dark"] .copy-field button,
[data-theme="dark"] .contact-modal-hero, [data-theme="dark"] .avatar--modal,
[data-theme="dark"] .contact-modal-hero > .icon-button { color: #fff; }
[data-theme="dark"] .copy-field button { background: #3157d5; }
[data-theme="dark"] .button--soft { color: var(--ink); background: #19243d; border-color: var(--line); }
[data-theme="dark"] .button--soft:hover { color: #fff; background: #213050; border-color: #6687ff; }
[data-theme="dark"] .button--quiet { color: #ffb17a; background: rgba(255,122,24,.14); }
[data-theme="dark"] .button--danger:hover { color: #fff; }
[data-theme="dark"] .toast { color: #c8f7dd; background: #143424; }
[data-theme="dark"] .toast--error { color: #ffd0d9; background: #42192a; }

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgba(36,76,255,.42);
    outline-offset: 2px;
}
[data-theme="dark"] :where(a, button, input, select, textarea, summary):focus-visible { outline-color: rgba(111,140,255,.75); }

@media (max-width: 991.98px) {
    .contact-table-head, .contact-row:not(.contact-row--compact) {
        grid-template-columns: minmax(230px,1.5fr) 112px minmax(115px,.75fr) 26px;
    }
    .contact-table-head span:nth-child(2), .contact-row:not(.contact-row--compact) > .contact-cell { display: none; }
}

@media (max-width: 767.98px) {
    html, body { max-width: 100%; overflow-x: hidden; }
    .page-content > *, .panel, .page-heading > div { min-width: 0; }
    .sidebar { width: min(292px, 86vw); padding-bottom: max(18px, env(safe-area-inset-bottom)); }
    .sidebar-scrim { background: rgba(4,9,24,.66); backdrop-filter: blur(2px); }
    .topbar { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
    .topbar-actions { gap: 5px; }
    .topbar-actions .icon-button, .menu-button { width: 38px; height: 38px; }
    .global-search input { min-width: 0; padding-right: 12px; }
    .page-heading { flex-wrap: wrap; gap: 14px; }
    .contact-toolbar { border-radius: 14px; }
    .contact-table { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .contact-table > .contact-list { display: grid; gap: 11px; }
    .contact-table .contact-row:not(.contact-row--compact) {
        min-height: 0;
        padding: 15px;
        border: 1px solid var(--line);
        border-radius: 16px;
        grid-template-columns: minmax(0,1fr) auto 24px;
        grid-template-areas:
            "restaurant restaurant arrow"
            "contact contact contact"
            "status owner owner";
        gap: 13px 10px;
        background: var(--white);
        box-shadow: var(--shadow-sm);
    }
    .contact-row:not(.contact-row--compact) > .restaurant-cell { grid-area: restaurant; padding-right: 10px; }
    .contact-row:not(.contact-row--compact) > .contact-cell {
        grid-area: contact;
        padding: 11px 0 0 53px;
        border-top: 1px solid var(--line);
        display: flex;
        flex-flow: row wrap;
        gap: 7px 16px;
    }
    .contact-row:not(.contact-row--compact) > .contact-cell small { min-width: 0; max-width: 100%; }
    .contact-row:not(.contact-row--compact) > .restaurant-status-cell { grid-area: status; padding-left: 53px; }
    .contact-row:not(.contact-row--compact) > .owner-cell { grid-area: owner; align-items: flex-end; justify-content: center; }
    .contact-row:not(.contact-row--compact) > .row-arrow { grid-area: arrow; align-self: center; }
    .contact-row--compact { grid-template-columns: minmax(0,1fr) 105px 22px !important; }
    .restaurant-status-key { padding: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; }
    .restaurant-status-key strong { width: auto; grid-column: 1 / -1; }
    .task-page-panel { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .task-page-panel .task-list-full { display: grid; gap: 11px; }
    .task-page-panel .task-row {
        min-height: 0;
        padding: 15px;
        border: 1px solid var(--line);
        border-radius: 16px;
        grid-template-columns: auto minmax(0,1fr) auto;
        grid-template-areas:
            "toggle title arrow"
            ". account account"
            ". due state";
        gap: 11px;
        background: var(--white);
        box-shadow: var(--shadow-sm);
    }
    .task-page-panel .task-toggle { grid-area: toggle; }
    .task-page-panel .task-title { grid-area: title; }
    .task-page-panel .task-account { grid-area: account; display: flex; }
    .task-page-panel .task-date { grid-area: due; display: flex; }
    .task-page-panel .task-row > div:nth-last-child(2) { grid-area: state; display: block; justify-self: end; }
    .task-page-panel .row-arrow { grid-area: arrow; }
    [data-theme="dark"] .contact-table, [data-theme="dark"] .task-page-panel { border: 0; background: transparent; box-shadow: none; }
    .access-table { -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
    .modal:not(.onboard-modal) .modal-dialog { width: calc(100% - 16px); margin: 8px auto; }
    .modal:not(.onboard-modal) .modal-content { max-height: calc(100dvh - 16px); }
    .modal:not(.onboard-modal) .modal-content > form { min-height: 0; display: flex; flex-direction: column; }
    .modal:not(.onboard-modal) .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
    .toast { right: 8px; top: 74px; }
    .import-step, .import-reference, .guide-page .panel { padding: 20px; }
}

@media (max-width: 479.98px) {
    .page-content { padding-left: 13px; padding-right: 13px; }
    .page-heading > .button { width: 100%; min-height: 43px; font-size: 14px; }
    .page-heading > .button .icon { width: 17px; }
    .contacts-heading { align-items: stretch; }
    .global-search input { padding-left: 36px; font-size: 13px; }
    .global-search > .icon { left: 12px; }
    .contact-row:not(.contact-row--compact) > .contact-cell { padding-left: 0; flex-direction: column; }
    .contact-row:not(.contact-row--compact) > .restaurant-status-cell { padding-left: 0; }
    .owner-cell .owner-pill { max-width: 124px; }
    .restaurant-status-key { grid-template-columns: 1fr 1fr; }
    .filter-form .button, .filter-form .clear-filters { width: 100%; }
    .bulk-chain-bar > .button { flex: 1 1 calc(50% - 5px); }
    .bulk-chain-select { flex: 1 1 100%; }
    .pending-panel > div:not(.panel-heading) { align-items: stretch; flex-direction: column; }
    .pending-actions { width: 100%; justify-content: space-between; }
    .pending-actions .button { min-height: 40px; }
    .form-actions { align-items: stretch; flex-direction: column-reverse; }
    .form-actions .button { width: 100%; }
    .task-page-panel .task-row { grid-template-areas: "toggle title arrow" ". account account" ". due due" ". state state"; }
    .task-page-panel .task-row > div:nth-last-child(2) { justify-self: start; }
    .team-due-item { align-items: stretch; flex-direction: column; }
    .team-due-form, .team-due-form .button { width: 100%; }
    .overview-next-item { align-items: flex-start; flex-wrap: wrap; }
    .overview-next-due { margin-left: 27px; }
}

/* Restaurant world map */
.map-heading { margin-bottom: 14px; }
.map-toolbar { margin-bottom: 14px; padding: 12px; display: flex; align-items: center; gap: 12px; }
.map-search { width: 100%; min-width: 0; position: relative; display: flex; align-items: center; }
.map-search > .icon { width: 17px; position: absolute; left: 13px; z-index: 1; color: var(--muted); }
.map-search input { width: 100%; height: 42px; padding: 0 14px 0 40px; border: 1px solid var(--control-line); border-radius: 10px; outline: 0; color: var(--ink); background: var(--white); font-size: 14px; }
.map-search input:focus { border-color: var(--navy-electric); box-shadow: 0 0 0 3px rgba(36,76,255,.14); }
.map-status-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.map-status-filters .map-filter:first-child { grid-column: 1 / -1; }
.map-filter { min-height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--ink-2); background: var(--white); font-size: 11px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.map-filter:hover { border-color: rgba(36,76,255,.45); color: var(--space-indigo); }
.map-filter.is-active { border-color: var(--space-indigo); color: #fff; background: var(--space-indigo); box-shadow: 0 4px 12px rgba(16,42,114,.2); }
.map-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; background: #8790a4; box-shadow: 0 0 0 2px rgba(135,144,164,.14); }
.map-dot--interested { background: var(--green-bright); box-shadow: 0 0 7px rgba(38,208,124,.55); }
.map-dot--followup { background: var(--gold-bright); box-shadow: 0 0 7px rgba(255,176,0,.5); }
.map-dot--won { background: var(--won-neon); box-shadow: 0 0 7px rgba(25,167,255,.62); }
.map-dot--lost { background: var(--lost-neon); box-shadow: 0 0 7px rgba(255,45,85,.6); }
.map-workspace { min-height: 650px; position: relative; overflow: hidden; }
.map-summary { width: 300px; max-height: calc(100% - 32px); padding: 16px; position: absolute; left: 16px; top: 16px; z-index: 500; border: 1px solid rgba(16,42,114,.16); border-radius: 16px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; background: rgba(255,255,255,.93); box-shadow: 0 16px 46px rgba(8,20,47,.2); backdrop-filter: blur(14px); }
.map-summary-head { padding-bottom: 12px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }
.map-summary-head strong, .map-summary-head small { display: block; }
.map-summary-head strong { color: var(--ink); font-family: "Manrope", system-ui, sans-serif; font-size: 15px; }
.map-summary-head small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.map-summary-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--space-indigo); box-shadow: 0 6px 16px rgba(16,42,114,.22); }
.map-summary-icon .icon { width: 20px; }
.map-view-stats { padding: 11px; border: 1px solid rgba(16,42,114,.12); border-radius: 11px; background: rgba(245,247,255,.86); }
.map-view-stats-head { margin-bottom: 8px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.map-view-stats-head strong { color: var(--ink); font-family: "Manrope", system-ui, sans-serif; font-size: 12px; }
.map-view-stats-head span { color: var(--muted); font-size: 10px; white-space: nowrap; }
.map-view-stats-head b { color: var(--space-indigo); font-size: 11px; }
.map-view-stats dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 5px 11px; }
.map-view-stats dl > div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.map-view-stats dl > div:first-child { grid-column: 1 / -1; }
.map-view-stats dt { min-width: 0; display: flex; align-items: center; gap: 6px; color: var(--ink-2); font-size: 10px; font-weight: 700; white-space: nowrap; }
.map-view-stats dt .map-dot { width: 7px; height: 7px; flex: 0 0 auto; }
.map-view-stats dd { margin: 0; color: var(--space-indigo); font-family: "Manrope", system-ui, sans-serif; font-size: 11px; font-weight: 800; }
.map-counts { margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.map-counts > div { min-width: 0; padding: 8px; border: 1px solid rgba(16,42,114,.12); border-radius: 9px; display: flex; align-items: flex-start; flex-direction: column; gap: 2px; background: rgba(255,255,255,.76); }
.map-counts dt { color: var(--muted); font-size: 9px; line-height: 1.2; font-weight: 700; }
.map-counts dd { margin: 0; color: var(--space-indigo); font-family: "Manrope", system-ui, sans-serif; font-size: 16px; font-weight: 800; }
.map-locate-button, .map-stop-button { width: 100%; }
.map-stop-button { margin-top: 7px; }
.map-progress { margin: -3px 2px 0; color: var(--ink-2); font-size: 11px; line-height: 1.4; }
.map-auto-locator { padding: 10px; border: 1px solid rgba(38,208,124,.24); border-radius: 10px; display: flex; align-items: center; gap: 9px; background: rgba(38,208,124,.09); }
.map-auto-locator[hidden] { display: none; }
.map-auto-locator > div { min-width: 0; flex: 1; }
.map-auto-locator strong, .map-auto-locator small { display: block; }
.map-auto-locator strong { color: var(--ink); font-size: 11px; line-height: 1.25; }
.map-auto-locator small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.map-auto-pulse { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; background: #8790a4; }
.map-auto-locator.is-running .map-auto-pulse { background: var(--green-bright); box-shadow: 0 0 0 0 rgba(38,208,124,.5); animation: map-auto-pulse 1.8s ease-out infinite; }
.map-auto-pause { padding: 4px 3px; border: 0; color: var(--space-indigo); background: transparent; font-size: 10px; font-weight: 800; cursor: pointer; }
@keyframes map-auto-pulse { 70% { box-shadow: 0 0 0 7px rgba(38,208,124,0); } 100% { box-shadow: 0 0 0 0 rgba(38,208,124,0); } }
.map-summary-note { margin: auto 2px 0; padding-top: 18px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.workspace-map { min-width: 0; min-height: 650px; height: clamp(650px, calc(100dvh - 205px), 820px); position: relative; z-index: 0; background: #dce7ee; }
.workspace-map .leaflet-tile { outline: 1px solid transparent; backface-visibility: hidden; image-rendering: auto; }
.workspace-map.map-tiles-reconnecting::after { content: "Loading map…"; padding: 6px 9px; position: absolute; right: 54px; top: 11px; z-index: 1001; border: 1px solid rgba(16,42,114,.16); border-radius: 8px; color: var(--space-indigo); background: rgba(255,255,255,.92); box-shadow: var(--shadow-sm); font-size: 10px; font-weight: 800; pointer-events: none; }
.workspace-map.map-vector-warning::after { content: "Map reconnecting…"; padding: 6px 9px; position: absolute; right: 54px; top: 11px; z-index: 5; border: 1px solid rgba(16,42,114,.16); border-radius: 8px; color: var(--space-indigo); background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); font-size: 10px; font-weight: 800; pointer-events: none; }
.workspace-map .maplibregl-map, .workspace-map .maplibregl-canvas { width: 100%; height: 100%; }
.workspace-map .maplibregl-canvas { outline: 0; }
.workspace-map .maplibregl-ctrl-group { border: 1px solid rgba(16,42,114,.16); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-sm); }
.workspace-map .maplibregl-ctrl-group button { width: 35px; height: 35px; }
.workspace-map .maplibregl-popup-content { padding: 15px 16px; border: 1px solid rgba(16,42,114,.15); border-radius: 13px; color: var(--ink); background: var(--white); box-shadow: 0 14px 38px rgba(8,20,47,.23); }
.workspace-map .maplibregl-popup-close-button { width: 26px; height: 26px; color: var(--muted); font-size: 18px; }
.workspace-map .maplibregl-popup-tip { border-top-color: var(--white); }
.workspace-map .maplibregl-ctrl-attrib { color: #4f5665; background: rgba(255,255,255,.84); font-family: "DM Sans", system-ui, sans-serif; font-size: 10px; }
.map-loading { position: absolute; inset: 0; display: grid; place-content: center; gap: 10px; color: var(--space-indigo); font-size: 14px; font-weight: 700; }
.map-loading span { width: 28px; height: 28px; margin: auto; border: 3px solid rgba(16,42,114,.2); border-top-color: var(--navy-electric); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.workspace-map.map-load-error { padding: 30px; display: grid; place-items: center; color: var(--lost-ink); background: rgba(255,45,85,.08); font-weight: 700; text-align: center; }
.restaurant-map-marker-wrap { border: 0; background: transparent; }
.restaurant-map-pin { width: 29px; height: 29px; position: absolute; left: 2px; top: 2px; border: 3px solid #fff; border-radius: 50% 50% 50% 8px; display: grid; place-items: center; background: #8790a4; box-shadow: 0 3px 9px rgba(8,20,47,.32), 0 0 0 2px rgba(135,144,164,.28); transform: rotate(-45deg); }
.restaurant-map-pin i { width: 7px; height: 7px; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; display: block; transform: rotate(45deg); }
.restaurant-map-pin--interested { background: var(--green-bright); box-shadow: 0 3px 9px rgba(8,20,47,.3), 0 0 12px rgba(38,208,124,.72); }
.restaurant-map-pin--followup { background: var(--gold-bright); box-shadow: 0 3px 9px rgba(8,20,47,.3), 0 0 12px rgba(255,176,0,.68); }
.restaurant-map-pin--won { background: var(--won-neon); box-shadow: 0 3px 9px rgba(8,20,47,.3), 0 0 14px rgba(25,167,255,.86); }
.restaurant-map-pin--lost { background: var(--lost-neon); box-shadow: 0 3px 9px rgba(8,20,47,.3), 0 0 14px rgba(255,45,85,.84); }
.leaflet-popup-content-wrapper { border: 1px solid rgba(16,42,114,.15); border-radius: 13px; color: var(--ink); box-shadow: 0 14px 38px rgba(8,20,47,.23); }
.leaflet-popup-content { margin: 15px 16px; font-family: "DM Sans", system-ui, sans-serif; }
.restaurant-map-popup-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.restaurant-map-popup-head > strong { max-width: 155px; color: var(--space-indigo); font-family: "Manrope", system-ui, sans-serif; font-size: 15px; line-height: 1.25; }
.map-popup-status { padding: 4px 7px; border-radius: 20px; color: #4d5668; background: #eef0f4; font-size: 10px; line-height: 1; font-weight: 800; white-space: nowrap; }
.map-popup-status--interested { color: var(--success); background: rgba(38,208,124,.18); }
.map-popup-status--followup { color: var(--followup-dark); background: rgba(255,176,0,.2); }
.map-popup-status--won { color: var(--won-ink); background: rgba(25,167,255,.18); }
.map-popup-status--lost { color: var(--lost-ink); background: rgba(255,45,85,.15); }
.restaurant-map-popup p { margin: 10px 0 6px; color: var(--ink-2); font-size: 12px; line-height: 1.4; }
.restaurant-map-popup small { display: block; color: var(--muted); font-size: 11px; }
.restaurant-map-popup a { margin-top: 11px; display: inline-flex; color: var(--navy-electric); font-size: 12px; font-weight: 800; }
.leaflet-control-attribution { font-family: "DM Sans", system-ui, sans-serif; font-size: 10px; }

[data-theme="dark"] .status--qualified, [data-theme="dark"] .status--success { color: #7bf0b2; background: rgba(38,208,124,.16); }
[data-theme="dark"] .status--qualified i, [data-theme="dark"] .status--success i { background: var(--green-bright); box-shadow: 0 0 8px rgba(38,208,124,.55); }
[data-theme="dark"] .map-toolbar, [data-theme="dark"] .map-workspace { background: #11192c; }
[data-theme="dark"] .map-search input { color: var(--ink); background: #0d1528; border-color: var(--control-line); }
[data-theme="dark"] .map-filter { color: #c3cce2; background: #151f36; border-color: var(--line); }
[data-theme="dark"] .map-filter:hover { color: #fff; border-color: #6687ff; }
[data-theme="dark"] .map-filter.is-active { color: #fff; background: #3157d5; border-color: #7894ff; }
[data-theme="dark"] .map-summary { border-color: rgba(111,140,255,.28); background: rgba(13,21,40,.93); box-shadow: 0 18px 52px rgba(0,0,0,.42); }
[data-theme="dark"] .map-view-stats { border-color: var(--line); background: rgba(95,127,255,.07); }
[data-theme="dark"] .map-view-stats-head b, [data-theme="dark"] .map-view-stats dd { color: #aebdff; }
[data-theme="dark"] .map-counts > div { border-color: var(--line); background: rgba(95,127,255,.07); }
[data-theme="dark"] .map-counts dd { color: #aebdff; }
[data-theme="dark"] .map-auto-locator { border-color: rgba(38,208,124,.26); background: rgba(38,208,124,.08); }
[data-theme="dark"] .map-auto-pause { color: #aebdff; }
[data-theme="dark"] .workspace-map.map-tiles-reconnecting::after { color: #dbe3ff; background: rgba(13,21,40,.92); border-color: rgba(111,140,255,.28); }
[data-theme="dark"] .workspace-map.map-vector-warning::after { color: #dbe3ff; background: rgba(13,21,40,.94); border-color: rgba(111,140,255,.28); }
[data-theme="dark"] .workspace-map .maplibregl-popup-content { color: var(--ink); background: #111a2d; border-color: var(--line); }
[data-theme="dark"] .workspace-map .maplibregl-popup-tip { border-top-color: #111a2d; }
[data-theme="dark"] .workspace-map .maplibregl-ctrl-group { border-color: rgba(111,140,255,.28); }
[data-theme="dark"] .workspace-map .maplibregl-ctrl-group button { background-color: #111a2d; }
[data-theme="dark"] .workspace-map .maplibregl-ctrl-attrib { color: #c7cee0; background: rgba(9,14,28,.84); }
[data-theme="dark"] .workspace-map .maplibregl-ctrl-attrib a { color: #9bb0ff; }
[data-theme="dark"] .leaflet-popup-content-wrapper, [data-theme="dark"] .leaflet-popup-tip { color: var(--ink); background: #111a2d; border-color: var(--line); }
[data-theme="dark"] .restaurant-map-popup-head > strong { color: #dbe3ff; }
[data-theme="dark"] .restaurant-map-popup a { color: #8ba3ff; }
[data-theme="dark"] .leaflet-control-attribution { color: #c7cee0; background: rgba(9,14,28,.82); }
[data-theme="dark"] .leaflet-control-attribution a { color: #9bb0ff; }

@media (max-width: 1199.98px) {
    .map-summary { width: 286px; }
}

@media (max-width: 991.98px) {
    .map-summary { width: 275px; }
    .workspace-map { min-height: 620px; height: min(73dvh, 760px); }
}

@media (max-width: 767.98px) {
    .global-search { min-width: 0; }
    .map-workspace { width: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
    .map-summary { width: auto; min-width: 0; max-height: none; padding: 11px; position: static; order: -1; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; gap: 9px; overflow: visible; box-shadow: none; backdrop-filter: none; }
    .map-summary-head { display: none; }
    .map-status-filters { display: flex; width: calc(100vw - 58px); padding-bottom: 2px; overflow-x: auto; scrollbar-width: thin; }
    .map-status-filters .map-filter:first-child { grid-column: auto; }
    .map-filter { min-height: 35px; padding: 0 10px; flex: 0 0 auto; }
    .map-view-stats dl { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
    .map-view-stats dl > div:first-child { grid-column: auto; }
    .map-view-stats dl > div { padding: 5px 6px; border-radius: 7px; flex-direction: column; align-items: flex-start; background: rgba(16,42,114,.04); }
    .map-view-stats dt { font-size: 9px; }
    [data-theme="dark"] .map-view-stats dl > div { background: rgba(95,127,255,.07); }
    .map-counts { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .map-counts > div { padding: 7px 9px; }
    .map-locate-button, .map-stop-button { min-height: 39px; }
    .map-progress { margin: -2px 1px 0; }
    .workspace-map { min-height: 500px; height: 64dvh; }
}

@media (max-width: 479.98px) {
    .map-heading > div { width: 100%; min-width: 0; }
    .map-heading > .button { width: 100%; }
    .map-search input { font-size: 16px; }
    .map-status-filters { width: calc(100vw - 50px); }
    .map-summary { padding: 10px; gap: 8px; }
    .map-counts { gap: 6px; }
    .map-view-stats { overflow-x: auto; }
    .map-view-stats dl { min-width: 455px; }
    .map-counts dt { font-size: 10px; line-height: 1.25; }
    .map-counts dd { font-size: 16px; }
    .workspace-map { min-height: 470px; }
}

/* Mobile and tablet app shell ------------------------------------------------ */
.mobile-app-brand, .mobile-tabbar { display: none; }

@media (max-width: 1199.98px) {
    html { scroll-padding-top: 88px; }
    body.app-body { overscroll-behavior-y: none; -webkit-tap-highlight-color: transparent; }
    .page-content { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
    .panel, .metric-card { border-radius: 18px; }
    .button, .icon-button, .main-nav a { touch-action: manipulation; }
    .mobile-tabbar {
        width: min(720px, calc(100% - 28px));
        min-height: 70px;
        padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
        position: fixed;
        z-index: 80;
        left: 50%;
        bottom: 10px;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 23px;
        display: grid;
        grid-template-columns: repeat(5,minmax(0,1fr));
        align-items: end;
        color: rgba(255,255,255,.68);
        background: rgba(8,25,67,.96);
        box-shadow: 0 18px 50px rgba(4,12,34,.35);
        backdrop-filter: blur(18px);
        transition: opacity .18s ease, transform .18s ease;
    }
    .sidebar.is-open ~ .main-area .mobile-tabbar { opacity: 0; pointer-events: none; transform: translate(-50%, 12px); }
    .mobile-tabbar > a { min-width: 0; min-height: 54px; position: relative; border-radius: 15px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; color: inherit; font-size: 10px; font-weight: 700; line-height: 1; }
    .mobile-tabbar > a > .icon { width: 20px; height: 20px; }
    .mobile-tabbar > a > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-tabbar > a.active { color: #fff; background: rgba(255,255,255,.1); }
    .mobile-tabbar > a.active::after { width: 18px; height: 3px; content: ""; position: absolute; bottom: 3px; border-radius: 3px; background: var(--orange-bright); box-shadow: 0 0 10px rgba(255,122,24,.7); }
    .mobile-tabbar > a.has-alert > i { width: 7px; height: 7px; position: absolute; top: 7px; left: calc(50% + 8px); border: 1.5px solid #081943; border-radius: 50%; background: var(--gold-bright); box-shadow: 0 0 0 3px rgba(255,176,0,.18); }
    .mobile-tabbar > a > em { min-width: 18px; height: 18px; padding: 0 5px; position: absolute; top: 3px; left: calc(50% + 7px); border: 2px solid #081943; border-radius: 9px; display: grid; place-items: center; color: #fff; background: var(--lost-neon); font-size: 9px; font-style: normal; font-weight: 800; }
    .mobile-tabbar > .mobile-tabbar-add { overflow: visible; color: #fff; background: transparent; }
    .mobile-tabbar > .mobile-tabbar-add b { width: 48px; height: 48px; margin-top: -22px; border: 4px solid #0a1b4b; border-radius: 16px; display: grid; place-items: center; color: var(--space-indigo); background: var(--orange-bright); box-shadow: 0 9px 22px rgba(255,122,24,.36); transform: rotate(-3deg); }
    .mobile-tabbar > .mobile-tabbar-add b .icon { width: 22px; height: 22px; stroke-width: 2.4; transform: rotate(3deg); }
    .mobile-tabbar > .mobile-tabbar-add span { margin-top: -1px; }
}

@media (hover: none) and (pointer: coarse) {
    .button { min-height: 46px; }
    .icon-button { min-width: 42px; min-height: 42px; }
    .button:hover, .metric-card:hover, .contact-row:hover { transform: none; }
}

@media (max-width: 767.98px) {
    html { scroll-padding-top: calc(126px + env(safe-area-inset-top)); }
    body.app-body.is-nav-open { overflow: hidden; }
    .sidebar {
        width: 100%;
        height: 100dvh;
        padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
        z-index: 120;
        inset: 0;
        border-right: 0;
        color: #fff;
        background: linear-gradient(160deg, #102a72 0%, #071838 100%);
    }
    .sidebar-top { min-height: 54px; padding: 0 0 20px; border-bottom: 1px solid rgba(255,255,255,.14); }
    .sidebar .brand-logo { width: 43px; height: 43px; border-radius: 13px; }
    .sidebar .brand-text > span { font-size: 21px; }
    .sidebar .brand, .sidebar .brand-byline { color: #fff; }
    .sidebar .brand-byline { opacity: .62; }
    .sidebar-close { width: 46px; height: 46px; margin-left: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; color: #fff; background: rgba(255,255,255,.1); box-shadow: 0 5px 15px rgba(0,0,0,.12); }
    .sidebar-close .icon { width: 21px; height: 21px; }
    .sidebar-add { min-height: 50px; margin: 18px 0; border-radius: 14px; font-size: 15px; }
    .sidebar .main-nav { min-height: 0; gap: 7px; overflow-y: auto; }
    .sidebar .nav-label { padding: 5px 10px 7px; color: rgba(255,255,255,.48); }
    .sidebar .main-nav a { min-height: 52px; padding: 0 15px; border: 1px solid transparent; border-radius: 14px; gap: 14px; color: rgba(255,255,255,.75); font-size: 15px; }
    .sidebar .main-nav a .icon { width: 20px; height: 20px; }
    .sidebar .main-nav a.active { border-color: rgba(255,122,24,.45); color: #fff; background: rgba(255,122,24,.18); }
    .sidebar-user { margin-top: 14px; padding: 15px 4px 0; border-top-color: rgba(255,255,255,.14); }
    .sidebar-user small, .sidebar-user .icon-button { color: rgba(255,255,255,.62); }
    .sidebar.is-open + .sidebar-scrim { display: none; }
    [data-theme="dark"] .sidebar { background: linear-gradient(160deg, #0c2056 0%, #040b1a 100%); }
    [data-theme="dark"] .sidebar-close { color: #d9e0ff; background: rgba(255,255,255,.08); }
    .topbar {
        height: auto;
        min-height: calc(112px + env(safe-area-inset-top));
        padding: max(7px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));
        display: grid;
        grid-template-columns: 42px minmax(0,1fr) auto;
        grid-template-rows: 46px 44px;
        gap: 7px 8px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 5px 24px rgba(16,42,114,.08);
    }
    .menu-button { grid-column: 1; grid-row: 1; align-self: center; color: var(--space-indigo); background: rgba(36,76,255,.07); }
    .mobile-app-brand { min-width: 0; grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 9px; }
    .mobile-app-brand img { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; box-shadow: 0 4px 12px rgba(16,42,114,.16); }
    .mobile-app-brand > span { min-width: 0; }
    .mobile-app-brand small, .mobile-app-brand strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-app-brand small { color: var(--muted); font-size: 9px; line-height: 1.1; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
    .mobile-app-brand strong { margin-top: 2px; color: var(--ink); font-family: "Manrope", system-ui, sans-serif; font-size: 14px; line-height: 1.15; }
    .global-search { width: 100%; grid-column: 1 / -1; grid-row: 2; }
    .global-search input { height: 44px; padding-left: 42px; border-color: rgba(36,76,255,.16); border-radius: 13px; background: rgba(238,242,251,.92); font-size: 16px; }
    .global-search > .icon { left: 14px; color: var(--space-indigo); }
    .topbar-actions { grid-column: 3; grid-row: 1; align-self: center; gap: 3px; }
    .topbar-actions .topbar-task { display: inline-flex; }
    .topbar-actions .icon-button, .menu-button { width: 40px; height: 40px; }
    .topbar-actions .avatar--user { width: 38px; height: 38px; }
    .page-content { padding: 19px max(14px, env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); }
    .page-heading { margin-bottom: 19px; gap: 12px; }
    .page-heading h1, .dashboard-heading h1 { font-size: 26px; line-height: 1.12; }
    .page-heading p { font-size: 13px; line-height: 1.5; }
    .page-heading > .button { min-width: 44px; min-height: 44px; border-radius: 13px; }
    .panel, .metric-card { border-radius: 19px; box-shadow: 0 7px 24px rgba(16,42,114,.08); }
    .panel-heading { gap: 12px; }
    .panel-heading h2 { font-size: 16px; }
    .panel-heading p { font-size: 12px; line-height: 1.45; }
    .button { min-height: 46px; border-radius: 13px; }
    .button--small { min-height: 42px; }
    .field { gap: 8px; }
    .field input, .field select, .filter-search input, .select-wrap select, .bulk-chain-new { min-height: 48px; border-radius: 12px; font-size: 16px; }
    .field textarea, .activity-composer textarea, .note-composer textarea { font-size: 16px; }
    .toast { width: calc(100% - 20px); right: 10px; top: calc(120px + env(safe-area-inset-top)); border-radius: 14px; }
    .onboard-bulk-import { display: none; }

    /* Dashboard becomes a compact native-style card feed. */
    .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .metric-card { min-height: 128px; padding: 15px; }
    .metric-card > p { margin: 14px 0 2px; font-size: 11px; }
    .metric-card > strong { font-size: 22px; }
    .metric-card > small { font-size: 11px; }
    .metric-icon { width: 34px; height: 34px; border-radius: 10px; }
    .simple-metrics > .metric-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .dashboard-grid, .dashboard-grid--lower, .simple-home-grid { gap: 14px; }
    .team-due-panel, .demo-requests-panel, .recent-panel, .available-panel, .live-panel, .pipeline-panel, .city-panel, .tasks-panel { padding: 16px; }
    .available-panel .contact-list, .contact-list--compact { margin: 15px -16px -16px; }
    .team-due-list, .demo-request-list { margin-top: 13px; gap: 8px; }
    .team-due-item, .demo-request-item { padding: 12px; border-radius: 13px; }

    /* Lists read as tappable app cards instead of compressed tables. */
    .scope-tabs, .task-tabs { margin-left: -14px; margin-right: -14px; padding: 0 14px 5px; gap: 8px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
    .scope-tabs::-webkit-scrollbar, .task-tabs::-webkit-scrollbar, .restaurant-status-key::-webkit-scrollbar { display: none; }
    .scope-tabs a, .task-tabs a { min-height: 38px; padding: 0 13px; border-radius: 19px; display: inline-flex; align-items: center; scroll-snap-align: start; }
    .task-tabs { border-bottom: 0; }
    .task-tabs a::after { display: none; }
    .task-tabs a.active { color: #fff !important; background: var(--space-indigo); }
    .task-tabs .outcome-tab--won.active { background: var(--won-neon); color: var(--space-indigo) !important; }
    .task-tabs .outcome-tab--lost.active { background: var(--lost-neon); color: var(--night-ink) !important; }
    .contact-toolbar { padding: 13px; border-radius: 17px; }
    .filter-form { gap: 8px; }
    .result-meta { margin-top: 11px; padding-top: 10px; }
    .restaurant-status-key { margin-left: -14px; margin-right: -14px; padding: 7px 14px 11px; border: 0; border-radius: 0; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; background: transparent; box-shadow: none; }
    .restaurant-status-key strong { display: none; }
    .restaurant-status-key span { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 16px; flex: 0 0 auto; background: var(--white); }
    .contact-table .contact-row:not(.contact-row--compact), .task-page-panel .task-row { border-radius: 18px; box-shadow: 0 7px 22px rgba(16,42,114,.075); }
    .contact-table > .contact-list, .task-page-panel .task-list-full { gap: 10px; }
    .contact-row:not(.contact-row--compact) > .contact-cell { padding-top: 10px; }
    .pagination { margin-top: 16px; padding: 4px 2px; }
    .pagination > span a { width: 36px; height: 36px; border-radius: 11px; }

    /* Restaurant detail behaves like a stacked app profile. */
    .breadcrumb-row { margin: -3px 0 13px; }
    .account-hero { margin-bottom: 17px; padding: 16px; border-radius: 21px; align-items: flex-start; color: #fff; background: linear-gradient(145deg, #102a72, #173b96); box-shadow: 0 14px 34px rgba(16,42,114,.25); }
    .account-title-line h1 { color: #fff; }
    .account-identity p, .account-identity p span { color: rgba(255,255,255,.72); }
    .account-hero .avatar--hero { border: 2px solid rgba(255,255,255,.62); box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
    .account-hero .button--soft { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.12); }
    .restaurant-actions { margin: -4px -14px 16px; padding: 0 14px 4px; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .restaurant-actions::-webkit-scrollbar { display: none; }
    .restaurant-actions > .button, .restaurant-actions > form { flex: 0 0 auto; }
    .ownership-banner { padding: 14px; border-radius: 16px; }
    .account-main, .account-aside { gap: 14px; }
    .account-summary, .activity-panel, .momentum-card, .sales-card, .research-card, .notes-panel, .quick-note-panel, .restaurant-map-panel { padding: 17px; }
    .restaurant-map-frame { margin: 17px -17px -17px; }
    .contact-details-grid { margin-top: 18px; }

    /* Team and audit history use cards instead of wide desktop rows. */
    .team-layout { gap: 14px; }
    .team-panel { padding: 0; border: 0; background: transparent; box-shadow: none; }
    .team-panel > .panel-heading { padding: 0 2px 11px; }
    .member-list { margin: 0; display: grid; gap: 10px; }
    .member-row { min-height: 0; padding: 14px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); box-shadow: var(--shadow-sm); }
    .team-side { gap: 12px; }
    .invite-panel, .invite-result, .pending-panel, .access-panel { padding: 17px; }
    .access-panel { margin-top: 14px; overflow: visible; }
    .access-table { margin: 14px 0 0; overflow: visible; }
    .access-head { display: none; }
    .access-row { min-width: 0; min-height: 0; margin-top: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "person event" "address date"; gap: 9px 12px; background: var(--white); }
    .access-row > span:nth-child(1) { grid-area: person; min-width: 0; }
    .access-row > span:nth-child(2) { grid-area: event; justify-self: end; }
    .access-row > span:nth-child(3) { grid-area: address; }
    .access-row > time { grid-area: date; justify-self: end; color: var(--muted); }
    .auth-event { white-space: nowrap; }

    .import-workflow { gap: 13px; }
    .import-step, .import-reference, .guide-page .panel { padding: 17px; border-radius: 18px; }
    .guide-page .panel + .panel { margin-top: 11px; }
    .empty-state { min-height: 330px; padding: 38px 17px; border-radius: 19px; }
    .empty-state > div { width: 100%; flex-direction: column; }
    .empty-state > div .button { width: 100%; }

    [data-theme="dark"] .topbar { background: rgba(7,13,32,.96); box-shadow: 0 6px 28px rgba(0,0,0,.32); }
    [data-theme="dark"] .menu-button { color: #c5d0ff; background: rgba(95,127,255,.12); }
    [data-theme="dark"] .global-search input { background: #0d1528; border-color: rgba(111,140,255,.24); }
    [data-theme="dark"] .member-row, [data-theme="dark"] .access-row { background: linear-gradient(180deg, #151f36, #11192c); }
    [data-theme="dark"] .team-panel { background: transparent; border: 0; }
}

@media (max-width: 479.98px) {
    .mobile-tabbar { width: 100%; min-height: 72px; left: 0; bottom: 0; padding-left: max(6px, env(safe-area-inset-left)); padding-right: max(6px, env(safe-area-inset-right)); border-width: 1px 0 0; border-radius: 22px 22px 0 0; transform: none; }
    .sidebar.is-open ~ .main-area .mobile-tabbar { transform: translateY(12px); }
    .mobile-tabbar > a { min-height: 56px; font-size: 9px; }
    .mobile-tabbar > .mobile-tabbar-add b { width: 46px; height: 46px; }
    .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .metric-card { min-height: 122px; }
    .filter-form .button, .filter-form .clear-filters { min-height: 44px; }
    .modal:not(.onboard-modal) .modal-dialog { width: 100%; max-width: none; min-height: 100%; margin: 0; display: flex; align-items: flex-end; }
    .modal:not(.onboard-modal) .modal-content { width: 100%; max-height: 92dvh; border-radius: 24px 24px 0 0; overflow: hidden; }
    .modal:not(.onboard-modal) .modal-content::before { width: 42px; height: 5px; margin: 8px auto 1px; content: ""; border-radius: 5px; display: block; flex: 0 0 auto; background: var(--line); }
    .contact-modal-content, .claim-modal .modal-content, .followup-modal .modal-content, .outcome-modal .modal-content, .script-modal .modal-content { border-radius: 24px 24px 0 0; }
    .contact-modal-hero { padding-top: 14px; }
    .app-page-map .page-content { padding-left: 8px; padding-right: 8px; }
    .app-page-map .map-heading { padding: 0 6px; }
    .app-page-map .map-workspace { border-radius: 20px; }
}

@media (max-width: 359.98px) {
    .topbar { grid-template-columns: 40px minmax(0,1fr) auto; }
    .topbar-actions .theme-toggle { display: none; }
    .mobile-app-brand img { display: none; }
    .metric-grid { grid-template-columns: 1fr; }
    .simple-metrics > .metric-card:last-child:nth-child(odd) { grid-column: auto; }
}

/* Guided sales script editor and ordered call flow */
.script-page { max-width: 1180px; margin: 0 auto; }
.script-page-heading .eyebrow { margin-bottom: 10px; }
.script-editor-overview { margin-bottom: 20px; padding: 23px 25px; border-radius: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #fff; background: linear-gradient(135deg, #0b225e, #183d9d); box-shadow: 0 16px 38px rgba(16,42,114,.22); }
.script-editor-overview-copy { min-width: 0; display: flex; align-items: center; gap: 16px; }
.script-editor-mark { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--orange-bright); box-shadow: 0 8px 22px rgba(255,122,24,.3); }
.script-editor-mark .icon { width: 22px; }
.script-editor-overview-copy strong { display: block; font-family: "Manrope", sans-serif; font-size: 17px; }
.script-editor-overview-copy p { max-width: 680px; margin: 5px 0 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.55; }
.script-editor-stats { flex: 0 0 auto; display: flex; gap: 9px; }
.script-editor-stats > span { min-width: 92px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; color: rgba(255,255,255,.68); background: rgba(255,255,255,.08); font-size: 11px; font-weight: 700; text-align: center; }
.script-editor-stats strong { display: block; color: #fff; font-family: "Manrope", sans-serif; font-size: 20px; }
.script-editor-shell { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 20px; align-items: start; }
.script-edit-form { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.script-edit-section { margin: 0; padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); }
.script-edit-section input[type="text"] { width: 100%; margin-bottom: 0; }
.script-edit-section > .field + .field { margin-top: 15px; }
.script-edit-heading { width: 100%; margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 11px; float: none; }
.script-edit-heading > span:first-child { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--orange-bright); font-family: "Manrope", sans-serif; font-size: 14px; font-weight: 900; }
.script-edit-heading > span:nth-child(2) { min-width: 0; flex: 1; }
.script-edit-heading small, .script-edit-heading strong { display: block; }
.script-edit-heading small { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.script-edit-heading strong { margin-top: 1px; overflow: hidden; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.script-edit-heading em { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 11px; font-style: normal; font-weight: 700; }
.script-edit-heading em .icon { width: 13px; }
.script-tip-field { padding: 14px; border: 1px solid rgba(255,122,24,.24); border-radius: 14px; background: rgba(255,122,24,.055); }
.script-tip-field > span { display: flex; align-items: center; gap: 7px; color: var(--space-indigo); }
.script-tip-field > span .icon { width: 15px; color: var(--orange-hover); }
.script-tip-field > span small { margin-left: auto; color: var(--muted); font-weight: 600; text-transform: none; letter-spacing: 0; }
.script-tip-field > small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.script-save-bar { position: sticky; z-index: 4; bottom: 16px; padding: 12px 13px 12px 15px; border: 1px solid rgba(16,42,114,.13); border-radius: 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: rgba(255,255,255,.94); box-shadow: 0 14px 36px rgba(16,42,114,.16); backdrop-filter: blur(14px); }
.script-save-bar > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.script-save-bar > div > .icon { color: var(--green-bright); }
.script-save-bar strong, .script-save-bar small { display: block; }
.script-save-bar strong { color: var(--ink); font-size: 12px; }
.script-save-bar small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.script-editor-guide { position: sticky; top: 92px; padding: 20px; }
.script-editor-guide-icon { width: 39px; height: 39px; margin-bottom: 14px; border-radius: 12px; display: grid; place-items: center; color: var(--space-indigo); background: var(--green-bright); }
.script-editor-guide h2 { margin: 0; font-size: 15px; }
.script-editor-guide ol { margin: 17px 0; padding: 0; display: flex; flex-direction: column; gap: 8px; list-style: none; }
.script-editor-guide li { display: flex; align-items: center; gap: 9px; }
.script-editor-guide li span { width: 23px; height: 23px; border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: rgba(36,76,255,.08); font-size: 10px; font-weight: 900; }
.script-editor-guide li strong { overflow: hidden; color: var(--ink-2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.script-editor-guide > p { margin: 0; padding-top: 15px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.55; }

.script-modal .modal-dialog { max-width: 880px; }
.script-modal .modal-header { padding: 22px 26px 18px; color: #fff; background: linear-gradient(135deg, #0a2058, #173b96); border-bottom: 0; }
.script-modal .modal-header .eyebrow { margin-bottom: 8px; color: rgba(255,255,255,.65); }
.script-modal .modal-header .eyebrow i { background: var(--orange-bright); }
.script-modal .modal-header .modal-title { color: #fff; }
.script-modal .modal-header p { color: rgba(255,255,255,.7); }
.script-modal .modal-header .icon-button { color: #fff; background: rgba(255,255,255,.1); }
.script-modal-heading { width: min(460px,calc(100% - 52px)); }
.script-progress-track { width: 100%; height: 5px; margin-top: 13px; border-radius: 5px; overflow: hidden; background: rgba(255,255,255,.15); }
.script-progress-track span { width: 0; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--orange-bright), var(--green-bright)); box-shadow: 0 0 12px rgba(38,208,124,.5); transition: width .24s ease; }
.script-modal .modal-body { padding: 23px 26px; background: #f5f6fa; }
.script-layout { grid-template-columns: minmax(0,1.45fr) minmax(220px,.72fr); gap: 20px; }
.script-body { min-height: 310px; padding: 24px; border: 0; border-radius: 17px; color: var(--ink-2); background: var(--white); box-shadow: 0 8px 24px rgba(16,42,114,.08); font-size: 15px; line-height: 1.7; }
.script-body h3 { margin: 6px 0 16px; color: var(--ink); font-size: 23px; line-height: 1.25; }
.script-step-kicker { color: var(--orange-hover); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.script-step-copy { color: var(--ink-2); }
.script-quick-tip { margin-top: 22px; padding: 15px; border: 1px solid rgba(255,122,24,.25); border-radius: 14px; display: flex; align-items: flex-start; gap: 11px; color: var(--space-indigo); background: linear-gradient(135deg, rgba(255,122,24,.12), rgba(255,176,0,.08)); }
.script-quick-tip > .icon { width: 18px; margin-top: 2px; color: var(--orange-hover); }
.script-quick-tip strong { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.script-quick-tip p { margin: 4px 0 0; color: var(--ink-2); font-size: 13px; line-height: 1.55; }
.script-checklist { gap: 8px; }
.script-item { min-height: 53px; padding: 9px 11px; border-radius: 12px; transition: border-color .16s, background .16s, opacity .16s; }
.script-item > span:last-child { min-width: 0; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.script-item > span:last-child small { display: block; margin-bottom: 1px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.script-item.is-current { border-color: var(--orange-bright); background: rgba(255,122,24,.07); box-shadow: 0 0 0 3px rgba(255,122,24,.11); cursor: pointer; }
.script-item.is-current .script-item-check { border-color: var(--orange-bright); box-shadow: 0 0 0 3px rgba(255,122,24,.1); }
.script-item.is-done { opacity: .72; text-decoration: none; }
.script-item.is-done > span:last-child { text-decoration: line-through; }
.script-item.is-locked { opacity: .48; background: rgba(16,42,114,.025); cursor: not-allowed; }
.script-item:disabled { pointer-events: none; }
.script-modal-footer { justify-content: space-between; }
.script-modal-footer > div { display: flex; gap: 8px; }

/* Editable restaurant research and nearest prospects */
.research-note-list { margin-top: 16px; display: flex; flex-direction: column; gap: 9px; }
.research-note { padding: 12px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: flex-start; gap: 9px; background: rgba(16,42,114,.025); }
.research-note > .icon { width: 15px; margin-top: 2px; color: var(--orange-hover); }
.research-note p { margin: 0; color: var(--ink-2); font-size: 13px; line-height: 1.55; }
.research-links { margin-top: 12px; gap: 7px; }
.research-links a { min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 11px; color: var(--space-indigo); background: rgba(36,76,255,.035); }
.research-links a > span { min-width: 0; display: flex; align-items: center; gap: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.research-links a .icon { width: 13px; }
.research-empty { margin-top: 16px; padding: 17px; border: 1px dashed var(--line); border-radius: 13px; display: flex; align-items: center; gap: 10px; color: var(--muted); background: rgba(16,42,114,.02); }
.research-empty > .icon { width: 18px; }
.research-empty p { margin: 0; font-size: 12px; }
.research-modal .modal-dialog { max-width: 760px; }
.research-modal .modal-content { border: 0; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-lg); }
.research-modal .modal-header { padding: 23px 25px 18px; align-items: flex-start; background: linear-gradient(135deg, rgba(255,122,24,.1), rgba(36,76,255,.04)); }
.research-modal .modal-title { margin: 0 0 5px; font-size: 22px; }
.research-modal .modal-header p { margin: 0; color: var(--muted); font-size: 13px; }
.research-modal .modal-body { padding: 22px 25px; }
.research-modal .modal-footer { padding: 15px 25px; border-top: 1px solid var(--line); background: #fafbfc; }
.research-notes-field > small { color: var(--muted); font-size: 11px; }
.research-link-editor { margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--line); }
.research-link-editor-heading { margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.research-link-editor-heading strong, .research-link-editor-heading small { display: block; }
.research-link-editor-heading strong { color: var(--ink); font-size: 13px; }
.research-link-editor-heading small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.research-link-editor-list { display: flex; flex-direction: column; gap: 9px; }
.research-link-editor-row { padding: 11px; border: 1px solid var(--line); border-radius: 13px; display: grid; grid-template-columns: minmax(150px,.7fr) minmax(220px,1.3fr) 38px; align-items: end; gap: 9px; background: rgba(16,42,114,.025); }
.research-link-editor-row .field > span { font-size: 11px; }
.research-link-editor-row .icon-button { color: var(--lost-ink); }
.nearby-restaurants-panel { margin-top: 20px; padding: 22px; }
.nearby-heading-icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: var(--space-indigo); background: var(--green-bright); }
.nearby-heading-icon .icon { width: 18px; }
.nearby-table { margin-top: 17px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.nearby-table-head, .nearby-row { display: grid; grid-template-columns: minmax(220px,1.5fr) minmax(130px,.8fr) minmax(130px,.7fr) 92px; align-items: center; gap: 14px; }
.nearby-table-head { min-height: 39px; padding: 0 15px; color: var(--muted); background: rgba(16,42,114,.035); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.nearby-row { min-height: 67px; padding: 9px 14px 9px 12px; border-top: 1px solid var(--line); border-left: 4px solid #9aa3ae; background: var(--white); transition: background .16s, transform .16s; }
.nearby-row:hover { color: inherit; background: rgba(36,76,255,.035); }
.nearby-row--qualified { border-left-color: var(--green-bright); }
.nearby-row--contacted { border-left-color: var(--navy-electric); }
.nearby-row--demo, .nearby-row--proposal { border-left-color: var(--gold-bright); }
.nearby-row--won { border-left-color: var(--won-neon); }
.nearby-row--lost { border-left-color: var(--lost-neon); }
.nearby-restaurant { min-width: 0; display: flex; align-items: center; gap: 10px; }
.nearby-restaurant .avatar--small { width: 37px; height: 37px; font-size: 11px; }
.nearby-restaurant > span:last-child { min-width: 0; }
.nearby-restaurant strong, .nearby-restaurant small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nearby-restaurant strong { color: var(--ink); font-size: 13px; }
.nearby-restaurant small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.nearby-location { min-width: 0; display: flex; align-items: center; gap: 5px; overflow: hidden; color: var(--ink-2); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.nearby-location .icon { width: 13px; color: var(--orange-hover); }
.nearby-distance { display: flex; align-items: center; justify-content: flex-end; gap: 6px; color: var(--space-indigo); }
.nearby-distance strong { font-size: 13px; white-space: nowrap; }
.nearby-distance .icon { width: 13px; }
.nearby-empty { min-height: 104px; margin-top: 16px; padding: 18px; border: 1px dashed var(--line); border-radius: 14px; display: flex; align-items: center; justify-content: center; gap: 13px; color: var(--muted); background: rgba(16,42,114,.02); text-align: left; }
.nearby-empty > .icon { width: 25px; color: var(--orange-hover); }
.nearby-empty strong { display: block; color: var(--ink); font-size: 13px; }
.nearby-empty p { margin: 3px 0 0; font-size: 12px; }
.status--demo { color: var(--followup-dark); background: rgba(255,176,0,.24); }
.status--demo i { background: var(--gold-bright); }

[data-theme="dark"] .script-editor-overview { background: linear-gradient(135deg, #10275f, #173a8d); }
[data-theme="dark"] .script-edit-section, [data-theme="dark"] .script-save-bar, [data-theme="dark"] .script-body, [data-theme="dark"] .nearby-row { background: #111a2d; }
[data-theme="dark"] .script-tip-field, [data-theme="dark"] .script-quick-tip { background: rgba(255,122,24,.09); }
[data-theme="dark"] .script-modal .modal-body { background: #091226; }
[data-theme="dark"] .script-item.is-current { background: rgba(255,122,24,.11); }
[data-theme="dark"] .script-item.is-locked { background: rgba(255,255,255,.025); }
[data-theme="dark"] .research-note, [data-theme="dark"] .research-link-editor-row, [data-theme="dark"] .research-links a, [data-theme="dark"] .nearby-table-head { background: rgba(255,255,255,.035); }
[data-theme="dark"] .research-modal .modal-header { background: linear-gradient(135deg, rgba(255,122,24,.12), rgba(36,76,255,.09)); }
[data-theme="dark"] .research-modal .modal-footer { background: #0d1528; }
[data-theme="dark"] .status--demo { color: #ffd36e; background: rgba(255,176,0,.14); }

@media (max-width: 991.98px) {
    .script-editor-shell { grid-template-columns: 1fr; }
    .script-editor-guide { position: static; order: -1; }
    .script-editor-guide ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nearby-table-head, .nearby-row { grid-template-columns: minmax(200px,1.5fr) minmax(120px,.8fr) minmax(120px,.7fr) 82px; gap: 10px; }
}

@media (max-width: 767.98px) {
    .script-editor-overview { padding: 18px; align-items: flex-start; flex-direction: column; }
    .script-editor-overview-copy { align-items: flex-start; }
    .script-editor-mark { width: 42px; height: 42px; }
    .script-editor-stats { width: 100%; }
    .script-editor-stats > span { flex: 1; }
    .script-edit-section { padding: 17px; border-radius: 18px; }
    .script-edit-heading em { display: none; }
    .script-save-bar { bottom: calc(78px + env(safe-area-inset-bottom)); flex-direction: column; align-items: stretch; }
    .script-save-bar .button { width: 100%; }
    .script-editor-guide ol { grid-template-columns: 1fr; }
    .script-modal .modal-header { padding: 18px 19px 15px; }
    .script-modal .modal-body { padding: 16px; }
    .script-layout { display: flex; flex-direction: column; gap: 13px; }
    .script-body { width: 100%; min-height: 220px; padding: 19px; order: 1; font-size: 14px; }
    .script-body h3 { font-size: 20px; }
    .script-checklist { width: calc(100% + 32px); margin: 0 -16px; padding: 3px 16px 5px; order: 2; flex-direction: row; overflow-x: auto; scrollbar-width: none; }
    .script-checklist::-webkit-scrollbar { display: none; }
    .script-item { width: 185px; min-width: 185px; min-height: 51px; scroll-snap-align: start; }
    .script-modal-footer { gap: 8px; }
    .script-modal-footer > div { flex: 1; }
    .script-modal-footer > div .button:last-child { flex: 1; }
    .research-link-editor-row { grid-template-columns: 1fr 38px; }
    .research-link-editor-row .field:first-child { grid-column: 1 / -1; }
    .nearby-restaurants-panel { padding: 17px; border-radius: 19px; }
    .nearby-table { border: 0; border-radius: 0; overflow: visible; display: flex; flex-direction: column; gap: 9px; }
    .nearby-table-head { display: none; }
    .nearby-row { min-height: 0; padding: 13px 12px; border: 1px solid var(--line); border-left-width: 4px; border-radius: 14px; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "restaurant distance" "location status"; gap: 10px 12px; box-shadow: 0 5px 17px rgba(16,42,114,.06); }
    .nearby-restaurant { grid-area: restaurant; }
    .nearby-location { grid-area: location; }
    .nearby-row > span:nth-child(3) { grid-area: status; justify-self: end; }
    .nearby-distance { grid-area: distance; align-self: start; }
}

@media (max-width: 479.98px) {
    .script-editor-overview-copy { flex-direction: column; }
    .script-edit-heading > span:nth-child(2) strong { font-size: 13px; }
    .script-save-bar > div { display: none; }
    .script-modal-footer { padding: 11px 14px; }
    .script-modal-footer > [data-script-reset] { padding: 0 9px; }
    .script-modal-footer > div .button:first-child { display: none; }
    .research-modal .modal-header, .research-modal .modal-body { padding-left: 18px; padding-right: 18px; }
    .research-link-editor-heading { align-items: flex-start; flex-direction: column; }
    .research-link-editor-heading .button { width: 100%; }
    .nearby-heading-icon { display: none; }
    .nearby-row { grid-template-areas: "restaurant distance" "location location" "status status"; }
    .nearby-row > span:nth-child(3) { justify-self: start; }
}

/* Final mobile fluidity guardrails ----------------------------------------- */
@media (max-width: 767.98px) {
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body.app-body, .app-frame, .main-area, .page-content { width: 100%; min-width: 0; max-width: 100%; }
    .page-content :where(.panel, section, article, form, fieldset, .row, [class$="-layout"], [class$="-grid"]) { min-width: 0; max-width: 100%; }
    .page-content :where(p, small, dd, .field-help, .result-meta, .ownership-banner) { overflow-wrap: anywhere; }
    img, svg, iframe { max-width: 100%; }
    input, select, textarea, button { max-width: 100%; }
    :where(input, select, textarea, button, a) { scroll-margin-block: 140px 120px; }
    :where(.scope-tabs, .task-tabs, .restaurant-status-key, .restaurant-actions, .activity-types, .script-checklist, .map-status-filters) {
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .sidebar { height: var(--app-viewport-height, 100dvh); max-height: var(--app-viewport-height, 100dvh); overflow: hidden; }
    .sidebar .main-nav { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

    .page-heading > div { min-width: min(220px, 100%); flex: 1 1 220px; }
    .page-heading > .button { max-width: 100%; padding-inline: 14px; flex: 0 0 auto; font-size: 13px; }
    .panel-heading > :first-child { min-width: 0; }
    .panel-heading :where(h2, p) { overflow-wrap: anywhere; }

    .account-hero { align-items: stretch; flex-direction: column; }
    .account-identity { width: 100%; align-items: flex-start; }
    .account-identity > div { flex: 1; }
    .account-title-line h1, .account-identity p { max-width: 100%; }
    .account-title-line h1 { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
    .hero-actions {
        width: calc(100% + 16px);
        margin-right: -16px;
        padding: 2px 16px 3px 0;
        flex-direction: row;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .hero-actions::-webkit-scrollbar { display: none; }
    .hero-actions .button { min-width: max-content; min-height: 42px; padding: 0 13px; flex: 0 0 auto; font-size: 12px; }
    .hero-actions .button .icon { width: 16px; }
    .restaurant-map-panel .panel-heading p { max-width: 100%; overflow: visible; text-overflow: clip; white-space: normal; }
    .restaurant-map-panel .panel-heading .button { min-width: max-content; padding: 0 12px; font-size: 12px; }

    .modal:not(.onboard-modal) .modal-content { max-height: min(calc(100dvh - 16px), calc(var(--app-viewport-height, 100dvh) - 16px)); }
    .modal .modal-header, .modal .modal-footer, .contact-modal-hero, .contact-modal-footer { flex: 0 0 auto; }
    .modal .modal-body { -webkit-overflow-scrolling: touch; }
    .modal .modal-footer, .contact-modal-footer { padding-bottom: max(15px, env(safe-area-inset-bottom)); }
    .onboard-modal .modal-dialog, .onboard-modal .modal-content { height: var(--app-viewport-height, 100dvh); max-height: var(--app-viewport-height, 100dvh); }
    .onboard-modal .modal-footer { padding-bottom: max(15px, env(safe-area-inset-bottom)); }
    .field--address { isolation: isolate; }
    .address-suggestions { max-height: 210px; position: static; margin-top: 7px; flex: 0 0 auto; }

    .map-status-filters { width: 100%; }
    .map-view-stats { overflow: visible; }
    .map-view-stats dl { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .map-view-stats dl > div:first-child { grid-column: 1 / -1; }
    .map-view-stats dt { white-space: normal; }
    .workspace-map { height: clamp(440px, 64dvh, 680px); }

    .bell-menu-dropdown { max-height: calc(var(--app-viewport-height, 100dvh) - 80px); overflow-y: auto; overscroll-behavior: contain; }
    .user-menu-dropdown { max-width: calc(100vw - 20px); }
    .toast { max-height: calc(var(--app-viewport-height, 100dvh) - 150px); overflow-y: auto; }
}

@media (max-width: 479.98px) {
    .contact-table .contact-row:not(.contact-row--compact) {
        grid-template-columns: minmax(0, 1fr) 24px;
        grid-template-areas:
            "restaurant arrow"
            "contact contact"
            "status status"
            "owner owner";
    }
    .contact-row:not(.contact-row--compact) > .owner-cell { align-items: flex-start; justify-content: flex-start; }
    .page-heading > .button { width: 100%; }
    .pagination { gap: 6px; }
    .pagination > a { min-width: 44px; min-height: 44px; justify-content: center; }
    .pagination > span { min-width: 0; justify-content: center; flex: 1; }
    .pagination > span a { width: 34px; height: 34px; }
    .research-link-editor-row { grid-template-columns: minmax(0, 1fr) 42px; }
    .research-link-editor-row .field { min-width: 0; }
    .nearby-restaurant strong, .nearby-restaurant small, .nearby-location { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 767.98px) and (max-height: 560px) and (orientation: landscape) {
    html { scroll-padding-top: calc(68px + env(safe-area-inset-top)); }
    .topbar {
        min-height: calc(58px + env(safe-area-inset-top));
        padding-top: max(6px, env(safe-area-inset-top));
        padding-bottom: 6px;
        grid-template-columns: 42px minmax(150px, 1fr) auto;
        grid-template-rows: 46px;
    }
    .mobile-app-brand { display: none; }
    .global-search { grid-column: 2; grid-row: 1; }
    .topbar-actions { grid-column: 3; grid-row: 1; }
    .page-content { padding-top: 14px; }
    .toast { top: calc(64px + env(safe-area-inset-top)); }
    .mobile-tabbar { min-height: 60px; padding-top: 4px; padding-bottom: max(4px, env(safe-area-inset-bottom)); }
    .mobile-tabbar > a { min-height: 48px; }
    .modal:not(.onboard-modal) .modal-content { max-height: var(--app-viewport-height, 100dvh); }
}

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

/* Final ownership choice in the Add restaurant flow. */
.onboard-assignment-confirmation {
    min-height: 0;
    padding: clamp(28px, 6vw, 58px);
    display: grid;
    place-items: center;
    flex: 1 1 auto;
    overflow-y: auto;
    background: linear-gradient(145deg, rgba(36,76,255,.055), rgba(38,208,124,.07));
}
.onboard-assignment-confirmation[hidden] { display: none; }
.onboard-form-body[hidden], .onboard-modal-footer[hidden] { display: none !important; }
.onboard-assignment-card { width: min(560px, 100%); margin: auto; text-align: center; }
.onboard-assignment-choice-icon { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 20px; display: grid; place-items: center; color: var(--space-indigo); background: var(--green-bright); box-shadow: 0 12px 30px rgba(38,208,124,.26); }
.onboard-assignment-choice-icon .icon { width: 28px; height: 28px; }
.onboard-assignment-card .eyebrow { justify-content: center; }
.onboard-assignment-card h3 { margin: 12px 0 8px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: clamp(23px, 4vw, 31px); line-height: 1.2; letter-spacing: -.04em; }
.onboard-assignment-card > p { max-width: 480px; margin: 0 auto; color: var(--muted); font-size: 14px; line-height: 1.6; }
.onboard-assignment-card > p strong { color: var(--ink); }
.onboard-assignment-actions { margin-top: 27px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.onboard-assignment-actions .button { width: 100%; min-height: 50px; }
.onboard-assignment-back { min-height: 42px; margin: 16px auto 0; padding: 0 10px; border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 700; }
.onboard-assignment-back:hover { color: var(--space-indigo); }
.onboard-assignment-back .icon { width: 14px; }
[data-theme="dark"] .onboard-assignment-confirmation { background: linear-gradient(145deg, rgba(95,127,255,.08), rgba(38,208,124,.055)); }

@media (max-width: 479.98px) {
    .onboard-assignment-confirmation { padding: 26px 18px max(24px, env(safe-area-inset-bottom)); }
    .onboard-assignment-choice-icon { width: 56px; height: 56px; border-radius: 17px; }
    .onboard-assignment-card h3 { font-size: 24px; }
    .onboard-assignment-actions { grid-template-columns: 1fr; }
    .onboard-assignment-actions .button--primary { order: -1; }
}

/* Products and services catalogue ----------------------------------------- */
.offerings-page { max-width: 1240px; margin: 0 auto; }
.offerings-overview { margin-bottom: 20px; padding: 22px 24px; border-radius: 20px; display: flex; align-items: center; gap: 16px; color: #fff; background: linear-gradient(135deg, #0b225e, #244cff); box-shadow: 0 16px 38px rgba(16,42,114,.22); }
.offerings-overview-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--orange-bright); }
.offerings-overview-icon .icon { width: 22px; }
.offerings-overview > div { min-width: 0; flex: 1; }
.offerings-overview strong { font-family: "Manrope", sans-serif; font-size: 17px; }
.offerings-overview p { max-width: 680px; margin: 5px 0 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.55; }
.offerings-overview dl { margin: 0; display: flex; gap: 9px; }
.offerings-overview dl > div { min-width: 78px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; text-align: center; background: rgba(255,255,255,.08); }
.offerings-overview dt { color: rgba(255,255,255,.66); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.offerings-overview dd { margin: 2px 0 0; color: #fff; font-family: "Manrope", sans-serif; font-size: 20px; font-weight: 800; }
.offerings-layout { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(0, 1.4fr); gap: 20px; align-items: start; }
.offering-create-panel, .offering-catalogue-panel { padding: 22px; }
.offering-create-panel { position: sticky; top: 92px; }
.offering-create-form { margin-top: 18px; display: flex; flex-direction: column; gap: 15px; }
.offering-create-form .field > small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.offering-create-form .field > span small, .offering-edit-form .field > span small { margin-left: 3px; color: var(--muted); font-size: 10px; font-weight: 600; }
.offering-icon-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.offering-icon-field legend { margin: 0 0 7px; color: var(--ink-2); font-size: 14px; font-weight: 700; }
.offering-icon-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.offering-icon-option { min-width: 0; position: relative; cursor: pointer; }
.offering-icon-option > input { width: 1px !important; height: 1px !important; position: absolute; opacity: 0; pointer-events: none; }
.offering-icon-option > span { min-height: 67px; padding: 8px 3px 7px; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; color: var(--muted); background: var(--white); transition: border-color .16s, color .16s, background .16s, transform .16s; }
.offering-icon-option i { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--space-indigo); background: rgba(36,76,255,.09); font-style: normal; }
.offering-icon-option .icon { width: 15px; height: 15px; }
.offering-icon-option small { max-width: 100%; color: inherit; font-size: 9px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.offering-icon-option:hover > span { border-color: rgba(36,76,255,.35); color: var(--space-indigo); transform: translateY(-1px); }
.offering-icon-option > input:focus-visible + span { outline: 3px solid rgba(36,76,255,.2); outline-offset: 1px; }
.offering-icon-option > input:checked + span { border-color: var(--space-indigo); color: var(--space-indigo); background: rgba(36,76,255,.075); box-shadow: inset 0 0 0 1px var(--space-indigo); }
.offering-icon-option > input:checked + span i { color: var(--white); background: var(--space-indigo); }
.offering-catalogue-list { margin-top: 18px; display: flex; flex-direction: column; gap: 11px; }
.offering-catalogue-item { padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: rgba(36,76,255,.025); }
.offering-catalogue-item.is-archived { opacity: .67; }
.offering-catalogue-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 13px; }
.offering-catalogue-heading > div { min-width: 0; }
.offering-catalogue-identity { display: flex; align-items: center; gap: 11px; }
.offering-catalogue-identity > div { min-width: 0; }
.offering-flat-icon { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(145deg, var(--space-indigo), #4572ff); box-shadow: 0 8px 18px rgba(36,76,255,.17); }
.offering-flat-icon--service { color: #072b1c; background: linear-gradient(145deg, var(--green-bright), #70edaa); box-shadow: 0 8px 18px rgba(38,208,124,.18); }
.offering-flat-icon .icon { width: 21px; height: 21px; stroke-width: 1.9; }
.offering-catalogue-heading h3 { margin: 8px 0 0; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 16px; overflow-wrap: anywhere; }
.offering-kind, .offering-archived { min-height: 24px; padding: 0 8px; border-radius: 12px; display: inline-flex; align-items: center; color: var(--space-indigo); background: rgba(36,76,255,.1); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.offering-kind--service { color: #0b6a42; background: rgba(38,208,124,.16); }
.offering-archived { margin-left: 5px; color: var(--muted); background: rgba(135,144,164,.12); }
.offering-catalogue-item > p { margin: 13px 0; color: var(--ink-2); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.offering-knowhow-link { width: fit-content; margin: -3px 0 13px; display: inline-flex; align-items: center; gap: 5px; color: var(--space-indigo); font-size: 11px; font-weight: 800; }
.offering-knowhow-link .icon { width: 13px; height: 13px; }
.offering-knowhow-link .icon:last-child { width: 11px; }
.offering-edit-details { margin: 3px 0 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; }
.offering-edit-details > summary { min-height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 11px; font-weight: 800; list-style: none; cursor: pointer; }
.offering-edit-details > summary::-webkit-details-marker { display: none; }
.offering-edit-details > summary .icon { width: 13px; }
.offering-edit-details > summary .icon:last-child { margin-left: auto; color: var(--muted); transition: transform .18s; }
.offering-edit-details[open] > summary { border-bottom: 1px solid var(--line); color: var(--space-indigo); background: rgba(36,76,255,.035); }
.offering-edit-details[open] > summary .icon:last-child { transform: rotate(180deg); }
.offering-edit-form { padding: 15px; display: flex; flex-direction: column; gap: 14px; }
.offering-edit-grid { display: grid; grid-template-columns: minmax(130px, .55fr) minmax(0, 1.45fr); gap: 10px; }
.offering-edit-form .offering-icon-picker { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.offering-edit-form .offering-icon-option > span { min-height: 61px; }
.offering-edit-form > .button { align-self: flex-end; }
.offering-catalogue-item footer { padding-top: 12px; border-top: 1px solid var(--line); display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; color: var(--muted); font-size: 11px; }
.offering-catalogue-item footer span { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; }
.offering-catalogue-item footer span:first-child { color: var(--success-dark); }
.offering-catalogue-item footer span:nth-child(2) { color: var(--lost-ink); }
.offering-catalogue-item footer .icon { width: 13px; }
.offering-catalogue-item footer small { margin-left: auto; }
.offering-catalogue-empty { min-height: 300px; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--muted); text-align: center; }
.offering-catalogue-empty > .icon { width: 34px; margin-bottom: 12px; color: var(--orange-hover); }
.offering-catalogue-empty strong { color: var(--ink); }
.offering-catalogue-empty p { margin: 5px 0 0; font-size: 12px; }

/* Compact restaurant interest card */
.offering-interest-card { padding: 17px; }
.offering-card-icon { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--orange-bright); }
.offering-card-icon .icon { width: 16px; }
.offering-interest-list { margin-top: 12px; display: flex; flex-direction: column; gap: 7px; }
.offering-interest-item { padding: 10px; border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px; background: rgba(16,42,114,.025); }
.offering-interest-item--interested { border-color: rgba(38,208,124,.42); background: rgba(38,208,124,.07); }
.offering-interest-item--not_interested { border-color: rgba(255,45,85,.32); background: rgba(255,45,85,.05); }
.offering-interest-copy { min-width: 0; display: flex; align-items: flex-start; gap: 9px; }
.offering-interest-copy .offering-flat-icon { width: 34px; height: 34px; border-radius: 10px; }
.offering-interest-copy .offering-flat-icon .icon { width: 16px; height: 16px; }
.offering-interest-content { min-width: 0; flex: 1; }
.offering-interest-title { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.offering-interest-title > strong { min-width: 0; color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.offering-interest-title .offering-kind { min-height: 18px; padding: 0 6px; font-size: 7px; }
.offering-interest-content > p { margin: 4px 0 0; display: -webkit-box; color: var(--ink-2); font-size: 10px; line-height: 1.4; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.offering-interest-meta { margin-top: 5px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
.offering-interest-meta a { display: inline-flex; align-items: center; gap: 3px; color: var(--space-indigo); font-size: 9px; font-weight: 800; }
.offering-interest-meta a .icon { width: 10px; height: 10px; }
.offering-interest-meta small { color: var(--muted); font-size: 8px; }
.offering-interest-actions { margin: 0; display: flex; gap: 5px; }
.offering-interest-choice { width: 34px; height: 34px; min-width: 34px; padding: 0; border: 1px solid var(--line); border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--muted); background: var(--white); cursor: pointer; }
.offering-interest-choice .icon { width: 14px; }
.offering-interest-choice--yes:hover, .offering-interest-choice--yes.is-selected { border-color: var(--green-bright); color: #075d38; background: rgba(38,208,124,.2); }
.offering-interest-choice--no:hover, .offering-interest-choice--no.is-selected { border-color: var(--lost-neon); color: #a90d2b; background: rgba(255,45,85,.14); }
.offering-interest-choice.is-selected { box-shadow: inset 0 0 0 1px currentColor; }
.offering-interest-readonly { min-height: 34px; margin: 0; padding: 0 9px; border-radius: 10px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); background: rgba(135,144,164,.1); font-size: 9px; font-weight: 800; }
.offering-interest-readonly .icon { width: 13px; }
.offering-interest-readonly--interested { color: var(--success-dark); background: rgba(38,208,124,.13); }
.offering-interest-readonly--not_interested { color: var(--lost-ink); background: rgba(255,45,85,.1); }
.offering-interest-empty { margin-top: 15px; padding: 16px; border: 1px dashed var(--line); border-radius: 13px; display: flex; align-items: flex-start; gap: 10px; color: var(--muted); background: rgba(16,42,114,.02); }
.offering-interest-empty > .icon { width: 18px; margin-top: 1px; color: var(--orange-hover); }
.offering-interest-empty strong { display: block; color: var(--ink); font-size: 12px; }
.offering-interest-empty p { margin: 3px 0 0; font-size: 11px; line-height: 1.45; }
.offering-interest-empty a { margin-top: 8px; display: inline-flex; align-items: center; gap: 4px; color: var(--space-indigo); font-size: 11px; font-weight: 800; }
.offering-interest-empty a .icon { width: 12px; }

[data-theme="dark"] .offering-catalogue-item, [data-theme="dark"] .offering-interest-item { background: rgba(255,255,255,.025); }
[data-theme="dark"] .offering-interest-item--interested { background: rgba(38,208,124,.07); }
[data-theme="dark"] .offering-interest-item--not_interested { background: rgba(255,45,85,.06); }
[data-theme="dark"] .offering-interest-choice { color: var(--muted); background: #0d1528; }
[data-theme="dark"] .offering-interest-choice--yes.is-selected { color: #8ef0ba; background: rgba(38,208,124,.13); }
[data-theme="dark"] .offering-interest-choice--no.is-selected { color: #ff9aae; background: rgba(255,45,85,.12); }
[data-theme="dark"] .offering-icon-option > span { background: #0d1528; }
[data-theme="dark"] .offering-icon-option > input:checked + span { color: #9fb3ff; background: rgba(69,114,255,.13); }
[data-theme="dark"] .offering-edit-details { background: #0d1528; }

@media (max-width: 991.98px) {
    .offerings-layout { grid-template-columns: 1fr; }
    .offering-create-panel { position: static; }
}

@media (max-width: 767.98px) {
    .offerings-overview { padding: 18px; align-items: flex-start; flex-wrap: wrap; }
    .offerings-overview > div { flex-basis: calc(100% - 64px); }
    .offerings-overview dl { width: 100%; }
    .offerings-overview dl > div { flex: 1; }
    .offering-create-panel, .offering-catalogue-panel { padding: 17px; }
    .offering-interest-card { padding: 17px; }
    .offering-edit-form .offering-icon-picker { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 479.98px) {
    .offerings-overview-icon { width: 42px; height: 42px; }
    .offering-catalogue-heading { align-items: stretch; flex-direction: column; }
    .offering-catalogue-heading form, .offering-catalogue-heading .button { width: 100%; }
    .offering-icon-picker { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .offering-icon-option > span { min-height: 64px; }
    .offering-catalogue-item footer { align-items: flex-start; flex-direction: column; }
    .offering-catalogue-item footer small { margin-left: 0; }
    .offering-edit-grid { grid-template-columns: 1fr; }
    .offering-edit-form > .button { width: 100%; }
    .offering-interest-item { grid-template-columns: minmax(0, 1fr) auto; }
}

/* Clean contact editing modal --------------------------------------------- */
.edit-contact-modal .modal-dialog { max-width: 880px; }
.edit-contact-modal .modal-content { border: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 28px 80px rgba(7,24,64,.3); }
.edit-contact-modal-header { padding: 21px 24px; border: 0; align-items: center; gap: 13px; color: #fff; background: linear-gradient(135deg, #0a2058, #173b96); }
.edit-contact-modal-header > div { min-width: 0; flex: 1; }
.edit-contact-modal-header .eyebrow { margin-bottom: 5px; color: rgba(255,255,255,.65); }
.edit-contact-modal-header .eyebrow i { background: var(--orange-bright); }
.edit-contact-modal-header .modal-title { margin: 0; color: #fff; font-family: "Manrope", sans-serif; font-size: 21px; font-weight: 800; letter-spacing: -.035em; }
.edit-contact-modal-header p { margin: 4px 0 0; overflow: hidden; color: rgba(255,255,255,.7); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.edit-contact-modal-header > .icon-button { flex: 0 0 auto; color: #fff; background: rgba(255,255,255,.1); }
.edit-contact-modal-header > .icon-button:hover { background: rgba(255,255,255,.18); }
.edit-contact-modal-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; color: #102a72; background: linear-gradient(145deg, var(--orange-bright), #ffb542); box-shadow: 0 8px 20px rgba(255,122,24,.24); }
.edit-contact-modal-mark .icon { width: 19px; height: 19px; }
.edit-contact-modal-body { padding: 20px; background: #f4f6fb; }
.edit-contact-form { display: flex; flex-direction: column; gap: 12px; }
.edit-contact-section { padding: 17px; border: 1px solid rgba(16,42,114,.1); border-radius: 16px; background: var(--white); box-shadow: 0 5px 18px rgba(16,42,114,.045); }
.edit-contact-section--status { border-color: rgba(38,208,124,.22); background: linear-gradient(135deg, rgba(38,208,124,.055), var(--white) 55%); }
.edit-contact-section-heading { margin-bottom: 15px; padding-bottom: 12px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }
.edit-contact-section-heading > span { width: 33px; height: 33px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: rgba(36,76,255,.09); }
.edit-contact-section-heading > span .icon { width: 15px; height: 15px; }
.edit-contact-section-heading h3, .edit-contact-section-heading p { margin: 0; }
.edit-contact-section-heading h3 { color: var(--ink); font-family: "Manrope", sans-serif; font-size: 13px; font-weight: 800; }
.edit-contact-section-heading p { margin-top: 2px; color: var(--muted); font-size: 10px; }
.edit-contact-modal .field > span { color: var(--ink-2); font-size: 11px; font-weight: 800; }
.edit-contact-modal .field > span small { margin-left: 3px; color: var(--muted); font-size: 9px; font-weight: 600; }
.edit-contact-modal .field > small { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.45; }
.edit-contact-modal textarea { min-height: 78px; }
.edit-contact-save { margin-top: 2px; padding: 12px 13px; border: 1px solid rgba(16,42,114,.12); border-radius: 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: rgba(255,255,255,.94); box-shadow: 0 8px 22px rgba(16,42,114,.07); }
.edit-contact-save > span { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.edit-contact-save > span .icon { width: 13px; color: var(--green-bright); }
.edit-contact-save > div { display: flex; gap: 7px; }
.edit-contact-chain { margin-top: 12px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); overflow: hidden; }
.edit-contact-chain > summary { min-height: 61px; padding: 11px 14px; display: flex; align-items: center; gap: 10px; color: var(--ink-2); list-style: none; cursor: pointer; }
.edit-contact-chain > summary::-webkit-details-marker { display: none; }
.edit-contact-chain > summary > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--orange-bright); }
.edit-contact-chain > summary > span .icon { width: 15px; }
.edit-contact-chain > summary > div { min-width: 0; flex: 1; }
.edit-contact-chain strong, .edit-contact-chain small { display: block; }
.edit-contact-chain strong { color: var(--ink); font-size: 12px; }
.edit-contact-chain small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.edit-contact-chain > summary > .icon { width: 14px; color: var(--muted); transition: transform .18s; }
.edit-contact-chain[open] > summary { border-bottom: 1px solid var(--line); }
.edit-contact-chain[open] > summary > .icon { transform: rotate(180deg); }
.edit-contact-chain-body { padding: 15px; }
.edit-contact-chain-body .chain-remove-form { margin-top: 9px; display: flex; justify-content: flex-end; }

[data-theme="dark"] .edit-contact-modal-body { background: #091226; }
[data-theme="dark"] .edit-contact-section, [data-theme="dark"] .edit-contact-chain { border-color: var(--line); background: #0d1528; box-shadow: none; }
[data-theme="dark"] .edit-contact-section--status { background: linear-gradient(135deg, rgba(38,208,124,.07), #0d1528 58%); }
[data-theme="dark"] .edit-contact-save { border-color: var(--line); background: rgba(13,21,40,.96); box-shadow: none; }

@media (max-width: 767.98px) {
    .edit-contact-modal .modal-content { max-height: min(94dvh, var(--app-viewport-height, 100dvh)); }
    .edit-contact-modal-header { padding: 17px 16px 14px; gap: 10px; }
    .edit-contact-modal-header .modal-title { font-size: 18px; }
    .edit-contact-modal-header p { max-width: 250px; }
    .edit-contact-modal-mark { width: 38px; height: 38px; border-radius: 11px; }
    .edit-contact-modal-body { padding: 13px; }
    .edit-contact-section { padding: 14px; border-radius: 14px; }
    .edit-contact-save { padding: 11px; align-items: stretch; flex-direction: column; }
    .edit-contact-save > div, .edit-contact-save .button { width: 100%; }
    .edit-contact-save .button { flex: 1; }
    .edit-contact-chain-body { padding: 13px; }
    .edit-contact-chain-body .form-actions, .edit-contact-chain-body .button { width: 100%; }
}

@media (max-width: 379.98px) {
    .edit-contact-modal-mark { display: none; }
    .edit-contact-modal-header p { max-width: 210px; }
    .edit-contact-save > div { flex-direction: column-reverse; }
}

/* Restaurant chain directory --------------------------------------------- */
.page-heading > .page-heading-actions { min-width: 0; display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.chain-directory-summary { margin-bottom: 20px; padding: 18px 21px; display: grid; grid-template-columns: auto repeat(3, minmax(120px, 1fr)); align-items: center; gap: 20px; }
.chain-directory-mark, .chain-summary-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; color: var(--space-indigo); background: linear-gradient(145deg, var(--orange-bright), #ffb542); box-shadow: 0 8px 20px rgba(255,122,24,.22); }
.chain-directory-mark .icon, .chain-summary-icon .icon { width: 21px; height: 21px; }
.chain-directory-summary > div { min-width: 0; padding-left: 20px; border-left: 1px solid var(--line); }
.chain-directory-summary strong, .chain-directory-summary small { display: block; }
.chain-directory-summary strong { margin-bottom: 2px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 22px; line-height: 1.1; }
.chain-directory-summary small { color: var(--muted); font-size: 12px; font-weight: 650; }
.chain-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.chain-directory-card { min-width: 0; padding: 19px; display: flex; flex-direction: column; color: inherit; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.chain-directory-card:hover { color: inherit; border-color: rgba(36,76,255,.32); box-shadow: 0 14px 34px rgba(16,42,114,.13); transform: translateY(-2px); }
.chain-directory-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.chain-card-icon { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(145deg, var(--space-indigo), var(--navy-electric)); }
.chain-card-icon .icon { width: 17px; height: 17px; }
.chain-card-count { padding: 5px 9px; border: 1px solid rgba(36,76,255,.13); border-radius: 999px; color: var(--navy-electric); background: rgba(36,76,255,.065); font-size: 11px; font-weight: 800; white-space: nowrap; }
.chain-card-copy { min-width: 0; margin: 17px 0 14px; }
.chain-card-copy h2 { margin: 0 0 4px; overflow: hidden; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 17px; font-weight: 800; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.chain-card-copy p { margin: 0; color: var(--muted); font-size: 12px; }
.chain-card-statuses { margin: 0; padding: 11px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 14px; }
.chain-card-statuses > div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.chain-card-statuses dt { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.chain-card-statuses dd { margin: 0; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 12px; font-weight: 800; }
.chain-dot { width: 8px; height: 8px; border: 2px solid var(--control-line); border-radius: 50%; flex: 0 0 auto; }
.chain-dot--active { border: 0; background: var(--green-bright); box-shadow: 0 0 6px rgba(38,208,124,.45); }
.chain-dot--won { border: 0; background: var(--won-neon); box-shadow: 0 0 6px rgba(25,167,255,.45); }
.chain-dot--lost { border: 0; background: var(--lost-neon); box-shadow: 0 0 6px rgba(255,45,85,.4); }
.chain-directory-card footer { padding-top: 13px; display: flex; align-items: center; justify-content: space-between; color: var(--navy-electric); font-size: 11px; font-weight: 800; }
.chain-directory-card footer .icon { width: 15px; transition: transform .16s ease; }
.chain-directory-card:hover footer .icon { transform: translateX(3px); }
.chain-detail-summary { margin-bottom: 16px; padding: 17px 21px; display: flex; align-items: center; gap: 24px; }
.chain-detail-summary > div:first-child { min-width: 175px; display: flex; align-items: center; gap: 13px; }
.chain-detail-summary > div:first-child strong, .chain-detail-summary > div:first-child small { display: block; }
.chain-detail-summary > div:first-child strong { color: var(--ink); font-family: "Manrope", sans-serif; font-size: 24px; line-height: 1.1; }
.chain-detail-summary > div:first-child small { margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 700; }
.chain-detail-summary dl { margin: 0; padding-left: 24px; border-left: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, minmax(95px, 1fr)); gap: 26px; flex: 1; }
.chain-detail-summary dt { margin-bottom: 3px; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.chain-detail-summary dd { margin: 0; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 19px; font-weight: 800; }
.chain-detail-summary .chain-summary-won dd { color: var(--won-ink); }
.chain-detail-summary .chain-summary-lost dd { color: var(--lost-ink); }

[data-theme="dark"] .chain-directory-card { background: linear-gradient(180deg, #151f36 0%, #11192c 100%); }
[data-theme="dark"] .chain-directory-card:hover { border-color: rgba(95,127,255,.52); box-shadow: 0 15px 38px rgba(0,0,0,.32); }
[data-theme="dark"] .chain-card-count { color: #aebdff; border-color: rgba(95,127,255,.28); background: rgba(95,127,255,.12); }
[data-theme="dark"] .chain-card-icon { background: linear-gradient(145deg, #284fc5, #5f7fff); }
[data-theme="dark"] .chain-directory-card footer { color: #9bb0ff; }

@media (max-width: 1099.98px) {
    .chain-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chain-detail-summary dl { gap: 16px; }
}

@media (max-width: 767.98px) {
    .page-heading-actions { width: 100%; }
    .page-heading-actions .button { min-width: 0; min-height: 44px; padding-inline: 12px; flex: 1; border-radius: 13px; }
    .chain-directory-summary { padding: 15px; grid-template-columns: 42px repeat(3, minmax(0, 1fr)); gap: 11px; }
    .chain-directory-mark { width: 42px; height: 42px; border-radius: 13px; }
    .chain-directory-summary > div { padding-left: 10px; }
    .chain-directory-summary strong { font-size: 18px; }
    .chain-directory-summary small { font-size: 9px; line-height: 1.25; }
    .chain-directory-grid { grid-template-columns: 1fr; gap: 11px; }
    .chain-directory-card { padding: 16px; border-radius: 19px; }
    .chain-directory-card:hover { transform: none; }
    .chain-card-copy h2 { font-size: 16px; }
    .chain-card-statuses dt { font-size: 11px; }
    .chain-detail-summary { padding: 15px; align-items: stretch; flex-direction: column; gap: 14px; }
    .chain-detail-summary > div:first-child { min-width: 0; }
    .chain-summary-icon { width: 42px; height: 42px; border-radius: 13px; }
    .chain-detail-summary dl { padding: 13px 0 0; border-top: 1px solid var(--line); border-left: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
    .chain-detail-summary dt { min-height: 25px; font-size: 8px; line-height: 1.25; }
    .chain-detail-summary dd { font-size: 17px; }
}

@media (max-width: 479.98px) {
    .chain-directory-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .chain-directory-mark { display: none; }
    .chain-directory-summary > div:first-of-type { padding-left: 0; border-left: 0; }
    .chain-card-count { font-size: 10px; }
}

/* Chain creation and restaurant assignment ------------------------------- */
.chain-page-actions { flex-wrap: wrap; justify-content: flex-end; }
.page-heading-actions .button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.chain-modal-header { padding: 19px 21px; border-bottom: 1px solid var(--line); align-items: center; gap: 12px; }
.chain-modal-header > div { min-width: 0; flex: 1; }
.chain-modal-header .eyebrow { margin-bottom: 5px; font-size: 10px; }
.chain-modal-header .modal-title { margin: 0; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 19px; font-weight: 800; letter-spacing: -.03em; }
.chain-modal-header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.chain-modal-mark { width: 41px; height: 41px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: linear-gradient(145deg, var(--orange-bright), #ffb542); }
.chain-modal-mark .icon { width: 18px; height: 18px; }
.chain-create-body { padding: 22px; }
.chain-create-footer, .chain-picker-footer { padding: 14px 20px; border-top: 1px solid var(--line); gap: 12px; background: #f7f8fb; }
.chain-picker-body { padding: 17px 20px 20px; background: #f4f6fb; }
.chain-picker-search { margin-bottom: 12px; position: relative; display: block; }
.chain-picker-search > .icon { width: 16px; position: absolute; z-index: 1; left: 14px; top: 50%; color: var(--navy-electric); transform: translateY(-50%); }
.chain-picker-search input { width: 100%; min-height: 46px; padding: 0 14px 0 42px; border: 1px solid var(--control-line); border-radius: 13px; color: var(--ink-2); background: var(--white); font-size: 14px; outline: 0; }
.chain-picker-search input:focus { border-color: var(--navy-electric); box-shadow: 0 0 0 3px rgba(36,76,255,.12); }
.chain-picker-list { max-height: min(52vh, 480px); display: flex; flex-direction: column; gap: 7px; overflow-y: auto; scrollbar-gutter: stable; }
.chain-picker-option { min-height: 61px; padding: 8px 11px; border: 1px solid rgba(16,42,114,.11); border-radius: 13px; display: grid; grid-template-columns: 20px 36px minmax(0, 1fr) auto; align-items: center; gap: 10px; color: var(--ink-2); background: var(--white); cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.chain-picker-option:hover { border-color: rgba(36,76,255,.32); }
.chain-picker-option:has(input:checked) { border-color: rgba(36,76,255,.55); background: rgba(36,76,255,.055); box-shadow: inset 3px 0 0 var(--navy-electric); }
.chain-picker-option > input { width: 18px; height: 18px; margin: 0; accent-color: var(--navy-electric); }
.chain-picker-option > span:nth-of-type(2) { min-width: 0; }
.chain-picker-option strong, .chain-picker-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chain-picker-option strong { color: var(--ink); font-size: 12px; }
.chain-picker-option small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.chain-picker-option small .icon { width: 10px; height: 10px; }
.chain-picker-option[hidden] { display: none; }
.chain-picker-no-results { padding: 34px 15px; color: var(--muted); text-align: center; font-size: 12px; }
.chain-picker-footer { align-items: center; justify-content: space-between; }
.chain-picker-footer > span { color: var(--muted); font-size: 11px; font-weight: 750; }
.chain-picker-footer > div { display: flex; gap: 8px; }
.chain-picker-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.chain-picker-empty > .icon { width: 34px; height: 34px; margin-bottom: 12px; color: var(--green-bright); }
.chain-picker-empty strong { color: var(--ink); font-size: 14px; }
.chain-picker-empty p { max-width: 360px; margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.onboard-chain-context { min-height: 58px; padding: 10px 13px; border: 1px solid rgba(36,76,255,.17); border-radius: 13px; display: flex; align-items: center; gap: 11px; background: rgba(36,76,255,.055); }
.onboard-chain-context > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--navy-electric); }
.onboard-chain-context > span .icon { width: 15px; }
.onboard-chain-context strong, .onboard-chain-context small { display: block; }
.onboard-chain-context strong { color: var(--ink); font-size: 12px; }
.onboard-chain-context small { margin-top: 2px; color: var(--muted); font-size: 10px; }

[data-theme="dark"] .chain-picker-body, [data-theme="dark"] .chain-create-footer, [data-theme="dark"] .chain-picker-footer { background: #091226; }
[data-theme="dark"] .chain-picker-option, [data-theme="dark"] .chain-picker-search input { color: var(--ink-2); background: #0d1528; border-color: var(--line); }
[data-theme="dark"] .chain-picker-option:has(input:checked) { border-color: rgba(95,127,255,.62); background: rgba(95,127,255,.12); }
[data-theme="dark"] .onboard-chain-context { border-color: rgba(95,127,255,.3); background: rgba(95,127,255,.1); }

@media (max-width: 767.98px) {
    .chain-page-actions { justify-content: stretch; }
    .chain-page-actions .button { flex-basis: calc(50% - 5px); }
    .chain-page-actions .button--primary { flex-basis: 100%; }
    .chain-modal-header { padding: 16px; }
    .chain-modal-header .modal-title { font-size: 17px; }
    .chain-picker-body { padding: 13px; }
    .chain-picker-list { max-height: min(55dvh, 520px); gap: 8px; }
    .chain-picker-option { min-height: 68px; padding: 9px; grid-template-columns: 20px 36px minmax(0, 1fr); }
    .chain-picker-option > .status { grid-column: 3; justify-self: start; }
    .chain-picker-search input { min-height: 48px; font-size: 16px; }
    .chain-picker-footer { align-items: stretch; flex-direction: column; }
    .chain-picker-footer > div, .chain-picker-footer .button { width: 100%; }
    .chain-picker-footer .button { flex: 1; }
}

/* High-contrast Won / Lost outcome scoreboard ----------------------------- */
.outcome-scoreboard { margin: -4px 0 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.outcome-scorecard { min-width: 0; min-height: 78px; padding: 9px 76px; position: relative; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #fff; background: linear-gradient(145deg, #102a5f 0%, #09172f 72%); box-shadow: 0 8px 22px rgba(8,20,47,.17); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.outcome-scorecard::before { width: 90px; height: 90px; content: ""; position: absolute; right: -32px; top: -42px; border-radius: 50%; opacity: .13; filter: blur(7px); pointer-events: none; }
.outcome-scorecard:hover { color: #fff; transform: translateY(-2px); }
.outcome-score-icon { width: 30px; height: 30px; position: absolute; z-index: 1; left: 12px; top: 50%; border-radius: 9px; display: grid; place-items: center; transform: translateY(-50%); }
.outcome-score-icon .icon { width: 14px; height: 14px; }
.outcome-score-copy { min-width: 0; position: relative; align-self: center; text-align: center; }
.outcome-score-copy > span, .outcome-score-copy > strong, .outcome-score-copy > small { display: block; }
.outcome-score-copy > span { color: rgba(255,255,255,.72); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .11em; }
.outcome-score-copy > strong { margin: 1px 0 0; font-family: "Manrope", sans-serif; font-size: 27px; line-height: .95; font-weight: 900; letter-spacing: -.035em; }
.outcome-score-copy > small { display: none; }
.outcome-score-action { position: absolute; z-index: 1; right: 13px; top: 50%; display: flex; align-items: center; justify-content: center; gap: 4px; color: rgba(255,255,255,.68); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; transform: translateY(-50%); }
.outcome-score-action .icon { width: 13px; transition: transform .16s ease; }
.outcome-scorecard:hover .outcome-score-action .icon { transform: translateX(3px); }
.outcome-scorecard--won::before { background: #20ff85; }
.outcome-scorecard--won .outcome-score-icon { color: #062616; background: #20f486; box-shadow: 0 0 17px rgba(32,244,134,.38); }
.outcome-scorecard--won .outcome-score-copy > strong { color: #35ff91; text-shadow: 0 0 12px rgba(32,244,134,.36); }
.outcome-scorecard--won.is-active { border-color: #35ff91; box-shadow: 0 0 0 2px rgba(53,255,145,.16), 0 12px 35px rgba(8,20,47,.24), inset 0 0 32px rgba(32,244,134,.055); }
.outcome-scorecard--lost::before { background: var(--lost-neon); }
.outcome-scorecard--lost .outcome-score-icon { color: var(--night-ink); background: var(--lost-neon); box-shadow: 0 0 17px rgba(255,45,85,.38); }
.outcome-scorecard--lost .outcome-score-copy > strong { color: #ff5575; text-shadow: 0 0 12px rgba(255,45,85,.36); }
.outcome-scorecard--lost.is-active { border-color: #ff5575; box-shadow: 0 0 0 2px rgba(255,85,117,.15), 0 12px 35px rgba(8,20,47,.24), inset 0 0 32px rgba(255,45,85,.055); }

[data-theme="dark"] .outcome-scorecard { background: linear-gradient(145deg, #132b59 0%, #080f20 76%); box-shadow: 0 15px 38px rgba(0,0,0,.4); }
[data-theme="dark"] .outcome-scorecard--won.is-active { box-shadow: 0 0 0 2px rgba(53,255,145,.18), 0 0 28px rgba(32,244,134,.1), inset 0 0 34px rgba(32,244,134,.065); }
[data-theme="dark"] .outcome-scorecard--lost.is-active { box-shadow: 0 0 0 2px rgba(255,85,117,.18), 0 0 28px rgba(255,45,85,.1), inset 0 0 34px rgba(255,45,85,.065); }

@media (max-width: 767.98px) {
    .outcome-scoreboard { margin: -3px 0 14px; gap: 10px; }
    .outcome-scorecard { min-height: 74px; padding: 8px 38px; border-radius: 15px; }
    .outcome-score-icon { width: 26px; height: 26px; left: 8px; border-radius: 8px; }
    .outcome-score-icon .icon { width: 12px; height: 12px; }
    .outcome-score-copy > strong { font-size: 25px; }
    .outcome-score-action { width: 22px; right: 7px; gap: 0; font-size: 0; }
    .outcome-score-action .icon { width: 12px; }
}

@media (max-width: 379.98px) {
    .outcome-scorecard { padding-inline: 34px; }
    .outcome-score-icon { width: 24px; height: 24px; left: 7px; }
    .outcome-score-copy > span { font-size: 9px; }
    .outcome-score-copy > strong { font-size: 23px; }
}

/* Updated task-based How-to guide ----------------------------------------- */
.guide-page { max-width: 980px; margin: 0 auto; }
.guide-index { margin-bottom: 14px; padding: 20px 22px; }
.guide-index-heading { margin-bottom: 16px; display: flex; align-items: center; gap: 11px; }
.guide-index-heading > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: var(--orange-bright); }
.guide-index-heading > span .icon { width: 17px; height: 17px; }
.guide-index-heading strong, .guide-index-heading small { display: block; }
.guide-index-heading strong { color: var(--ink); font-family: "Manrope", sans-serif; font-size: 15px; }
.guide-index-heading small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.guide-index-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.guide-index-links a { min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; gap: 8px; color: var(--ink-2); background: rgba(36,76,255,.025); font-size: 11px; font-weight: 750; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.guide-index-links a:hover { color: var(--ink); border-color: rgba(36,76,255,.35); background: rgba(36,76,255,.07); transform: translateY(-1px); }
.guide-index-links a .icon { width: 15px; height: 15px; flex: 0 0 auto; color: var(--navy-electric); }
.guide-index-links a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guide-section, .guide-anchor { scroll-margin-top: 90px; }
.guide-anchor { display: block; }
.guide-section-heading { margin-bottom: 13px; display: flex; align-items: center; gap: 11px; }
.guide-section-heading > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(145deg, var(--space-indigo), var(--navy-electric)); }
.guide-section-heading > span .icon { width: 17px; height: 17px; }
.guide-section-heading small { display: block; margin-bottom: 2px; color: var(--orange-hover); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.guide-section-heading h2 { margin: 0 !important; }
.guide-callout { margin-top: 16px; padding: 13px 14px; border: 1px solid rgba(36,76,255,.16); border-radius: 13px; display: flex; align-items: flex-start; gap: 10px; background: rgba(36,76,255,.05); }
.guide-callout > .icon { width: 17px; height: 17px; margin-top: 3px; flex: 0 0 auto; color: var(--navy-electric); }
.guide-callout p { margin: 0; font-size: 12px !important; line-height: 1.55 !important; }
.guide-inline-link { min-height: 40px; margin-top: 14px; padding: 0 13px; border-radius: 11px; display: inline-flex; align-items: center; gap: 7px; color: var(--space-indigo); background: var(--green-bright); font-size: 11px; font-weight: 850; }
.guide-inline-link:hover { color: var(--space-indigo); background: var(--green-hover); }
.guide-inline-link .icon { width: 13px; }
.guide-section--admin { border-color: rgba(255,122,24,.28); background: linear-gradient(145deg, rgba(255,122,24,.055), var(--white) 38%); }
.guide-page kbd { padding: 2px 6px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: rgba(36,76,255,.06); font: inherit; font-size: 11px; font-weight: 800; }

[data-theme="dark"] .guide-index-links a { color: var(--ink-2); background: rgba(95,127,255,.06); }
[data-theme="dark"] .guide-index-links a:hover { border-color: rgba(95,127,255,.48); background: rgba(95,127,255,.12); }
[data-theme="dark"] .guide-callout { border-color: rgba(95,127,255,.28); background: rgba(95,127,255,.09); }
[data-theme="dark"] .guide-section--admin { border-color: rgba(255,122,24,.3); background: linear-gradient(145deg, rgba(255,122,24,.08), #11192c 42%); }

@media (max-width: 767.98px) {
    .guide-index { padding: 16px; border-radius: 18px; }
    .guide-index-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guide-index-links a { min-height: 47px; padding: 9px; }
    .guide-section, .guide-anchor { scroll-margin-top: 126px; }
    .guide-section-heading { align-items: flex-start; }
    .guide-section-heading > span { width: 35px; height: 35px; border-radius: 11px; }
}

@media (max-width: 379.98px) {
    .guide-index-links { grid-template-columns: 1fr; }
}

/* Administrator restaurant removal --------------------------------------- */
.admin-remove-restaurant { border-color: rgba(255,45,85,.28); color: var(--lost-ink); background: rgba(255,45,85,.07); }
.admin-remove-restaurant:hover { border-color: var(--lost-neon); color: #fff; background: var(--lost-neon); box-shadow: 0 7px 20px rgba(255,45,85,.22); }
.delete-restaurant-modal .modal-dialog { max-width: 560px; }
.delete-restaurant-modal .modal-content { border: 0; border-radius: 21px; overflow: hidden; box-shadow: 0 28px 80px rgba(9,12,27,.32); }
.delete-restaurant-header { padding: 21px 22px; border-bottom: 1px solid rgba(255,45,85,.16); align-items: center; gap: 13px; background: linear-gradient(145deg, rgba(255,45,85,.085), #fff 52%); }
.delete-restaurant-header > div { min-width: 0; flex: 1; }
.delete-restaurant-header .eyebrow { margin-bottom: 7px; color: var(--lost-ink); }
.delete-restaurant-header .modal-title { margin: 0; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 20px; line-height: 1.2; font-weight: 850; letter-spacing: -.025em; overflow-wrap: anywhere; }
.delete-restaurant-header p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.delete-restaurant-header .icon-button { flex: 0 0 auto; }
.delete-restaurant-mark { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(145deg, var(--lost-neon), #c90032); box-shadow: 0 9px 23px rgba(255,45,85,.26); }
.delete-restaurant-mark .icon { width: 19px; height: 19px; }
.delete-restaurant-body { padding: 21px 22px; }
.delete-restaurant-warning { margin-bottom: 18px; padding: 13px 14px; border: 1px solid rgba(255,45,85,.22); border-radius: 13px; display: flex; align-items: flex-start; gap: 11px; color: var(--lost-ink); background: rgba(255,45,85,.055); }
.delete-restaurant-warning > .icon { width: 19px; height: 19px; margin-top: 2px; flex: 0 0 auto; }
.delete-restaurant-warning strong, .delete-restaurant-warning p { display: block; }
.delete-restaurant-warning strong { font-size: 13px; }
.delete-restaurant-warning p { margin: 3px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.5; }
.delete-restaurant-body .field small { color: var(--muted); font-size: 11px; font-weight: 600; }
.delete-restaurant-body .form-control { min-height: 47px; font-size: 16px; }
.delete-restaurant-footer { padding: 14px 22px; border-top: 1px solid var(--line); gap: 9px; background: #faf9fa; }

[data-theme="dark"] .admin-remove-restaurant { border-color: rgba(255,85,117,.38); color: #ff8ba1; background: rgba(255,45,85,.1); }
[data-theme="dark"] .admin-remove-restaurant:hover { color: #fff; background: #d91843; }
[data-theme="dark"] .delete-restaurant-modal .modal-content { background: #0d1528; box-shadow: 0 30px 90px rgba(0,0,0,.56); }
[data-theme="dark"] .delete-restaurant-header { border-bottom-color: rgba(255,85,117,.2); background: linear-gradient(145deg, rgba(255,45,85,.13), #11192c 54%); }
[data-theme="dark"] .delete-restaurant-header .eyebrow, [data-theme="dark"] .delete-restaurant-warning { color: #ff8ba1; }
[data-theme="dark"] .delete-restaurant-warning { border-color: rgba(255,85,117,.28); background: rgba(255,45,85,.09); }
[data-theme="dark"] .delete-restaurant-footer { background: #091226; }

@media (max-width: 767.98px) {
    .delete-restaurant-modal .modal-dialog { margin: 13px; }
    .delete-restaurant-modal .modal-content { border-radius: 19px; }
    .delete-restaurant-header { padding: 17px 16px; align-items: flex-start; }
    .delete-restaurant-mark { width: 40px; height: 40px; border-radius: 12px; }
    .delete-restaurant-header .modal-title { font-size: 17px; }
    .delete-restaurant-body { padding: 17px 16px; }
    .delete-restaurant-footer { padding: 13px 16px; align-items: stretch; flex-direction: column-reverse; }
    .delete-restaurant-footer .button { width: 100%; min-height: 46px; }
}

/* Live TableFox sales playbook ------------------------------------------- */
.button--coach { color: #fff; background: linear-gradient(135deg, #244cff, #102a72); box-shadow: 0 6px 16px rgba(36,76,255,.24); }
.button--coach:hover { color: #fff; background: linear-gradient(135deg, #3159ff, #183888); box-shadow: 0 9px 23px rgba(36,76,255,.32); }
.button--playbook { color: #091a49; background: var(--orange-bright); box-shadow: 0 9px 24px rgba(255,122,24,.28); }
.button--playbook:hover { color: #091a49; background: #ff8d37; box-shadow: 0 12px 28px rgba(255,122,24,.36); }
.button--playbook-quiet { border-color: rgba(255,255,255,.22); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.button--playbook-quiet:hover { color: #fff; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.14); }

.playbook-page { max-width: 1260px; margin: 0 auto; color: var(--ink-2); }
.playbook-hero { min-height: 440px; padding: 56px; border-radius: 28px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.8fr); align-items: center; gap: 46px; position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(36,76,255,.48), transparent 32%), linear-gradient(135deg, #071633 0%, #102a72 58%, #081839 100%); box-shadow: 0 24px 70px rgba(7,22,51,.26); }
.playbook-hero::before, .playbook-hero::after { position: absolute; content: ""; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }
.playbook-hero::before { width: 420px; height: 420px; top: -230px; right: 17%; }
.playbook-hero::after { width: 270px; height: 270px; right: -100px; bottom: -140px; }
.playbook-hero-copy { position: relative; z-index: 1; }
.playbook-kicker { margin-bottom: 18px; display: inline-flex; align-items: center; gap: 8px; color: #ff9a4d; font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .13em; }
.playbook-kicker .icon { width: 15px; }
.playbook-hero h1 { max-width: 650px; margin: 0; font-size: clamp(40px,5vw,68px); line-height: .98; font-weight: 850; letter-spacing: -.06em; }
.playbook-hero h1 em { color: var(--orange-bright); font-style: normal; }
.playbook-hero-copy > p { max-width: 620px; margin: 22px 0 0; color: rgba(255,255,255,.74); font-size: 16px; line-height: 1.65; }
.playbook-hero-actions { margin-top: 28px; display: flex; gap: 10px; flex-wrap: wrap; }
.playbook-promise { min-height: 300px; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 1; background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)); box-shadow: inset 0 1px rgba(255,255,255,.13), 0 18px 45px rgba(0,0,0,.17); backdrop-filter: blur(12px); }
.playbook-promise > span { margin-bottom: 13px; color: #ff9a4d; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.playbook-promise > strong { font-family: "Manrope", sans-serif; font-size: 27px; line-height: 1.22; letter-spacing: -.035em; }
.playbook-promise > strong:nth-of-type(2) { color: var(--orange-bright); }
.playbook-promise > div { margin-top: 23px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: 9px; }
.playbook-promise > div span { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 700; }
.playbook-promise > div .icon { width: 14px; color: var(--orange-bright); }

.playbook-nav { margin: 18px 0 0; padding: 10px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; position: sticky; top: 71px; z-index: 8; box-shadow: 0 10px 30px rgba(16,42,114,.09); }
.playbook-nav a { min-height: 50px; padding: 8px 12px; border-radius: 11px; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; font-weight: 800; transition: .16s ease; }
.playbook-nav a:hover { color: var(--space-indigo); background: rgba(36,76,255,.07); }
.playbook-nav a span { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: rgba(36,76,255,.09); font-size: 9px; }
.playbook-section { padding: 76px 0 10px; scroll-margin-top: 120px; }
.playbook-section-heading { max-width: 720px; margin-bottom: 28px; }
.playbook-section-heading > span { margin-bottom: 10px; display: block; color: var(--orange-hover); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.playbook-section-heading h2 { margin: 0; color: var(--space-indigo); font-size: clamp(27px,3vw,39px); line-height: 1.12; font-weight: 850; letter-spacing: -.045em; }
.playbook-section-heading p { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.playbook-story-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 18px; }
.playbook-origin { min-height: 350px; padding: 34px; border-radius: 24px; color: #fff; background: linear-gradient(145deg, #102a72, #071633); box-shadow: 0 18px 42px rgba(16,42,114,.2); }
.playbook-stat { margin-bottom: 31px; display: block; color: var(--orange-bright); font: 850 52px/1 "Manrope",sans-serif; letter-spacing: -.05em; }
.playbook-stat small { font-size: 16px; letter-spacing: -.02em; }
.playbook-origin h3 { margin: 0 0 10px; font: 800 22px/1.2 "Manrope",sans-serif; }
.playbook-origin > p { max-width: 560px; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.65; }
.playbook-origin blockquote { margin: 27px 0 0; padding: 15px 17px; border-left: 3px solid var(--orange-bright); border-radius: 0 12px 12px 0; color: #fff; background: rgba(255,122,24,.11); font: 700 13px/1.55 "Manrope",sans-serif; }
.playbook-challenge-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.playbook-challenge-grid article { min-height: 165px; padding: 21px; border: 1px solid var(--line); border-radius: 20px; display: flex; flex-direction: column; justify-content: space-between; background: var(--white); }
.playbook-challenge-grid article > .icon { width: 34px; height: 34px; padding: 8px; border-radius: 10px; color: var(--orange-hover); background: rgba(255,122,24,.1); }
.playbook-challenge-grid strong, .playbook-challenge-grid p { display: block; }
.playbook-challenge-grid strong { color: var(--space-indigo); font: 800 14px "Manrope",sans-serif; }
.playbook-challenge-grid p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.playbook-outcomes { margin-top: 16px; padding: 17px; border: 1px solid rgba(36,76,255,.14); border-radius: 17px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; background: rgba(36,76,255,.045); }
.playbook-outcomes span { padding: 8px; border-right: 1px solid rgba(36,76,255,.13); color: var(--space-indigo); font-size: 11px; font-weight: 800; text-align: center; }
.playbook-outcomes span:last-child { border-right: 0; }

.playbook-formula { margin-bottom: 18px; padding: 20px; border-radius: 21px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 10px; color: #fff; background: linear-gradient(135deg,#102a72,#071633); }
.playbook-formula article { text-align: center; }
.playbook-formula article > span { width: 29px; height: 29px; margin: 0 auto 8px; border-radius: 9px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); font-size: 11px; font-weight: 900; }
.playbook-formula strong, .playbook-formula small { display: block; }
.playbook-formula strong { font: 800 12px "Manrope",sans-serif; }
.playbook-formula small { margin-top: 3px; color: rgba(255,255,255,.55); font-size: 9px; }
.playbook-formula > i { color: rgba(255,255,255,.3); }
.playbook-formula > i .icon { width: 13px; }
.playbook-question-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.playbook-question-card { padding: 24px; border: 1px solid var(--line); border-radius: 21px; background: var(--white); }
.playbook-question-card header { margin-bottom: 17px; display: flex; align-items: center; gap: 11px; }
.playbook-question-card header > span { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#244cff,#102a72); }
.playbook-question-card header > span .icon { width: 17px; }
.playbook-question-card header small { display: block; color: var(--orange-hover); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.playbook-question-card h3 { margin: 2px 0 0; color: var(--space-indigo); font: 800 16px "Manrope",sans-serif; }
.playbook-question-card ol { margin: 0; padding: 0; list-style: none; counter-reset: playbook-question; }
.playbook-question-card li { min-height: 43px; padding: 10px 8px 10px 36px; border-top: 1px solid var(--line); position: relative; color: var(--ink-2); font-size: 12px; line-height: 1.45; counter-increment: playbook-question; }
.playbook-question-card li::before { width: 21px; height: 21px; position: absolute; top: 9px; left: 5px; content: counter(playbook-question); border-radius: 7px; display: grid; place-items: center; color: var(--space-indigo); background: rgba(36,76,255,.08); font-size: 9px; font-weight: 900; }
.playbook-reminder { margin-top: 14px; padding: 18px 20px; border: 1px solid rgba(255,122,24,.25); border-radius: 17px; display: flex; align-items: center; gap: 13px; background: rgba(255,122,24,.07); }
.playbook-reminder > .icon { width: 25px; color: var(--orange-hover); }
.playbook-reminder strong { color: var(--space-indigo); font: 800 13px "Manrope",sans-serif; }
.playbook-reminder p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }

.playbook-matcher { min-height: 390px; border: 1px solid var(--line); border-radius: 24px; display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); overflow: hidden; background: var(--white); }
.playbook-problems { padding: 15px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; background: rgba(16,42,114,.035); }
.playbook-problem { min-height: 46px; padding: 9px 12px; border: 1px solid transparent; border-radius: 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ink-2); background: transparent; font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; transition: .16s; }
.playbook-problem .icon { width: 13px; color: var(--muted); }
.playbook-problem:hover { border-color: rgba(36,76,255,.18); color: var(--space-indigo); background: var(--white); }
.playbook-problem.is-active { border-color: rgba(255,122,24,.38); color: var(--space-indigo); background: rgba(255,122,24,.1); box-shadow: 0 6px 16px rgba(16,42,114,.07); }
.playbook-problem.is-active .icon { color: var(--orange-hover); transform: translateX(2px); }
.playbook-solution-stage { min-height: 390px; padding: 40px; display: grid; place-items: center; position: relative; color: #fff; background: radial-gradient(circle at 90% 10%, rgba(36,76,255,.5), transparent 37%), linear-gradient(145deg,#102a72,#071633); }
.playbook-solution-empty, .playbook-solution { max-width: 540px; text-align: center; }
.playbook-solution-empty > .icon, .playbook-solution > span { width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 18px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); box-shadow: 0 12px 28px rgba(255,122,24,.24); }
.playbook-solution-empty > .icon { padding: 17px; }
.playbook-solution > span .icon { width: 25px; }
.playbook-solution-empty strong, .playbook-solution small { display: block; }
.playbook-solution-empty strong { font: 800 19px "Manrope",sans-serif; }
.playbook-solution-empty p { margin: 7px 0 0; color: rgba(255,255,255,.58); font-size: 12px; }
.playbook-solution small { margin-bottom: 5px; color: #ff9a4d; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.playbook-solution h3 { margin: 0; font: 850 31px "Manrope",sans-serif; letter-spacing: -.04em; }
.playbook-solution > p { max-width: 520px; margin: 12px auto 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.6; }
.playbook-solution em { margin-top: 22px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; display: block; color: rgba(255,255,255,.82); background: rgba(255,255,255,.06); font-size: 11px; font-style: normal; font-weight: 700; }
.playbook-solution.is-active { animation: playbookReveal .22s ease-out; }
@keyframes playbookReveal { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.playbook-signals { margin-top: 15px; padding: 23px; border: 1px solid var(--line); border-radius: 20px; display: grid; grid-template-columns: minmax(230px,.68fr) minmax(0,1.32fr); gap: 25px; background: var(--white); }
.playbook-signals > div > span { width: 38px; height: 38px; margin-bottom: 13px; border-radius: 12px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); }
.playbook-signals > div > span .icon { width: 17px; }
.playbook-signals h3 { margin: 0; color: var(--space-indigo); font: 800 16px "Manrope",sans-serif; }
.playbook-signals p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.playbook-signals ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; list-style: none; }
.playbook-signals li { min-height: 43px; padding: 10px 12px; border-radius: 11px; display: flex; align-items: center; color: var(--space-indigo); background: rgba(36,76,255,.06); font-size: 11px; font-weight: 750; }
.playbook-catalogue-link { margin-top: 12px; padding: 16px 19px; border-radius: 16px; display: flex; align-items: center; gap: 18px; background: rgba(16,42,114,.055); }
.playbook-catalogue-link > div { min-width: 0; flex: 1; }
.playbook-catalogue-link strong { color: var(--space-indigo); font-size: 13px; }
.playbook-catalogue-link p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }

.playbook-proof-hero { min-height: 260px; padding: 32px; border-radius: 24px; display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); align-items: center; gap: 35px; color: #fff; background: linear-gradient(135deg,#102a72,#071633); }
.playbook-proof-hero > div { text-align: center; }
.playbook-proof-hero > div small, .playbook-proof-hero > div strong, .playbook-proof-hero > div span { display: block; }
.playbook-proof-hero > div small { color: #ff9a4d; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.playbook-proof-hero > div strong { margin: 7px 0 5px; color: var(--orange-bright); font: 850 54px/1 "Manrope",sans-serif; letter-spacing: -.055em; }
.playbook-proof-hero > div span { color: rgba(255,255,255,.55); font-size: 10px; }
.playbook-proof-hero blockquote { margin: 0; padding-left: 25px; border-left: 2px solid var(--orange-bright); font: 650 15px/1.7 "Manrope",sans-serif; }
.playbook-proof-hero cite { margin-top: 15px; display: block; color: #ff9a4d; font: 700 10px "DM Sans",sans-serif; }
.playbook-proof-grid { margin-top: 13px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.playbook-proof-grid article { min-height: 91px; padding: 14px 8px; border: 1px solid var(--line); border-radius: 15px; display: grid; place-content: center; text-align: center; background: var(--white); }
.playbook-proof-grid strong, .playbook-proof-grid span { display: block; }
.playbook-proof-grid strong { color: var(--space-indigo); font: 850 21px "Manrope",sans-serif; }
.playbook-proof-grid span { margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.playbook-roi-example { margin-top: 13px; padding: 20px 23px; border: 1px solid rgba(255,122,24,.25); border-radius: 18px; display: flex; align-items: center; gap: 16px; background: rgba(255,122,24,.07); }
.playbook-roi-example > span { width: 45px; height: 45px; border-radius: 14px; display: grid; place-items: center; flex: 0 0 auto; color: #102a72; background: var(--orange-bright); }
.playbook-roi-example small, .playbook-roi-example strong { display: block; }
.playbook-roi-example small { color: var(--orange-hover); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.playbook-roi-example strong { margin-top: 3px; color: var(--space-indigo); font: 850 20px "Manrope",sans-serif; }
.playbook-roi-example p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }

.playbook-package-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.playbook-package { min-height: 455px; padding: 27px; border: 1px solid var(--line); border-radius: 22px; display: flex; flex-direction: column; position: relative; background: var(--white); }
.playbook-package.is-featured { border: 2px solid var(--orange-bright); box-shadow: 0 17px 40px rgba(255,122,24,.13); transform: translateY(-7px); }
.playbook-package-badge { padding: 6px 11px; border-radius: 999px; position: absolute; top: 17px; right: 17px; color: #102a72; background: var(--orange-bright); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.playbook-package > small { color: var(--orange-hover); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.playbook-package h3 { margin: 11px 0 0; color: var(--space-indigo); font: 850 38px "Manrope",sans-serif; letter-spacing: -.05em; }
.playbook-package h3 span { color: var(--muted); font-size: 11px; letter-spacing: 0; }
.playbook-package > p { min-height: 45px; margin: 7px 0 17px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.playbook-package ul { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.playbook-package li { display: flex; align-items: flex-start; gap: 7px; color: var(--ink-2); font-size: 11px; line-height: 1.4; }
.playbook-package li .icon { width: 14px; height: 14px; margin-top: 1px; color: var(--green-hover); }
.playbook-package footer { margin-top: auto; padding-top: 17px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 7px; color: var(--space-indigo); font-size: 10px; font-weight: 800; }
.playbook-package footer .icon { width: 13px; color: var(--orange-hover); }
.playbook-offer { margin-top: 13px; padding: 21px 23px; border-radius: 19px; display: grid; grid-template-columns: 46px repeat(2,minmax(0,1fr)); align-items: center; gap: 23px; color: #fff; background: linear-gradient(135deg,#102a72,#071633); }
.playbook-offer > span { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); }
.playbook-offer small, .playbook-offer strong { display: block; }
.playbook-offer small { color: #ff9a4d; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.playbook-offer strong { margin-top: 3px; font: 800 15px "Manrope",sans-serif; }
.playbook-offer p { margin: 3px 0 0; color: rgba(255,255,255,.58); font-size: 9px; line-height: 1.5; }
.playbook-onboarding { margin-top: 55px; }
.playbook-onboarding ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; list-style: none; }
.playbook-onboarding li { min-height: 155px; padding: 18px 14px; border: 1px solid var(--line); border-radius: 17px; position: relative; background: var(--white); }
.playbook-onboarding li > span { width: 28px; height: 28px; margin-bottom: 24px; border-radius: 9px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); font-size: 10px; font-weight: 900; }
.playbook-onboarding strong, .playbook-onboarding small { display: block; }
.playbook-onboarding strong { color: var(--space-indigo); font: 800 12px "Manrope",sans-serif; }
.playbook-onboarding small { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.playbook-close { margin: 74px 0 5px; padding: 38px; border-radius: 25px; display: flex; align-items: center; gap: 12px; color: #fff; background: radial-gradient(circle at 70% 10%,rgba(36,76,255,.43),transparent 30%),linear-gradient(135deg,#071633,#102a72); }
.playbook-close > div { min-width: 0; flex: 1; }
.playbook-close > div > span { color: #ff9a4d; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.playbook-close h2 { margin: 4px 0 0; font-size: 28px; letter-spacing: -.04em; }
.playbook-close p { margin: 5px 0 0; color: rgba(255,255,255,.6); font-size: 11px; }

/* Restaurant discovery summary + conversation coach ---------------------- */
.discovery-summary-card { padding: 20px; border-color: rgba(36,76,255,.18); background: linear-gradient(145deg, rgba(36,76,255,.05), var(--white) 34%); }
.discovery-card-icon { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#244cff,#102a72); box-shadow: 0 7px 17px rgba(36,76,255,.2); }
.discovery-card-icon .icon { width: 16px; }
.discovery-progress-copy { margin-top: 17px; display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 10px; }
.discovery-progress-copy strong { color: var(--space-indigo); font-size: 11px; }
.discovery-progress-track { height: 7px; margin-top: 7px; border-radius: 10px; overflow: hidden; background: rgba(36,76,255,.1); }
.discovery-progress-track span { height: 100%; border-radius: inherit; display: block; background: linear-gradient(90deg,#244cff,#26d07c); transition: width .25s; }
.discovery-solution-chips { margin-top: 15px; display: flex; gap: 6px; flex-wrap: wrap; }
.discovery-solution-chips span { min-height: 27px; padding: 5px 8px; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--space-indigo); background: rgba(36,76,255,.075); font-size: 9px; font-weight: 800; }
.discovery-solution-chips .icon { width: 11px; }
.discovery-summary-empty { margin: 14px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.discovery-roi-summary { margin-top: 14px; padding: 12px; border: 1px solid rgba(255,122,24,.19); border-radius: 12px; background: rgba(255,122,24,.065); }
.discovery-roi-summary small, .discovery-roi-summary strong, .discovery-roi-summary span { display: block; }
.discovery-roi-summary small { color: var(--orange-hover); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.discovery-roi-summary strong { margin-top: 2px; color: var(--space-indigo); font: 850 23px "Manrope",sans-serif; }
.discovery-roi-summary span { color: var(--muted); font-size: 9px; }
.discovery-updated { margin-top: 11px; display: block; color: var(--muted); font-size: 9px; }
.discovery-summary-actions { margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.discovery-summary-actions > a { display: inline-flex; align-items: center; gap: 5px; color: var(--orange-hover); font-size: 9px; font-weight: 850; }
.discovery-summary-actions > a .icon { width: 11px; }

.discovery-coach-modal .modal-dialog { max-width: 1180px; }
.discovery-coach-modal .modal-content { height: min(850px, calc(100dvh - 30px)); border: 0; border-radius: 24px; overflow: hidden; box-shadow: 0 32px 95px rgba(7,22,51,.35); }
.discovery-coach-modal .modal-content > form { min-height: 0; display: flex; flex: 1; flex-direction: column; }
.discovery-coach-header { padding: 19px 23px; border-bottom: 0; display: grid; grid-template-columns: 44px minmax(0,1fr) 38px; align-items: center; gap: 13px; color: #fff; background: linear-gradient(135deg,#102a72,#071633); }
.discovery-coach-mark { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); }
.discovery-coach-mark .icon { width: 19px; }
.discovery-coach-header .eyebrow { margin-bottom: 5px; color: #ff9a4d; font-size: 9px; }
.discovery-coach-header .modal-title { margin: 0; font: 800 20px/1.25 "Manrope",sans-serif; letter-spacing: -.03em; }
.discovery-coach-header p { margin: 4px 0 0; color: rgba(255,255,255,.58); font-size: 10px; }
.discovery-coach-header .icon-button { color: #fff; background: rgba(255,255,255,.08); }
.discovery-coach-progress { height: 4px; flex: 0 0 auto; background: rgba(36,76,255,.13); }
.discovery-coach-progress span { width: 25%; height: 100%; display: block; background: linear-gradient(90deg,var(--orange-bright),#ffb000); transition: width .22s ease; }
.discovery-coach-layout { min-height: 0; padding: 0 !important; display: grid; grid-template-columns: 190px minmax(0,1fr); overflow: hidden; }
.discovery-coach-nav { padding: 15px 12px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 5px; background: rgba(16,42,114,.035); }
.discovery-coach-nav button { min-height: 58px; padding: 8px 9px; border: 1px solid transparent; border-radius: 12px; display: grid; grid-template-columns: 28px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 8px; color: var(--muted); background: transparent; text-align: left; cursor: pointer; }
.discovery-coach-nav button > span { width: 28px; height: 28px; border-radius: 9px; grid-row: 1 / 3; display: grid; place-items: center; align-self: center; color: var(--space-indigo); background: rgba(36,76,255,.08); font-size: 9px; font-weight: 900; }
.discovery-coach-nav button strong { align-self: end; color: var(--ink-2); font-size: 11px; }
.discovery-coach-nav button small { color: var(--muted); font-size: 8px; }
.discovery-coach-nav button:hover { border-color: rgba(36,76,255,.15); background: var(--white); }
.discovery-coach-nav button.is-active { border-color: rgba(255,122,24,.25); background: rgba(255,122,24,.09); box-shadow: 0 5px 13px rgba(16,42,114,.06); }
.discovery-coach-nav button.is-active > span { color: #102a72; background: var(--orange-bright); }
.discovery-coach-nav button.is-active strong { color: var(--space-indigo); }
.discovery-coach-nav > a { margin-top: auto; padding: 10px 8px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 6px; color: var(--orange-hover); font-size: 8px; font-weight: 850; }
.discovery-coach-nav > a .icon { width: 11px; }
.discovery-coach-content { min-height: 0; padding: 24px 27px 36px; overflow-y: auto; overscroll-behavior: contain; }
.discovery-coach-step { max-width: 890px; margin: 0 auto; animation: playbookReveal .18s ease-out; }
.coach-step-heading { margin-bottom: 19px; display: flex; align-items: flex-start; gap: 12px; }
.coach-step-heading > span { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; color: #102a72; background: var(--orange-bright); font-size: 10px; font-weight: 900; }
.coach-step-heading small { display: block; color: var(--orange-hover); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.coach-step-heading h3 { margin: 2px 0 0; color: var(--space-indigo); font: 850 22px/1.2 "Manrope",sans-serif; letter-spacing: -.035em; }
.coach-step-heading p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.coach-question-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.coach-question-group { min-width: 0; margin: 0; padding: 17px; border: 1px solid var(--line); border-radius: 16px; }
.coach-question-group legend { width: auto; margin: 0 0 10px; padding: 0; display: flex; align-items: center; gap: 8px; color: var(--space-indigo); font: 800 12px "Manrope",sans-serif; float: none; }
.coach-question-group legend > span { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#244cff,#102a72); }
.coach-question-group legend .icon { width: 13px; }
.coach-question { margin-top: 9px; display: block; }
.coach-question > span { min-height: 28px; margin-bottom: 5px; display: flex; align-items: flex-start; gap: 7px; color: var(--ink-2); font-size: 9px; font-weight: 750; line-height: 1.35; }
.coach-question > span b { width: 18px; height: 18px; border-radius: 6px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: rgba(36,76,255,.08); font-size: 8px; }
.coach-question textarea { min-height: 57px; padding: 9px 10px; resize: vertical; font-size: 11px; }
.coach-match-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 13px; }
.coach-need-list, .coach-solution-list { min-height: 355px; padding: 12px; border: 1px solid var(--line); border-radius: 17px; }
.coach-need-list { display: flex; flex-direction: column; gap: 6px; background: rgba(16,42,114,.025); }
.coach-need { cursor: pointer; }
.coach-need input { position: absolute; opacity: 0; pointer-events: none; }
.coach-need > span { min-height: 42px; padding: 7px 9px; border: 1px solid transparent; border-radius: 10px; display: grid; grid-template-columns: 22px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 8px; background: var(--white); transition: .15s; }
.coach-need > span > i { width: 22px; height: 22px; border: 1px solid var(--line); border-radius: 7px; grid-row: 1 / 3; display: grid; place-items: center; align-self: center; color: transparent; background: transparent; }
.coach-need > span > i .icon { width: 11px; }
.coach-need em { color: var(--ink-2); font-size: 10px; font-style: normal; font-weight: 800; }
.coach-need small { color: var(--muted); font-size: 8px; }
.coach-need input:checked + span { border-color: rgba(255,122,24,.34); background: rgba(255,122,24,.075); }
.coach-need input:checked + span > i { border-color: var(--orange-bright); color: #102a72; background: var(--orange-bright); }
.coach-need input:checked + span em { color: var(--space-indigo); }
.coach-need input:focus-visible + span { outline: 2px solid var(--navy-electric); outline-offset: 2px; }
.coach-solution-list { display: flex; flex-direction: column; gap: 7px; overflow-y: auto; background: linear-gradient(145deg,#102a72,#071633); }
.coach-solution-empty { margin: auto; max-width: 230px; color: rgba(255,255,255,.6); text-align: center; }
.coach-solution-empty .icon { width: 37px; height: 37px; margin-bottom: 10px; padding: 10px; border-radius: 11px; color: #102a72; background: var(--orange-bright); }
.coach-solution-empty strong { display: block; color: #fff; font: 800 13px "Manrope",sans-serif; }
.coach-solution-empty p { margin: 4px 0 0; font-size: 9px; }
.coach-solution { padding: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; display: flex; align-items: flex-start; gap: 10px; color: #fff; background: rgba(255,255,255,.07); animation: playbookReveal .18s ease-out; }
.coach-solution > span { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: #102a72; background: var(--orange-bright); }
.coach-solution > span .icon { width: 14px; }
.coach-solution small, .coach-solution strong { display: block; }
.coach-solution small { color: #ff9a4d; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.coach-solution strong { margin-top: 1px; font: 800 12px "Manrope",sans-serif; }
.coach-solution p { margin: 3px 0 0; color: rgba(255,255,255,.63); font-size: 8px; line-height: 1.45; }
.coach-confirmation { margin-top: 11px; padding: 13px 15px; border: 1px solid rgba(255,122,24,.24); border-radius: 13px; display: flex; align-items: center; gap: 10px; background: rgba(255,122,24,.065); }
.coach-confirmation > .icon { width: 18px; color: var(--orange-hover); }
.coach-confirmation strong { color: var(--space-indigo); font-size: 10px; }
.coach-confirmation p { margin: 2px 0 0; color: var(--muted); font-size: 9px; }
.coach-roi-calculator { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); gap: 13px; }
.coach-roi-inputs { padding: 18px; border: 1px solid var(--line); border-radius: 17px; display: grid; gap: 12px; }
.coach-roi-inputs .field > span { font-size: 9px; }
.coach-roi-inputs .form-control { min-height: 42px; font-size: 13px; }
.coach-money-input { position: relative; }
.coach-money-input b { position: absolute; top: 50%; left: 12px; z-index: 1; color: var(--space-indigo); font-size: 12px; transform: translateY(-50%); }
.coach-money-input input { padding-left: 28px; }
.coach-roi-result { min-height: 330px; padding: 28px; border-radius: 19px; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; background: radial-gradient(circle at 80% 5%,rgba(36,76,255,.55),transparent 34%),linear-gradient(145deg,#102a72,#071633); text-align: center; }
.coach-roi-result > span { width: 50px; height: 50px; margin-bottom: 14px; border-radius: 16px; display: grid; place-items: center; color: #102a72; background: var(--orange-bright); }
.coach-roi-result small { color: #ff9a4d; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.coach-roi-result strong { margin-top: 4px; font: 850 42px/1.1 "Manrope",sans-serif; letter-spacing: -.05em; }
.coach-roi-result > p { margin: 7px 0 0; color: rgba(255,255,255,.58); font-size: 10px; }
.coach-roi-plans { margin-top: 22px; display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }
.coach-roi-plans span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(255,255,255,.55); font-size: 8px; font-weight: 800; }
.coach-roi-plans span.is-covered { border-color: rgba(38,208,124,.45); color: #67eca9; background: rgba(38,208,124,.1); }
.coach-roi-plans span.is-covered::before { content: "✓ "; }
.coach-proof-strip { margin-top: 11px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; display: grid; grid-template-columns: 1.5fr repeat(4,1fr); gap: 8px; align-items: center; background: var(--white); }
.coach-proof-strip > strong { color: var(--space-indigo); font-size: 9px; }
.coach-proof-strip > span { padding-left: 8px; border-left: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.coach-proof-strip b { display: block; color: var(--orange-hover); font-size: 11px; }
.coach-signal-fieldset { margin: 0; padding: 17px; border: 1px solid var(--line); border-radius: 16px; }
.coach-signal-fieldset legend { width: auto; margin: 0 0 11px; padding: 0; float: none; color: var(--space-indigo); font: 800 12px "Manrope",sans-serif; }
.coach-signal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.coach-signal-grid label { cursor: pointer; }
.coach-signal-grid input { position: absolute; opacity: 0; pointer-events: none; }
.coach-signal-grid span { min-height: 42px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 9px; font-weight: 750; }
.coach-signal-grid span .icon { width: 13px; color: var(--orange-hover); }
.coach-signal-grid input:checked + span { border-color: rgba(255,122,24,.38); color: var(--space-indigo); background: rgba(255,122,24,.09); }
.coach-signal-grid input:focus-visible + span { outline: 2px solid var(--navy-electric); outline-offset: 2px; }
.coach-notes { margin-top: 13px; }
.coach-notes > span { font-size: 10px; }
.coach-notes textarea { min-height: 130px; font-size: 11px; }
.coach-notes > small { margin-top: 6px; display: block; color: var(--muted); font-size: 9px; }
.coach-close-actions { margin-top: 12px; display: flex; gap: 8px; }
.discovery-coach-footer { min-height: 68px; padding: 12px 20px; border-top: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; background: #fafbfa; }
.discovery-coach-footer > span { color: var(--muted); font-size: 9px; text-align: center; }
.discovery-coach-footer > div { display: flex; gap: 7px; }

[data-theme="dark"] .playbook-nav a:hover, [data-theme="dark"] .playbook-question-card, [data-theme="dark"] .playbook-challenge-grid article, [data-theme="dark"] .playbook-matcher, [data-theme="dark"] .playbook-signals, [data-theme="dark"] .playbook-proof-grid article, [data-theme="dark"] .playbook-package, [data-theme="dark"] .playbook-onboarding li { background: var(--white); }
[data-theme="dark"] .playbook-nav, [data-theme="dark"] .discovery-summary-card { background-color: var(--white); }
[data-theme="dark"] .playbook-problems, [data-theme="dark"] .discovery-coach-nav { background: rgba(95,127,255,.055); }
[data-theme="dark"] .playbook-catalogue-link { background: rgba(95,127,255,.08); }
[data-theme="dark"] .playbook-reminder, [data-theme="dark"] .playbook-roi-example, [data-theme="dark"] .coach-confirmation { background: rgba(255,122,24,.09); }
[data-theme="dark"] .coach-need > span, [data-theme="dark"] .coach-proof-strip { background: #11192c; }
[data-theme="dark"] .coach-need input:checked + span { background: rgba(255,122,24,.11); }
[data-theme="dark"] .discovery-coach-footer { background: #091226; }

@media (max-width: 1100px) {
    .playbook-hero { padding: 42px; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); }
    .playbook-proof-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .playbook-onboarding ol { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .discovery-coach-modal .modal-dialog { max-width: calc(100% - 20px); }
}

@media (max-width: 900px) {
    .playbook-hero { min-height: 0; grid-template-columns: 1fr; }
    .playbook-promise { min-height: 245px; }
    .playbook-nav { top: 63px; overflow-x: auto; grid-template-columns: repeat(5,minmax(150px,1fr)); }
    .playbook-story-grid { grid-template-columns: 1fr; }
    .playbook-package-grid { grid-template-columns: 1fr; }
    .playbook-package { min-height: 0; }
    .playbook-package.is-featured { transform: none; }
    .playbook-offer { grid-template-columns: 46px 1fr; }
    .playbook-offer > div:last-child { grid-column: 2; }
    .discovery-coach-layout { grid-template-columns: 155px minmax(0,1fr); }
    .coach-question-groups { grid-template-columns: 1fr; }
    .coach-match-layout, .coach-roi-calculator { grid-template-columns: 1fr; }
    .coach-solution-list { min-height: 260px; }
    .coach-proof-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .coach-proof-strip > strong { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
    .playbook-page { margin: -5px -8px 0; }
    .playbook-hero { padding: 29px 21px; border-radius: 22px; gap: 28px; }
    .playbook-hero h1 { font-size: 41px; }
    .playbook-hero-copy > p { font-size: 13px; }
    .playbook-hero-actions { align-items: stretch; flex-direction: column; }
    .playbook-hero-actions .button { width: 100%; }
    .playbook-promise { padding: 23px; }
    .playbook-promise > strong { font-size: 24px; }
    .playbook-nav { margin-top: 11px; top: 58px; border-radius: 15px; }
    .playbook-section { padding-top: 54px; scroll-margin-top: 105px; }
    .playbook-section-heading { padding: 0 5px; }
    .playbook-question-grid, .playbook-challenge-grid { grid-template-columns: 1fr; }
    .playbook-outcomes { grid-template-columns: 1fr; }
    .playbook-outcomes span { border-right: 0; border-bottom: 1px solid rgba(36,76,255,.13); }
    .playbook-outcomes span:last-child { border-bottom: 0; }
    .playbook-formula { padding: 15px; grid-template-columns: repeat(5,1fr); gap: 5px; }
    .playbook-formula > i { display: none; }
    .playbook-formula small { display: none; }
    .playbook-formula strong { font-size: 9px; }
    .playbook-matcher { grid-template-columns: 1fr; }
    .playbook-problems { border-right: 0; border-bottom: 1px solid var(--line); }
    .playbook-solution-stage { min-height: 340px; padding: 28px 20px; }
    .playbook-signals { grid-template-columns: 1fr; }
    .playbook-signals ul { grid-template-columns: 1fr; }
    .playbook-catalogue-link { align-items: stretch; flex-direction: column; }
    .playbook-proof-hero { padding: 27px 21px; grid-template-columns: 1fr; }
    .playbook-proof-hero blockquote { padding: 20px 0 0; border-top: 2px solid var(--orange-bright); border-left: 0; text-align: center; }
    .playbook-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .playbook-roi-example { align-items: flex-start; }
    .playbook-roi-example strong { font-size: 16px; }
    .playbook-offer { grid-template-columns: 1fr; }
    .playbook-offer > div:last-child { grid-column: auto; }
    .playbook-onboarding ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .playbook-close { padding: 28px 21px; align-items: stretch; flex-direction: column; }
    .playbook-close .button { width: 100%; }

    .account-hero .button--coach { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(36,76,255,.46); }
    .discovery-summary-actions { align-items: stretch; flex-direction: column; }
    .discovery-summary-actions .button { width: 100%; }
    .discovery-summary-actions > a { justify-content: center; }
    .discovery-coach-modal .modal-dialog { max-width: none; margin: 0; min-height: 100%; }
    .discovery-coach-modal .modal-content { width: 100%; height: var(--app-viewport-height,100dvh); max-height: var(--app-viewport-height,100dvh) !important; border-radius: 0 !important; }
    .discovery-coach-modal .modal-content::before { display: none !important; }
    .discovery-coach-header { padding: 14px 15px; grid-template-columns: 37px minmax(0,1fr) 34px; gap: 9px; }
    .discovery-coach-mark { width: 37px; height: 37px; border-radius: 11px; }
    .discovery-coach-header .modal-title { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .discovery-coach-header p { font-size: 8px; }
    .discovery-coach-layout { display: flex; flex-direction: column; }
    .discovery-coach-nav { padding: 8px; border-right: 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); flex: 0 0 auto; }
    .discovery-coach-nav button { min-height: 46px; padding: 6px 3px; display: flex; align-items: center; justify-content: center; gap: 4px; text-align: center; }
    .discovery-coach-nav button > span { width: 25px; height: 25px; border-radius: 8px; }
    .discovery-coach-nav button strong { font-size: 8px; }
    .discovery-coach-nav button small, .discovery-coach-nav > a { display: none; }
    .discovery-coach-content { padding: 18px 14px 28px; }
    .coach-step-heading h3 { font-size: 18px; }
    .coach-question-group { padding: 14px; }
    .coach-match-layout { display: block; }
    .coach-solution-list { min-height: 240px; margin-top: 10px; }
    .coach-roi-result { min-height: 270px; }
    .coach-roi-result strong { font-size: 36px; }
    .coach-proof-strip { grid-template-columns: 1fr 1fr; }
    .coach-signal-grid { grid-template-columns: 1fr; }
    .coach-close-actions { align-items: stretch; flex-direction: column; }
    .discovery-coach-footer { min-height: 70px; padding: 10px 12px; grid-template-columns: auto 1fr; }
    .discovery-coach-footer > span { display: none; }
    .discovery-coach-footer > div { margin-left: auto; }
    .discovery-coach-footer .button { min-height: 42px; padding-inline: 12px; font-size: 11px; }
    .discovery-coach-footer .button--soft { display: none; }
}

@media (max-width: 379.98px) {
    .playbook-hero h1 { font-size: 35px; }
    .playbook-proof-grid, .playbook-onboarding ol { grid-template-columns: 1fr; }
    .discovery-coach-nav button strong { display: none; }
    .discovery-coach-footer .button { padding-inline: 9px; }
}

/* Photography-led playbook refinement ----------------------------------- */
.button--coach { background: #102a72; box-shadow: none; }
.button--coach:hover { background: #183888; box-shadow: none; }
.button--playbook { border-radius: 3px; box-shadow: none; }
.button--playbook:hover { box-shadow: none; }
.button--playbook-quiet { border-radius: 3px; background: transparent; backdrop-filter: none; }

.playbook-page { max-width: 1180px; }
.playbook-hero {
    min-height: 520px;
    padding: 0;
    border-radius: 6px;
    grid-template-columns: minmax(0,1.08fr) minmax(330px,.72fr);
    gap: 0;
    align-items: stretch;
    background: #071633;
    box-shadow: none;
}
.playbook-hero::before,
.playbook-hero::after { display: none; }
.playbook-hero-copy { padding: 60px 54px 46px; display: flex; flex-direction: column; justify-content: center; }
.playbook-kicker {
    margin-bottom: 22px;
    padding-left: 30px;
    position: relative;
    color: #ff9a4d;
    letter-spacing: .08em;
}
.playbook-kicker::before { width: 20px; height: 2px; position: absolute; top: 50%; left: 0; content: ""; background: var(--orange-bright); }
.playbook-hero h1 { max-width: 610px; font-size: clamp(42px,5vw,66px); line-height: 1; }
.playbook-hero-copy > p { max-width: 590px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.7; }
.playbook-hero-proofline {
    margin-top: 35px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.18);
    display: flex;
    gap: 25px;
    color: rgba(255,255,255,.68);
    font-size: 10px;
    font-weight: 800;
}
.playbook-hero-proofline span { position: relative; }
.playbook-hero-proofline span + span::before { position: absolute; left: -14px; content: "·"; color: var(--orange-bright); }
.playbook-hero-photo { min-width: 0; min-height: 520px; margin: 0; border-left: 1px solid rgba(255,255,255,.12); position: relative; overflow: hidden; }
.playbook-hero-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 53% center; }
.playbook-hero-photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,transparent 50%,rgba(4,13,34,.55)); pointer-events: none; }
.playbook-hero-photo figcaption {
    padding: 18px 20px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    color: #fff;
    background: rgba(7,22,51,.9);
}
.playbook-hero-photo figcaption span,
.playbook-hero-photo figcaption strong { display: block; }
.playbook-hero-photo figcaption span { color: #ff9a4d; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.playbook-hero-photo figcaption strong { margin-top: 4px; font: 700 13px/1.45 "Manrope",sans-serif; }

.playbook-nav {
    margin-top: 14px;
    padding: 4px;
    border-radius: 4px;
    box-shadow: none;
}
.playbook-nav a { min-height: 46px; border-radius: 2px; }
.playbook-nav a span {
    width: auto;
    height: auto;
    border-radius: 0;
    color: var(--orange-hover);
    background: transparent;
}
.playbook-nav a:hover { background: rgba(16,42,114,.045); }
.playbook-section { padding-top: 82px; }
.playbook-section-heading { max-width: 760px; margin-bottom: 34px; }
.playbook-section-heading > span { padding-left: 26px; position: relative; letter-spacing: .07em; }
.playbook-section-heading > span::before { width: 18px; height: 2px; position: absolute; top: 50%; left: 0; content: ""; background: var(--orange-bright); }
.playbook-section-heading h2 { font-size: clamp(29px,3vw,41px); line-height: 1.08; }
.playbook-section-heading p { max-width: 690px; font-size: 14px; line-height: 1.7; }

.playbook-story-grid { grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr); gap: 0; align-items: stretch; }
.playbook-editorial-photo { min-width: 0; min-height: 430px; margin: 0; position: relative; overflow: hidden; background: #071633; }
.playbook-editorial-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.playbook-editorial-photo figcaption {
    max-width: 410px;
    padding: 14px 18px;
    position: absolute;
    right: 0;
    bottom: 0;
    color: #fff;
    background: rgba(7,22,51,.92);
    font: 700 12px/1.5 "Manrope",sans-serif;
}
.playbook-origin {
    min-height: 430px;
    padding: 42px;
    border: 1px solid var(--line);
    border-left: 0;
    border-radius: 0;
    color: var(--ink-2);
    background: var(--white);
    box-shadow: none;
}
.playbook-stat { margin-bottom: 45px; font-size: 48px; }
.playbook-origin h3 { color: var(--space-indigo); font-size: 23px; }
.playbook-origin > p { color: var(--muted); font-size: 13px; }
.playbook-origin blockquote {
    margin-top: 29px;
    padding: 3px 0 3px 18px;
    border-radius: 0;
    color: var(--space-indigo);
    background: transparent;
}
.playbook-challenge-grid {
    margin-top: 28px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 0;
}
.playbook-challenge-grid article {
    min-height: 125px;
    padding: 22px 20px;
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0;
    flex-direction: row;
    justify-content: flex-start;
    gap: 13px;
    background: transparent;
}
.playbook-challenge-grid article:last-child { border-right: 0; }
.playbook-challenge-grid article > .icon {
    width: 21px;
    height: 21px;
    padding: 0;
    border-radius: 0;
    flex: 0 0 auto;
    background: transparent;
}
.playbook-challenge-grid strong { font-size: 13px; }
.playbook-outcomes {
    margin-top: 13px;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}

.playbook-conversation-intro {
    min-height: 340px;
    margin-bottom: 28px;
    display: grid;
    grid-template-columns: minmax(0,1.18fr) minmax(330px,.82fr);
    background: #071633;
}
.playbook-conversation-intro figure { min-width: 0; margin: 0; overflow: hidden; }
.playbook-conversation-intro img { width: 100%; height: 100%; min-height: 340px; display: block; object-fit: cover; }
.playbook-conversation-intro blockquote { margin: 0; padding: 44px; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.playbook-conversation-intro blockquote span { color: #ff9a4d; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.playbook-conversation-intro blockquote strong { margin-top: 13px; font: 750 24px/1.35 "Manrope",sans-serif; letter-spacing: -.025em; }
.playbook-conversation-intro blockquote p { margin: 18px 0 0; color: rgba(255,255,255,.63); font-size: 12px; line-height: 1.65; }
.playbook-formula {
    padding: 20px 4px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    color: var(--ink-2);
    background: transparent;
}
.playbook-formula article > span {
    width: 25px;
    height: 25px;
    border: 1px solid var(--orange-bright);
    border-radius: 50%;
    color: var(--orange-hover);
    background: transparent;
}
.playbook-formula strong { color: var(--space-indigo); }
.playbook-formula small { color: var(--muted); }
.playbook-formula > i { color: var(--line-strong); }
.playbook-question-grid { gap: 10px; }
.playbook-question-card { padding: 25px; border-radius: 4px; }
.playbook-question-card header > span {
    width: 34px;
    height: 34px;
    border-radius: 3px;
    background: #102a72;
}
.playbook-question-card li::before {
    width: 20px;
    height: 20px;
    border-radius: 0;
    color: var(--orange-hover);
    background: transparent;
}
.playbook-reminder {
    border: 0;
    border-left: 3px solid var(--orange-bright);
    border-radius: 0;
    background: rgba(255,122,24,.055);
}

.playbook-feature-visual {
    min-height: 325px;
    margin: 0 0 24px;
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(350px,.95fr);
    background: #071633;
}
.playbook-feature-visual img { width: 100%; height: 325px; display: block; object-fit: cover; }
.playbook-feature-visual figcaption { padding: 42px; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.playbook-feature-visual figcaption span { color: #ff9a4d; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.playbook-feature-visual figcaption strong { margin-top: 10px; font: 750 24px/1.35 "Manrope",sans-serif; letter-spacing: -.025em; }
.playbook-feature-visual figcaption p { margin: 14px 0 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.65; }
.playbook-matcher { border-radius: 4px; }
.playbook-problems { background: var(--white); }
.playbook-problem { border-radius: 2px; }
.playbook-problem.is-active {
    border-color: transparent;
    border-left: 3px solid var(--orange-bright);
    background: rgba(255,122,24,.065);
    box-shadow: none;
}
.playbook-solution-stage { background: #071633; }
.playbook-solution-empty > .icon,
.playbook-solution > span { border-radius: 3px; box-shadow: none; }
.playbook-solution em { border-radius: 2px; }
.playbook-signals { border-radius: 4px; }
.playbook-signals > div > span { border-radius: 3px; }
.playbook-signals li { border-radius: 2px; }
.playbook-catalogue-link {
    border-left: 3px solid var(--space-indigo);
    border-radius: 0;
}

.playbook-proof-hero {
    min-height: 320px;
    padding: 0;
    border-radius: 4px;
    grid-template-columns: minmax(250px,.78fr) minmax(205px,.58fr) minmax(0,1.14fr);
    gap: 0;
    background: #071633;
    overflow: hidden;
}
.playbook-proof-hero > img { width: 100%; height: 320px; display: block; object-fit: cover; }
.playbook-proof-hero > div { padding: 28px; }
.playbook-proof-hero > div strong { font-size: 48px; }
.playbook-proof-hero blockquote { margin: 0; padding: 38px; border-left-color: rgba(255,122,24,.7); }
.playbook-proof-grid {
    gap: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.playbook-proof-grid article {
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}
.playbook-proof-grid article:last-child { border-right: 0; }
.playbook-roi-example {
    border: 0;
    border-left: 3px solid var(--orange-bright);
    border-radius: 0;
}
.playbook-roi-example > span { border-radius: 3px; }

.playbook-package-grid { gap: 10px; }
.playbook-package {
    border-top: 3px solid var(--space-indigo);
    border-radius: 4px;
}
.playbook-package.is-featured {
    border-width: 1px;
    border-top: 3px solid var(--orange-bright);
    box-shadow: none;
    transform: none;
}
.playbook-package-badge { border-radius: 2px; }
.playbook-offer { border-radius: 4px; background: #071633; }
.playbook-offer > span { border-radius: 3px; }
.playbook-onboarding { margin-top: 70px; }
.playbook-onboarding-layout { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); gap: 32px; align-items: start; }
.playbook-onboarding-layout figure { margin: 0; border: 1px solid var(--line); background: var(--white); }
.playbook-onboarding-layout figure img { width: 100%; min-height: 340px; display: block; object-fit: contain; background: #fff; }
.playbook-onboarding-layout figure figcaption { padding: 13px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.5; }
.playbook-onboarding ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
.playbook-onboarding li {
    min-height: 113px;
    padding: 15px 16px;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}
.playbook-onboarding li:nth-child(odd) { border-right: 1px solid var(--line); }
.playbook-onboarding li > span {
    width: auto;
    height: auto;
    margin-bottom: 17px;
    border-radius: 0;
    display: block;
    color: var(--orange-hover);
    background: transparent;
    text-align: left;
}
.playbook-close { border-radius: 4px; background: #071633; }

/* Keep the working coach practical and visually quiet. */
.discovery-summary-card { background: var(--white); }
.discovery-card-icon { border-radius: 3px; background: #102a72; box-shadow: none; }
.discovery-progress-track,
.discovery-progress-track span { border-radius: 0; }
.discovery-solution-chips span,
.discovery-roi-summary { border-radius: 3px; }
.discovery-coach-modal .modal-content { border-radius: 6px; box-shadow: 0 22px 65px rgba(7,22,51,.28); }
.discovery-coach-header { background: #071633; }
.discovery-coach-mark { border-radius: 3px; }
.discovery-coach-progress span { background: var(--orange-bright); }
.discovery-coach-nav { padding: 13px 0; background: var(--white); }
.discovery-coach-nav button {
    padding-inline: 14px;
    border-radius: 0;
}
.discovery-coach-nav button > span { border-radius: 2px; }
.discovery-coach-nav button:hover { border-color: transparent; background: rgba(16,42,114,.035); }
.discovery-coach-nav button.is-active {
    border-color: transparent;
    border-left: 3px solid var(--orange-bright);
    background: rgba(255,122,24,.055);
    box-shadow: none;
}
.coach-step-heading > span,
.coach-question-group legend > span,
.coach-question > span b,
.coach-need > span,
.coach-need > span > i,
.coach-solution-empty .icon,
.coach-solution,
.coach-solution > span,
.coach-confirmation,
.coach-roi-inputs,
.coach-roi-result,
.coach-proof-strip,
.coach-signal-fieldset,
.coach-signal-grid span { border-radius: 3px; }
.coach-question-group,
.coach-need-list,
.coach-solution-list { border-radius: 4px; }
.coach-question-group legend > span { background: #102a72; }
.coach-question > span b { color: var(--orange-hover); background: transparent; }
.coach-need-list { background: var(--white); }
.coach-solution-list,
.coach-roi-result { background: #071633; }
.coach-roi-result > span { border-radius: 3px; }
.coach-roi-plans span { border-radius: 2px; }
.discovery-coach-footer { background: var(--white); }

@media (max-width: 1100px) {
    .playbook-hero-copy { padding-inline: 44px; }
    .playbook-proof-hero { grid-template-columns: minmax(230px,.75fr) minmax(190px,.55fr) minmax(0,1fr); }
    .playbook-onboarding-layout { grid-template-columns: minmax(270px,.7fr) minmax(0,1.3fr); gap: 24px; }
}

@media (max-width: 900px) {
    .playbook-hero { grid-template-columns: minmax(0,1.1fr) minmax(280px,.7fr); }
    .playbook-hero-copy { padding: 44px 38px; }
    .playbook-hero-photo,
    .playbook-hero-photo img { min-height: 470px; }
    .playbook-story-grid { grid-template-columns: 1fr; }
    .playbook-editorial-photo { min-height: 390px; }
    .playbook-origin { min-height: 0; border-top: 0; border-left: 1px solid var(--line); }
    .playbook-challenge-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .playbook-challenge-grid article:nth-child(2) { border-right: 0; }
    .playbook-challenge-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .playbook-conversation-intro,
    .playbook-feature-visual { grid-template-columns: 1fr; }
    .playbook-conversation-intro img,
    .playbook-feature-visual img { min-height: 300px; height: 300px; }
    .playbook-proof-hero { grid-template-columns: 1fr 1fr; }
    .playbook-proof-hero blockquote { grid-column: 1 / -1; padding: 30px; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
    .playbook-onboarding-layout { grid-template-columns: 1fr; }
    .playbook-onboarding-layout figure { max-width: 620px; }
}

@media (max-width: 767.98px) {
    .playbook-page { width: calc(100vw - 28px); max-width: calc(100vw - 28px); margin: 0; overflow: clip; }
    .playbook-hero { padding: 0; border-radius: 4px; grid-template-columns: 1fr; gap: 0; }
    .playbook-hero-copy { min-width: 0; padding: 34px 24px 30px; overflow: hidden; }
    .playbook-hero h1 { font-size: 42px; }
    .playbook-hero h1,
    .playbook-hero-copy > p,
    .playbook-section-heading h2,
    .playbook-section-heading p { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
    .playbook-hero-photo,
    .playbook-hero-photo img { min-height: 320px; }
    .playbook-hero-photo { border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
    .playbook-hero-photo img { height: 320px; object-position: 50% 52%; }
    .playbook-hero-proofline { gap: 16px; flex-wrap: wrap; }
    .playbook-nav { border-radius: 3px; }
    .playbook-section { padding-top: 62px; }
    .playbook-section-heading { padding-inline: 0; }
    .playbook-editorial-photo { min-height: 280px; }
    .playbook-origin { padding: 28px 24px; }
    .playbook-stat { margin-bottom: 30px; }
    .playbook-challenge-grid { grid-template-columns: 1fr; }
    .playbook-challenge-grid article,
    .playbook-challenge-grid article:nth-child(2) { min-height: 92px; border-right: 0; border-bottom: 1px solid var(--line); }
    .playbook-challenge-grid article:last-child { border-bottom: 0; }
    .playbook-conversation-intro img,
    .playbook-feature-visual img { min-height: 255px; height: 255px; }
    .playbook-conversation-intro blockquote,
    .playbook-feature-visual figcaption { padding: 28px 24px; }
    .playbook-conversation-intro blockquote strong,
    .playbook-feature-visual figcaption strong { font-size: 21px; }
    .playbook-formula { overflow-x: auto; grid-template-columns: repeat(5,minmax(76px,1fr)); }
    .playbook-proof-hero { grid-template-columns: 1fr; }
    .playbook-proof-hero > img { height: 230px; }
    .playbook-proof-hero blockquote { grid-column: auto; }
    .playbook-proof-grid article:nth-child(2n) { border-right: 0; }
    .playbook-onboarding-layout figure img { min-height: 260px; }
    .playbook-onboarding ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .playbook-close { border-radius: 4px; }

    .discovery-coach-nav { padding: 8px; }
    .discovery-coach-nav button.is-active { border-left: 0; border-bottom: 3px solid var(--orange-bright); }
}

@media (max-width: 379.98px) {
    .playbook-hero h1 { font-size: 36px; }
    .playbook-onboarding ol { grid-template-columns: 1fr; }
    .playbook-onboarding li:nth-child(odd) { border-right: 0; }
}

/* Team workspace redesign */
.team-panel { overflow: hidden; }
.team-panel-heading { align-items: flex-start; gap: 18px; }
.team-breakdown { margin-left: auto; display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.team-count-chip { min-height: 29px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); background: rgba(25,31,60,.025); font-size: 11px; font-weight: 700; white-space: nowrap; }
.team-count-chip strong { color: var(--ink); font-size: 12px; }
.team-count-chip--freelance { border-color: rgba(213,103,35,.2); color: var(--chocolate); background: rgba(213,103,35,.07); }
.team-count-chip--director { border-color: rgba(38,208,124,.24); color: #17653d; background: rgba(38,208,124,.08); }
.member-list { margin: 18px -22px -22px; background: rgba(25,31,60,.018); }
.member-row { min-height: 0; padding: 18px 22px; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(250px,1.15fr) minmax(245px,.85fr); grid-template-areas: "identity activity" "management management"; align-items: center; gap: 17px 24px; background: var(--white); transition: background-color .18s ease; }
.member-row:hover { background: rgba(25,31,60,.012); }
.member-identity { min-width: 0; grid-area: identity; display: flex; align-items: center; gap: 13px; }
.member-identity > .avatar { width: 46px; height: 46px; border-radius: 14px; flex: 0 0 auto; }
.member-profile { min-width: 0; }
.member-name-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.member-name-line > strong { min-width: 0; overflow: hidden; color: var(--ink); font-family: "Manrope",sans-serif; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.member-profile > p { margin: 4px 0 0; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.member-you { padding: 2px 7px; border-radius: 999px; color: var(--space-indigo); background: rgba(36,76,255,.08); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.role-badge, .team-type-badge { margin: 0; padding: 3px 7px; display: inline-flex; align-items: center; font-size: 10px; line-height: 1.2; white-space: nowrap; }
.role-badge { color: var(--space-indigo); background: rgba(36,76,255,.09); }
.member-work { min-width: 0; grid-area: activity; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(100px,.8fr); align-items: center; gap: 16px; text-align: left; }
.member-stat { min-width: 0; }
.member-stat > small, .member-type-form label > span, .member-access-control > div > span { margin: 0 0 4px; display: block; color: var(--muted); font-size: 9px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.member-stat > strong { display: block; color: var(--ink-2); font-size: 12px; }
.member-activity { min-width: 0; display: flex; align-items: center; gap: 7px; overflow: hidden; color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.member-activity > span { overflow: hidden; text-overflow: ellipsis; }
.member-activity i { width: 7px; height: 7px; border-radius: 50%; display: block; flex: 0 0 auto; background: #aeb4bc; box-shadow: 0 0 0 3px rgba(174,180,188,.13); }
.member-activity--live { justify-content: flex-start; color: var(--chocolate); }
.member-activity--live i { background: var(--success); box-shadow: 0 0 0 3px rgba(47,133,90,.13); }
.member-management { grid-area: management; margin-top: 1px; padding: 13px 14px; border: 1px solid rgba(25,31,60,.07); border-radius: 12px; display: grid; grid-template-columns: minmax(290px,1fr) minmax(260px,.9fr); align-items: center; gap: 14px 22px; background: rgba(25,31,60,.025); }
.member-type-form { min-width: 0; margin: 0; display: flex; align-items: flex-end; justify-content: flex-start; gap: 8px; }
.member-type-form label { min-width: 150px; margin: 0; flex: 1; }
.member-type-form select { width: 100%; min-height: 38px; }
.member-type-form .button, .member-role-form .button { min-height: 38px; padding: 0 12px; white-space: nowrap; }
.member-access-control { min-width: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.member-access-control > div { min-width: 0; }
.member-access-control > div > strong { display: block; color: var(--ink-2); font-size: 12px; }
.member-role-form { margin: 0; display: flex; justify-content: flex-end; }
.member-self-access { min-height: 38px; padding: 0 11px; border-radius: 9px; display: inline-flex; align-items: center; color: var(--muted); background: rgba(25,31,60,.055); font-size: 11px; font-weight: 700; white-space: nowrap; }
.member-account-control { grid-column: 1 / -1; min-width: 0; padding-top: 12px; border-top: 1px dashed rgba(25,31,60,.1); display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.member-account-control > div:first-child > span { margin: 0 0 4px; display: block; color: var(--muted); font-size: 9px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.member-account-control > div:first-child > strong { display: block; color: var(--ink-2); font-size: 12px; }
.member-account-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.member-account-actions form { margin: 0; }
.member-account-actions .button { min-height: 38px; padding: 0 12px; white-space: nowrap; }
.member-disabled-badge { padding: 3px 7px; border-radius: 999px; display: inline-flex; align-items: center; color: var(--spicy-paprika); background: rgba(202,91,46,.12); font-size: 10px; font-weight: 800; line-height: 1.2; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.member-row--disabled .member-identity, .member-row--disabled .member-work { opacity: .55; }
.member-row--disabled .member-account-control > div:first-child > strong { color: var(--spicy-paprika); }
.auth-event--login_disabled { color: var(--spicy-paprika); background: rgba(202,91,46,.1); }
[data-theme="dark"] .member-account-control { border-top-color: rgba(255,255,255,.1); }
[data-theme="dark"] .team-count-chip { background: rgba(255,255,255,.035); }
[data-theme="dark"] .team-count-chip--freelance { background: rgba(213,103,35,.12); }
[data-theme="dark"] .team-count-chip--director { color: #72e6ad; background: rgba(38,208,124,.1); }
[data-theme="dark"] .member-list { background: rgba(0,0,0,.08); }
[data-theme="dark"] .member-row, [data-theme="dark"] .member-row:hover { background: #11192c; }
[data-theme="dark"] .member-management { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
[data-theme="dark"] .member-self-access { background: rgba(255,255,255,.06); }

@media (max-width: 767.98px) {
    .team-panel-heading { align-items: stretch; flex-direction: column; }
    .team-breakdown { margin-left: 0; justify-content: flex-start; }
    .member-row { grid-template-columns: 1fr; grid-template-areas: "identity" "activity" "management"; gap: 15px; }
    .member-work { grid-column: auto; grid-template-columns: repeat(2,minmax(0,1fr)); text-align: left; }
    .member-management { grid-template-columns: 1fr; }
}

@media (max-width: 479.98px) {
    .team-panel { padding: 0; border: 0; overflow: visible; background: transparent; box-shadow: none; }
    .team-panel > .team-panel-heading { padding: 0 2px 13px; }
    .team-breakdown { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
    .team-count-chip { min-width: 0; padding: 0 7px; justify-content: center; font-size: 9px; }
    .team-count-chip strong { font-size: 11px; }
    .member-list { margin: 0; display: grid; gap: 10px; background: transparent; }
    .member-row { padding: 15px; border: 1px solid var(--line); border-radius: 18px; gap: 14px; background: var(--white); box-shadow: var(--shadow-sm); }
    .member-identity > .avatar { width: 44px; height: 44px; }
    .member-name-line { gap: 5px; }
    .member-name-line > strong { width: 100%; font-size: 14px; }
    .member-work { padding-top: 13px; border-top: 1px solid var(--line); gap: 12px; }
    .member-management { margin: 0 -15px -15px; padding: 14px 15px 15px; border-width: 1px 0 0; border-radius: 0 0 18px 18px; gap: 14px; }
    .member-type-form { align-items: flex-end; flex-wrap: nowrap; }
    .member-type-form label { min-width: 0; }
    .member-access-control { align-items: stretch; flex-direction: column; }
    .member-role-form, .member-role-form .button, .member-self-access { width: 100%; }
    .member-role-form .button, .member-self-access { justify-content: center; }
    [data-theme="dark"] .team-panel { background: transparent; }
    [data-theme="dark"] .member-row { background: linear-gradient(180deg,#151f36,#11192c); }
}

/* Cross-device usability fixes */
@media (min-width: 480px) and (max-width: 1199.98px) {
    .mobile-tabbar { transform: translateX(-50%); }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .metric-grid > .metric-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .account-hero { align-items: stretch; flex-direction: column; gap: 17px; }
    .account-identity { width: 100%; }
    .account-identity > div { flex: 1; }
    .account-title-line h1 { max-width: 100%; overflow: visible; text-overflow: clip; white-space: normal; }
    .hero-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 479.98px) {
    .task-tabs { width: 100%; margin-left: 0; margin-right: 0; padding: 0 0 5px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; overflow: visible; }
    .task-tabs a { min-width: 0; min-height: 38px; padding: 0 4px; justify-content: center; gap: 3px; font-size: 10px; white-space: nowrap; }
    .task-tabs span { min-width: 17px; padding: 2px 4px; font-size: 10px; }
    .hero-actions { width: 100%; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; overflow: visible; }
    .hero-actions .button { width: 100%; min-width: 0; min-height: 44px; padding: 0 10px; justify-content: center; white-space: normal; }
    .hero-actions > .button:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .restaurant-actions { margin: -4px 0 17px; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; overflow: visible; }
    .restaurant-actions > .button, .restaurant-actions > form { width: 100%; min-width: 0; }
    .restaurant-actions > form .button { width: 100%; min-height: 48px; padding-inline: 9px; justify-content: center; white-space: normal; }
    .restaurant-actions > .button { min-height: 48px; padding-inline: 9px; justify-content: center; white-space: normal; }
    .restaurant-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Faster map feedback: show steady background-location progress. */
.map-auto-locator > div { display: grid; gap: 3px; }
.map-auto-track { width: 100%; height: 3px; margin-top: 3px; border-radius: 999px; display: block; overflow: hidden; background: rgba(16,42,114,.1); }
.map-auto-track > i { width: 0; height: 100%; border-radius: inherit; display: block; background: linear-gradient(90deg,var(--green-bright),var(--won-neon)); transition: width .25s ease; }
[data-theme="dark"] .map-auto-track { background: rgba(255,255,255,.12); }

/* Sidebar refresh: grouped navigation, calmer active state and clearer profile. */
.sidebar { padding: 22px 16px 15px; }
.sidebar-top { min-height: 53px; padding: 0 7px 19px; border-bottom: 1px solid rgba(255,255,255,.12); }
.sidebar .brand-logo { box-shadow: 0 7px 18px rgba(0,0,0,.2); }
.sidebar-add { min-height: 46px; margin: 16px 0 19px; border-radius: 12px; box-shadow: 0 9px 22px rgba(255,122,24,.2); }
.button--create { min-height: 47px; padding: 0 17px 0 9px; gap: 10px; border-radius: 13px; color: #fff; background: linear-gradient(135deg,#d45b13,#b94305); box-shadow: 0 7px 18px rgba(185,67,5,.28); letter-spacing: -.01em; }
.button--create:hover { color: #fff; background: linear-gradient(135deg,#c84f0b,#a93903); box-shadow: 0 9px 23px rgba(169,57,3,.34); }
.button--create > .icon { width: 17px; height: 17px; padding: 6px; border-radius: 9px; box-sizing: content-box; color: #fff; background: rgba(8,25,67,.2); transition: transform .18s ease, background-color .18s ease; }
.button--create:hover > .icon { background: rgba(8,25,67,.28); transform: rotate(90deg); }
.button--create:focus-visible { outline: 3px solid rgba(36,76,255,.28); outline-offset: 3px; }
.sidebar .button--create { border-color: rgba(255,255,255,.18); color: #fff; box-shadow: 0 9px 24px rgba(185,67,5,.3); }
.sidebar .button--create:hover { color: #fff; }
.sidebar .button--create > .icon { color: #fff; background: rgba(8,25,67,.24); }
.main-nav { min-height: 0; gap: 18px; padding: 1px 2px 5px 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.nav-section { display: grid; gap: 4px; }
.sidebar .nav-label { padding: 0 11px 5px; color: rgba(255,255,255,.43); font-size: 9px; letter-spacing: .16em; }
.sidebar .main-nav a { min-height: 44px; padding: 0 10px; position: relative; border: 1px solid transparent; border-radius: 12px; gap: 10px; font-size: 13px; }
.sidebar .main-nav a .icon { width: 17px; height: 17px; padding: 5px; border-radius: 8px; box-sizing: content-box; flex: 0 0 auto; color: rgba(255,255,255,.69); background: rgba(255,255,255,.06); transition: color .16s ease, background-color .16s ease, transform .16s ease; }
.sidebar .main-nav a:hover { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.07); }
.sidebar .main-nav a:hover .icon { color: #fff; background: rgba(255,255,255,.11); transform: translateY(-1px); }
.sidebar .main-nav a.active { border-color: rgba(255,255,255,.13); color: #fff; background: rgba(255,255,255,.11); box-shadow: 0 8px 19px rgba(0,0,0,.1); }
.sidebar .main-nav a.active::before { width: 3px; height: 20px; content: ""; position: absolute; left: -1px; top: 50%; border-radius: 0 4px 4px 0; background: var(--orange-bright); box-shadow: 0 0 10px rgba(255,122,24,.55); transform: translateY(-50%); }
.sidebar .main-nav a.active .icon { color: #102a72; background: var(--orange-bright); box-shadow: 0 5px 13px rgba(255,122,24,.28); }
.sidebar .main-nav a.nav-link--new:not(.active), .sidebar .main-nav a.nav-link--due:not(.active) { box-shadow: none; }
.sidebar-user { margin-top: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.055); }
.sidebar-user > .avatar { box-shadow: 0 0 0 2px rgba(255,255,255,.12); }
.sidebar-user .icon-button { border-radius: 9px; }

@media (max-width: 767.98px) {
    .sidebar { padding: max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
    .sidebar-top { padding-bottom: 14px; }
    .sidebar-add { margin: 13px 0 15px; }
    .sidebar .main-nav { gap: 15px; }
    .sidebar .nav-section { gap: 5px; }
    .sidebar .main-nav a { min-height: 48px; padding: 0 12px; font-size: 14px; }
    .sidebar-user { margin-top: 10px; padding: 10px; }
}

/* Won restaurant contract terms. */
.outcome-modal--contract .modal-dialog { max-width: 720px; }
.contract-form { display: grid; gap: 20px; }
.contract-form-heading { padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: flex-start; gap: 11px; }
.contract-form-heading > span { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: rgba(25,167,255,.15); }
.contract-form-heading > span .icon { width: 17px; }
.contract-form-heading strong { color: var(--ink); font-family: "Manrope",system-ui,sans-serif; font-size: 14px; }
.contract-form-heading strong small { color: var(--muted); font-family: "DM Sans",system-ui,sans-serif; font-size: 11px; font-weight: 600; }
.contract-form-heading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.contract-form-safety { margin-top: -6px; color: var(--muted); font-size: 11px; }
.contract-terms-card { overflow: hidden; border-color: rgba(25,167,255,.24); background: linear-gradient(145deg,rgba(25,167,255,.055),var(--white) 48%); }
.contract-terms-title { display: flex; align-items: center; gap: 12px; }
.contract-terms-title > span { width: 39px; height: 39px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: var(--space-indigo); background: rgba(25,167,255,.15); }
.contract-terms-title > span .icon { width: 18px; }
.contract-terms-grid { margin: 18px -22px -22px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); background: rgba(16,42,114,.035); }
.contract-terms-grid > div { min-width: 0; padding: 17px 22px; border-top: 1px solid rgba(16,42,114,.09); border-right: 1px solid rgba(16,42,114,.09); }
.contract-terms-grid > div:nth-child(3) { border-right: 0; }
.contract-terms-grid > .contract-terms-notes { grid-column: 1 / -1; border-right: 0; }
.contract-terms-grid dt { margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.contract-terms-grid dd { margin: 0; color: var(--ink-2); font-size: 13px; line-height: 1.55; font-weight: 700; overflow-wrap: anywhere; }
.contract-terms-grid dd.is-empty { color: var(--muted); font-weight: 600; }
[data-theme="dark"] .contract-terms-card { border-color: rgba(25,167,255,.24); background: linear-gradient(145deg,rgba(25,167,255,.08),#11192c 48%); }
[data-theme="dark"] .contract-terms-grid { background: rgba(95,127,255,.045); }
[data-theme="dark"] .contract-terms-grid > div { border-color: var(--line); }

@media (max-width: 767.98px) {
    .contract-terms-card .panel-heading { align-items: flex-start; gap: 12px; }
    .contract-terms-card .panel-heading > .button { min-width: 42px; padding: 0 10px; font-size: 0; }
    .contract-terms-card .panel-heading > .button .icon { width: 17px; }
    .contract-terms-grid { grid-template-columns: 1fr; }
    .contract-terms-grid > div, .contract-terms-grid > div:nth-child(3) { border-right: 0; }
    .contract-terms-grid > .contract-terms-notes { grid-column: auto; }
}
