.tone-slate, .kcol-slate { --tone: oklch(0.55 0.02 255); }
.tone-sky, .kcol-sky { --tone: oklch(0.6 0.12 230); }
.tone-violet, .kcol-violet { --tone: oklch(0.55 0.15 295); }
.tone-amber, .kcol-amber { --tone: oklch(0.7 0.14 75); }
.tone-orange, .kcol-orange { --tone: oklch(0.64 0.16 50); }
.tone-green, .kcol-green { --tone: oklch(0.58 0.14 150); }
.tone-teal, .kcol-teal { --tone: oklch(0.6 0.1 190); }
.tone-red, .kcol-red { --tone: oklch(0.56 0.18 25); }

.status-pill { display: inline-flex; align-items: center; gap: 0.375rem; font-size: var(--t-xs); font-weight: 600; white-space: nowrap; }
.status-pill::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 2px; background: var(--tone); }
.late { color: var(--danger); font-weight: 600; }
.muted { color: var(--ink-3); }
.notice { padding: 0.625rem 0.875rem; border: 1px solid var(--line); background: var(--panel); border-radius: var(--r); font-size: var(--t-sm); color: var(--ink-2); }
.filters.inline { margin: 0; flex-wrap: nowrap; }
.filters.inline .field { min-width: 13rem; }

.legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; list-style: none; margin: -0.5rem 0 1rem; padding: 0; font-size: var(--t-xs); color: var(--ink-2); }
.legend li { display: inline-flex; align-items: center; gap: 0.375rem; }
.legend .prio { width: 1.25rem; height: 1.25rem; font-size: 0.625rem; }
.lg { width: 0.75rem; height: 0.75rem; border-radius: 3px; }
.lg-overdue { background: oklch(0.96 0.03 25); border: 1.5px solid var(--danger); }
.lg-missing { border: 1.5px dashed var(--danger); }
.lg-sla { background: var(--danger); }

