/* askrobots.com in search.askrobots.com's look (webhive web/static/css/tokens.css), for pages
 * visitors see: the shared top bar, Apps menu, footer and hint bar (sc-*), and, on pages built with
 * Bootstrap (body.search-theme), the same colours on Bootstrap's components.
 * Light by default; dark follows the system. */

@font-face { font-family: "Newsreader"; font-weight: 500; font-display: swap; src: url("../fonts/newsreader-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Newsreader"; font-weight: 600; font-display: swap; src: url("../fonts/newsreader-latin-600-normal.woff2") format("woff2"); }

:root {
  --bg: #faf8f3; --surface: #ffffff; --surface-2: #f1eee6; --line: #e2ddd1; --line-strong: #8f897c;
  --ink: #1d1c1a; --ink-2: #4a4740; --ink-3: #635f56; --title: #174a6e;
  --accent: #1f5f8b; --accent-hover: #174a6e; --accent-wash: #e7f0f7; --on-accent: #ffffff;
  --good: #2f7a3d; --good-wash: #e5f2e6; --warn: #8a5a00; --warn-wash: #fbf1dc; --bad: #b3261e; --bad-wash: #f8e1de;
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --head: var(--serif);
  --sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --r: 10px; --wide: 1180px; --gutter: 24px;
  --shadow: 0 1px 2px rgba(29, 28, 26, .06), 0 2px 8px rgba(29, 28, 26, .05);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #171614; --surface: #1f1e1b; --surface-2: #292723; --line: #36332e; --line-strong: #77726a;
    --ink: #f2efe8; --ink-2: #cbc6bb; --ink-3: #a29d92; --title: #a9d3f2;
    --accent: #8cc3ea; --accent-hover: #b5daf5; --accent-wash: #1b2c38; --on-accent: #0d1b26;
    --good: #7fcf8c; --good-wash: #1c2e1f; --warn: #e8b75a; --warn-wash: #33290f; --bad: #ff8a7f; --bad-wash: #3a1d1a;
    --shadow: none; color-scheme: dark;
  }
}
@media (max-width: 600px) { :root { --gutter: 16px; } }

/* ── the shared chrome ─────────────────────────────────────────────── */
.sc-wrap { max-width: var(--wide); margin: 0 auto; padding: 0 var(--gutter); }
.sc-top { display: flex; align-items: center; gap: 20px; padding: 14px 0; font-family: var(--sans); }
.sc-brand { display: inline-flex; align-items: center; text-decoration: none; flex: none; }
.sc-brand img { height: 24px; width: auto; display: block; }
.sc-brand .logo-dark { display: none; }
@media (prefers-color-scheme: dark) { .sc-brand .logo-light { display: none; } .sc-brand .logo-dark { display: block; } }
.sc-nav { margin-left: auto; display: flex; align-items: center; gap: 18px; font-size: 14px; white-space: nowrap; }
.sc-nav a { color: var(--ink-2); text-decoration: none; }
.sc-nav a:hover { color: var(--ink); text-decoration: underline; }
.sc-nav .sc-ask { color: var(--accent); font-weight: 600; }
.sc-btn { display: inline-block; border-radius: 999px; padding: 7px 16px; font-weight: 600; text-decoration: none; font-size: 14px; line-height: 1.4; border: 1px solid transparent; }
.sc-btn-primary { background: var(--accent); color: var(--on-accent) !important; }
.sc-btn-primary:hover { background: var(--accent-hover); text-decoration: none !important; }
.sc-btn-line { border-color: var(--line-strong); color: var(--ink) !important; }

/* the small search box in the top bar (pages other than home) */
.sc-search { flex: 1; max-width: 460px; display: flex; align-items: center; background: var(--surface); border: 1px solid var(--line-strong);
             border-radius: 999px; padding: 3px 3px 3px 14px; }
.sc-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 14.5px var(--sans); padding: 5px 0; }
.sc-search button { border: 0; border-radius: 999px; background: var(--accent); color: var(--on-accent); font: 600 13.5px var(--sans); padding: 6px 14px; cursor: pointer; }
.sc-search:focus-within { outline: 3px solid var(--accent-wash); }

/* Apps ▾, as on object.dbbasic.com */
.sc-apps { position: relative; flex: none; }
.sc-apps summary { white-space: nowrap; list-style: none; cursor: pointer; border: 1px solid var(--line); border-radius: 8px; padding: 4px 10px;
                   font-size: 14px; color: var(--ink); background: var(--surface); user-select: none; }
.sc-apps summary::-webkit-details-marker { display: none; }
.sc-apps summary span { font-size: 10px; color: var(--ink-3); }
.sc-apps[open] summary, .sc-apps summary:hover { border-color: var(--line-strong); }
.sc-apps-menu { position: absolute; z-index: 1060; top: calc(100% + 6px); left: 0; width: 620px; column-count: 3; column-gap: 20px;
                background: var(--surface); border: 1px solid var(--line);
                border-radius: var(--r); box-shadow: 0 10px 30px rgba(0,0,0,.12); padding: 2px 16px 14px; }
.sc-apps-group { break-inside: avoid; padding-top: 12px; }
.sc-apps-menu h4 { margin: 0 0 4px; font: 600 11px var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--ink-3); }
.sc-apps-menu a { display: flex; align-items: center; gap: 8px; padding: 4px 0; color: var(--ink); text-decoration: none; font-size: 14.5px; }
.sc-apps-menu a:hover { color: var(--accent); text-decoration: underline; }
.sc-apps-menu .app-icon { width: 20px; height: 20px; flex: none; }
.sc-apps-menu .app-emoji { display: inline-flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; }

