/* Shared visual theme. Page-specific layouts remain in app.css. */
:root {
  --ink: #182230;
  --muted: #667085;
  --teal: #2563eb;
  --teal-dark: #1d4ed8;
  --mint: #eff6ff;
  --cream: #f6f8fc;
  --line: #e4e9f1;
  --red: #b42318;
  --amber: #946200;
  --radius: 12px;
  --shadow: 0 2px 5px rgb(16 24 40 / 2%);
  --surface-subtle: #f8fafc;
  --accent-border: #cbdcff;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
  font-size: 14px;
  line-height: 1.65;
}
h1, h2, h3 { letter-spacing: -.035em; }
h1 { font-size: 30px; line-height: 1.35; }
h2 { font-size: 19px; }
h3 { font-size: 16px; }
.lead { font-size: 14px; margin-top: 8px; line-height: 1.7; }
.eyebrow, .section-kicker { color: var(--muted); font-size: 11px; letter-spacing: .06em; font-weight: 600; }
.page-heading > div > .eyebrow, .section-heading > div > .eyebrow { display: none; }
.small, small, .fine-print { font-size: 12px; }
:focus-visible { outline: 3px solid #93b4fd; outline-offset: 3px; }
::selection { background: #dbeafe; color: #172554; }

/* Navigation stays horizontal to leave room for wide company lists. */
.site-header { height: 76px; background: #fff; }
.header-inner { max-width: 1440px; padding: 0 40px; gap: 38px; }
.brand { gap: 11px; font-size: 19px; letter-spacing: -.04em; }
.brand-mark { width: 38px; height: 38px; border-radius: 11px; background: #2563eb; font-size: 29px; box-shadow: 0 3px 7px #2563eb20; }
.brand-mark span { color: #bfdbfe; }
.brand small { font-size: 10px; letter-spacing: -.02em; margin-top: 5px; color: var(--muted); font-weight: 400; }
.main-nav { gap: 5px; align-self: center; }
.main-nav a { height: 39px; padding: 9px 14px; font-size: 13px; border: 0; border-radius: 8px; color: #475467; white-space: nowrap; }
.main-nav a:hover { background: var(--surface-subtle); color: var(--ink); }
.main-nav a[aria-current=page] { background: #eff4ff; color: #2258d1; }
.header-account { gap: 16px; }
.local-badge { border: 0; background: transparent; color: var(--muted); font-size: 11px; padding: 0; }
.local-badge i { width: 6px; height: 6px; background: #16a085; }
.text-button { font-size: 12px; padding: 8px 0; }
.header-account form { margin: 0; }
.header-account .settings-trigger { gap: 7px; min-height: 36px; padding: 7px 11px; font-size: 12px; color: #475467; background: #fff; border-color: var(--line); }
.header-account .settings-trigger:hover { background: var(--surface-subtle); }
.header-account .settings-trigger[aria-current=page] { color: var(--teal); border-color: var(--accent-border); background: #eff6ff; }
.page-shell { max-width: 1440px; padding: 36px 40px 64px; min-height: calc(100vh - 146px); }
.page-heading { margin-bottom: 28px; gap: 24px; }
.back-link { margin-bottom: 18px; font-size: 12px; }
.site-footer { max-width: 1360px; width: calc(100% - 80px); margin: 0 auto; padding: 20px 0; font-size: 11px; color: #7b8799; }
.site-footer span:last-child { letter-spacing: 0; text-transform: none; }

/* Controls and surfaces. */
.button { min-height: 42px; padding: 10px 16px; gap: 10px; border-radius: 8px; font-size: 13px; font-weight: 600; transition: background .15s, border-color .15s, box-shadow .15s; }
.button-primary { box-shadow: 0 1px 2px #1d4ed81a; }
.button-secondary { color: #344054; border-color: #d8e0eb; background: #fff; }
.button-secondary:hover { background: #f8fafc; border-color: #b9c5d6; }
.button-quiet { background: #eff4ff; color: #245bd4; border-color: #e3ecff; }
.button-quiet:hover { background: #e2ecff; }
.button-danger { background: #b42318; }
.button-danger:hover { background: #912018; }
.button-danger-outline { color: #b42318; border-color: #f2d4d1; background: #fff; }
.button-danger-outline:hover { background: #fff3f2; border-color: #e6aaa4; }
.inline-link { font-size: 13px; gap: 7px; }
.card { border-color: var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.card > h2 + .muted, .compose-card > .muted { font-size: 13px; }
.section-heading { margin-bottom: 17px; }
.section-block { margin-bottom: 28px; }
.count { background: #edf1f7; color: #56647b; padding: 2px 7px; border-radius: 5px; font-size: 11px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.field label { color: #344054; font-size: 13px; }
.field input, .field select, .field textarea { border-color: #d5deea; background: #fff; border-radius: 8px; min-height: 43px; font-size: 13px; padding: 10px 12px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #729df8; box-shadow: 0 0 0 3px #2563eb12; background: #fff; }
.field input::placeholder, .field textarea::placeholder { color: #8b97a9; }
.field-help, .field-meta, .required { color: #728096; }
.field-help { font-size: 12px; line-height: 1.75; }
.field-meta, .required { font-size: 11px; }
.stack-form { gap: 20px; }
.form-actions { gap: 14px; }
.form-actions .muted { font-size: 12px; }
.file-input-wrap { border-color: #cad5e5; background: var(--surface-subtle); border-radius: 8px; }
.file-input-wrap input { background: transparent; font-size: 12px; }
.file-input-wrap input::file-selector-button { color: #344054; border-color: #d5deea; font-size: 12px; }
.errorlist, .error-detail { font-size: 12px; }
.content-form-card input:disabled, .content-form-card select:disabled { background: #f1f4f8; color: #667085; }

/* Status colors keep their existing meaning. */
.status { background: #f0f3f8; color: #596579; font-size: 11px; border-radius: 6px; padding: 5px 8px; font-weight: 500; }
.status-active, .status-verified, .status-completed { background: #eaf8f0; color: #16744a; }
.status-ready, .status-approved, .status-queued, .status-preparing, .status-submitting, .status-verifying, .status-publishing, .status-running { background: #edf3ff; color: #285cca; }
.status-planned, .status-cancelled { background: #f0f3f8; color: #667085; }
.status-unknown, .status-blocked_auth, .status-expired, .status-attention, .status-blocked { background: #fff5df; color: #946200; }
.status-failed, .status-error, .status-revoked { background: #fff0ed; color: #b42318; }
.status-large { font-size: 13px; padding: 9px 14px; }
.notice, .note-card, .advanced-panel { background: var(--surface-subtle); border-color: var(--line); color: #475467; border-radius: 10px; }
.notice { font-size: 13px; }
.notice p, .note-card p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.note-card h3, .note-card h2 { color: #344054; }
.note-card .section-kicker { color: var(--muted); }
.notice.warning { background: #fffbf0; border-color: #f0dfb1; color: #946200; }
.notice.warning p { color: #876c31; }
.notice.success { background: #f0faf4; border-color: #cfe9d9; color: #16744a; }
.notice.success p { color: #47785e; }
.notice.subtle { background: transparent; }
.advanced-panel summary { color: #56647b; font-size: 12px; }
.advanced-panel[open] summary { border-color: var(--line); }
.instruction-list li::before { color: var(--teal); }
.instruction-list strong { font-size: 13px; }
.instruction-list p { font-size: 12px; }
.message { background: #f0faf4; border-color: #cfe9d9; color: #16744a; }
.step-tag, .category-tag { background: #eff4ff; color: #3d61a7; border-color: #e0e9fa; font-size: 11px; }
.empty-state p, .store-directory-empty p { font-size: 13px; }
.empty-symbol, .mini-icon, .store-monogram { background: #f0f4fb; border-color: var(--line); color: #607699; }

/* Shared tabs: settings, content channels, and company state. */
.settings-tabs { gap: 4px; padding: 4px; margin-bottom: 24px; background: #edf1f7; border: 1px solid #e5eaf2; border-radius: 9px; width: fit-content; max-width: 100%; flex-wrap: nowrap; overflow-x: auto; }
.settings-tabs a { flex: 0 0 auto; min-height: 37px; padding: 8px 15px; border: 0; border-radius: 6px; color: #667085; font-size: 13px; white-space: nowrap; }
.settings-tabs a:hover { background: #e5ebf5; color: #344054; }
.settings-tabs a[aria-current=page] { background: #fff; color: #245bd4; box-shadow: 0 1px 3px #14243f0d; border: 0; }

/* The directory puts filters and the one-line table into one work surface. */
.store-directory-heading { align-items: center; margin-bottom: 26px; }
.store-directory-register { padding: 0; gap: 7px; }
.store-directory-register p { font-size: 12px; }
.directory-panel { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.directory-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.directory-toolbar .settings-tabs { margin: 0; flex-shrink: 0; }
.directory-toolbar .settings-tabs a { font-size: 12px; padding: 8px 12px; min-height: 35px; }
.directory-tabs .count { margin-left: 5px; padding: 1px 6px; background: #e7edf7; color: #536985; }
.directory-tabs a[aria-current=page] .count { background: #e9f0ff; color: #245bd4; }
.directory-toolbar .store-directory-search { border: 0; padding: 0; margin: 0; border-radius: 0; gap: 8px; flex: 1; max-width: 460px; align-items: center; }
.store-directory-search .directory-search-field { position: relative; flex: 1; min-width: 0; }
.directory-search-field > svg { position: absolute; left: 12px; top: 13px; color: #7b8a9e; pointer-events: none; }
.directory-search-field input { padding-left: 38px; background: #f9fafc; font-size: 13px; }
.store-directory-search-actions { gap: 7px; }
.store-directory-search-actions .button { min-width: 58px; white-space: nowrap; }
.store-directory-results-heading { padding: 16px 22px; margin: 0; }
.store-directory-results-heading h2 { font-size: 14px; letter-spacing: -.02em; }
.store-directory-results-heading .count { font-size: 11px; }
.store-directory-results-heading p { font-size: 12px; }
.store-directory-table-wrap { position: relative; border: 0; border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; box-shadow: none; }
.store-directory-table thead th { color: #667085; background: #f9fafc; font-size: 12px; font-weight: 500; padding: 13px 12px; }
.store-directory-table tbody th, .store-directory-table tbody td { height: 62px; padding: 12px; border-color: #edf0f5; }
.store-directory-table thead th:first-child, .store-directory-table tbody th { padding-left: 22px; }
.store-directory-table thead th:last-child, .store-directory-table tbody td:last-child { padding-right: 22px; }
.store-directory-table tbody tr:hover, .store-directory-table tbody tr:focus-within { background: #fafcff; }
.store-directory-name { font-size: 14px; font-weight: 600; }
.store-directory-address, .store-directory-secondary { color: var(--muted); font-size: 12px; }
.store-directory-account-summary { color: #475467; font-size: 12px; }
.store-directory-extra-count { background: #f0f3f8; color: #596b86; font-size: 11px; }
.store-directory-category { font-size: 11px; }
.store-directory-table .directory-button { min-height: 32px; padding: 6px 8px; font-size: 12px; border-radius: 6px; font-weight: 500; }
.store-directory-contract-count { font-weight: 500; }
.store-directory-scroll-hint { padding: 0 22px; font-size: 12px; }
.directory-deleted-note { margin: 18px 22px 0; }
.directory-panel .store-directory-empty { border: 0; border-radius: 0 0 12px 12px; padding: 54px 24px; }
.directory-panel .store-directory-pagination { border-top: 1px solid var(--line); margin: 0; padding: 17px 22px; }

/* Business contract state is independent of channel publishing schedules. */
.directory-toolbar .contract-directory-search { display: grid; grid-template-columns: 145px minmax(150px, 1fr) auto; max-width: 660px; }
.directory-contract-filter { position: relative; }
.directory-contract-filter select { background: #f9fafc; }
.store-directory-table thead th:nth-child(2) { width: 16%; }
.store-directory-table thead th:nth-child(5) { width: 9%; }
.store-contract-status { font-size: 12px; font-weight: 600; gap: 6px; padding: 5px 9px; border: 1px solid transparent; }
a.store-contract-status:hover { border-color: currentColor; }
.store-contract-active { background: #eaf8f0; color: #16744a; }
.store-contract-on_hold { background: #fff5df; color: #946200; }
.store-contract-terminated { background: #f1f3f7; color: #667085; }
.store-contract-panel { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.store-contract-panel h3 { display: flex; align-items: center; gap: 10px; font-size: 14px; margin-bottom: 7px; }
.store-contract-form { display: flex; gap: 8px; align-items: center; margin: 0; flex-shrink: 0; }
.store-contract-form .field { min-width: 120px; position: relative; }
.store-contract-form .button { white-space: nowrap; }

/* Account, content and preview workspaces. */
.account-avatar { background: #eff4ff; border-color: #e1eafa; color: #6283bb; font-size: 23px; border-radius: 12px; }
.account-card { padding: 22px 24px; }
.account-top h3 { font-size: 16px; }
.compact-details dt, .detail-list dt, .store-profile-details dt { color: var(--muted); font-size: 12px; }
.compact-details dd { color: #475467; font-size: 12px; }
.channel-label { border-color: var(--line); background: #fff; color: #475467; }
.post-row:hover, .store-card:hover, .content-group-card:hover { border-color: #bfd1ef; background: #fff; }
.post-row h3 { font-size: 14px; }
.content-summary { gap: 16px; margin-bottom: 26px; }
.content-summary > div { border-radius: 11px; padding: 20px 24px; }
.content-summary dt { font-size: 13px; }
.content-summary dd { color: #182230; font-size: 28px; margin-top: 7px; }
.content-group-card { border-radius: 11px; }
.content-group-card.is-selected { border-color: #92b5fb; background: #f8fbff; box-shadow: 0 0 0 1px #92b5fb; }
.group-create-card { background: #fff; }
.group-create-card > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; font-weight: 600; list-style: none; }
.group-create-card > summary::-webkit-details-marker { display: none; }
.group-create-card > summary > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 6px; background: #eff4ff; color: var(--teal); font-size: 19px; font-weight: 400; transition: transform .15s; }
.group-create-card[open] > summary > span { transform: rotate(45deg); }
.group-description, .content-excerpt { font-size: 13px; color: var(--muted); line-height: 1.8; }
.group-counts, .content-owner, .content-card-footer time { font-size: 12px; color: var(--muted); }
.content-card-links .inline-link, .filter-actions .button { font-size: 12px; }
.content-owner span + span::before { color: #a6b0c0; }
.selected-group-banner { background: #eff5ff; border-color: #d8e5fb; border-radius: 11px; }
.selected-group-banner p:not(.eyebrow) { color: #596b86; font-size: 13px; }
.content-thumbnail, .current-image-card img, .preview-image, .ops-preview-card img, .blog-images-item > img, .blog-images-slot-gallery img { background: #f1f4f8; border-color: var(--line); }
.preview-footnote { background: var(--surface-subtle); color: var(--muted); border-color: var(--line); font-size: 11px; }
.preview-account small { color: var(--muted); font-size: 11px; }
.caption-text { font-size: 13px; }
.instagram-preview { border-color: var(--line); }

/* Blog preparation and media pages. */
.blog-workspace-steps { background: #fff; border-color: var(--line); color: #475467; padding: 17px 22px; gap: 14px 28px; }
.blog-workspace-steps li { font-size: 12px; }
.blog-workspace-steps li > span, .store-entry-steps span { background: #eff4ff; color: #2563eb; }
.blog-workspace-settings > summary > small { font-size: 12px; }
.blog-workspace-copy-field textarea[readonly] { background: var(--surface-subtle); color: #344054; font-size: 13px; }
.blog-workspace-recurring p, .blog-workspace-copy-status, .blog-workspace-transfer-actions .button { font-size: 12px; }
.blog-style-preview, .blog-style-selection { background: #f5f8ff; border-color: #dfe8f9; color: #566784; }
.blog-style-preview { font-size: 12px; }
.blog-style-preview strong, .blog-keyword-list strong, .blog-style-selection dd { color: #344e7a; font-size: 13px; }
.blog-style-list-heading > span { color: #8a9ab0; }
.blog-style-summary { color: #475467; font-size: 13px; }
.blog-style-guidance, .blog-style-outline, .blog-reference-observation { font-size: 12px; }
.blog-research-status { color: #566784; }
.blog-research-counts { background: var(--surface-subtle); }
.blog-keyword-list li { background: #f8fafc; border-color: var(--line); }
.blog-keyword-list span { font-size: 11px; }
.blog-style-selection dt, .blog-style-selection > p { color: var(--muted); font-size: 12px; }
.blog-style-origin { color: #566784; border-color: #d4e0f2; }
.blog-images-intro, .blog-reviews-intro { background: #eff5ff; border-color: #dae6fa; color: #344e7a; }
.blog-images-intro > p { color: #667b9a; font-size: 13px; }
.blog-images-nav > a, .ops-section-links a { color: #475467; border-color: #d8e0eb; font-size: 12px; }
.blog-images-nav > a:hover, .ops-section-links a:hover { background: #f0f5ff; border-color: #b7cdf1; }
.blog-images-role-guide > div, .blog-review-selected { background: #f8fafc; border-color: var(--line); }
.blog-images-role-guide strong, .blog-images-alt-text > span { color: #475467; font-size: 12px; }
.blog-images-role-guide p, .blog-images-description { color: var(--muted); font-size: 12px; }
.blog-images-legacy-note { background: #f0f5ff; color: #526a91; font-size: 12px; }
.blog-images-item > .small, .blog-images-alt-text, .blog-images-edit > summary, .blog-review-meta, .blog-review-actions .button { font-size: 12px; }
.blog-review-excluded { background: var(--surface-subtle); }
.blog-reviews-writing textarea { font-size: 13px; }

/* Calendar, operations and reports keep their multi-line table content. */
.ops-guidance { background: #eff5ff; color: #344e7a; border-color: #dbe6f9; border-radius: 10px; }
.ops-guidance p, .ops-worker-status { color: #5f7496; font-size: 12px; }
.ops-summary { background: #f9fbfd; }
.ops-summary dt { font-size: 12px; }
.ops-summary dd { color: #182230; font-size: 26px; }
.ops-table { font-size: 13px; }
.ops-table th { color: #667085; background: #f8fafc; font-size: 12px; }
.ops-table tbody tr:hover { background: #fafcff; }
.ops-table .table-secondary, .ops-table .inline-link { font-size: 12px; }
.ops-empty, .ops-empty-note, .ops-record-card, .ops-media-card { background: #f9fbfd; border-color: var(--line); }
.ops-check { color: #667085; font-size: 12px; }
.ops-media-card > img { background: #f1f4f8; }
.ops-slot-context { background: #eff4fc; }
.ops-slot-context p { color: #566784; }
.ops-slot-context span { font-size: 12px; }
.ops-slot-context strong, .ops-slot-context p { font-size: 13px; }
.ops-briefing { background: #f8fafc !important; font-size: 13px !important; }
.ops-plan-form .button, .ops-slot-aside .button, .ops-template-action > .button { font-size: 12px; }
.ops-record-actions > .inline-link, .ops-media-card p, .ops-media-card .small { font-size: 12px; }
.ops-report-summary { background: #fff; }
.login-intro h1 { letter-spacing: -.05em; }
.login-intro .lead { color: var(--muted); font-size: 14px; }
.intro-note p { color: var(--muted); font-size: 12px; }
.login-card { border-radius: 16px; box-shadow: 0 12px 40px #192d5308; }
.login-hint { border-color: var(--line); font-size: 12px; }

.recurring-section { padding: 28px; scroll-margin-top: 24px; }
.recurring-section > .section-heading { align-items: flex-start; gap: 20px; }
.recurring-section .section-heading p { margin-top: 8px; }
.recurring-channel-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0; }
.recurring-channel-guide > div { padding: 17px 20px; background: #f4f7fc; border: 1px solid #e8edf6; border-radius: 10px; }
.recurring-channel-guide strong { color: #264e93; font-size: 13px; }
.recurring-channel-guide p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.recurring-contract-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.recurring-contract-card { padding: 23px; border: 1px solid var(--line); border-radius: 12px; min-width: 0; }
.recurring-contract-card .section-heading { gap: 12px; align-items: flex-start; }
.recurring-contract-card .section-heading h3 { font-size: 16px; }
.recurring-cadence { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin: 22px 0 8px; }
.recurring-cadence strong { font-size: 25px; letter-spacing: -.04em; }
.recurring-cadence span { color: #475467; font-size: 13px; }
.recurring-week-counts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 22px 0 16px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.recurring-week-counts > div + div { border-left: 1px solid var(--line); padding-left: 18px; }
.recurring-week-counts dt { color: var(--muted); font-size: 11px; }
.recurring-week-counts dd { margin: 6px 0 0; font-size: 24px; font-weight: 650; }
.recurring-progress p { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 6px 0; overflow-wrap: anywhere; }
.recurring-progress a { margin-left: 6px; font-size: 12px; }
.recurring-warning { margin: 16px 0; padding: 14px; font-size: 12px; }
.recurring-warning p { margin: 6px 0; }
.recurring-card-actions, .recurring-card-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.recurring-card-actions .button { min-height: 38px; padding: 9px 13px; font-size: 12px; }
.recurring-card-links { gap: 20px; }
.recurring-card-links a { font-size: 12px; }
.recurring-empty { grid-column: 1 / -1; border: 1px dashed #d4deed; border-radius: 10px; text-align: center; padding: 28px; }
.recurring-empty h3 { font-size: 16px; }
.recurring-empty p { color: var(--muted); margin: 10px 0 0; font-size: 13px; line-height: 1.9; }
.recurring-new { margin-top: 24px; padding-top: 22px; scroll-margin-top: 24px; }
.recurring-new > summary { font-size: 15px; font-weight: 650; }
.recurring-new > form { margin-top: 24px; }
.recurring-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.recurring-form-grid .field { min-width: 0; }
.recurring-field-wide { grid-column: 1 / -1; }
.recurring-form-grid [id$="-weekdays"] { display: flex; flex-wrap: wrap; gap: 10px; }
.recurring-form-grid [id$="-weekdays"] label { display: flex; gap: 8px; align-items: center; min-height: 42px; padding: 8px 15px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; margin: 0; }
.recurring-form-grid [id$="-weekdays"] label:has(input:checked) { color: #2456a6; border-color: #95b5e9; background: #eff5ff; }
.recurring-form-grid [id$="-weekdays"] label:focus-within { outline: 2px solid #6691d4; outline-offset: 2px; }
.recurring-form-grid [data-instagram-account][hidden] { display: none; }
.recurring-preview { background: #edf4ff; border-radius: 8px; color: #2456a6; padding: 14px 18px; font-size: 14px; font-weight: 600; margin: 0; }
.recurring-footer-note { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.9; }
.recurring-edit-card { max-width: 920px; padding: 28px; }
.recurring-image-target { padding: 4px 8px; border-radius: 6px; background: #eef4ff; color: #315fa3 !important; }
.image-count-status { display: flex; align-items: center; gap: 18px 32px; padding: 18px 22px; background: #eef8f3; border: 1px solid #d9ede2; border-radius: 10px; margin: 20px 0; }
.image-count-status > div { flex-shrink: 0; }
.image-count-status span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.image-count-status strong { font-size: 20px; }
.image-count-status small { color: var(--muted); font-size: 14px; font-weight: 400; }
.image-count-status p { color: #557365; font-size: 13px; line-height: 1.8; margin: 0; }
.image-count-incomplete { background: #fffbf0; border-color: #f0e5c7; }
.image-count-incomplete p { color: #8b713c; }
.content-image-gallery { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; padding: 0; list-style: none; margin: 22px 0; }
.content-image-gallery li { min-width: 0; }
.content-image-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
.content-image-gallery span { display: block; font-size: 12px; line-height: 1.6; margin-top: 6px; overflow-wrap: anywhere; }
.preview-extra-images { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 18px; }
.instagram-images-form [id$="-assets"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: 300px; overflow-y: auto; }
.instagram-images-form [id$="-assets"] label { display: flex; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; min-height: 44px; cursor: pointer; }
.instagram-images-form [id$="-assets"] label:has(input:checked) { background: #eff5ff; border-color: #95b5e9; }
.instagram-images-form [id$="-assets"] input { flex-shrink: 0; }

@media (max-width: 860px) {
  .recurring-contract-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .image-count-status { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; }
  .content-image-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instagram-images-form [id$="-assets"] { grid-template-columns: 1fr; }
  .recurring-section, .recurring-edit-card { padding: 19px; }
  .recurring-section > .section-heading { flex-direction: column; gap: 14px; }
  .recurring-channel-guide, .recurring-form-grid { grid-template-columns: 1fr; }
  .recurring-channel-guide > div { padding: 14px; }
  .recurring-contract-card { padding: 17px; }
  .recurring-contract-card .section-heading { flex-wrap: wrap; }
  .recurring-form-grid { gap: 20px; }
  .recurring-form-grid [id$="-weekdays"] { gap: 8px; }
  .recurring-form-grid [id$="-weekdays"] label { padding: 8px 12px; }
  .recurring-week-counts > div + div { padding-left: 12px; }
  .recurring-empty { padding: 22px 12px; }
  .recurring-preview { font-size: 13px; line-height: 1.8; padding: 12px; }
}

@media (max-width: 1200px) {
  .header-inner, .page-shell { padding-left: 28px; padding-right: 28px; }
  .header-inner { gap: 24px; }
  .main-nav a { padding-left: 11px; padding-right: 11px; }
  .header-account .local-badge { display: none; }
  .site-footer { width: calc(100% - 56px); margin-left: 28px; margin-right: 28px; }
  .directory-toolbar { gap: 16px; }
}
@media (max-width: 860px) {
  .site-header { height: auto; min-height: 72px; }
  .header-inner { min-height: 72px; gap: 0 16px; }
  .brand { padding: 16px 0; }
  .main-nav { height: 51px; border-top-color: var(--line); align-items: center; gap: 5px; padding: 4px 0 8px; }
  .main-nav a { font-size: 13px; }
  .page-shell { padding-top: 28px; }
  .directory-toolbar { flex-wrap: wrap; padding: 18px; }
  .directory-toolbar .store-directory-search { max-width: none; flex-basis: 100%; }
  .directory-toolbar .contract-directory-search { width: 100%; }
  .store-directory-results-heading { padding: 15px 18px; }
  .store-directory-scroll-hint { padding: 0 18px; }
  .settings-grid > aside { grid-template-columns: 1fr; }
  .review-grid { grid-template-columns: 1fr; }
  .review-details .button { font-size: 13px; }
  .site-footer { font-size: 11px; }
}
@media (max-width: 600px) {
  .header-inner { padding: 0 18px; }
  .brand { font-size: 17px; gap: 8px; }
  .brand-mark { width: 34px; height: 34px; font-size: 26px; border-radius: 10px; }
  .brand small { font-size: 9px; }
  .header-account { gap: 10px; }
  .header-account .settings-trigger { padding: 7px 9px; min-height: 34px; gap: 5px; font-size: 12px; }
  .header-account .text-button { font-size: 11px; }
  .main-nav { gap: 4px; justify-content: space-between; }
  .main-nav a { flex: 1; justify-content: center; padding: 8px; font-size: 13px; }
  .page-shell { padding: 26px 18px 48px; }
  .page-heading { gap: 18px; margin-bottom: 24px; }
  h1, .blog-workspace-heading h1, .blog-images-heading h1 { font-size: 26px; }
  h2 { font-size: 18px; }
  .page-heading .lead { font-size: 13px; }
  .page-heading .button { font-size: 13px; min-height: 40px; }
  .store-directory-register { align-items: flex-start; }
  .store-directory-register p { font-size: 12px; }
  .directory-toolbar { padding: 14px; gap: 16px; }
  .directory-toolbar .store-directory-search { flex-wrap: nowrap; gap: 8px; }
  .directory-toolbar .contract-directory-search { grid-template-columns: minmax(0, 1fr) auto; }
  .directory-contract-filter { grid-column: 1 / -1; }
  .directory-toolbar .store-directory-search > .field { flex-basis: auto; }
  .directory-toolbar .store-directory-search-actions { width: auto; }
  .directory-toolbar .store-directory-search-actions .button { padding: 10px; min-width: 46px; }
  .directory-search-field input { font-size: 13px; padding-left: 33px; }
  .directory-search-field > svg { left: 10px; width: 16px; }
  .store-directory-results-heading { padding: 15px; }
  .store-directory-results-heading p { font-size: 11px; }
  .store-directory-scroll-hint { padding: 0 15px; font-size: 11px; }
  .settings-tabs { margin-bottom: 22px; }
  .settings-tabs a { flex: 0 0 auto; min-height: 38px; padding: 8px 12px; font-size: 13px; }
  .directory-toolbar .settings-tabs { max-width: 100%; }
  .account-top { flex-wrap: wrap; gap: 10px; }
  .account-top > .status { margin-left: 0; }
  .account-top h3 { font-size: 15px; }
  .account-grid .account-top > .status { margin-left: 52px; }
  .content-summary dt { font-size: 12px; }
  .content-summary dd { font-size: 26px; }
  .group-counts, .content-owner, .content-card-footer time { font-size: 12px; }
  .content-card-links .inline-link { font-size: 12px; }
  .blog-workspace-steps { gap: 12px; padding: 16px 18px; }
  .blog-workspace-steps li { flex-basis: auto; font-size: 12px; }
  .blog-style-summary, .blog-style-guidance { font-size: 12px; }
  .blog-style-outline { font-size: 12px; }
  .blog-images-nav > a, .ops-section-links a { font-size: 12px; }
  .ops-summary dt { font-size: 11px; }
  .ops-summary dd { font-size: 23px; }
  .ops-table { font-size: 12px; }
  .ops-guidance strong, .blog-images-intro > strong { font-size: 13px; }
  .ops-guidance p, .ops-worker-status, .ops-check, .blog-images-intro > p { font-size: 12px; }
  .store-profile-details dt { font-size: 12px; }
  .store-profile-details > div, .store-profile-details .inline-link { font-size: 13px; }
  .store-contract-panel { flex-direction: column; align-items: stretch; gap: 16px; }
  .store-contract-form .field { flex: 1; }
  .site-footer { width: calc(100% - 36px); margin: 0 18px; flex-wrap: wrap; gap: 5px 15px; }
  .site-footer span:nth-child(2) { font-size: 11px; }
}
