/* Sourcebrook (2026-11-12): the whole site is the app. Plain: large type, dark text on white, no animation. */
:root { --navy: #0a1a2e; --ink: #0b1b2e; --ink-2: #34485d; --ink-3: #56687c; --line: #d3dbe4; --row: #f5f7fa;
        --head: #e9eef3; --paper: #f4f6f9; --white: #fff; --blue: #1f5a94; --orange: #e97b3e; --field: #75869a;
        --bad: #a3301a; --good: #1d6b3a; color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--white); color: var(--ink); min-height: 100vh; display: flex; flex-direction: column;
       font: 400 17px/1.5 Geist, system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
main { flex: 1; }
a { color: var(--blue); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; border-radius: 4px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }

/* Top bar */
.bar { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 0 24px; background: var(--navy); color: #fff; }
.logo { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-size: 20px; font-weight: 600; }
.logo svg { width: 32px; height: 32px; }
.bar-links { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.bar-links a, .bar-links button { color: #fff; font: inherit; font-size: 16.5px; background: none; border: 0; padding: 0; cursor: pointer;
                                  text-decoration: none; }
.bar-links a:hover, .bar-links button:hover { text-decoration: underline; }
.bar-links .cta { padding: 9px 16px; border-radius: 8px; background: var(--orange); color: var(--navy); font-weight: 600; }
.bar-links .cta:hover { background: #f18c52; text-decoration: none; }
.bar-user { color: #c6d3df; font-size: 15px; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Buttons and fields */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border: 0;
       border-radius: 10px; background: var(--orange); color: var(--navy); font: inherit; font-size: 18px; font-weight: 600;
       text-decoration: none; cursor: pointer; }
.btn:hover { background: #f18c52; }
.btn:disabled { opacity: .6; cursor: default; }
.btn-google { width: 100%; background: var(--white); color: var(--ink); border: 1.5px solid var(--field); }
.btn-google:hover { background: var(--row); }
.btn-google svg { width: 20px; height: 20px; }
label { display: block; margin: 0 0 7px; font-size: 16px; font-weight: 600; }
.input { display: block; width: 100%; height: 52px; padding: 0 14px; border: 1.5px solid var(--field); border-radius: 10px;
         background: var(--white); color: var(--ink); font: inherit; font-size: 18px; }
.hint { margin: 6px 0 0; font-size: 15px; color: var(--ink-2); }

/* Landing */
.hero { padding: 72px 24px 64px; background: var(--paper); border-bottom: 1px solid var(--line); }
.hero-in { max-width: 860px; margin: 0 auto; text-align: center; }
.hero h1 { margin: 0; font-size: clamp(32px, 4.6vw, 48px); font-weight: 600; letter-spacing: -.025em; line-height: 1.15; }
.hero p { margin: 18px auto 30px; max-width: 36em; font-size: 20px; color: var(--ink-2); }
.hero .btn { min-width: 300px; }
.hero .small { margin: 16px 0 0; font-size: 16.5px; }
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 24px; }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 56px 0 0; padding: 0; list-style: none; }
.facts li { padding: 24px; border: 1px solid var(--line); border-radius: 12px; }
.facts b { display: block; font-size: 34px; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.facts span { color: var(--ink-2); }
.steps { margin: 56px 0 0; }
.steps h2, .page h2 { margin: 0 0 16px; font-size: 26px; font-weight: 600; letter-spacing: -.015em; }
.steps ol { margin: 0; padding-left: 26px; font-size: 18px; }
.steps li { margin: 0 0 10px; padding-left: 4px; }
.cols { margin: 48px 0 72px; }
.cols p { color: var(--ink-2); max-width: 46em; }

/* Login, register, reset: one centred card */
.door { padding: 48px 20px 64px; background: var(--paper); }
.card { max-width: 460px; margin: 0 auto; padding: 34px 32px 28px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
.card h1 { margin: 0 0 8px; font-size: 28px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
.card .lead { margin: 0 0 24px; font-size: 17px; color: var(--ink-2); }
.card form > div { margin-bottom: 16px; }
.card .btn { width: 100%; margin-top: 4px; }
.or { display: flex; align-items: center; gap: 14px; margin: 22px 0; color: var(--ink-3); font-size: 15px; }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.card .alt { margin: 22px 0 0; text-align: center; font-size: 16.5px; }
.card .row-end { display: flex; justify-content: flex-end; margin: -6px 0 14px; font-size: 15.5px; }
.msg { margin: 0 0 16px; padding: 12px 14px; border-radius: 8px; font-size: 16px; }
.msg.bad { background: #fbeceb; color: var(--bad); }
.msg.good { background: #e8f4ec; color: var(--good); }
.step-no { margin: 0 0 6px; font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }

/* The screener */
.app { max-width: 1440px; margin: 0 auto; padding: 26px 24px 60px; }
.app h1 { margin: 0; font-size: 28px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
.app h1:focus { outline: none; }
.app-sub { margin: 6px 0 20px; color: var(--ink-2); }
.trial { margin: 0 0 18px; padding: 10px 14px; border-radius: 8px; background: var(--paper); border: 1px solid var(--line); font-size: 16px; }
.filters { display: grid; grid-template-columns: 1.2fr 1fr 1.2fr 1.4fr; gap: 14px; scroll-margin-top: 12px; }
.field { display: flex; flex-direction: column; min-width: 0; }
.field label { font-size: 15.5px; }
.field-sort { display: none; }
.field select, .field input { width: 100%; min-width: 0; height: 48px; padding: 0 12px; border: 1.5px solid var(--field); border-radius: 8px;
                              background: var(--white); color: var(--ink); font: inherit; }
.status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin: 20px 0 8px; }
.status-end { justify-content: flex-end; margin: 14px 0 0; }
#count { margin: 0; font-size: 18px; font-weight: 600; }
.pager { display: flex; align-items: center; gap: 12px; }
.pager span { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pager button { height: 44px; padding: 0 18px; border: 1.5px solid var(--field); border-radius: 8px; background: var(--white); color: var(--ink);
                font: inherit; font-weight: 500; cursor: pointer; }
.pager button:hover:not(:disabled) { background: var(--row); }
.pager button:disabled { opacity: .45; cursor: default; }
.legend { margin: 0 0 10px; font-size: 15.5px; color: var(--ink-2); }
.pad { display: inline-block; vertical-align: -1px; width: 13px; height: 13px; color: var(--ink-3); }
.tablebox { border: 1px solid var(--line); border-radius: 8px; overflow-x: auto; }
table.grid { width: 100%; border-collapse: collapse; font-size: 16px; }
table.grid th { padding: 12px 14px; background: var(--head); border-bottom: 1px solid var(--line); text-align: left; vertical-align: bottom;
                font-size: 15px; font-weight: 600; line-height: 1.3; }
table.grid th[data-sort] { cursor: pointer; }
table.grid th[data-sort]::after { content: " \2195"; color: var(--ink-3); font-weight: 400; }
table.grid th[aria-sort="ascending"]::after { content: " \25B2"; color: var(--ink); font-size: 11px; }
table.grid th[aria-sort="descending"]::after { content: " \25BC"; color: var(--ink); font-size: 11px; }
table.grid td { padding: 11px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
table.grid tbody tr:nth-child(even) td { background: var(--row); }
table.grid tbody tr:last-child td { border-bottom: 0; }
table.grid td.c-name { min-width: 230px; font-weight: 600; }
table.grid td.c-city, table.grid td.c-type { white-space: nowrap; }
table.grid .n { text-align: right; font-variant-numeric: tabular-nums; }
table.grid th.n { white-space: nowrap; }
table.grid td.c-size.none { color: var(--ink-3); }
/* ownership and size tags: one colour each, used in the table, the mix bar and its key */
.own { display: inline-block; padding: 3px 11px; border-radius: 999px; font-size: 14.5px; font-weight: 600; line-height: 1.4;
       white-space: nowrap; background: var(--c-bg); color: var(--c-fg); }
.own-4 { --c-bg: #fde9da; --c-fg: #8c3a0c; --c: #e97b3e; }
.own-2 { --c-bg: #e1edf8; --c-fg: #1a4f84; --c: #2f6fae; }
.own-1 { --c-bg: #eee7f8; --c-fg: #55358a; --c: #7a55b8; }
.own-3 { --c-bg: #e3f1e8; --c-fg: #1d6338; --c: #3c9461; }
.own-5 { --c-bg: #eceff3; --c-fg: #3d4b5c; --c: #8a97a6; }
.band-1 { --c-bg: #ddf2ef; --c-fg: #0d625a; --c: #1f9a8c; }
.band-2 { --c-bg: #e1edf8; --c-fg: #1a4f84; --c: #2f6fae; }
.band-3 { --c-bg: #e2e6f0; --c-fg: #1b2c4f; --c: #2b3f6b; }
table.grid th.lock { color: var(--ink-2); }
table.grid th.lock.l3, table.grid th.lock.l4 { min-width: 96px; }
table.grid td.lock { text-align: center; color: var(--ink-3); }
.lk-all, .lock-t { display: none; }
table.grid tr.msg-row td { padding: 44px 16px; background: var(--white); text-align: center; font-weight: 400; color: var(--ink-2); }
tr.msg-row button { margin-left: 8px; padding: 0; border: 0; background: none; color: var(--blue); font: inherit; text-decoration: underline;
                    text-underline-offset: 3px; cursor: pointer; }
.source { margin: 14px 0 0; font-size: 15px; color: var(--ink-2); }
.box { max-width: 860px; margin-top: 44px; padding: 26px 28px; border: 1px solid var(--line); border-radius: 12px; scroll-margin-top: 12px; }
.box h2 { margin: 0; font-size: 24px; font-weight: 600; letter-spacing: -.015em; }
.box-lead { margin: 8px 0 0; color: var(--ink-2); }
dl.plain { margin: 0; }
dl.plain dt { margin-top: 18px; font-weight: 600; }
dl.plain dd { margin: 3px 0 0; color: var(--ink-2); }
.gate { max-width: 560px; margin: 40px auto; }

/* Plain text pages: privacy, terms, licence */
.page { max-width: 760px; margin: 0 auto; padding: 40px 24px 64px; }
.page h1 { margin: 0 0 8px; font-size: 32px; font-weight: 600; letter-spacing: -.02em; }
.page .lead { margin: 0 0 28px; font-size: 18px; color: var(--ink-2); }
.page h2 { margin-top: 32px; font-size: 22px; }
.page p, .page li { color: var(--ink-2); }
.page .updated { margin-top: 36px; font-size: 15px; color: var(--ink-3); }

.foot { padding: 26px 24px 40px; border-top: 1px solid var(--line); background: var(--paper); font-size: 15px; color: var(--ink-2); }
.foot p { max-width: 1392px; margin: 0 auto 6px; }

@media (max-width: 1359px) {
  table.grid .lock.l2, table.grid .lock.l3, table.grid .lock.l4, .lk-one { display: none; }
  .lk-all { display: inline; }
  table.grid th.n { white-space: normal; min-width: 128px; }
  table.grid th.lock.l1 { min-width: 132px; }
  table.grid td.lock.l1 { white-space: nowrap; text-align: left; }
  .lock-t { display: inline; margin-left: 6px; font-size: 15px; }
}
@media (max-width: 980px) {
  .filters { grid-template-columns: 1fr 1fr; }
  .field-sort { display: flex; }
  .field:last-child { grid-column: 1 / -1; }
  .tablebox { border: 0; border-radius: 0; overflow: visible; }
  table.grid thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.grid, table.grid tbody, table.grid tr, table.grid td { display: block; }
  table.grid tr { padding: 14px 0; border-top: 1px solid var(--line); }
  table.grid td, table.grid tbody tr:nth-child(even) td { padding: 0; border: 0; background: none; text-align: left; }
  table.grid td.c-name { min-width: 0; font-size: 18px; line-height: 1.3; margin-bottom: 3px; }
  table.grid td.c-city, table.grid td.c-type { display: inline; white-space: normal; }
  table.grid td.c-type::before { content: " \00b7  "; }
  table.grid td.c-size { margin-top: 2px; text-align: left; }
  table.grid td.c-size.none { display: none; }
  table.grid td.c-size::before { content: "Size: "; color: var(--ink-2); }
  table.grid td.c-own::before { content: "Ownership: "; color: var(--ink-2); }
  table.grid.pr td.c-own::before { content: "Practice size: "; }
  table.grid td.c-own .own::before { display: none; }
  table.grid td.c-own .own { display: inline; white-space: normal; }
  table.grid td.lock, table.grid td.lock.l1 { display: none; }
  table.grid tr.msg-row { border-top: 0; }
  table.grid tr.msg-row td { padding: 36px 8px; text-align: center; }
  .status-end .pager { width: 100%; justify-content: space-between; }
  .facts { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bar { padding: 0 16px; gap: 10px; }
  .bar-links { gap: 14px; }
  .bar-links .hide-s, .bar-user { display: none; }
  .hero { padding: 44px 16px 44px; }
  .hero p { font-size: 18px; }
  .hero .btn { min-width: 0; width: 100%; }
  .door { padding: 24px 14px 48px; }
  .card { padding: 26px 20px 22px; }
  .card h1 { font-size: 25px; }
  .app { padding: 20px 16px 48px; }
  .app h1 { font-size: 24px; }
  .status .pager { width: 100%; justify-content: space-between; }
  .status:not(.status-end) .pager { display: none; }
  .box { padding: 20px 18px; margin-top: 32px; }
  .box h2 { font-size: 22px; }
  .page { padding: 28px 16px 48px; }
  .page h1 { font-size: 27px; }
  .foot { padding: 22px 16px 32px; }
}

/* The admin page */
.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tiles li { padding: 16px 18px; border: 1px solid var(--line); border-radius: 10px; }
.tiles b { display: block; font-size: 30px; font-weight: 600; font-variant-numeric: tabular-nums; }
.tiles span { color: var(--ink-2); font-size: 15.5px; }
.sub-h { margin: 34px 0 12px; font-size: 21px; font-weight: 600; }
.days { display: flex; align-items: flex-end; gap: 4px; height: 140px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.day { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; min-width: 0; }
.day span { display: block; width: 100%; background: var(--blue); border-radius: 3px 3px 0 0; }
.day i { font-style: normal; font-size: 12px; color: var(--ink-2); }
@media (max-width: 760px) { .tiles { grid-template-columns: 1fr 1fr; } }
table.grid.pr .lock.l2, table.grid.pr .lock.l3, table.grid.pr .lock.l4,
table.grid.nr .lock.l3, table.grid.nr .lock.l4,
table.grid.oo .lock.l2, table.grid.oo .lock.l3, table.grid.oo .lock.l4 { display: none; }
table.grid td.lock.none { color: var(--ink-3); }

/* 13 Nov 2026: the free-week and paid-plan comparison, near the top */
.compare { margin: 0 0 18px; padding: 20px 22px; border: 2px solid var(--orange); border-radius: 12px; background: #fffaf6; }
.compare h2 { margin: 0; font-size: 24px; font-weight: 600; letter-spacing: -.015em; }
.cmp-lead { margin: 6px 0 14px; font-size: 17px; color: var(--ink-2); }
table.cmp { width: 100%; border-collapse: collapse; font-size: 17px; background: var(--white); border: 1px solid var(--line); }
table.cmp th, table.cmp td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
table.cmp thead th { background: var(--head); font-size: 16px; font-weight: 600; }
table.cmp thead th:last-child { color: #8c3a0c; }
table.cmp thead th .pad { color: #c2571b; margin-left: 4px; }
table.cmp tbody th { width: 22%; font-weight: 600; }
.cmp-n { display: block; margin-top: 2px; font-size: 15px; font-weight: 400; color: var(--ink-2); }
table.cmp td.cmp-free { width: 26%; color: var(--ink-2); }
ul.adds { margin: 0; padding: 0; list-style: none; }
ul.adds li { position: relative; margin: 0 0 4px; padding-left: 22px; }
ul.adds li::before { content: "+"; position: absolute; left: 2px; top: -1px; font-size: 19px; font-weight: 700; color: #c2571b; }
ul.adds li.no { color: var(--ink-3); }
ul.adds li.no::before { content: "\2013"; color: var(--ink-3); font-weight: 400; }
ul.adds b { font-variant-numeric: tabular-nums; }
.cmp-more { margin: 12px 0 0; font-size: 16px; }
.box-h { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--line); font-size: 20px; font-weight: 600; }
@media (max-width: 1359px) {
  table.grid td.lock.l1 .blur { display: none; }
  table.grid td.lock.l1 { white-space: normal; min-width: 180px; }
}
@media (max-width: 980px) {
  table.cmp, table.cmp tbody, table.cmp tr, table.cmp th, table.cmp td { display: block; width: auto !important; }
  table.cmp thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.cmp { border: 0; background: none; }
  table.cmp tr { margin: 0 0 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
  table.cmp th, table.cmp td { padding: 0; border: 0; }
  table.cmp tbody th { font-size: 19px; }
  table.cmp td.cmp-free { margin: 8px 0 6px; }
  table.cmp td.cmp-free::before { content: "Free week: "; font-weight: 600; color: var(--ink); }
  table.cmp td:last-child::before { content: "Paid plan adds:"; display: block; margin-bottom: 4px; font-weight: 600; color: #8c3a0c; }
  table.grid td.lock.l1:not(.none) { display: block; margin-top: 6px; font-size: 15.5px; color: #8c3a0c; }
  table.grid td.lock.l1 .lock-t { margin-left: 2px; }
}
@media (max-width: 640px) {
  .compare { padding: 16px 14px; }
  .compare h2 { font-size: 22px; }
}

/* 12 Nov 2026: a header band, the summary boxes, the state map, colour in the table, the free-week limits */
.app-head { margin: 0 0 18px; padding: 24px 26px 20px; border-radius: 14px; color: #fff;
            background: linear-gradient(120deg, #0d2744 0%, #174a7c 60%, #1f5a94 100%); }
.app-head h1 { color: #fff; }
.app-head .app-sub { color: #cfe0f0; margin-bottom: 14px; }
.app-head .trial { margin: 0; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .22); color: #fff; }
.app-head .trial a { color: #ffd2b5; }
.freebar { margin: 0 0 18px; padding: 12px 16px; border-left: 5px solid var(--orange); border-radius: 8px; background: #fff4ec; }
.filters { padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.field select, .field input { border-color: #b7c4d2; }
.field select:hover, .field input:hover { border-color: var(--blue); }

.overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 18px; margin: 18px 0 0; }
.mapbox, .sbox { border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.mapbox { padding: 16px 18px 12px; }
.ov-h, .sbox h3 { margin: 0 0 10px; font-size: 15px; font-weight: 600; letter-spacing: .02em; color: var(--ink-2); }
#map { display: block; width: 100%; height: auto; }
.tile { cursor: pointer; }
.tile text { font-size: 15px; font-weight: 600; fill: #12304f; pointer-events: none; }
.tile.dark text { fill: #fff; }
.tile rect { stroke: #fff; stroke-width: 2; transition: opacity .12s; }
.tile:hover rect { opacity: .82; }
.tile.on rect { stroke: var(--orange); stroke-width: 4; }
.tile:focus { outline: none; }
.tile:focus-visible rect { stroke: var(--navy); stroke-width: 4; }
.map-key { margin: 6px 0 0; font-size: 14.5px; color: var(--ink-3); }
.sum { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: start; }
.sbox { padding: 16px 18px; border-top: 4px solid var(--blue); }
.sbox:nth-child(2) { border-top-color: var(--orange); }
.sbox:nth-child(3) { border-top-color: #1f9a8c; }
.sbox:nth-child(4) { border-top-color: #7a55b8; }
.big { margin: 0; font-size: 38px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.big-o { color: #c2571b; }
.sbox-sub { margin: 4px 0 0; font-size: 15px; color: var(--ink-2); }
.mix { display: flex; height: 14px; overflow: hidden; border-radius: 7px; background: var(--head); }
.mix span { display: block; background: var(--c); }
.mix-key { margin: 12px 0 0; padding: 0; list-style: none; font-size: 15px; }
.mix-key li { display: flex; align-items: center; gap: 8px; margin: 3px 0; }
.mix-key i { flex: none; width: 11px; height: 11px; border-radius: 3px; background: var(--c); }
.mix-key b { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.sbox ol { margin: 0; padding: 0; list-style: none; counter-reset: c; }
.sbox ol li { display: flex; gap: 8px; padding: 5px 0; border-bottom: 1px dashed var(--line); counter-increment: c; }
.sbox ol li:last-child { border-bottom: 0; }
.sbox ol li::before { content: counter(c); flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--head);
                      font-size: 13px; font-weight: 600; text-align: center; line-height: 22px; }
.sbox ol li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sbox ol li b { margin-left: auto; font-variant-numeric: tabular-nums; }

table.grid th { background: #12304f; color: #fff; border-bottom: 0; }
table.grid th[data-sort]::after { color: #9fb8d1; }
table.grid th[aria-sort]::after { color: #fff; }
table.grid th.lock { color: #ffd2b5; }
table.grid tbody tr:not(.msg-row):hover td { background: #eaf2fb; }
.tablebox { border-color: #c4d0dc; box-shadow: 0 1px 3px rgba(10, 26, 46, .06); }
.blur { filter: blur(5px); user-select: none; color: var(--ink-2); }
table.grid td.lock { white-space: nowrap; }
table.grid td.lock .pad { margin-right: 6px; }
.pager button:not(:disabled) { border-color: var(--blue); color: var(--blue); }

@media (max-width: 980px) {
  .overview { grid-template-columns: 1fr; }
  table.grid td.c-own .own { display: inline-block; }
}
@media (max-width: 640px) {
  .app-head { padding: 18px 18px 16px; border-radius: 12px; }
  .sum { grid-template-columns: 1fr; }
  .big { font-size: 32px; }
}