/* the footer */
.sc-footer { border-top: 1px solid var(--line); margin-top: 28px; padding: 18px 0 28px; font: 13px var(--sans); color: var(--ink-3); }
.sc-footer .sc-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: baseline; }
.sc-footer b { font-family: var(--head); color: var(--ink); font-size: 16px; font-weight: 600; }
.sc-footer a { color: var(--ink-2); }
.sc-footer .sc-langs { margin-top: 10px; gap: 8px; }
.sc-footer .sc-langs a[aria-current] { font-weight: 700; color: var(--ink); text-decoration: none; }
.sc-footer .sc-by { margin-left: auto; }

/* hints in a bar at the bottom instead of tooltips under the pointer */
.sc-hintbar { position: fixed; left: 50%; bottom: 14px; transform: translate(-50%, 8px); z-index: 1070; max-width: min(640px, calc(100vw - 32px));
              background: var(--ink); color: var(--bg); border-radius: 999px; padding: 7px 16px; font: 13.5px/1.4 var(--sans);
              box-shadow: 0 6px 24px rgba(0,0,0,.2); opacity: 0; pointer-events: none; transition: opacity .18s, transform .18s; }
.sc-hintbar.on { opacity: 1; transform: translate(-50%, 0); }
.sc-hintbar b { font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .sc-hintbar { transition: none; } }

@media (max-width: 760px) {
  .sc-nav .sc-wide { display: none; }
  .sc-top { gap: 10px; flex-wrap: wrap; }
  .sc-nav { gap: 12px; }
  .sc-brand img { height: 20px; }
  .sc-top .sc-btn { padding: 6px 12px; }
  .sc-search { order: 10; flex-basis: 100%; max-width: none; }
  .sc-apps-menu { position: fixed; left: 12px; right: 12px; top: 56px; width: auto; column-count: 2;
                  max-height: calc(100vh - 72px); overflow: auto; }
}

/* ── Bootstrap pages in these colours (body.search-theme) ─────────────── */
body.search-theme {
  --bs-body-bg: var(--bg); --bs-body-color: var(--ink); --bs-emphasis-color: var(--ink);
  --bs-secondary-color: var(--ink-3); --bs-tertiary-color: var(--ink-3);
  --bs-secondary-bg: var(--surface-2); --bs-tertiary-bg: var(--surface-2);
  --bs-border-color: var(--line); --bs-border-color-translucent: var(--line);
  --bs-link-color: var(--title); --bs-link-color-rgb: 23, 74, 110; --bs-link-hover-color: var(--accent-hover);
  --bs-heading-color: var(--ink); --bs-card-bg: var(--surface);
  --bs-font-sans-serif: var(--sans);
  /* the old theme's names, for page styles that still use them */
  --app-bg: var(--bg); --app-fg: var(--ink); --app-fg-muted: var(--ink-3); --app-accent: var(--accent);
  --app-accent-soft: var(--accent-wash); --app-border: var(--line); --app-hover: var(--surface-2); --app-active: var(--line);
  --window-bg: var(--surface); --toolbar-bg: var(--surface-2); --menu-bg: var(--surface); --statusbar-bg: var(--bg);
  background: var(--bg); color: var(--ink); font-family: var(--sans);
}
@media (prefers-color-scheme: dark) { body.search-theme { --bs-link-color-rgb: 169, 211, 242; } }
body.search-theme a { color: var(--title); }
body.search-theme a:hover { color: var(--accent-hover); }
body.search-theme h1, body.search-theme h2, body.search-theme h3, body.search-theme .h1, body.search-theme .h2, body.search-theme .h3,
body.search-theme .display-1, body.search-theme .display-2, body.search-theme .display-3, body.search-theme .display-4,
body.search-theme .display-5, body.search-theme .display-6 { font-family: var(--head); font-weight: 600; color: var(--ink); }
body.search-theme h4, body.search-theme h5, body.search-theme h6 { color: var(--ink); }
body.search-theme .text-muted, body.search-theme .text-secondary, body.search-theme small.text-muted { color: var(--ink-3) !important; }
body.search-theme .text-dark, body.search-theme .text-body { color: var(--ink) !important; }
body.search-theme .text-primary { color: var(--title) !important; }
body.search-theme .lead { color: var(--ink-2); }
body.search-theme .bg-light, body.search-theme .bg-white, body.search-theme .bg-body, body.search-theme .bg-body-tertiary { background-color: var(--surface) !important; color: var(--ink); }
body.search-theme .bg-primary { background-color: var(--accent) !important; color: var(--on-accent) !important; }
body.search-theme .bg-secondary { background-color: var(--surface-2) !important; color: var(--ink) !important; }
body.search-theme .bg-success { background-color: var(--good) !important; color: var(--bg) !important; }
body.search-theme .bg-warning { background-color: var(--warn) !important; color: var(--bg) !important; }
body.search-theme .bg-danger { background-color: var(--bad) !important; color: var(--bg) !important; }
body.search-theme .bg-info { background-color: var(--accent-wash) !important; color: var(--ink) !important; }
body.search-theme .bg-dark { background-color: var(--ink) !important; color: var(--bg) !important; }
body.search-theme .border, body.search-theme .border-top, body.search-theme .border-bottom, body.search-theme hr { border-color: var(--line) !important; }
body.search-theme .border-primary { border-color: var(--accent) !important; }

body.search-theme .card, body.search-theme .list-group-item, body.search-theme .modal-content, body.search-theme .dropdown-menu,
body.search-theme .accordion-item, body.search-theme .accordion-button, body.search-theme .offcanvas, body.search-theme .toast {
  background-color: var(--surface); color: var(--ink); border-color: var(--line); }
body.search-theme .card { border-radius: var(--r); box-shadow: none; }
body.search-theme .card-header, body.search-theme .card-footer, body.search-theme .modal-header, body.search-theme .modal-footer {
  background-color: var(--surface-2); color: var(--ink); border-color: var(--line); }
body.search-theme .dropdown-item { color: var(--ink); }
body.search-theme .dropdown-item:hover, body.search-theme .list-group-item-action:hover { background: var(--surface-2); color: var(--ink); }