.board { display: flex; gap: 0.75rem; overflow-x: auto; padding-bottom: 1rem; align-items: flex-start; scroll-snap-type: x proximity; }
.kcol { flex: 0 0 18.5rem; display: flex; flex-direction: column; max-height: calc(100vh - 12rem); background: oklch(0.965 0.005 var(--hue)); border-radius: 10px; scroll-snap-align: start; }
.kcol-closed { background: oklch(0.975 0.004 var(--hue)); }
.kcol-head { padding: 0.75rem 0.75rem 0.625rem; }
.kcol-head h2 { display: flex; align-items: center; gap: 0.5rem; font-size: var(--t-sm); font-weight: 650; }
.kcol-head h2::before { content: ""; width: 0.625rem; height: 0.625rem; border-radius: 3px; background: var(--tone); }
.kcount { font-size: var(--t-xs); font-weight: 500; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ksum { margin: 0.25rem 0 0; font-size: var(--t-xs); font-weight: 600; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.kcad { margin: 0.125rem 0 0; font-size: 0.6875rem; color: var(--ink-3); }
.kcards { display: flex; flex-direction: column; gap: 0.5rem; padding: 0 0.5rem 0.625rem; overflow-y: auto; min-height: 4rem; }
.kempty { margin: 0; padding: 2rem 0.5rem; text-align: center; font-size: var(--t-sm); color: var(--ink-3); }
.kcards:has(.kcard) .kempty { display: none; }

.kcard { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; transition: border-color 160ms var(--ease), box-shadow 160ms var(--ease); cursor: grab; }
.kcard:hover { border-color: var(--line-strong); box-shadow: 0 2px 8px oklch(0.3 0.02 var(--hue) / 0.08); }
.kcard.appt-overdue { border-color: oklch(0.75 0.1 25); background: oklch(0.985 0.012 25); }
.kcard.appt-missing { border: 1.5px dashed oklch(0.7 0.12 25); }
.kcard-ghost { opacity: 0.35; }
.kcard-link { display: block; padding: 0.625rem 0.75rem; text-decoration: none; color: inherit; }
.kcard-top { display: flex; align-items: center; gap: 0.375rem; }
.kid { font-size: var(--t-xs); color: var(--ink-3); margin-right: auto; font-variant-numeric: tabular-nums; }
.kcard-top .prio { width: 1.375rem; height: 1.375rem; font-size: 0.6875rem; }
.kscore { font-size: var(--t-xs); font-weight: 650; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.kclient { margin: 0.375rem 0 0; font-size: var(--t-sm); font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kneed { margin: 0.125rem 0 0; font-size: var(--t-xs); color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kmeta { margin-top: 0.375rem; }
.kvalue { display: flex; justify-content: space-between; margin: 0.5rem 0 0; font-size: var(--t-xs); }
.kvalue dt { color: var(--ink-3); }
.kvalue dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.kfoot { display: flex; justify-content: space-between; gap: 0.5rem; margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid var(--line); font-size: var(--t-xs); }
.kdays { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.kdays.late { color: var(--danger); font-weight: 650; }

.appt { font-size: var(--t-xs); font-weight: 550; color: var(--ink-3); }
.appt-overdue { color: var(--danger); }
.appt-today { color: oklch(0.55 0.13 70); }
.appt-missing { color: oklch(0.55 0.15 25); }
.appts { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.appt-item { padding: 0.5rem 0.625rem; border: 1px solid var(--line); border-radius: var(--r); font-size: var(--t-sm); }
.appt-item.st-finished, .appt-item.st-canceled { background: var(--panel); color: var(--ink-2); }
.appt-what small { display: block; color: var(--ink-3); font-size: var(--t-xs); }
.appt-done { margin: 0.25rem 0 0; font-size: var(--t-xs); }
.appt-actions summary, .appt-new summary { cursor: pointer; font-size: var(--t-xs); font-weight: 600; color: var(--accent); margin-top: 0.375rem; }
.appt-new { margin-top: 0.75rem; }
.stack { display: grid; gap: 0.5rem; margin-top: 0.5rem; }
.row-tight { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: end; margin-top: 0.375rem; }
.row-tight .field { min-width: 0; flex: 1 1 7rem; }

.mood { display: inline-flex; align-items: center; gap: 0.3125rem; font-size: var(--t-xs); font-weight: 600; }
.mood i, .mood-btn i { width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--mood); }
.mood-red { --mood: oklch(0.58 0.19 25); }
.mood-orange { --mood: oklch(0.68 0.16 55); }
.mood-zinc { --mood: oklch(0.7 0.01 var(--hue)); }
.mood-lime { --mood: oklch(0.72 0.16 130); }
.mood-green { --mood: oklch(0.6 0.15 150); }
.mood-pick { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.25rem; }
.mood-btn { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; padding: 0.5rem 0.125rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); font: 500 0.625rem/1.15 var(--font); color: var(--ink-2); cursor: pointer; text-align: center; transition: border-color 140ms var(--ease), background-color 140ms var(--ease); }
.mood-btn i { width: 0.875rem; height: 0.875rem; }
.mood-btn:hover { border-color: var(--mood); background: var(--panel); }
.mood-log { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 0.375rem; font-size: var(--t-xs); }
.mood-log li { display: flex; flex-wrap: wrap; gap: 0.375rem; align-items: baseline; }
.mood-log small { flex-basis: 100%; color: var(--ink-2); }

.breakdown { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 0.375rem; }
.breakdown li { display: grid; grid-template-columns: 1fr auto; gap: 0.125rem 0.5rem; font-size: 0.6875rem; color: var(--ink-2); }
.bd-val { font-variant-numeric: tabular-nums; font-weight: 600; }
.bd-bar { grid-column: 1 / -1; height: 4px; border-radius: 2px; background: oklch(0.9 0.01 var(--hue)); overflow: hidden; }
.bd-bar i { display: block; height: 100%; background: currentColor; opacity: 0.55; }

.status-track { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.status-track label { position: relative; }
.status-track input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.status-track span { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.375rem 0.625rem; border: 1px solid var(--line-strong); border-radius: 999px; font-size: var(--t-xs); font-weight: 550; color: var(--ink-2); }
.status-track span::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--tone); }
.status-track input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.status-track input:focus-visible + span { box-shadow: 0 0 0 3px var(--focus); }

.main-col { display: grid; gap: 1.5rem; min-width: 0; }
.panel.wide h2 { font-size: var(--t-md); margin-bottom: 0.75rem; }
.skeleton { height: 2.5rem; border-radius: var(--r); background: linear-gradient(90deg, var(--panel), var(--bg), var(--panel)); background-size: 200% 100%; animation: shimmer 1.4s linear infinite; margin-top: 0.5rem; }
@keyframes shimmer { to { background-position: -200% 0; } }
.order { border-top: 1px solid var(--line); padding: 0.625rem 0; }
.order summary { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: baseline; cursor: pointer; font-size: var(--t-sm); }
.order summary .num { margin-left: auto; font-variant-numeric: tabular-nums; }
.order .table-wrap { margin-top: 0.5rem; }
.grid.compact td, .grid.compact th { padding: 0.375rem 0.625rem; }
.cov { display: inline-block; padding: 0.0625rem 0.4375rem; border-radius: 4px; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; }
.cov-em_estoque { background: var(--a-soft); color: var(--a); }
.cov-em_producao { background: var(--b-soft); color: var(--b); }
.cov-producao_atrasada { background: var(--c-soft); color: oklch(0.48 0.11 75); }
.cov-sem_cobertura { background: var(--danger-soft); color: var(--danger); }

.product-list { display: grid; gap: 0.75rem; max-width: 64rem; }
.product { padding: 1rem 1.125rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.product-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.product-head h2 { margin-top: 0.25rem; font-size: var(--t-md); }
.link-count { font-size: var(--t-xs); font-weight: 600; color: var(--a); white-space: nowrap; }
.link-count.empty { color: var(--ink-3); }
.product-kv { grid-template-columns: 6rem 1fr; font-size: var(--t-sm); }
.links { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-top: 0.75rem; }
.chip { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.25rem 0.25rem 0.25rem 0.5rem; border: 1px solid var(--line-strong); border-radius: 999px; font-size: var(--t-xs); }
.chip-x { border: 0; background: transparent; width: 1.25rem; height: 1.25rem; border-radius: 50%; cursor: pointer; color: var(--ink-3); }
.chip-x:hover { background: var(--danger-soft); color: var(--danger); }
.link-add { margin-top: 0.75rem; }
.link-add summary { cursor: pointer; font-size: var(--t-sm); font-weight: 600; color: var(--accent); }
.link-add > input { margin-top: 0.5rem; }
.results { display: grid; gap: 0.25rem; margin-top: 0.5rem; }
.result { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; padding: 0.375rem 0.5rem; border-radius: var(--r); font-size: var(--t-sm); }
.result:hover { background: var(--panel); }
.manual input { flex: 1 1 8rem; }
@media (prefers-reduced-motion: reduce) { .skeleton { animation: none; } }

.head-cta { margin-left: auto; }
.page-head:has(.head-cta) { align-items: center; }
.head-actions { display: flex; gap: 0.5rem; align-items: center; }
.seal { display: inline-flex; align-items: center; padding: 0.0625rem 0.4375rem; border-radius: 999px; background: oklch(0.94 0.04 190); color: oklch(0.42 0.09 195); font-size: 0.625rem; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; white-space: nowrap; }
.seal::before { content: "↻"; margin-right: 0.25rem; }
.seal-lg { font-size: var(--t-xs); vertical-align: middle; }
.children { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.children li { display: flex; align-items: center; gap: 0.75rem; font-size: var(--t-sm); }
.children li .num { margin-left: auto; font-variant-numeric: tabular-nums; }

.notice.demo { border-color: oklch(0.86 0.07 80); background: var(--c-soft); color: oklch(0.42 0.1 75); }
.method { margin: 0 0 1rem; }
.carteira-summary { margin-bottom: 1rem; width: fit-content; }
.ctable { border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); overflow-x: auto; }
.crow { display: grid; grid-template-columns: 2.5rem minmax(14rem, 1.6fr) minmax(10rem, 1fr) minmax(12rem, 1.1fr) 8.5rem 8.5rem 6.5rem; gap: 1rem; align-items: start; padding: 0.75rem 1rem; font-size: var(--t-sm); min-width: 64rem; }
.chead { background: var(--panel); font-size: var(--t-xs); font-weight: 600; color: var(--ink-3); border-bottom: 1px solid var(--line); padding-block: 0.5rem; }
.cline { border-bottom: 1px solid var(--line); }
.cline:last-child { border-bottom: 0; }
.cline:hover > .crow { background: oklch(0.985 0.005 var(--hue)); }
.crow small { display: block; color: var(--ink-3); font-size: var(--t-xs); }
.crow .num { text-align: right; font-variant-numeric: tabular-nums; }
.cmetric { display: grid; gap: 0.125rem; align-content: start; justify-items: start; }
.cmetric.num { justify-items: end; }
.cmetric small { display: block; }
.cm-main { font-weight: 550; line-height: 1.35; }
.cm-tag { margin-top: 0.25rem; padding: 0.0625rem 0.4375rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 650; white-space: nowrap; }
.cm-tag.due { background: oklch(0.94 0.04 190); color: oklch(0.42 0.09 195); }
.chead > span:nth-child(5), .chead > span:nth-child(6), .chead > span:nth-child(7) { text-align: right; }
.cact { display: flex; justify-content: flex-end; }
.row-menu > summary { list-style: none; }
.row-menu > summary::-webkit-details-marker { display: none; }
.row-menu[open] > summary { background: var(--panel); border-color: var(--ink-3); }
.menu { position: fixed; z-index: 40; min-width: 13rem; padding: 0.25rem; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 28px oklch(0.3 0.02 var(--hue) / 0.16); display: grid; }
.menu form { margin: 0; }
.menu-item { display: block; width: 100%; padding: 0.5rem 0.625rem; border: 0; border-radius: 6px; background: transparent; font: inherit; font-size: var(--t-sm); color: var(--ink); text-align: left; text-decoration: none; cursor: pointer; }
.menu-item:hover, .menu-item:focus-visible { background: var(--panel); outline: none; }
.menu form .menu-item { color: var(--accent); font-weight: 600; }
.corders { padding: 0 1rem; }
.corders:not(:empty) { padding: 0.25rem 1rem 1rem; background: var(--bg); }
.corders h2 { font-size: var(--t-sm); margin: 0.5rem 0; }

.whoami { margin-top: auto; display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 0.5rem 0; border-top: 1px solid var(--line); }
.avatar, .owner i { display: inline-grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--accent-ink); font-style: normal; font-weight: 700; }
.avatar { width: 1.875rem; height: 1.875rem; font-size: var(--t-sm); flex: none; }
.who { display: grid; min-width: 0; flex: 1; font-size: var(--t-xs); }
.who strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.who small { color: var(--ink-3); }
.owner { display: inline-flex; align-items: center; gap: 0.3125rem; color: var(--ink-2); font-weight: 550; }
.owner i { width: 1.125rem; height: 1.125rem; font-size: 0.625rem; }

.login-body { display: grid; place-items: center; min-height: 100vh; }
.login { width: min(24rem, calc(100vw - 2rem)); padding: 2rem; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 30px oklch(0.3 0.02 var(--hue) / 0.08); }
.login .brand { padding: 0; margin: 0 0 1.25rem; }
.login h1 { margin-bottom: 1rem; }

.notice.ok { border-color: oklch(0.85 0.06 150); background: var(--a-soft); color: oklch(0.38 0.1 150); margin-bottom: 1rem; }
.sheet.narrow { max-width: 40rem; }
.check { display: flex; gap: 0.5rem; align-items: flex-start; font-size: var(--t-sm); cursor: pointer; }
.check input { width: auto; margin-top: 0.1875rem; accent-color: var(--accent); }
.profile-list { display: grid; gap: 0.5rem; max-width: 64rem; }
.profile-sum { cursor: pointer; display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; align-items: baseline; }
.profile-sum small { flex-basis: 100%; color: var(--ink-3); }
.new-item { margin-bottom: 1rem; max-width: 64rem; }
.new-item > summary { cursor: pointer; font-weight: 600; color: var(--accent); }
.perm-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 0.75rem; }
.perm-group { border: 1px solid var(--line); border-radius: var(--r); padding: 0.625rem 0.75rem; display: grid; gap: 0.375rem; margin: 0; }
.perm-group legend { font-size: var(--t-xs); font-weight: 650; color: var(--ink-2); padding: 0 0.25rem; }
.new-role { max-width: 48rem; margin-bottom: 1rem; }
.role-tree { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.375rem; max-width: 56rem; }
.role-tree li { padding-left: calc(var(--depth) * 1.75rem); position: relative; }
.role-tree li::before { content: ""; position: absolute; left: calc(var(--depth) * 1.75rem - 0.875rem); top: 0; bottom: 50%; width: 0.625rem; border-left: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); opacity: min(var(--depth), 1); }
.role-tree .row-tight { margin: 0; padding: 0.5rem 0.625rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); align-items: center; }
.role-tree input { flex: 1 1 12rem; }
.role-tree select { flex: 1 1 12rem; width: auto; }
tr.muted td { color: var(--ink-3); }

.sidebar-top { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.bell { position: relative; }
.bell > summary { list-style: none; position: relative; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: var(--r); cursor: pointer; color: var(--ink-2); }
.bell > summary::-webkit-details-marker { display: none; }
.bell > summary:hover, .bell[open] > summary { background: var(--surface); color: var(--ink); box-shadow: 0 0 0 1px var(--line); }
.bell-count { position: absolute; top: -0.25rem; right: -0.25rem; min-width: 1.125rem; height: 1.125rem; padding: 0 0.25rem; border-radius: 999px; background: var(--ink-2); color: var(--bg); font-size: 0.625rem; font-weight: 700; display: grid; place-items: center; }
.bell-count.urgent { background: var(--danger); }
.bell-panel { position: absolute; left: 0; top: calc(100% + 0.375rem); z-index: 30; width: min(24rem, calc(100vw - 2rem)); max-height: 70vh; overflow-y: auto; padding: 0.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 32px oklch(0.3 0.02 var(--hue) / 0.14); }
.bell-head { margin: 0.25rem 0.5rem 0.5rem; font-size: var(--t-xs); font-weight: 650; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.04em; }
.alert-item { display: grid; gap: 0.125rem; padding: 0.5rem 0.625rem; border-radius: var(--r); text-decoration: none; color: var(--ink); font-size: var(--t-sm); border: 1px solid transparent; }
.alert-item:hover { background: var(--panel); }
.alert-item small { color: var(--ink-2); font-size: var(--t-xs); }
.alert-item em { font-style: normal; font-size: var(--t-xs); color: var(--ink-2); }
.alert-kind { font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-3); }
.lvl-atrasado { border-color: oklch(0.85 0.06 25); background: var(--danger-soft); }
.lvl-atrasado small, .lvl-atrasado .alert-kind { color: var(--danger); }
.lvl-risco { border-color: oklch(0.86 0.07 80); background: var(--c-soft); }
.lvl-risco em { color: oklch(0.42 0.1 75); font-weight: 600; }
.btn-icon { width: 2rem; height: 2rem; padding: 0; justify-content: center; font-size: 1.125rem; line-height: 1; letter-spacing: 0.05em; }

.questions { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; counter-reset: q; }
.question { display: grid; grid-template-columns: 1.75rem 1fr; gap: 0.125rem 0.5rem; padding: 0.625rem 0; border-bottom: 1px dashed var(--line); counter-increment: q; }
.question::before { content: counter(q); grid-row: span 2; width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; font-size: var(--t-xs); font-weight: 700; background: var(--panel); color: var(--ink-2); }
.question.pending::before { background: var(--c-soft); color: oklch(0.48 0.11 75); }
.question .field { min-width: 0; }
.q-text { font-size: var(--t-sm) !important; font-weight: 600 !important; color: var(--ink) !important; letter-spacing: 0 !important; }
.q-auto { font-style: normal; margin-left: 0.375rem; padding: 0 0.375rem; border-radius: 999px; background: var(--b-soft); color: var(--b); font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; vertical-align: middle; }
.q-meta { grid-column: 2; font-size: var(--t-xs); color: var(--ink-3); }

.segment-list { display: grid; gap: 0.75rem; max-width: 56rem; }
.segment-head { margin: 0 0 0.5rem; align-items: center; }
.segment-name { font-weight: 650; flex: 1 1 14rem; }
.theme-list { list-style: none; margin: 0 0 0 1rem; padding: 0 0 0 0.875rem; border-left: 2px solid var(--line); display: grid; gap: 0.375rem; }
.theme-list .row-tight { margin: 0; align-items: center; }
.theme-list input { flex: 1 1 12rem; }
.add-theme { margin: 0.625rem 0 0 1.875rem; }
.add-theme input { flex: 1 1 14rem; }

.field-label { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; font-size: var(--t-xs); font-weight: 600; color: var(--ink-2); }
.field-error { color: var(--danger); font-size: var(--t-xs); }
.inline-add { position: relative; font-weight: 600; }
.inline-add > summary { list-style: none; cursor: pointer; color: var(--accent); font-size: var(--t-xs); padding: 0 0.25rem; border-radius: 4px; }
.inline-add > summary::-webkit-details-marker { display: none; }
.inline-add > summary:hover { background: var(--accent-soft); }
.inline-pop { position: absolute; right: 0; top: calc(100% + 0.25rem); z-index: 20; display: flex; gap: 0.375rem; width: 18rem; padding: 0.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 10px 24px oklch(0.3 0.02 var(--hue) / 0.14); }
.inline-pop input { flex: 1; }

.agenda-filters { margin-bottom: 1.25rem; }
.cal-head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-bottom: 0.75rem; }
.cal-head h2 { font-size: var(--t-lg, 1.375rem); min-width: 12rem; }
.cal-nav { display: flex; gap: 0.25rem; }
.cal-sum { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; list-style: none; margin: 0 0 0 auto; padding: 0; font-size: var(--t-xs); color: var(--ink-2); }
.cal-sum b { font-variant-numeric: tabular-nums; color: var(--ink); }
.cal-sum .st-overdue b { color: var(--danger); }
.cal-sum .st-today b { color: oklch(0.52 0.13 70); }
.cal { border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); overflow: hidden; }
.cal-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-row + .cal-row { border-top: 1px solid var(--line); }
.cal-week span { padding: 0.5rem 0.625rem; font-size: var(--t-xs); font-weight: 650; color: var(--ink-3); background: var(--panel); }
.cal-day { min-height: 7.5rem; padding: 0.375rem; display: flex; flex-direction: column; gap: 0.25rem; border-left: 1px solid var(--line); min-width: 0; }
.cal-day:first-child { border-left: 0; }
.cal-day.weekend { background: oklch(0.98 0.004 var(--hue)); }
.cal-day.out { background: oklch(0.975 0.004 var(--hue)); }
.cal-day.out .cal-date { color: var(--line-strong); }
.cal-date { font-size: var(--t-xs); font-weight: 650; color: var(--ink-2); font-variant-numeric: tabular-nums; align-self: flex-start; min-width: 1.5rem; height: 1.5rem; display: inline-grid; place-items: center; border-radius: 50%; }
.cal-dow { display: none; }
.cal-day.is-today .cal-date { background: var(--accent); color: var(--accent-ink); }
.cal-entry { display: grid; gap: 0; padding: 0.25rem 0.375rem; border-radius: 5px; text-decoration: none; color: var(--ink); font-size: 0.6875rem; line-height: 1.3; background: var(--b-soft); border-left: 0; box-shadow: inset 0 0 0 1px oklch(0.88 0.03 230); transition: box-shadow 140ms var(--ease); }
.cal-entry:hover { box-shadow: inset 0 0 0 1px var(--b); }
.cal-entry .ce-time { font-weight: 700; color: var(--b); text-transform: uppercase; font-size: 0.5625rem; letter-spacing: 0.04em; }
.cal-entry .ce-what { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-entry .ce-who { color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-entry.st-overdue { background: var(--danger-soft); box-shadow: inset 0 0 0 1px oklch(0.85 0.06 25); }
.cal-entry.st-overdue .ce-time { color: var(--danger); }
.cal-entry.st-today { background: var(--c-soft); box-shadow: inset 0 0 0 1px oklch(0.86 0.07 80); }
.cal-entry.st-today .ce-time { color: oklch(0.48 0.11 75); }
.cal-entry.st-done { background: var(--panel); box-shadow: inset 0 0 0 1px var(--line); color: var(--ink-3); }
.cal-entry.st-done .ce-time { color: var(--a); }
.cal-entry.st-done .ce-what { text-decoration: line-through; text-decoration-color: var(--line-strong); }
.cal-entry.st-canceled { opacity: 0.55; background: var(--panel); box-shadow: none; }
.cal-more summary { cursor: pointer; font-size: 0.6875rem; font-weight: 600; color: var(--accent); }
.cal-more-list { display: grid; gap: 0.25rem; margin-top: 0.25rem; }
@media (max-width: 760px) {
  .cal-week { display: none; }
  .cal-row { grid-template-columns: 1fr; }
  .cal-day { min-height: 0; border-left: 0; border-top: 1px solid var(--line); flex-direction: row; flex-wrap: wrap; align-items: flex-start; }
  .cal-day.empty, .cal-day.out { display: none; }
  .cal-date { width: 3.25rem; height: auto; border-radius: 6px; padding: 0.25rem; display: grid; }
  .cal-dow { display: block; font-size: 0.625rem; color: var(--ink-3); }
  .cal-entry { flex: 1 1 14rem; }
  .cal-sum { margin-left: 0; }
}
.tenant { display: inline-block; padding: 0 0.375rem; border-radius: 4px; background: var(--accent-soft); color: oklch(0.45 0.12 45); font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; vertical-align: 1px; }
.sync-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem 0.75rem; margin: -0.75rem 0 1rem; font-size: var(--t-xs); color: var(--ink-2); }
.sync-label { font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.625rem; padding: 0.0625rem 0.375rem; border-radius: 4px; background: var(--b-soft); color: var(--b); }
.salt-stage { font-size: 0.625rem; font-weight: 650; color: var(--b); background: var(--b-soft); padding: 0.0625rem 0.375rem; border-radius: 4px; }
.htmx-show { display: none; }
.htmx-request .htmx-show, .htmx-request.htmx-show { display: inline; }
.htmx-request .htmx-hide { display: none; }