body.search-theme .btn { border-radius: 999px; font-weight: 600; }
body.search-theme .btn-primary, body.search-theme .btn-success, body.search-theme .btn-info {
  --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent); --bs-btn-color: var(--on-accent);
  --bs-btn-hover-bg: var(--accent-hover); --bs-btn-hover-border-color: var(--accent-hover); --bs-btn-hover-color: var(--on-accent);
  --bs-btn-active-bg: var(--accent-hover); --bs-btn-active-border-color: var(--accent-hover); --bs-btn-active-color: var(--on-accent);
  background-color: var(--accent); border-color: var(--accent); color: var(--on-accent) !important; }
body.search-theme .btn-primary:hover, body.search-theme .btn-success:hover, body.search-theme .btn-info:hover { background-color: var(--accent-hover); border-color: var(--accent-hover); }
body.search-theme .btn-secondary, body.search-theme .btn-light, body.search-theme .btn-outline-primary, body.search-theme .btn-outline-secondary,
body.search-theme .btn-outline-dark, body.search-theme .btn-outline-success, body.search-theme .btn-outline-info, body.search-theme .btn-outline-light {
  --bs-btn-bg: transparent; --bs-btn-color: var(--ink); --bs-btn-border-color: var(--line-strong);
  --bs-btn-hover-bg: var(--surface-2); --bs-btn-hover-color: var(--ink); --bs-btn-hover-border-color: var(--line-strong);
  --bs-btn-active-bg: var(--surface-2); --bs-btn-active-color: var(--ink);
  background-color: transparent; color: var(--ink) !important; border-color: var(--line-strong); }
body.search-theme .btn-secondary:hover, body.search-theme .btn-light:hover, body.search-theme [class*="btn-outline-"]:hover { background-color: var(--surface-2); }
body.search-theme .btn-danger, body.search-theme .btn-outline-danger { background-color: transparent; color: var(--bad) !important; border-color: var(--bad); }
body.search-theme .btn-warning, body.search-theme .btn-outline-warning { background-color: transparent; color: var(--warn) !important; border-color: var(--warn); }
body.search-theme .btn-link { color: var(--title) !important; }

body.search-theme .form-control, body.search-theme .form-select, body.search-theme .input-group-text {
  background-color: var(--surface); color: var(--ink); border-color: var(--line-strong); }
body.search-theme .form-control::placeholder { color: var(--ink-3); }
body.search-theme .form-control:focus, body.search-theme .form-select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-wash); }
body.search-theme .form-label, body.search-theme label { color: var(--ink); }
body.search-theme .form-text { color: var(--ink-3); }

body.search-theme .table { --bs-table-bg: transparent; --bs-table-color: var(--ink); --bs-table-border-color: var(--line);
  --bs-table-striped-bg: var(--surface-2); --bs-table-striped-color: var(--ink); --bs-table-hover-bg: var(--surface-2); --bs-table-hover-color: var(--ink); color: var(--ink); }
body.search-theme .table > :not(caption) > * > * { background-color: transparent; color: var(--ink); border-color: var(--line); }
body.search-theme .table thead th { color: var(--ink-3); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }

body.search-theme .badge { font-weight: 600; }
body.search-theme .badge.bg-secondary, body.search-theme .badge.bg-light { background-color: var(--surface-2) !important; color: var(--ink) !important; }

body.search-theme .alert { border-radius: var(--r); background: var(--surface); color: var(--ink); border: 1px solid var(--line); }
body.search-theme .alert-info, body.search-theme .alert-primary { background: var(--accent-wash); border-color: var(--accent); color: var(--ink); }
body.search-theme .alert-success { background: var(--good-wash); border-color: var(--good); color: var(--ink); }
body.search-theme .alert-warning { background: var(--warn-wash); border-color: var(--warn); color: var(--ink); }
body.search-theme .alert-danger, body.search-theme .alert-error { background: var(--bad-wash); border-color: var(--bad); color: var(--ink); }

body.search-theme .nav-link { color: var(--ink-2); }
body.search-theme .nav-link.active, body.search-theme .nav-pills .nav-link.active { background: var(--accent); color: var(--on-accent); }
body.search-theme .nav-tabs { border-color: var(--line); }
body.search-theme .nav-tabs .nav-link.active { background: var(--surface); color: var(--ink); border-color: var(--line) var(--line) var(--surface); }
body.search-theme .page-link { background: var(--surface); color: var(--title); border-color: var(--line); }
body.search-theme .page-item.active .page-link { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
body.search-theme .breadcrumb-item, body.search-theme .breadcrumb-item.active { color: var(--ink-3); }
body.search-theme code, body.search-theme pre { color: var(--ink); background: var(--surface-2); border-radius: 6px; }
body.search-theme pre { padding: 12px 14px; }
body.search-theme blockquote { border-left: 3px solid var(--accent); padding-left: 14px; color: var(--ink-2); }

/* a section's own links under the top bar (public pages) */
.sc-subnav { display: flex; gap: 16px; flex-wrap: wrap; align-items: baseline; padding: 2px 0 10px; border-bottom: 1px solid var(--line);
             margin-bottom: 14px; font: 14px var(--sans); }
.sc-subnav b { color: var(--ink-3); font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.sc-subnav a { color: var(--ink-2); text-decoration: none; }
.sc-subnav a:hover { color: var(--ink); text-decoration: underline; }
.sc-tagline { margin: 28px 0 0; color: var(--ink-3); font: 13px var(--sans); text-align: center; }
.sc-tagline + .sc-footer { margin-top: 12px; }

/* the main column, without the sidebar */
.sc-main { padding-top: 8px; padding-bottom: 12px; min-height: 60vh; }
.sc-main > .container, .sc-main > .container-fluid { padding-left: 0; padding-right: 0; }
.sc-page-title:empty { display: none; }

/* coloured blocks: their text follows the block, not the page's heading colour */
body.search-theme :is(.bg-primary, .bg-success, .bg-warning, .bg-danger, .bg-dark) :is(h1, h2, h3, h4, h5, h6, p, small, span, strong, a, i) { color: inherit !important; }
body.search-theme .text-success { color: var(--good) !important; }
body.search-theme .text-danger { color: var(--bad) !important; }
body.search-theme .text-warning { color: var(--warn) !important; }
body.search-theme .text-info { color: var(--title) !important; }

/* the "retro window" components (forum, some lists) */
body.search-theme .retro-window, body.search-theme .retro-window-content { background: var(--surface) !important; color: var(--ink) !important; border-color: var(--line) !important; box-shadow: none !important; }
body.search-theme .retro-window-title { background: var(--surface-2) !important; color: var(--ink) !important; border-color: var(--line) !important; }
body.search-theme .retro-list-item { background: var(--surface) !important; color: var(--ink) !important; border-color: var(--line) !important; }
body.search-theme .retro-list-item:hover { background: var(--surface-2) !important; }
body.search-theme .retro-list-item.active { background: var(--accent) !important; color: var(--on-accent) !important; }
body.search-theme .retro-btn { background: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; border-radius: 999px !important; box-shadow: none !important; }
body.search-theme .retro-btn-primary { background: var(--accent) !important; color: var(--on-accent) !important; border-color: var(--accent) !important; }
body.search-theme :is(.retro-input, .retro-select, .retro-textarea) { background: var(--surface) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
body.search-theme :is(.retro-table th, .retro-table td) { color: var(--ink) !important; border-color: var(--line) !important; background: transparent !important; }
body.search-theme :is(.retro-nav-tab, .retro-page-link, .retro-breadcrumb a) { color: var(--title) !important; }
body.search-theme :is(.retro-empty-state-title, .retro-empty-state-message, .retro-label) { color: var(--ink-2) !important; }

/* page palettes that use their own variables (Popular's amber) take the theme's colours */
body.search-theme { --et-amber: var(--accent); --et-brown: var(--ink); --et-sand: var(--surface-2); --et-sage: var(--good); --et-parchment: var(--surface); }
body.search-theme .period-btn.active { color: var(--on-accent) !important; }

/* plan availability on Pricing */
body.search-theme .capacity-indicator { background: var(--surface-2) !important; }
body.search-theme .capacity-text.is-full { color: var(--bad) !important; }

/* card headers coloured inline (Docs' API sections): one readable style instead */
body.search-theme .card-header[style*="background"] { background: var(--surface-2) !important; color: var(--ink) !important; border-left: 4px solid var(--accent); }
body.search-theme .card-header[style*="background"] :is(h4, h5, h6, i, span) { color: var(--ink) !important; }

/* retro alerts */
body.search-theme .retro-alert-info { background: var(--accent-wash) !important; color: var(--ink) !important; }
body.search-theme .retro-alert-success { background: var(--good-wash) !important; color: var(--ink) !important; }
body.search-theme .retro-alert-warning { background: var(--warn-wash) !important; color: var(--ink) !important; }
body.search-theme .retro-alert-danger { background: var(--bad-wash) !important; color: var(--ink) !important; }
body.search-theme .retro-alert a { color: var(--title) !important; }

/* nothing widens the page on a phone: videos shrink, code and wide tables scroll in their own box */
body.search-theme :is(iframe, video, img) { max-width: 100%; }
body.search-theme pre { max-width: 100%; overflow-x: auto; }
@media (max-width: 760px) {
  body.search-theme .sc-main table { display: block; max-width: 100%; overflow-x: auto; }
  body.search-theme iframe { height: auto; aspect-ratio: 16 / 9; }
}
body.search-theme :is(.retro-panel, .retro-breadcrumb) { background: transparent !important; border-color: var(--line) !important; box-shadow: none !important; color: var(--ink) !important; }

/* the profile's featured badge and Read button sit on the accent */
body.search-theme :is(.featured-badge, .featured-read-btn, .featured-read-btn:hover) { color: var(--on-accent) !important; }

/* ── the logged-in top bar (includes/sc_topbar_user.html) ─────────────────── */
.sc-top-user { gap: 14px; padding-bottom: 8px; }
.sc-pins { display: flex; gap: 2px; align-items: center; min-width: 0; }
.sc-pins a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 8px; color: var(--ink-2); text-decoration: none; font-size: 14px; white-space: nowrap; }
.sc-pins a:hover { background: var(--surface-2); color: var(--ink); }
.sc-pins .app-icon { width: 18px; height: 18px; flex: none; }
.sc-pins .app-emoji { font-size: 14px; line-height: 1; }
.sc-count { display: inline-block; min-width: 18px; padding: 0 6px; border-radius: 999px; background: var(--bad); color: var(--bg); font: 700 11px/18px var(--sans); text-align: center; }
.sc-nav-user { gap: 10px; }
.sc-nav-user .sc-ask { margin-right: 4px; }
/* the bell (core/templates/includes/notification_bell.html) in the bar's colours */
.sc-bell .notification-bell-trigger { color: var(--ink) !important; padding: 4px 8px !important; }
.sc-bell .notification-count-badge { background: var(--bad) !important; color: var(--bg) !important; }
.sc-bell .notification-dropdown { background: var(--surface) !important; color: var(--ink) !important; border: 1px solid var(--line) !important; border-radius: var(--r) !important; }
.sc-bell .notification-dropdown * { color: inherit; }
.sc-bell .notification-dropdown a { color: var(--title); }
/* the timer chip */
.sc-chip { border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: 999px; padding: 3px 10px; font: 600 13px var(--sans); cursor: pointer; white-space: nowrap; display: inline-flex; gap: 6px; align-items: center; }
.sc-chip:hover { border-color: var(--line-strong); }
.sc-chip.sc-run { border-color: var(--accent); color: var(--title); }
.sc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bad); animation: sc-blink 1.4s infinite; }
@keyframes sc-blink { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .sc-dot { animation: none; } }
/* your account */
.sc-acct { position: relative; }
.sc-acct summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px; padding: 3px 6px; border-radius: 8px; color: var(--ink); font-size: 14px; }
.sc-acct summary::-webkit-details-marker { display: none; }
.sc-acct summary:hover, .sc-acct[open] summary { background: var(--surface-2); }
.sc-avatar { width: 26px; height: 26px; border-radius: 50%; background: var(--accent-wash); color: var(--title); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12.5px; }
.sc-acct-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 1060; width: 240px; background: var(--surface); border: 1px solid var(--line);
                border-radius: var(--r); box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 8px 14px 10px; }
.sc-acct-menu a { display: block; padding: 6px 0; color: var(--ink) !important; text-decoration: none; font-size: 14px; }
.sc-acct-menu a:hover { color: var(--accent) !important; }
.sc-acct-menu hr { border: 0; border-top: 1px solid var(--line); margin: 6px 0; opacity: 1; }
.sc-who { padding: 2px 0 8px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.sc-who b { display: block; color: var(--ink); } .sc-who span { font-size: 12.5px; color: var(--ink-3); }
/* ☆ pins in Apps */
.sc-app-row { display: flex; align-items: center; gap: 4px; }
.sc-app-row a { flex: 1; min-width: 0; }
.sc-pin { border: 0; background: transparent; color: var(--ink-3); cursor: pointer; font-size: 14px; padding: 2px 4px; border-radius: 6px; }
.sc-pin:hover { color: var(--accent); background: var(--surface-2); }
.sc-pin[aria-pressed="true"] { color: var(--accent); }
.sc-apps-pinned { display: none; }
/* the box, row 2: the words, then today's two buttons (Ask Robots, Find My Library) */
.sc-boxrow { position: relative; margin: 0 0 10px; z-index: 40; }
.sc-box { display: flex; align-items: center; gap: 6px; background: var(--surface); border: 1.5px solid var(--line-strong); border-radius: 16px; padding: 5px 5px 5px 18px; }
.sc-box:focus-within { border-color: var(--accent); outline: 3px solid var(--accent-wash); }
.sc-field { position: relative; flex: 1; min-width: 0; }
.sc-field input, .sc-ghost { font: 15.5px var(--sans); padding: 7px 0; letter-spacing: normal; }
.sc-field input { position: relative; z-index: 1; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
body.search-theme .sc-field input, body.search-theme .sc-field input:focus { border: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; padding: 7px 0 !important; margin: 0 !important; }  /* the box draws the focus ring, not the input */
.sc-ghost { position: absolute; inset: 0; color: var(--ink-3); white-space: pre; overflow: hidden; pointer-events: none; }
.sc-ghost i { visibility: hidden; font-style: normal; }
.sc-ghost kbd, .sc-sg-help kbd { font: 600 10.5px var(--sans); border: 1px solid var(--line); border-radius: 4px; padding: 0 5px; margin: 0 2px 0 6px; color: var(--ink-2); background: transparent; box-shadow: none; vertical-align: 1px; }
.sc-kbd { font: 11px ui-monospace, Menlo, monospace; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 4px; padding: 0 5px; color: var(--ink-3); background: transparent; }
.sc-btns { display: flex; gap: 6px; flex: none; }
.sc-btns button { height: 44px; border-radius: 12px; padding: 0 18px; font: 500 16px var(--sans); cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.sc-box-ask { border: 0; background: var(--accent); color: var(--on-accent); }
.sc-box-ask:hover { background: var(--accent-hover); }
.sc-box-find { border: 1.5px solid var(--line-strong); background: var(--surface); color: var(--ink); }
.sc-box-find:hover { border-color: var(--accent); }
/* suggestions under the box */
.sc-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 6px); max-height: min(460px, 70vh); overflow: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.2); padding: 6px; font-family: var(--sans); }
.sc-sg-group { font: 600 10.5px var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--ink-3); padding: 8px 10px 2px; }
.sc-sg { display: flex; gap: 10px; align-items: baseline; padding: 7px 10px; border-radius: 8px; font-size: 14px; color: var(--ink); cursor: pointer; }
.sc-sg:hover, .sc-sg-sel { background: var(--surface-2); }
.sc-sg-sel { outline: 1px solid var(--line-strong); }
.sc-sg-k { width: 20px; flex: none; text-align: center; color: var(--ink-3); }
.sc-sg-t { flex: 1 1 auto; min-width: 0; }
.sc-sg-t code { font-family: ui-monospace, Menlo, monospace; font-size: .92em; background: transparent; padding: 0; color: var(--ink); font-weight: 600; }
.sc-sg-t code.sc-arg { font-weight: 400; color: var(--ink-3); }
.sc-sg-t span { color: var(--ink-2); }
.sc-sg small { margin-left: auto; color: var(--ink-3); font-size: 11.5px; white-space: nowrap; padding-left: 8px; }
.sc-sg-usage { cursor: default; background: var(--accent-wash); }
.sc-sg-usage:hover { background: var(--accent-wash); }
.sc-sg-help { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; border-top: 1px solid var(--line); margin-top: 6px; padding: 8px 10px 4px; font-size: 12px; color: var(--ink-3); }
/* today's Ask form stays in the page header to open the drawer, out of sight */
.sc-offscreen { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.sc-main .page-header.sc-page-header { padding: 0; min-height: 0; }
/* the old header's account corner is empty here (the top bar has it); phones gave it 44 px and padding anyway */
.sc-main .page-header.sc-page-header { padding-top: 0 !important; row-gap: 0; }
.sc-page-header > .header-account { display: none !important; }

/* laptops and iPad portrait: pinned apps fold into Apps (as its first group), Ask Robots is in the box */
@media (max-width: 1100px) {
  .sc-pins, .sc-nav-user .sc-ask { display: none; }
  .sc-apps-pinned { display: block; }
}
@media (max-width: 760px) {
  .sc-top-user { flex-wrap: nowrap; }
  .sc-name, .sc-chip-label, .sc-kbd { display: none; }
  .sc-nav-user { gap: 6px; }
  .sc-acct-menu, .sc-bell .notification-dropdown { position: fixed !important; left: 12px !important; right: 12px !important; top: 60px !important; width: auto !important; }
  /* phones: the words get the whole width, the two buttons share a row under them */
  .sc-box { flex-wrap: wrap; padding: 4px 6px 6px 14px; }
  .sc-field { flex-basis: 100%; }
  .sc-btns { flex-basis: 100%; margin-left: -8px; }
  .sc-btns button { flex: 1; padding: 0 10px; }
  .sc-sg { flex-wrap: wrap; } .sc-sg-t { flex-basis: 0; }
  .sc-sg small { flex-basis: 100%; margin-left: 30px; padding-left: 0; }
}
/* touch screens (phones, iPads, touch laptops): 44 px targets, no keyboard hints, 16 px text so iOS doesn't zoom */
@media (pointer: coarse) {
  .sc-apps summary, .sc-acct summary, .sc-chip, .sc-pins a, .sc-pin, .sc-bell .notification-bell-trigger { min-height: 44px; min-width: 44px; }
  .sc-apps summary, .sc-acct summary { display: inline-flex; align-items: center; }
  .sc-apps-menu a, .sc-acct-menu a { padding: 10px 0; font-size: 15.5px; }
  .sc-kbd { display: none; }
  .sc-field input, .sc-ghost, .sc-search input { font-size: 16px; }
  .sc-sg { padding: 11px 10px; }
}
/* pinned apps never overlap the right side: they give way (and fold into Apps below 1100 px) */
.sc-pins { flex: 0 1 auto; overflow: hidden; }
.sc-nav-user { flex: none; }
@media (max-width: 520px) {
  .sc-apps-menu { column-count: 1 !important; }
}
/* Notes: the tips box on Add Note */
body.search-theme .note-tips { background-color: var(--warn-wash) !important; color: var(--ink) !important; border-color: var(--line) !important; }
/* Links: a link's page and its delete confirmation */
body.search-theme .detail-label { color: var(--ink) !important; }
body.search-theme .detail-value { color: var(--ink-2) !important; }
body.search-theme :is(.tag-item, .link-details) { background-color: var(--surface-2) !important; border-color: var(--line) !important; color: var(--ink) !important; }
body.search-theme .link-details a { color: var(--title) !important; }
/* Articles: the byline, and the Markdown editor's colours (EasyMDE) in the theme's ink */
body.search-theme .article-byline { color: var(--ink-3); }
body.search-theme .EasyMDEContainer .CodeMirror { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
body.search-theme .EasyMDEContainer .CodeMirror-cursor { border-left-color: var(--ink); }
body.search-theme .EasyMDEContainer .CodeMirror-selected, body.search-theme .EasyMDEContainer .CodeMirror-focused .CodeMirror-selected { background: var(--accent-wash); }
body.search-theme .EasyMDEContainer :is(.cm-header, .cm-variable-2, .cm-variable-3, .cm-keyword, .cm-strong, .cm-em) { color: var(--ink) !important; }
body.search-theme .EasyMDEContainer :is(.cm-quote, .cm-comment, .cm-formatting-list) { color: var(--ink-2) !important; }
body.search-theme .EasyMDEContainer :is(.cm-link, .cm-string.cm-url, .cm-url) { color: var(--title) !important; }
body.search-theme .EasyMDEContainer .cm-comment { font-family: ui-monospace, Menlo, monospace; background: var(--surface-2); border-radius: 3px; }
body.search-theme .editor-toolbar { background: var(--surface-2); border-color: var(--line-strong); }
body.search-theme .editor-toolbar button { color: var(--ink) !important; }
body.search-theme .editor-toolbar button:hover, body.search-theme .editor-toolbar button.active { background: var(--surface); border-color: var(--line-strong); }
body.search-theme .editor-toolbar i.separator { border-left-color: var(--line); border-right-color: var(--line); }
body.search-theme :is(.editor-preview, .editor-preview-side) { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
body.search-theme .editor-statusbar { color: var(--ink-3); }
/* Files: on phones each file is a card (name; category, size, date on one line; the buttons side by side), not a
   table row as tall as its stacked buttons with the buttons scrolled out of sight */
@media (max-width: 760px) {
  body.search-theme table.file-table thead { display: none; }
  body.search-theme table.file-table, body.search-theme table.file-table :is(tbody, tr, td) { display: block; width: 100% !important; }
  body.search-theme table.file-table tr { padding: 10px 2px; border-bottom: 1px solid var(--line); background: transparent !important; }
  body.search-theme table.file-table td { border: 0 !important; padding: 2px 4px !important; white-space: normal !important; background: transparent !important; box-shadow: none !important; }
  body.search-theme table.file-table td:nth-child(2), body.search-theme table.file-table td:nth-child(3), body.search-theme table.file-table td:nth-child(4) { display: inline-block; width: auto !important; font-size: 13px; color: var(--ink-3); }
  body.search-theme table.file-table td:nth-child(2):not(:empty)::after, body.search-theme table.file-table td:nth-child(3)::after { content: " ·"; }
  body.search-theme table.file-table td:last-child { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
  body.search-theme table.file-table td:last-child .btn { width: auto !important; margin: 0 !important; min-height: 40px; display: inline-flex; align-items: center; }
  body.search-theme table.file-table td:last-child > div { flex-direction: row !important; flex-wrap: wrap; gap: 6px !important; min-width: 0 !important; width: 100%; }
  body.search-theme table.file-table td:first-child :is(a, span, div) { white-space: normal !important; overflow-wrap: anywhere; max-width: 100%; text-overflow: clip !important; }
}
/* the Ask drawer: an AI answer under its ✦ label, formatted; a command's output keeps its lines */
body.search-theme .drawer .terminal-command { color: var(--ink-3); font: 13px ui-monospace, Menlo, monospace; margin-bottom: 10px; overflow-wrap: anywhere; }
body.search-theme .drawer .terminal-prompt { color: var(--title); }
body.search-theme .drawer-answer { border-left: 3px solid var(--accent); background: var(--accent-wash); border-radius: 0 10px 10px 0; padding: 8px 12px; }
body.search-theme .drawer-ai { font: 600 11.5px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--title); margin-bottom: 4px; }
body.search-theme .drawer-md { color: var(--ink); font-size: 15px; line-height: 1.55; }
body.search-theme .drawer-md :is(p, ul, ol, pre, table, blockquote) { margin: 0 0 .6em; }
body.search-theme .drawer-md :is(ul, ol) { padding-left: 1.3em; }
body.search-theme .drawer-md :is(h1, h2, h3, h4) { font-family: var(--head); font-size: 1.1em; margin: .7em 0 .3em; color: var(--ink); }
body.search-theme .drawer-md code { font-family: ui-monospace, Menlo, monospace; font-size: .9em; background: var(--surface-2); border-radius: 4px; padding: 0 4px; color: var(--ink); }
body.search-theme .drawer-md pre { background: var(--surface-2); border-radius: 8px; padding: 8px 10px; overflow-x: auto; }
body.search-theme .drawer-md pre code { background: transparent; padding: 0; }
body.search-theme .drawer-md table { border-collapse: collapse; font-size: 14px; } body.search-theme .drawer-md :is(td, th) { border: 1px solid var(--line); padding: 3px 7px; }
body.search-theme .drawer-cmd { white-space: pre-wrap; font: 13.5px/1.5 ui-monospace, Menlo, monospace; color: var(--ink); overflow-wrap: anywhere; }
/* Events: the month grid in the theme's colours, equal columns (a long title widened its day), events readable
   (the page's brown chips took the link colour); a delete header that isn't a bright slab; dropdowns that look like dropdowns */
body.search-theme .calendar-view .row { margin-left: 0; margin-right: 0; }
body.search-theme .cal-day { min-width: 0; background: var(--surface); border-color: var(--line); color: var(--ink); }
body.search-theme .cal-day.other-month { background: transparent; }
body.search-theme .cal-day.today { background: var(--accent-wash); border-color: var(--accent); }
body.search-theme .cal-event { font-size: 12px; padding: 2px 5px; background: var(--accent-wash); border-left: 3px solid var(--accent); color: var(--ink) !important; }
body.search-theme .cal-day.today .cal-event { background: var(--surface); }
body.search-theme .cal-event:hover { background: var(--accent) !important; color: var(--on-accent) !important; }
body.search-theme .events-page .card-header.bg-danger { background: var(--bad-wash) !important; color: var(--bad) !important; }
body.search-theme .events-page select.form-control:not([multiple]) { padding-right: 2.25rem; background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px 12px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23635f56' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
@media (prefers-color-scheme: dark) {
  body.search-theme .events-page select.form-control:not([multiple]) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a29d92' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
}
/* a long title takes its own line and the buttons go under it, instead of both squeezed side by side */
body.search-theme .events-page > .d-flex.justify-content-between { flex-wrap: wrap; gap: 10px; }
body.search-theme .events-page > .d-flex.justify-content-between > h2 { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
/* touch: 44 px targets; in the month grid an event wraps to two lines instead of a 10 px sliver */
@media (pointer: coarse) {
  body.search-theme .events-page :is(.btn, .form-control, .form-select) { min-height: 44px; }
  body.search-theme .events-page .btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 44px; }
  body.search-theme .events-page .list-group-item { min-height: 44px; }
  body.search-theme .cal-event { min-height: 44px; white-space: normal; overflow-wrap: anywhere; line-height: 1.25; padding: 0 6px;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    border-top: 4px solid transparent; border-bottom: 4px solid transparent; }  /* borders, not padding: a 4th line won't peek into them */
}
/* phones: Coming Up puts the time under the title; each event in the list is a card (title; when, where, purpose,
   project on one line; the buttons side by side); the month is a list of the days that have something (and today) */
@media (max-width: 760px) {
  body.search-theme .events-page form .row > [class*="col-"] + [class*="col-"] { margin-top: 12px; }  /* Start/End, Location/URL stacked: room between */
  body.search-theme .events-page .list-group-item > .d-flex { flex-direction: column; }
  body.search-theme .events-page .list-group-item > .d-flex > .text-nowrap { margin-left: 0 !important; font-size: 14px; }
  body.search-theme table.event-table thead { display: none; }
  body.search-theme table.event-table, body.search-theme table.event-table :is(tbody, tr, td) { display: block; width: 100% !important; }
  body.search-theme table.event-table tr { padding: 10px 2px; border-bottom: 1px solid var(--line); background: transparent !important; }
  body.search-theme table.event-table td { border: 0 !important; padding: 2px 4px !important; white-space: normal !important; background: transparent !important; box-shadow: none !important; }
  body.search-theme table.event-table td:nth-child(n+2):nth-child(-n+5) { display: inline-block; width: auto !important; font-size: 13px; color: var(--ink-3); }
  body.search-theme table.event-table td:nth-child(n+3):nth-child(-n+5):not(:empty)::before { content: "· "; }
  body.search-theme table.event-table td:first-child a { overflow-wrap: anywhere; }
  body.search-theme table.event-table td:last-child { margin-top: 8px; }
  body.search-theme table.event-table td:last-child .btn { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
  body.search-theme .calendar-view .card-body > .row:first-child { display: none; }
  body.search-theme #calendarBody .row { display: block; }
  body.search-theme #calendarBody .cal-day { display: none; }
  body.search-theme #calendarBody .cal-day:is(.has-events, .today) { display: block; width: 100%; min-height: 0; border: 0; border-bottom: 1px solid var(--line); padding: 10px 4px; font-size: 15px; background: transparent; }
  body.search-theme #calendarBody .cal-day.today { background: var(--accent-wash); border-radius: 8px; padding: 10px 8px; }
  body.search-theme #calendarBody .cal-day-num::before { content: attr(data-weekday) " "; color: var(--ink-3); font-weight: 600; }
  body.search-theme #calendarBody .cal-event { display: flex; align-items: center; min-height: 44px; white-space: normal; overflow-wrap: anywhere; line-height: 1.3;
    font-size: 15px; margin: 6px 0; padding: 8px 10px; border-radius: 8px; }
  body.search-theme #calendarBody:not(:has(.has-events))::after { content: "Nothing this month."; display: block; padding: 12px 4px; color: var(--ink-3); }
/* Contacts: tables fill their card and wrap long names, emails and subjects; q9.css made them scroll in a block with
   every cell cut at 300 px, which put the list's Status, Project, Added and the buttons off to the right on a laptop */
body.search-theme.contacts-page .sc-main table.table { display: table !important; width: 100%; }
body.search-theme.contacts-page .sc-main table.table :is(th, td) { white-space: normal !important; max-width: none !important; overflow: visible !important; overflow-wrap: break-word; }
body.search-theme.contacts-page .sc-main table.table td :is(a[href^="mailto:"], a[href^="http"]) { overflow-wrap: anywhere; }
body.search-theme.contacts-page .sc-main table.table td.text-nowrap, body.search-theme.contacts-page .sc-main table.contact-table :is(td:nth-child(7), td:nth-child(8)) { white-space: nowrap !important; }
body.search-theme.contacts-page .sc-main table.contact-table td:nth-child(6) .badge { white-space: normal; text-align: left; line-height: 1.3; }
/* Contacts: a heading's buttons go under a long name instead of squeezing it; date pickers in the page's light/dark */
body.search-theme.contacts-page .sc-main .container > .d-flex.justify-content-between { flex-wrap: wrap; gap: 8px 12px; }
body.search-theme.contacts-page .sc-main :is(.form-control, .form-select) { color-scheme: light dark; }
/* Contacts: a tag's own colour with black or white text, whichever reads (Tag.ink); a pale tag keeps an edge */
body.search-theme .contact-tag { color: var(--tag-ink, #fff) !important; box-shadow: inset 0 0 0 1px var(--line); }
/* Contacts: phones and iPads show each contact as a card: name, title, organization and email a line each; status,
   project and added on one line; the buttons. Empty cells (data-empty, ContactTable) are left out */
@media (max-width: 991px) {
  body.search-theme.contacts-page table.contact-table thead { display: none; }
  body.search-theme.contacts-page .sc-main table.contact-table, body.search-theme.contacts-page table.contact-table tbody { display: block !important; }
  body.search-theme.contacts-page table.contact-table tr { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 12px 4px;
    border-bottom: 1px solid var(--line); background: transparent !important; }
  body.search-theme.contacts-page table.contact-table td { display: block; border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
  body.search-theme.contacts-page table.contact-table td[data-empty] { display: none; }
  body.search-theme.contacts-page table.contact-table td:nth-child(1) { order: 1; flex-basis: 100%; font-size: 16px; font-weight: 600; }
  body.search-theme.contacts-page table.contact-table td:nth-child(4) { order: 2; flex-basis: 100%; font-size: 14px; color: var(--ink-2); }
  body.search-theme.contacts-page table.contact-table td:nth-child(3) { order: 3; flex-basis: 100%; font-size: 14px; }
  body.search-theme.contacts-page table.contact-table td:nth-child(2) { order: 4; flex-basis: 100%; font-size: 14px; }
  body.search-theme.contacts-page table.contact-table :is(td:nth-child(5), td:nth-child(6), td:nth-child(7)) { order: 5; }
  body.search-theme.contacts-page table.contact-table td:nth-child(7) { font-size: 13px; color: var(--ink-3); margin-top: 4px; }
  body.search-theme.contacts-page table.contact-table td:nth-child(8) { order: 6; flex-basis: 100%; margin-top: 6px; }
}
/* Contacts: on phones the other tables (phone numbers, interactions, organizations, tags) wrap each row onto lines */
@media (max-width: 760px) {
  body.search-theme.contacts-page .sc-main table.table:not(.contact-table) thead { display: none; }
  body.search-theme.contacts-page .sc-main table.table:not(.contact-table), body.search-theme.contacts-page .sc-main table.table:not(.contact-table) tbody { display: block !important; }
  body.search-theme.contacts-page .sc-main table.table:not(.contact-table) tr { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px;
    padding: 10px 12px; border-bottom: 1px solid var(--line); }
  body.search-theme.contacts-page .sc-main table.table:not(.contact-table) tr:last-child { border-bottom: 0; }
  body.search-theme.contacts-page .sc-main table.table:not(.contact-table) td { display: block; border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
}
/* Contacts: on phones a form's two-up fields stack with room between them, not label against the field above */
@media (max-width: 767px) {
  body.search-theme.contacts-page .sc-main form .row > .col-12 + .col-12 { margin-top: 1rem; }
}
/* Contacts on touch screens: 44 px buttons, fields and tag checkboxes */
@media (pointer: coarse) {
  body.search-theme.contacts-page .sc-main :is(.btn, .form-control, .form-select) { min-height: 44px; }
  body.search-theme.contacts-page .sc-main .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; }
  body.search-theme.contacts-page .sc-main input[type="checkbox"] { width: 22px; height: 22px; margin: 0; }
  body.search-theme.contacts-page .sc-main label:has(> input[type="checkbox"]) { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; }
}
