:root {
  --ink: #edf0ec;
  --muted: #979b96;
  --faint: #7b807a;
  --paper: #111315;
  --panel: #171a1d;
  --panel-2: #1c2023;
  --line: rgba(255, 255, 255, .095);
  --accent: #8f7a55;
  --accent-2: #66583e;
  --accent-soft: rgba(143, 122, 85, .07);
  --sage: #9caf9a;
  --blue: #819da7;
  --rose: #b9827c;
  --radius: 18px;
  --radius-sm: 11px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .34);
  --rail-bg: rgba(11, 13, 14, .88);
  --control: rgba(255,255,255,.035);
  --control-hover: rgba(255,255,255,.075);
  --glow-warm: rgba(217, 185, 119, .065);
  --glow-cool: rgba(73, 108, 115, .08);
  --event: #819da7;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", sans-serif;
  --heading-font: "Avenir Next Condensed", "Avenir Next", "Helvetica Neue", sans-serif;
  /* Comfortable is the pilot default reading reference, while the layout
     keeps its density and each workspace can override it locally. */
  --text-min: 8px;
  --text-micro: 8.5px;
  --text-label: 9px;
  --text-label-strong: 9.5px;
  --text-support-xs: 10px;
  --text-support: 10.5px;
  --text-small: 11px;
  --text-small-strong: 11.5px;
  --text-secondary: 12px;
  --text-control: 13px;
  --text-body-sm: 14px;
  --text-body: 15px;
  --text-title: 16px;
  --item-title-size: var(--text-secondary);
  --item-title-weight: 620;
  --item-title-line-height: 1.34;
}

* { box-sizing: border-box; }
html { min-height: 100%; overflow-x:hidden; background: var(--paper); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--ink);
  background:
    var(--theme-texture,linear-gradient(transparent,transparent)),
    radial-gradient(circle at 82% 5%, var(--glow-warm), transparent 31rem),
    radial-gradient(circle at 14% 105%, var(--glow-cool), transparent 33rem),
    var(--paper);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.42;
  -webkit-font-smoothing: antialiased;
}

/* Metallic appearances use material lighting, not merely metallic colours. */
html[data-material]:not([data-material=""]) body { background-attachment:fixed; }
html[data-material]:not([data-material=""]) :is(.rail,.card,.family-drawer,.focus-c-item-panel,.notebook-index-row) {
  background-image:
    linear-gradient(112deg,rgba(255,255,255,.15),transparent 21%,rgba(255,255,255,.045) 43%,rgba(0,0,0,.075) 65%,transparent 82%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,rgba(0,0,0,.025) 1px 2px,transparent 2px 5px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),inset 0 -1px 0 rgba(18,25,29,.14),var(--shadow);
}
html[data-material]:not([data-material=""]) :is(.icon-btn,.soft-btn,.tiny-btn,.field,.calendar-source-control > button,.horizon-context-switch button) {
  border-color:color-mix(in srgb,var(--ink) 18%,var(--line));
  background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.025) 46%,rgba(0,0,0,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.16),0 1px 2px rgba(0,0,0,.08);
}
html[data-material="brushed-aluminium"] .rail { background-color:rgba(150,157,161,.91); }
html[data-material="gunmetal"] .rail { background-color:rgba(19,25,29,.91); }
html[data-material="gold"] .rail { background-color:rgba(158,126,40,.91); }
html[data-material="copper"] .rail { background-color:rgba(82,38,25,.92); }
html[data-material="silver"] .rail { background-color:rgba(169,177,182,.91); }
html[data-material="bronze"] .rail { background-color:rgba(52,35,24,.92); }
html[data-material="titanium"] .rail { background-color:rgba(62,72,80,.92); }
html[data-material="black-chrome"] .rail { background-color:rgba(7,11,14,.94); }
html[data-material="brushed-aluminium"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(40,51,57,.25); }
html[data-material="gunmetal"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(224,235,238,.14); }
html[data-material="gold"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(80,52,5,.28); }
html[data-material="copper"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(255,213,173,.18); }
html[data-material="silver"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(35,57,70,.24); }
html[data-material="bronze"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(242,201,137,.18); }
html[data-material="titanium"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(220,239,247,.18); }
html[data-material="black-chrome"] :is(.card,.family-drawer,.focus-c-item-panel) { border-color:rgba(143,215,229,.17); }
html[data-material="gold"] :is(.rail,.card,.family-drawer,.focus-c-item-panel) { box-shadow:inset 0 1px 0 rgba(255,248,202,.34),inset 0 -1px 0 rgba(70,42,2,.22),var(--shadow); }
html[data-material="silver"] :is(.rail,.card,.family-drawer,.focus-c-item-panel) { box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(37,57,68,.20),var(--shadow); }
html[data-material="black-chrome"] :is(.rail,.card,.family-drawer,.focus-c-item-panel) { box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.50),0 10px 28px rgba(0,0,0,.28); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }

.app-shell { display: grid; grid-template-columns: 224px minmax(0, 1fr); min-height: 100vh; }
.rail {
  position: sticky; top: 0; height: 100vh; padding: 25px 17px 18px;
  display: flex; flex-direction: column; z-index: 20;
  border-right: 1px solid var(--line);
  background: var(--rail-bg); backdrop-filter: blur(22px);
}
.rail-collapse { position:absolute; top:30px; right:13px; z-index:2; width:27px; height:27px; display:grid; place-items:center; padding:5px; border:1px solid transparent; border-radius:7px; color:var(--faint); background:transparent; cursor:pointer; transition:.18s ease; }
.rail-collapse svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.rail-collapse .rail-collapse-detail { stroke-width:1.8; }
.rail-collapse:hover { color:var(--ink); border-color:transparent; background:transparent; }
.rail-collapse:focus-visible { outline:0; color:var(--ink); background:transparent; }
.app-shell.sidebar-collapsed { grid-template-columns:92px minmax(0,1fr); }
.sidebar-collapsed .rail { padding-inline:11px; }
.sidebar-collapsed .brand { justify-content:flex-start; padding-inline:0; }
.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-kicker,.sidebar-collapsed .nav-copy,.sidebar-collapsed .identity div { display:none; }
.sidebar-collapsed .nav-link { justify-content:center; padding:9px; }
.sidebar-collapsed .identity { justify-content:center; padding:10px 0; }
.sidebar-collapsed .rail-collapse { top:30px; right:10px; bottom:auto; color:var(--faint); }
.brand { display: flex; align-items: center; gap: 11px; padding: 2px 8px 25px; }
.brand-mark { width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid rgba(217,185,119,.35); border-radius: 7px; color: var(--accent); font-weight: 750; letter-spacing: -.06em; }
.brand-mark.control-mark { color:var(--muted); border-color:color-mix(in srgb,currentColor 34%,transparent); opacity:.5; transform:translateX(4px); }
.brand-mark.control-mark svg { width:15px; height:15px; overflow:visible; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.brand-mark.control-mark .control-c { stroke-width:20; stroke-linecap:butt; }
.brand-mark.control-mark .control-sights { stroke-width:5; }
.brand-name { font-weight: 650; letter-spacing: -.02em; }
.brand-small { display: block; margin-top: 1px; color: var(--faint); font-size:var(--text-control); letter-spacing: .15em; text-transform: uppercase; }
.nav-kicker { padding: 0 12px 7px; color: var(--faint); font-size:var(--text-control); letter-spacing: .17em; text-transform: uppercase; }
.nav { display: grid; gap: 4px; }
.nav-link {
  position: relative; display: flex; gap: 11px; align-items: center; min-height: 44px; padding: 9px 12px;
  color: var(--muted); border: 1px solid transparent; border-radius: 12px; cursor: pointer;
  transition: .18s ease;
}
.nav-link:hover { background: var(--control); color: var(--ink); }
.nav-link.active { color: var(--ink); background: var(--accent-soft); border-color: rgba(217,185,119,.18); }
.nav-link.active::before { content: ""; position: absolute; left: -1px; width: 2px; height: 18px; border-radius: 9px; background: var(--accent); }
.nav-icon { width: 20px; height: 20px; display: grid; place-items: center; font-size: 16px; opacity: .9; }
.nav-copy { line-height: 1.1; }
.nav-copy strong { display: block; font-size:var(--text-title); font-weight: 600; }
.nav-copy small { display: block; margin-top: 4px; color: var(--faint); font-size:var(--text-control); }
.rail-foot { margin-top: auto; display: grid; gap: 8px; }
.identity { display: flex; align-items: center; gap: 9px; padding: 10px; border-top: 1px solid var(--line); }
.avatar { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: #1a1812; background: var(--accent); font-size:var(--text-body-sm); font-weight: 750; }
.identity strong { display: block; font-size:var(--text-body); }
.identity small { color: var(--faint); font-size:var(--text-control); }

.main { width:100%; min-width: 0; overflow-x:hidden; padding: 0 30px 46px; }
.topbar { position:relative; height:29px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.topbar-route { position:static; min-width:0; display:flex; align-items:center; }
.crumb { color:var(--faint); font-size:var(--text-small); letter-spacing:.02em; }
.crumb strong { color: var(--ink); font-weight: 560; }
.topbar-destinations { position:relative; display:flex; align-items:center; gap:4px; margin-left:20px; }
.topbar-destinations::before { content:""; position:absolute; left:-12px; top:50%; width:5px; height:1px; background:var(--line); }
.topbar-destination { --destination:#d08f59; min-height:15px; margin:0; padding:1px 7px; border:1px solid color-mix(in srgb,var(--destination) 30%,var(--line)); border-radius:5px; color:color-mix(in srgb,var(--destination) 76%,var(--muted)); background:color-mix(in srgb,var(--destination) 5%,transparent); cursor:pointer; font-size:var(--text-label-strong); font-weight:600; letter-spacing:.025em; line-height:1; }
.topbar-destination.converter { --destination:#6f93a4; }
.topbar-destination.time-zones { --destination:#8d78aa; }
.topbar-destination.calculator { --destination:#5d9b87; }
.topbar-destination.timer { --destination:#bd7656; }
.topbar-destination.shopping { --destination:#748f88; }
.topbar-destination.cookbook { --destination:#789267; }
.topbar-destination.extras { --destination:#9a8057; min-width:46px; }
.topbar-destination.hide-extras { --destination:#85827a; margin-left:3px; }
.topbar-destination:hover,.topbar-destination.active { color:color-mix(in srgb,var(--destination) 78%,var(--ink)); border-color:color-mix(in srgb,var(--destination) 58%,var(--line)); background:color-mix(in srgb,var(--destination) 13%,transparent); }
.topbar-destinations.extras-open { position:absolute; z-index:60; top:2px; left:45%; width:min(440px,calc(100vw - 420px)); max-width:calc(100vw - 36px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin-left:0; padding:6px; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--panel) 92%,transparent); box-shadow:0 9px 22px rgba(28,24,17,.12); backdrop-filter:blur(16px); transform:translateX(-50%); }
.topbar-destinations.extras-open::before { display:none; }
.topbar-destinations.extras-open .topbar-destination { min-height:24px; padding:3px 6px; border-radius:5px; font-size:var(--text-label-strong); letter-spacing:.01em; line-height:1.08; text-align:left; white-space:normal; transition:transform .16s ease,background .16s ease,border-color .16s ease; }
.topbar-destinations.extras-open .topbar-destination:hover { transform:translateY(-1px); }
.topbar-destinations.extras-open .hide-extras { grid-column:auto; margin-left:0; text-align:center; }
.top-actions { display: flex; gap: 9px; align-items: center; }
.topbar [data-theme-toggle],.topbar [data-people-toggle],.topbar [data-archive-toggle],.topbar [data-history-toggle] { width:auto; min-width:53px; height:15px; display:flex; align-items:center; justify-content:center; gap:3px; padding:0 4px; border-radius:5px; color:var(--muted); font-size:var(--text-label-strong); font-weight:600; line-height:1; }
.topbar [data-theme-toggle] i,.topbar [data-people-toggle] i,.topbar [data-archive-toggle] i,.topbar [data-history-toggle] i { font-size:var(--text-small); font-style:normal; }
.contact-utility-mark { width:9px; height:9px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.status-pill { display: flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 20px; color: var(--muted); background: var(--control); font-size:var(--text-body-sm); }
.status-pill[hidden] { display:none; }
.review-status { border:1px solid transparent; cursor:pointer; }
.topbar .review-status { gap:3px; min-height:13px; padding:1px 4px; font-size:var(--text-micro); letter-spacing:.02em; }
.topbar .review-status .status-dot { width:3px; height:3px; box-shadow:0 0 0 1px rgba(124,165,122,.09); }
.review-status:hover { color:var(--ink); border-color:var(--line); background:rgba(255,255,255,.06); }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #7ca57a; box-shadow: 0 0 0 4px rgba(124,165,122,.09); }
.icon-btn, .soft-btn, .primary-btn, .tiny-btn {
  border: 1px solid var(--line); border-radius: 10px; cursor: pointer; transition: .18s ease;
}
.icon-btn { width: 37px; height: 37px; background: var(--control); }
.icon-btn[aria-label^="Close"],
.icon-btn[aria-label="Return to Today"] {
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
}
.icon-btn[aria-label^="Close"] { color: var(--muted); }
.icon-btn[aria-label^="Close"]:hover { color: var(--ink); }
.horizon-x-glyph {
  position: relative;
  width: 8px;
  height: 8px;
  display: block;
  flex: 0 0 8px;
  font-size: 0;
  line-height: 0;
  pointer-events: none;
}
.horizon-x-glyph::before,
.horizon-x-glyph::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
}
.horizon-x-glyph::before { transform: translate(-50%, -50%) rotate(45deg); }
.horizon-x-glyph::after { transform: translate(-50%, -50%) rotate(-45deg); }
.calendar-shift-btn {
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
}
.horizon-chevron-glyph {
  display: block;
  width: 10px;
  height: 12px;
  overflow: visible;
  pointer-events: none;
}
.horizon-chevron-glyph path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.icon-btn:hover, .soft-btn:hover, .tiny-btn:hover { background: var(--control-hover); border-color: var(--line); }
.soft-btn { padding: 9px 12px; background: var(--control); color: var(--muted); font-size:var(--text-body); }
.soft-btn.active { color: var(--ink); background: var(--accent-soft); border-color: rgba(217,185,119,.24); }
.primary-btn { padding: 10px 14px; color: #211d16; background: var(--accent); border-color: var(--accent); font-size:var(--text-body); font-weight: 680; }
.primary-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.primary-btn:disabled { cursor:not-allowed; filter:grayscale(.35); opacity:.42; transform:none; }
.tiny-btn { padding: 6px 9px; background: transparent; color: var(--muted); font-size:var(--text-control); }
.danger { color: #d3918a; }

/* Horizon Light · No Tabs: text-led navigation with action controls intact. */
html[data-control-style="no-tabs"] :is(
  .horizon-context-switch button,
  .horizon-depth-tabs > .soft-btn,
  .calendar-view-tablist .soft-btn,
  .horizon-mode-switch .tiny-btn,
  .work-spine-tabs > button,
  .focus-c-overview-nav .work-spine-tabs > button,
  .topbar-destination,
  .topbar :is([data-theme-toggle],[data-people-toggle],[data-archive-toggle],[data-history-toggle]),
  .calendar-interop > .soft-btn,
  .capture-card .inbox-reveal
) {
  border-color:transparent;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-control-style="no-tabs"] :is(
  .horizon-context-switch button,
  .horizon-depth-tabs > .soft-btn,
  .calendar-view-tablist .soft-btn,
  .horizon-mode-switch .tiny-btn,
  .work-spine-tabs > button,
  .focus-c-overview-nav .work-spine-tabs > button,
  .topbar-destination,
  .topbar :is([data-theme-toggle],[data-people-toggle],[data-archive-toggle],[data-history-toggle]),
  .calendar-interop > .soft-btn,
  .capture-card .inbox-reveal
):is(:hover,:focus-visible) {
  border-color:transparent;
  background:transparent;
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
html[data-control-style="no-tabs"] :is(
  .horizon-context-switch button,
  .horizon-depth-tabs > .soft-btn,
  .calendar-view-tablist .soft-btn,
  .horizon-mode-switch .tiny-btn,
  .work-spine-tabs > button,
  .focus-c-overview-nav .work-spine-tabs > button,
  .topbar-destination,
  .topbar :is([data-theme-toggle],[data-people-toggle],[data-archive-toggle],[data-history-toggle]),
  .calendar-interop > .soft-btn,
  .capture-card .inbox-reveal
).active {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
html[data-control-style="no-tabs"] .horizon-context-switch {
  border-right-color:transparent;
}
html[data-control-style="no-tabs"] .horizon-team-switch,
html[data-control-style="no-tabs"] .horizon-team-switch:has(input:checked) {
  border-color:transparent;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-control-style="no-tabs"] .new-project-control > summary,
html[data-control-style="no-tabs"] .focus-c-new-zone > summary {
  border-color:transparent;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-control-style="no-tabs"] .new-project-control > summary:hover,
html[data-control-style="no-tabs"] .focus-c-new-zone > summary:hover {
  border-color:transparent;
  background:transparent;
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
html[data-control-style="no-tabs"] .horizon-mode-switch {
  padding-inline:0;
  border-color:transparent;
  background:transparent;
}
html[data-control-style="no-tabs"] .topbar-destinations::before {
  display:none;
}
html[data-control-style="no-tabs"] .topbar-destinations {
  margin-left:12px;
}
html[data-control-style="no-tabs"] .rail-extras .topbar-destination {
  text-align:left;
}
html[data-control-style="no-tabs"] .calendar-guide-stack :is(.calendar-interop > button,.k-scheduling-trigger) {
  justify-content:center;
  text-align:center;
}

/* Semantic action colour: meaning appears at the moment of intent. */
:is(
  [data-task-status="complete"],
  [data-task-confirm="complete"],
  [data-approve],
  [data-mark-paid],
  [data-payment-confirm],
  [data-issue-confirm]
):is(:hover,:focus-visible) {
  outline:0;
  color:#f7faf5;
  border-color:#78957d;
  background:#78957d;
  filter:none;
  box-shadow:0 0 0 2px color-mix(in srgb,#78957d 18%,transparent),0 4px 11px color-mix(in srgb,#78957d 20%,transparent);
}
:is(
  [data-task-status="cancelled"],
  [data-task-confirm="cancelled"],
  [data-task-undo],
  [data-remove-delivery-file],
  [data-remove-line],
  [data-remove-attachment]
):is(:hover,:focus-visible) {
  outline:0;
  color:#fff5f2;
  border-color:#a76458;
  background:#a76458;
  filter:none;
  box-shadow:0 0 0 2px color-mix(in srgb,#a76458 16%,transparent),0 4px 10px color-mix(in srgb,#a76458 18%,transparent);
}

.page { width:100%; max-width: 1510px; min-width:0; margin: 0 auto; }
@keyframes rise { from { opacity: 0; transform: translateY(6px); } }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 34px 0 25px; }
.page-head-minimal { min-height:108px; align-items:center; }
.page-head-minimal h1 { margin:0; }
.page-title { display:flex; align-items:center; gap:12px; }
.page-title .module-symbol { width:26px; height:26px; color:var(--accent); opacity:.7; }
.eyebrow { margin: 0 0 8px; color: var(--accent); font-size:var(--text-control); letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, .brand-name, .nav-copy strong { font-family: var(--heading-font); }
h1 { margin-bottom: 7px; font-size: clamp(27px, 3vw, 42px); font-weight: 560; letter-spacing: -.045em; line-height: 1.03; }
.page-head p { margin: 0; color: var(--muted); max-width: 690px; font-size:var(--text-title); }
.head-controls { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: end; }
.horizon-local-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; min-height:42px; padding:2px 0 7px; border-bottom:1px solid var(--line); }
.horizon-local-brand { display:flex; align-items:center; gap:8px; color:var(--muted); transform:translateY(0); }
.horizon-local-brand .module-symbol { width:18px; height:18px; color:var(--accent); opacity:.7; }
.horizon-local-brand strong { color:var(--ink); font-size:16px; font-weight:560; letter-spacing:-.025em; }
.horizon-identity-stack { display:grid; gap:0; padding-top:5px; }
.horizon-default { display:grid; grid-template-columns:repeat(3,max-content); align-items:center; gap:0; margin-left:-7px; color:var(--faint); transform:translateY(1px); }
.horizon-default > span { grid-column:1/-1; margin:0 0 1px 4px; color:var(--sage); font-size:var(--text-label); letter-spacing:.1em; line-height:1; text-transform:uppercase; opacity:.78; }
.horizon-default button { min-height:16px; padding:1px 2px; border:0; border-radius:5px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-label-strong); }
.horizon-default button::before { content:""; width:3px; height:3px; display:inline-block; margin-right:4px; border-radius:50%; background:transparent; vertical-align:middle; }
.horizon-default button.active { color:var(--muted); }
.horizon-default button.active::before { background:var(--accent); box-shadow:0 0 5px rgba(217,185,119,.24); }
.horizon-depth-tabs { display:flex; align-items:center; align-self:center; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.horizon-depth-tabs { position:relative; top:2px; }
.horizon-context-switch { display:grid; gap:2px; padding-right:5px; margin-right:1px; border-right:1px solid var(--line); }
.horizon-context-switch button { min-width:58px; min-height:18px; padding:2px 8px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--faint); font-size:var(--text-small-strong); font-weight:600; line-height:1; text-align:left; }
.horizon-context-switch button:hover { color:var(--text); background:var(--surface-soft); }
.horizon-context-switch button[data-horizon-context="personal"] { --context-colour:#91aa90; color:#a9c1a8; border-color:color-mix(in srgb,var(--context-colour) 25%,var(--line)); }
.horizon-context-switch button[data-horizon-context="work"] { --context-colour:#7fa1b1; color:#9bb9c6; border-color:color-mix(in srgb,var(--context-colour) 25%,var(--line)); }
.horizon-context-switch button.active { color:color-mix(in srgb,var(--context-colour) 74%,white); border-color:color-mix(in srgb,var(--context-colour) 62%,var(--line)); background:color-mix(in srgb,var(--context-colour) 19%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--context-colour) 10%,transparent); }
.horizon-context-switch button.active::before { content:"•"; margin-right:3px; color:var(--context-colour); }
.horizon-team-switch { display:inline-flex; align-items:center; gap:6px; min-height:max(25px,var(--control-hit,25px)); padding:4px 7px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-small-strong); font-weight:600; white-space:nowrap; }
.horizon-team-switch:has(input:checked) { border-color:color-mix(in srgb,var(--sage) 38%,var(--line)); color:color-mix(in srgb,var(--sage) 38%,var(--ink)); background:color-mix(in srgb,var(--sage) 9%,var(--control)); }
.horizon-team-switch input { appearance:none; position:relative; width:28px; height:16px; flex:0 0 28px; margin:0; border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--faint) 14%,var(--control)); cursor:pointer; }
.horizon-team-switch input::after { content:""; position:absolute; top:2px; left:2px; width:10px; height:10px; border-radius:50%; background:var(--paper); box-shadow:0 1px 3px rgba(0,0,0,.18); transition:transform .16s ease; }
.horizon-team-switch input:checked { border-color:color-mix(in srgb,var(--sage) 64%,var(--line)); background:color-mix(in srgb,var(--sage) 72%,var(--control)); }
.horizon-team-switch input:checked::after { transform:translateX(12px); }
.horizon-team-switch input:focus-visible { outline:2px solid var(--sage); outline-offset:3px; }
.horizon-team-switch:has(input:disabled) { cursor:default; }
.horizon-team-switch input:disabled { opacity:.55; cursor:default; }
.horizon-team-menu-wrap { position:relative; flex:0 0 auto; }
.horizon-team-menu-wrap .horizon-team-switch { gap:2px; padding:3px 6px; min-height:25px; }
.horizon-team-menu-wrap .horizon-team-switch input { width:24px; height:14px; flex-basis:24px; }
.horizon-team-menu-wrap .horizon-team-switch input::after { top:2px; left:2px; width:8px; height:8px; }
.horizon-team-menu-wrap .horizon-team-switch input:checked::after { transform:translateX(10px); }
.horizon-team-switch button { border:0; padding:0 2px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.horizon-team-menu { position:absolute; z-index:85; top:calc(100% + 6px); right:0; width:min(285px,calc(100vw - 24px)); max-height:min(420px,calc(100vh - 85px)); overflow:auto; padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--text); box-shadow:var(--shadow); font-size:11.5px; line-height:1.3; }
.horizon-team-menu header { display:flex; justify-content:space-between; align-items:center; padding:2px 4px 6px; border-bottom:1px solid var(--line); }
.horizon-team-menu header strong { font-size:11px; letter-spacing:.045em; text-transform:uppercase; }
.horizon-team-menu header button { display:grid; place-items:center; width:20px; height:20px; padding:0; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.horizon-team-close-mark { position:relative; width:9px; height:9px; }
.horizon-team-close-mark::before,.horizon-team-close-mark::after { content:""; position:absolute; top:50%; left:50%; width:9px; height:1.5px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
.horizon-team-close-mark::after { transform:translate(-50%,-50%) rotate(-45deg); }
.horizon-team-row { display:flex; align-items:center; gap:7px; min-height:34px; padding:4px; border-bottom:1px solid var(--line); }
.horizon-team-row:last-child { border-bottom:0; }
.horizon-team-name { display:block; min-width:0; flex:1; }
.horizon-team-name strong,.horizon-team-name small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.horizon-team-name strong { font-size:11.5px; font-weight:600; }
.horizon-team-name small { color:var(--muted); font-size:10px; }
.horizon-team-row input[type=checkbox] { width:14px; height:14px; margin:0; accent-color:var(--sage); cursor:pointer; }
.horizon-team-row input[type=checkbox]:disabled { cursor:default; }
.horizon-team-colour,.horizon-team-colour-input { width:20px; height:20px; flex:0 0 20px; border:1px solid var(--line); border-radius:50%; background:var(--team-colour,var(--sage)); }
.horizon-team-colour-input { padding:0; cursor:pointer; }
.horizon-team-colour-input::-webkit-color-swatch-wrapper { padding:1px; }
.horizon-team-colour-input::-webkit-color-swatch { border:0; border-radius:50%; }
.horizon-team-add { width:100%; margin-top:5px; padding:6px; border:1px solid var(--line); border-radius:6px; background:var(--control); color:var(--text); text-align:left; font:inherit; cursor:pointer; }
.horizon-team-rows p { margin:6px 4px; color:var(--muted); }
@media(max-width:600px) { .horizon-team-menu { position:fixed; top:72px; left:12px; right:12px; width:auto; } }
.horizon-depth-tabs .soft-btn { min-height:25px; padding:4px 7px; border-radius:7px; font-size:var(--text-small-strong); }
.horizon-depth-tabs .horizon-realm { gap:3px; }
.horizon-depth-tabs .horizon-realm i { min-width:auto; height:auto; display:inline; padding:0; border-radius:0; background:transparent; font-size:var(--text-support-xs); }
.horizon-depth-tabs .notebook-tab { color:#a88fbd; }
.horizon-depth-tabs .todo-tab { color:#d1ad70; }
.horizon-depth-tabs .intentions { color:#91aa90; }
.horizon-depth-tabs .projects { color:#c77f78; }
.horizon-depth-tabs .families { color:#b58a5f; }
.horizon-depth-tabs .collaboration { color:#7fa1b1; }
.horizon-quick-capture { flex:1 1 260px; max-width:390px; align-self:center; transform:translateY(2px); }
.horizon-quick-capture form { display:grid; grid-template-columns:minmax(120px,1fr) auto; align-items:center; gap:5px; }
.horizon-quick-capture .field { height:25px; padding:0 8px; border-radius:7px; }
.horizon-quick-capture .primary-btn { min-width:43px; min-height:25px; padding:4px 7px; border-color:rgba(143,122,85,.34); border-radius:7px; color:#b9a77f; background:rgba(143,122,85,.13); font-size:var(--text-small-strong); font-weight:590; }
.horizon-quick-capture .primary-btn:hover { border-color:rgba(143,122,85,.48); background:rgba(143,122,85,.2); filter:none; transform:none; }
html[data-appearance="light"] .horizon-quick-capture .primary-btn { color:#765f34; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.horizon-workbench { display:grid; grid-template-columns:184px minmax(0,1fr); gap:10px; padding-top:5px; }
.horizon-workbench.inbox-expanded { grid-template-columns:292px minmax(0,1fr); }
.horizon-time-rail { min-width:0; max-height:calc(100vh - 142px); display:grid; grid-template-rows:auto auto auto minmax(0,1fr); gap:5px; overflow:visible; padding:5px 24px 0 0; border-right:1px solid var(--line); }
.calendar-rail-heading { width:calc(100% - 10px); display:grid; gap:2px; margin:0 10px 4px 0; padding:0 0 9px 5px; border-bottom:1px solid var(--line); }
.calendar-rail-heading strong { color:var(--ink); font-family:var(--heading-font); font-size:var(--text-body-sm); font-weight:650; letter-spacing:-.025em; line-height:1.2; }
.calendar-rail-heading small { color:var(--muted); font-size:var(--text-label-strong); letter-spacing:.02em; line-height:1.25; }
.horizon-time-rail .label { margin:0 0 5px 5px; }
.calendar-view-tablist { width:calc(100% - 10px); display:grid; gap:5px; margin-right:10px; }
.calendar-view-tablist > [data-planner-view="today"] { width:100%; min-height:26px; justify-content:flex-start; padding:5px 8px; border-radius:7px; font-size:var(--text-small); }
.calendar-lens-row { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; }
.calendar-lens-row .soft-btn { min-width:0; min-height:24px; justify-content:center; padding:4px 1px; border-radius:7px; font-size:var(--text-support-xs); }
.horizon-time-rail .capture-card { width:calc(100% - 10px); min-height:0; display:flex; flex-direction:column; align-self:stretch; margin:9px 10px 0 0; }
html[data-appearance="light"] .horizon-time-rail .capture-card { box-shadow:none; }
.horizon-time-rail .capture-card .card-head { padding:12px; }
.horizon-time-rail .capture-card .card-head > div { display:flex; align-items:center; gap:6px; }
.horizon-time-rail .capture-card .card-head .inbox-reveal { min-height:22px; padding:3px 6px; border-radius:6px; color:var(--muted); font-size:var(--text-support-xs); }
.horizon-time-rail .capture-card .capture-body { min-height:0; display:flex; flex:1; padding:5px 12px 12px; }
.horizon-time-rail .capture-card .capture-body { flex-direction:column; }
.inbox-column-heads { display:none; }
.horizon-time-rail .inbox-column-heads { display:grid; grid-template-columns:minmax(0,1fr) 46px 32px; gap:3px; align-items:end; padding:0 1px 5px 11px; border-bottom:1px solid color-mix(in srgb,var(--line) 66%,transparent); color:var(--faint); font-size:var(--text-min); font-weight:640; letter-spacing:.04em; line-height:1.1; text-transform:uppercase; }
.horizon-time-rail .inbox-column-heads span { min-width:0; white-space:nowrap; }
.horizon-time-rail .inbox-column-heads span:nth-child(2),.horizon-time-rail .inbox-column-heads span:nth-child(3) { text-align:center; }
.horizon-time-rail .capture-card .capture-form > .label { margin-bottom:3px; color:var(--sage); font-size:var(--text-small); letter-spacing:.07em; line-height:1.35; opacity:.88; }
.horizon-time-rail .capture-card .natural-capture .textarea { min-height:72px; }
.horizon-time-rail .capture-card .natural-capture .textarea::placeholder { color:var(--accent); font-size:var(--text-control); opacity:.48; }
.horizon-time-rail .capture-card .natural-capture .primary-btn { min-width:64px; justify-self:center; padding:6px 12px; border-color:rgba(143,122,85,.34); border-radius:8px; color:#b9a77f; background:rgba(143,122,85,.13); font-size:var(--text-secondary); font-weight:590; }
.horizon-time-rail .capture-card .natural-capture .primary-btn:hover { border-color:rgba(143,122,85,.48); background:rgba(143,122,85,.2); filter:none; transform:none; }
.horizon-time-rail .capture-card .capture-interpretation { display:none; }
.horizon-time-rail .capture-card .inbox-list > .label { color:#879fa9; opacity:.9; }
.horizon-time-rail .capture-card .inbox-list { max-height:100%; min-height:0; flex:1; overflow-x:hidden; overflow-y:auto; margin-top:0; padding:0 4px 0 0; border-top:0; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(127,125,116,.28) transparent; }
.horizon-time-rail .capture-card .inbox-list::-webkit-scrollbar { width:4px; }
.horizon-time-rail .capture-card .inbox-list::-webkit-scrollbar-track { background:transparent; }
.horizon-time-rail .capture-card .inbox-list::-webkit-scrollbar-thumb { border-radius:8px; background:rgba(127,125,116,.24); }
.horizon-time-rail .capture-card .inbox-list::-webkit-scrollbar-thumb:hover { background:rgba(127,125,116,.42); }
.horizon-time-rail .capture-card { max-height:none; overflow:hidden; }
.horizon-time-rail .capture-card.is-empty { min-height:0; align-self:start; margin-top:5px; }
.horizon-time-rail .capture-card.is-empty .capture-body { flex:none; padding:0 12px 11px; }
.horizon-time-rail .capture-card.is-empty .inbox-column-heads { display:none; }
.horizon-time-rail .capture-card.is-empty .inbox-list { flex:none; overflow:visible; padding:0; }
.horizon-time-rail .capture-card.is-empty .horizon-empty { padding:5px 0 0; font-size:var(--text-small); line-height:1.35; text-align:left; }
.horizon-time-rail .inbox-item { align-items:center; gap:5px; padding:6px 1px; }
.horizon-time-rail .inbox-grip,.horizon-time-rail .inbox-priority,.horizon-time-rail .inbox-done { display:none; }
.horizon-time-rail .inbox-priority-quick { display:flex; }
.horizon-time-rail .inbox-actions { gap:1px; margin-left:2px; }
.horizon-time-rail .task-dot { width:6px; height:6px; margin-top:0; }
.horizon-time-rail .inbox-copy { min-width:0; }
.horizon-time-rail .inbox-copy strong { display:-webkit-box; overflow:hidden; font-size:var(--text-small); line-height:1.25; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.horizon-time-rail .inbox-copy small { display:block; overflow:hidden; margin-top:1px; font-size:var(--text-support-xs); line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.horizon-time-rail .inbox-plan-trigger { min-width:24px; padding:2px 1px; border-color:transparent; font-size:var(--text-label-strong); }
.horizon-time-rail .capacity-status { width:100%; justify-content:flex-start; margin-top:12px; padding:8px 9px; white-space:normal; line-height:1.35; }
.horizon-workspace { min-width:0; }
.notebook-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:14px; }
.notebook-index button { min-width:0; padding:15px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:rgba(255,255,255,.018); cursor:pointer; text-align:left; }
.notebook-index button:hover { background:rgba(255,255,255,.05); }
.notebook-index strong,.notebook-index span { display:block; }
.notebook-index strong { overflow:hidden; margin-bottom:5px; font-size:var(--text-body-sm); text-overflow:ellipsis; white-space:nowrap; }
.notebook-index span { color:var(--faint); font-size:var(--text-small); }
.notebook-capture { display:grid; gap:5px; padding:12px 14px; border-bottom:1px solid var(--line); }
.notebook-capture form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.notebook-capture small { color:var(--faint); font-size:var(--text-support-xs); }
.intentions-toggle { display:inline-flex; align-items:center; gap:7px; }
.intentions-toggle i { min-width:17px; height:17px; display:grid; place-items:center; border-radius:9px; color:var(--faint); background:rgba(255,255,255,.055); font-size:var(--text-small); font-style:normal; }
.intentions-toggle.active i { color:var(--ink); background:rgba(217,185,119,.15); }

.card { background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,.011)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 1px 0 rgba(255,255,255,.025) inset; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 17px; border-bottom: 1px solid var(--line); }
.card-head h2, .card-head h3 { margin: 0; font-size:var(--text-title); font-weight: 620; }
.card-head small { color: var(--faint); font-size:var(--text-control); }
.label { display: block; margin: 0 0 7px; color: var(--faint); font-size:var(--text-control); letter-spacing: .08em; text-transform: uppercase; }
.field, .select, .textarea {
  width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); background: rgba(0,0,0,.18); outline: none; font-size:var(--text-control); line-height:1.45; transition: .18s ease;
}
.field, .select { height: 40px; padding: 0 11px; }
.textarea { min-height: 78px; padding: 10px 11px; resize: vertical; }
.textarea::placeholder { color:var(--faint); opacity:.58; font-style:italic; }
.field:focus, .select:focus, .textarea:focus { border-color: rgba(217,185,119,.52); box-shadow: 0 0 0 3px rgba(217,185,119,.07); }
.select { appearance: none; background-image: linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%); background-position: calc(100% - 15px) 17px,calc(100% - 10px) 17px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.chip { display: inline-flex; align-items:center; padding: 5px 8px; border: 1px solid var(--line); border-radius: 20px; color: var(--faint); font-size:var(--text-secondary); }
.module-symbol { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }

.planner-layout { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; }
.planner-layout > * { min-width:0; max-width:100%; }
.calendar-initial-hydration { min-height:clamp(420px,68vh,760px); display:grid; place-content:center; justify-items:center; gap:10px; border:1px solid var(--line); border-radius:var(--radius); color:var(--faint); background:var(--panel); }
.calendar-initial-hydration i { width:20px; height:20px; border:2px solid color-mix(in srgb,var(--accent) 24%,transparent); border-top-color:var(--accent); border-radius:50%; animation:calendar-hydration-spin .8s linear infinite; }
.calendar-initial-hydration span { font-size:var(--text-secondary); letter-spacing:.02em; }
@keyframes calendar-hydration-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .calendar-initial-hydration i { animation:none; } }
.capture-body { padding: 14px; }
.capture-form { display: grid; gap: 11px; }
.natural-capture { display:grid; gap:9px; }
.natural-capture .textarea { min-height:92px; line-height:1.42; }
.capture-interpretation { display:flex; gap:7px; align-items:flex-start; min-height:28px; color:var(--faint); font-size:var(--text-secondary); line-height:1.35; }
.capture-interpretation i { flex:0 0 auto; width:6px; height:6px; margin-top:3px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.inbox-list { margin-top: 17px; padding-top: 13px; border-top: 1px solid var(--line); }
.inbox-entry { border-bottom:1px solid rgba(255,255,255,.055); }
.inbox-item { display: flex; gap: 8px; align-items: flex-start; padding: 9px 2px; }
.inbox-entry[draggable="true"] { cursor:grab; }
.inbox-entry.dragging { opacity:.38; }
.inbox-entry.drop-before { box-shadow:inset 0 2px 0 var(--accent); }
.todo-group-lenses { display:flex; align-items:center; gap:3px; margin-top:7px; }
.todo-group-lenses > span { margin-right:3px; color:var(--faint); font-size:var(--text-label-strong); letter-spacing:.08em; text-transform:uppercase; }
.todo-group-lenses button { padding:3px 7px; border:1px solid transparent; border-radius:6px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-support-xs); }
.todo-group-lenses button:hover { color:var(--ink); background:var(--control); }
.todo-group-lenses button.active { color:var(--ink); border-color:var(--line); background:var(--control-hover); }
.todo-group { border-bottom:1px solid var(--line); }
.todo-group:last-child { border-bottom:0; }
.todo-group-head { width:100%; display:flex; align-items:center; gap:7px; padding:9px 10px 6px; border:0; color:var(--muted); background:transparent; cursor:pointer; text-align:left; }
.todo-group-head[draggable="true"] { cursor:grab; }
.todo-group.group-dragging { opacity:.4; }
.todo-group.group-drop-before { box-shadow:inset 0 2px 0 var(--accent); }
.todo-group.group-drop-after { box-shadow:inset 0 -2px 0 var(--accent); }
.todo-group-head i { color:var(--faint); font-size:var(--text-support-xs); font-style:normal; transition:transform .16s ease; }
.todo-group.collapsed .todo-group-head i { transform:rotate(-90deg); }
.todo-group-head strong { color:var(--ink); font-size:var(--text-small); font-weight:670; letter-spacing:.09em; text-transform:uppercase; }
.todo-group-head span { color:var(--faint); font-size:var(--text-support-xs); }
.todo-group-head::after { content:""; height:1px; flex:1; margin-left:3px; background:var(--line); }
.todo-group-items { padding:0 8px 5px; }
.todo-group.collapsed .todo-group-items { display:none; }
.todo-group .inbox-entry:last-child { border-bottom:0; }
.todo-layer-list.grouped { grid-template-columns:repeat(auto-fit,minmax(min(390px,100%),1fr)); gap:9px; align-items:start; }
.todo-group-column { min-width:0; display:grid; align-content:start; gap:9px; }
.todo-layer-list.grouped .todo-group { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--panel) 42%,transparent); }
.inbox-grip { width:12px; flex:0 0 12px; padding:0; border:0; color:var(--faint); background:transparent; cursor:grab; font-size:var(--text-body-sm); line-height:1.2; }
.inbox-actions { display:flex; flex:0 0 auto; align-items:center; gap:4px; margin-left:auto; }
.inbox-edit { width:23px; height:23px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; font-size:var(--text-small); }
.inbox-edit:hover,.inbox-edit:focus-visible { color:var(--ink); background:var(--control); }
.inbox-edit:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.inbox-title-dialog { width:min(460px,calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow:auto; padding:22px; border:1px solid var(--line); border-radius:14px; color:var(--ink); background:var(--panel); box-shadow:0 12px 60px rgba(0,0,0,.35); }
.inbox-title-dialog::backdrop { background:rgba(0,0,0,.45); }
.inbox-title-dialog h2 { margin:0 0 18px; font-size:var(--text-title); }
.inbox-title-dialog label { display:block; margin-bottom:6px; }
.inbox-title-dialog p { color:var(--muted); font-size:var(--text-secondary); }
.inbox-title-dialog [role="alert"] { color:var(--ink); }
.inbox-title-dialog footer { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.inbox-priority { width:58px; min-height:23px; padding:2px 15px 2px 5px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); font-size:var(--text-support-xs); }
.inbox-priority-quick { min-width:26px; height:18px; display:none; align-items:center; justify-content:center; padding:0 4px; border:1px solid transparent; border-radius:6px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-label-strong); font-weight:650; line-height:1; transition:opacity .16s ease,border-color .16s ease,background .16s ease; }
.inbox-priority-quick:hover { border-color:var(--line); color:var(--ink); background:var(--control); }
.inbox-priority-quick.normal { opacity:0; }
.inbox-entry:hover .inbox-priority-quick.normal,.inbox-priority-quick.normal:focus-visible { opacity:.78; }
.inbox-priority-quick.important { color:#9a6828; border-color:color-mix(in srgb,#b57d3f 34%,transparent); background:color-mix(in srgb,#b57d3f 10%,transparent); }
.inbox-priority-quick.low { color:var(--muted); border-color:color-mix(in srgb,var(--muted) 22%,transparent); background:color-mix(in srgb,var(--muted) 5%,transparent); opacity:.78; }
@media (hover:none) { .inbox-priority-quick.normal { opacity:.58; } }
.inbox-done { width:23px; height:23px; display:grid; place-items:center; padding:0; border:1px solid color-mix(in srgb,#78957d 42%,var(--line)); border-radius:7px; color:#78957d; background:color-mix(in srgb,#78957d 8%,transparent); cursor:pointer; font-size:var(--text-control); transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .18s ease,transform .16s ease; }
.inbox-done:hover,.inbox-done:focus-visible { outline:0; color:#f7faf5; border-color:#78957d; background:#78957d; box-shadow:0 0 0 2px color-mix(in srgb,#78957d 20%,transparent),0 4px 11px color-mix(in srgb,#78957d 24%,transparent); transform:translateY(-1px) scale(1.06); }
.inbox-entry.priority-important .task-dot { box-shadow:0 0 0 3px color-mix(in srgb,#b57d3f 16%,transparent); background:#b57d3f!important; }
.inbox-entry.priority-low { opacity:.72; }
.inbox-item.recently-moved { margin:3px -5px; padding:10px 7px; border:1px solid rgba(217,185,119,.26); border-radius:9px; background:var(--accent-soft); animation:inbox-arrival 1.1s ease both; }
@keyframes inbox-arrival { 0% { box-shadow:0 0 0 0 rgba(217,185,119,.28); } 55% { box-shadow:0 0 0 6px rgba(217,185,119,0); } }
.task-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--blue); }
.inbox-copy { min-width:0; flex:1 1 auto; }
.inbox-item strong { display:block; font-size:var(--text-body); font-weight:620; }
.inbox-item small { color:var(--faint); font-size:var(--text-secondary); }
.inbox-plan-trigger { flex:0 0 auto; margin-left:auto; padding:3px 6px; border:1px solid rgba(255,255,255,.075); border-radius:7px; color:var(--muted); background:rgba(255,255,255,.018); cursor:pointer; font-size:var(--text-small); }
.inbox-plan-trigger:hover,.inbox-plan-trigger.active { color:var(--ink); border-color:rgba(217,185,119,.2); background:var(--accent-soft); }
.inbox-plan-panel { margin:0 0 8px; padding:9px; border:1px solid rgba(217,185,119,.15); border-radius:9px; background:rgba(217,185,119,.045); animation:rise .2s ease both; }
.inbox-plan-read span { color:var(--accent); font-size:var(--text-support-xs); font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.inbox-plan-read p { margin:3px 0 8px; color:var(--muted); font-size:var(--text-small); line-height:1.42; }
.inbox-plan-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.inbox-plan-options .tiny-btn { min-width:0; padding:5px 4px; font-size:var(--text-support-xs); white-space:nowrap; }
.inbox-plan-options .recommended { color:var(--ink); border-color:rgba(217,185,119,.26); background:var(--accent-soft); }
.inbox-plan-options .quiet { border-color:transparent; color:var(--faint); }
.inbox-plan-options.contextual .quiet { grid-column:1/-1; }
.inbox-remove-row { display:flex; justify-content:flex-end; margin-top:8px; padding-top:7px; border-top:1px solid rgba(255,255,255,.055); }
.inbox-remove-trigger { padding:2px 0; border:0; color:var(--faint); background:transparent; cursor:pointer; font:inherit; font-size:var(--text-support-xs); }
.inbox-remove-trigger:hover,.inbox-remove-trigger:focus-visible { color:#d49a91; outline:0; }
.inbox-remove-confirm { display:flex; gap:10px; align-items:center; justify-content:space-between; margin-top:8px; padding:8px; border:1px solid rgba(185,112,103,.22); border-radius:8px; background:rgba(185,112,103,.055); }
.inbox-remove-confirm p { margin:0; }
.inbox-remove-confirm strong,.inbox-remove-confirm span { display:block; }
.inbox-remove-confirm strong { color:var(--ink); font-size:var(--text-small); font-weight:580; }
.inbox-remove-confirm span { margin-top:2px; color:var(--muted); font-size:var(--text-support-xs); line-height:1.35; }
.inbox-remove-confirm > div { display:flex; flex:0 0 auto; gap:4px; }
.inbox-remove-confirm .danger { color:#dca39a; border-color:rgba(185,112,103,.28); }
.custom-plan { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:8px; padding-top:8px; border-top:1px solid var(--line); }
.custom-plan label { min-width:0; }
.custom-plan label span { display:block; margin-bottom:3px; color:var(--faint); font-size:var(--text-support-xs); }
.custom-plan .field { height:31px; padding:0 5px; border-radius:7px; font-size:var(--text-small); }
.custom-plan .primary-btn { grid-column:1/-1; padding:7px; font-size:var(--text-small); }
.week-wrap { overflow: hidden; }
.week-nav { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 10px 7px 14px; border-bottom:1px solid var(--line); }
.week-nav > span { color:var(--muted); font-size:var(--text-secondary); letter-spacing:.03em; }
.week-nav > div { display:flex; align-items:center; gap:5px; }
.week-nav-actions { min-width:0; }
.week-nav .surface-undo { max-width:360px; margin-right:5px; }
.week-nav .surface-undo .todo-undo-check { width:17px; height:17px; flex-basis:17px; font-size:var(--text-control); }
.week-nav .icon-btn { width:27px; height:27px; font-size:18px; line-height:1; }
.week-nav .calendar-shift-btn,
.month-head-actions .calendar-shift-btn {
  color:color-mix(in srgb,var(--muted) 78%,var(--faint));
  border-color:color-mix(in srgb,var(--line) 78%,transparent);
  background:color-mix(in srgb,var(--control) 76%,transparent);
}
.week-nav .tiny-btn { padding:5px 8px; color:var(--faint); font-size:var(--text-small); }
.week-nav .tiny-btn.active {
  color:color-mix(in srgb,var(--ink) 82%,var(--muted));
  border-color:color-mix(in srgb,rgba(217,185,119,.22) 76%,transparent);
  background:color-mix(in srgb,var(--accent-soft) 72%,transparent);
}
.week-top { display:grid; grid-template-columns:50px repeat(7,minmax(0,1fr)); overflow-y:auto; scrollbar-gutter:stable; border-bottom:1px solid var(--line); }
.week-time-corner { display:flex; align-items:flex-end; justify-content:flex-end; padding:0 8px 10px 0; border-right:1px solid var(--line); color:var(--faint); font-size:var(--text-label-strong); text-transform:uppercase; letter-spacing:.08em; }
.day-head { min-height:69px; padding:13px 11px 10px; border-right:1px solid var(--line); }
.day-head:last-child { border-right:0; }
.day-head.today { background:rgba(143,122,85,.085); }
.day-head.today .day-number { color:#e0d3b6; }
.day-name { color:var(--faint); font-size:var(--text-secondary); text-transform:uppercase; letter-spacing:.12em; }
.day-name-short { display:none; }
.day-number { margin-top:5px; font-size:19px; font-weight:520; }
.week-all-day,.today-all-day { display:grid; grid-template-columns:50px minmax(0,1fr); min-height:35px; border-bottom:1px solid var(--line); }
.week-all-day { overflow-y:auto; scrollbar-gutter:stable; }
.calendar-all-day-toggle { display:flex; align-items:center; justify-content:center; gap:5px; min-width:0; padding:5px 6px; border:0; border-right:1px solid var(--line); background:transparent; color:var(--faint); font:inherit; font-size:var(--text-label-strong); cursor:pointer; }
.calendar-all-day-toggle small { font-size:inherit; color:var(--muted); }
.calendar-all-day-toggle svg { width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform 120ms ease; }
.calendar-all-day-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.week-all-day.is-collapsed,.today-all-day.is-collapsed { display:block; min-height:31px; }
.week-all-day.is-collapsed .calendar-all-day-toggle,.today-all-day.is-collapsed .calendar-all-day-toggle { width:100%; border-right:0; }
.week-all-day > span,.today-all-day > span { display:flex; align-items:center; justify-content:flex-end; padding:5px 8px 5px 3px; border-right:1px solid var(--line); color:var(--faint); font-size:var(--text-label-strong); }
.week-all-day > div { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.week-all-day section { min-width:0; padding:4px; border-right:1px solid var(--line); }
.week-all-day section:last-child { border-right:0; }
.week-all-day .event,.today-all-day .event { margin:0; }
.week-timed-body,.today-timed-body { display:grid; grid-template-columns:50px minmax(0,1fr); max-height:620px; overflow:auto; }
.week-timed-body { scrollbar-gutter:stable; }
#calendar-view-panel { -webkit-user-select:none; user-select:none; }
.calendar-time-rail { position:relative; height:728px; border-right:1px solid var(--line); background:color-mix(in srgb,var(--paper) 86%,var(--panel-2)); }
.calendar-time-rail span { position:absolute; right:8px; transform:translateY(-50%); color:var(--faint); font-size:var(--text-label-strong); font-variant-numeric:tabular-nums; white-space:nowrap; }
.calendar-time-rail span:nth-child(1) { top:0; }
.calendar-time-rail span:nth-child(2) { top:52px; }
.calendar-time-rail span:nth-child(3) { top:104px; }
.calendar-time-rail span:nth-child(4) { top:156px; }
.calendar-time-rail span:nth-child(5) { top:208px; }
.calendar-time-rail span:nth-child(6) { top:260px; }
.calendar-time-rail span:nth-child(7) { top:312px; }
.calendar-time-rail span:nth-child(8) { top:364px; }
.calendar-time-rail span:nth-child(9) { top:416px; }
.calendar-time-rail span:nth-child(10) { top:468px; }
.calendar-time-rail span:nth-child(11) { top:520px; }
.calendar-time-rail span:nth-child(12) { top:572px; }
.calendar-time-rail span:nth-child(13) { top:624px; }
.calendar-time-rail span:nth-child(14) { top:676px; }
.calendar-time-rail span:nth-child(15) { top:728px; }
.calendar-time-rail span:first-child { transform:none; }
.week-grid { min-width:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); height:728px; }
.day-column { position:relative; min-width:0; height:728px; padding:0 4px; border-right:1px solid var(--line); background-image:repeating-linear-gradient(to bottom,transparent,transparent 51px,color-mix(in srgb,var(--line) 74%,transparent) 51px,color-mix(in srgb,var(--line) 74%,transparent) 52px); }
.day-column[data-calendar-empty-date],.today-agenda[data-calendar-empty-date] { cursor:cell; }
.day-column:last-child { border-right:0; }
.day-column.drop-ready { background-color:rgba(217,185,119,.07); }
.event { margin-bottom:3px; padding:3px 5px 3px; border-radius:5px; border-left:2px solid var(--event); background:color-mix(in srgb, var(--event) 13%, rgba(255,255,255,.018)); cursor:pointer; box-shadow:0 1px 6px rgba(0,0,0,.08); transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.event[data-calendar-draggable="true"] { cursor:grab; user-select:none; -webkit-user-select:none; touch-action:none; }
.event.dragging { cursor:grabbing; opacity:.72; }
.event.calendar-timed-event { position:absolute; z-index:2; top:var(--event-top); right:4px; left:4px; height:var(--event-height); min-height:26px; display:flex; align-items:center; gap:4px; margin:0; padding-block:2px; overflow:hidden; }
.event.calendar-timed-event .event-time { min-width:0; flex:0 1 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.1; }
.event.calendar-timed-event .event-title { min-width:0; flex:1 1 auto; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.1; }
.event.calendar-timed-event .event-meta { display:none; }
.week-grid .calendar-timed-event .event-time { display:none; }
.event.availability-block { border:1px solid color-mix(in srgb,var(--ink) 20%,var(--line)); border-left:2px solid color-mix(in srgb,var(--ink) 30%,var(--line)); color:var(--muted); background:color-mix(in srgb,var(--paper) 88%,transparent); box-shadow:none; }
.event.availability-block:hover,.event.availability-block:focus-visible { background:color-mix(in srgb,var(--ink) 4%,var(--paper)); }
.event:hover,.event:focus-visible { border-color:var(--event); outline:0; background:color-mix(in srgb,var(--event) 18%,rgba(255,255,255,.026)); box-shadow:0 0 0 2px color-mix(in srgb,var(--event) 13%,transparent),0 5px 18px rgba(0,0,0,.16); }
.event.recently-scheduled { border-color:var(--accent); box-shadow:0 0 0 3px rgba(217,185,119,.09),0 3px 12px rgba(0,0,0,.12); animation:inbox-arrival 1.1s ease both; }
.event:active { cursor:grabbing; }
.event-time { color:var(--muted); font-size:var(--text-small); }
.event-title { margin:3px 0 1px; font-size:var(--text-control); font-weight:620; line-height:1.25; }
.event-meta { display:flex; align-items:center; gap:4px; flex-wrap:wrap; color:var(--faint); font-size:var(--text-small); }
.task-authority-badges { display:inline-flex !important; align-items:center; gap:3px; flex-wrap:wrap; }
.task-authority-badge { display:inline-flex !important; width:max-content; align-items:center; min-height:14px; padding:1px 4px; border:1px solid color-mix(in srgb,var(--event) 32%,var(--line)); border-radius:999px; color:color-mix(in srgb,var(--event) 68%,var(--ink)) !important; background:color-mix(in srgb,var(--event) 8%,transparent); font-size:var(--text-micro) !important; font-weight:700; letter-spacing:.035em; line-height:1; text-transform:uppercase; }
.task-authority-badge.fixed { color:var(--muted) !important; border-color:var(--line); background:var(--control); }
.task-authority-badge.conflict { color:#a85d53 !important; border-color:color-mix(in srgb,#b85d51 45%,var(--line)); background:color-mix(in srgb,#b85d51 9%,transparent); }
.today-wrap,.month-wrap { min-width:0; overflow:hidden; }
.today-head,.month-head { min-height:69px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 16px; border-bottom:1px solid var(--line); }
.today-head-actions,.month-head-actions { min-width:0; display:flex; align-items:center; gap:8px; }
.today-head .surface-undo,.month-head .surface-undo,.year-head .surface-undo { max-width:min(390px,45vw); }
.month-head-actions .icon-btn { width:30px; height:30px; font-size:18px; }
.month-head-actions .tiny-btn { min-height:30px; padding:5px 9px; }
.today-head span { display:block; color:var(--faint); font-size:var(--text-secondary); letter-spacing:.1em; text-transform:uppercase; }
.today-head strong,.month-head strong { display:block; margin-top:2px; font-family:var(--heading-font); font-size:20px; font-weight:570; letter-spacing:-.025em; }
.today-head small,.month-head small { color:var(--faint); font-size:var(--text-secondary); }
.today-body { min-height:564px; display:grid; grid-template-columns:minmax(0,1fr); }
.today-agenda-shell { min-width:0; overflow:hidden; }
.today-agenda { position:relative; min-width:480px; height:728px; padding:0 8px; background-image:repeating-linear-gradient(to bottom,transparent,transparent 51px,color-mix(in srgb,var(--line) 74%,transparent) 51px,color-mix(in srgb,var(--line) 74%,transparent) 52px); }
.today-all-day > div { min-width:0; padding:4px 8px; }
.today-agenda .calendar-timed-event { right:10%; left:8px; }
.calendar-grid-empty { position:absolute; top:22px; left:18px; color:var(--faint); font-size:var(--text-secondary); pointer-events:none; }
.calendar-now-line { position:absolute; z-index:4; top:var(--now-top); right:0; left:0; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:5px; color:#b85d51; pointer-events:none; }
.calendar-now-line b { transform:translateX(-2px); padding:2px 4px; border-radius:999px; background:#c66b5c; color:#fff; font-size:var(--text-label-strong); line-height:1; }
.calendar-now-line i { height:1px; background:rgba(198,107,92,.68); }
.today-event { width:100%; display:grid; grid-template-columns:48px 8px minmax(0,1fr); gap:10px; align-items:center; min-height:54px; cursor:pointer; }
.today-event:hover,.today-event:focus-visible { outline:0; }
.today-event time { color:var(--muted); font-size:var(--text-secondary); font-variant-numeric:tabular-nums; }
.today-event > i { position:relative; width:7px; height:7px; border-radius:50%; background:var(--event); box-shadow:0 0 0 3px color-mix(in srgb,var(--event) 12%,transparent); }
.today-event > i::after { content:""; position:absolute; top:10px; left:3px; width:1px; height:44px; background:var(--line); }
.today-event:last-of-type > i::after { display:none; }
.today-event-card { width:80%; min-width:240px; max-width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--event) 22%,var(--line)); border-left:2px solid var(--event); border-radius:8px; background:color-mix(in srgb,var(--event) 10%,rgba(255,255,255,.012)); box-shadow:0 2px 8px rgba(0,0,0,.07); }
.today-event:hover .today-event-card,.today-event:focus-visible .today-event-card { background:color-mix(in srgb,var(--event) 15%,rgba(255,255,255,.02)); box-shadow:0 4px 13px rgba(0,0,0,.1); }
.today-event.availability-block > i { background:color-mix(in srgb,var(--ink) 30%,var(--line)); box-shadow:none; }
.today-event.availability-block .today-event-card { border-color:color-mix(in srgb,var(--ink) 18%,var(--line)); border-left-color:color-mix(in srgb,var(--ink) 30%,var(--line)); color:var(--muted); background:color-mix(in srgb,var(--paper) 88%,transparent); box-shadow:none; }
.today-event strong { display:block; }
.today-event span { display:block; color:var(--faint); font-size:var(--text-small); }
.today-event-meta { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:3px; }
.today-event-links { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.today-link { min-height:18px; padding:2px 5px; border:1px solid color-mix(in srgb,var(--event) 25%,var(--line)); border-radius:6px; color:color-mix(in srgb,var(--event) 72%,var(--ink)); background:color-mix(in srgb,var(--event) 7%,transparent); cursor:pointer; font-size:var(--text-label-strong); line-height:1; }
.today-link:hover,.today-link:focus-visible { outline:0; border-color:color-mix(in srgb,var(--event) 45%,var(--line)); background:color-mix(in srgb,var(--event) 13%,transparent); }
.linked-record-drawer .horizon-drawer-head { min-height:40px; padding:6px 10px; }
.linked-record-drawer .horizon-drawer-head h2 { font-size:var(--text-title); }
.linked-record-drawer .horizon-drawer-head small { font-size:var(--text-label-strong); }
.linked-record-drawer .horizon-drawer-head .realm-mark { height:24px; }
.linked-record-drawer .horizon-drawer-head .icon-btn { width:24px; height:24px; border-radius:7px; }
.linked-record-body { min-height:0; display:grid; align-content:start; gap:7px; padding:9px; }
.linked-record-card { max-width:760px; padding:7px 10px; border:1px solid var(--line); border-left:3px solid var(--linked); border-radius:8px; background:color-mix(in srgb,var(--linked) 7%,rgba(255,255,255,.012)); }
.linked-record-card > span { color:var(--linked); font-size:var(--text-label); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.linked-record-card h3 { margin:2px 0 0; font-size:var(--text-title); font-weight:580; letter-spacing:-.015em; }
.linked-record-card > p { display:none; }
.linked-record-facts { display:flex; align-items:center; gap:3px; flex-wrap:wrap; margin-top:4px; }
.linked-record-facts span { padding:2px 4px; border:1px solid var(--line); border-radius:5px; color:var(--muted); background:rgba(255,255,255,.02); font-size:var(--text-label-strong); }
.linked-record-path { max-width:620px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; }
.linked-record-path > span { display:block; margin-bottom:8px; color:var(--faint); font-size:var(--text-support-xs); letter-spacing:.1em; text-transform:uppercase; }
.linked-record-path div { display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:var(--muted); font-size:var(--text-small); }
.linked-record-path b { padding:5px 7px; border-radius:7px; color:var(--ink); background:var(--control); font-weight:560; }
.linked-record-path i { color:var(--faint); font-style:normal; }
.linked-checklist { max-width:760px; overflow:hidden; border:1px solid var(--line); border-radius:11px; }
.linked-checklist-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; border-bottom:1px solid var(--line); }
.linked-checklist-head strong { font-size:var(--text-control); font-weight:620; }
.linked-checklist-head span { color:var(--faint); font-size:var(--text-small); }
.linked-checklist-list { display:grid; }
.linked-checklist-item { display:grid; grid-template-columns:14px minmax(0,1fr) auto; align-items:start; gap:8px; padding:9px 12px; border-bottom:1px solid var(--line); }
.linked-checklist-item:last-child { border-bottom:0; }
.linked-checklist-item > i { width:10px; height:10px; margin-top:2px; border:1px solid var(--line); border-radius:3px; background:transparent; }
.linked-checklist-item.done > i { border-color:#78957d; background:#78957d; box-shadow:inset 0 0 0 2px var(--panel); }
.linked-checklist-item.current > i { border-color:var(--accent); box-shadow:0 0 0 3px rgba(217,185,119,.09); }
.linked-checklist-item strong { display:block; font-size:var(--text-secondary); font-weight:580; line-height:1.35; }
.linked-checklist-item small { display:block; margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); line-height:1.35; }
.linked-checklist-item > span { padding:2px 5px; border-radius:6px; color:var(--muted); background:var(--control); font-size:var(--text-label-strong); white-space:nowrap; }
.linked-checklist-item.done { opacity:.48; }
.linked-task-links { display:flex; align-items:center; gap:4px; flex-wrap:wrap; margin-top:5px; }
.linked-task-link { padding:3px 5px; border:1px solid rgba(129,157,167,.2); border-radius:6px; color:#7895a0; background:rgba(129,157,167,.055); cursor:pointer; font-size:var(--text-label-strong); line-height:1; }
.linked-task-link:hover,.linked-task-link:focus-visible { outline:0; border-color:rgba(129,157,167,.38); background:rgba(129,157,167,.1); }
.linked-specific-destination { max-width:620px; padding:10px 12px; border:1px solid var(--line); border-left:3px solid var(--destination); border-radius:9px; background:color-mix(in srgb,var(--destination) 7%,rgba(255,255,255,.012)); }
.linked-specific-destination > span { color:var(--destination); font-size:var(--text-support-xs); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.linked-specific-destination h3 { margin:4px 0 2px; font-size:15px; font-weight:580; }
.linked-specific-destination p { max-width:570px; margin-bottom:0; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.linked-specific-source { margin-top:8px; padding:6px 8px; border:1px solid var(--line); border-radius:7px; }
.linked-specific-source small { display:block; color:var(--faint); font-size:var(--text-support-xs); }
.linked-specific-source strong { display:block; margin-top:3px; font-size:var(--text-secondary); }
.linked-specific-todos { margin-top:8px; overflow:hidden; border:1px solid color-mix(in srgb,var(--destination) 18%,var(--line)); border-radius:8px; background:rgba(255,255,255,.012); }
.linked-specific-todos header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 8px; border-bottom:1px solid var(--line); }
.linked-specific-todos header strong { font-size:var(--text-small-strong); font-weight:620; }
.linked-specific-todos header span { color:var(--faint); font-size:var(--text-support-xs); }
.linked-specific-todo { display:grid; grid-template-columns:11px minmax(0,1fr) auto; align-items:start; gap:7px; padding:6px 8px; border-bottom:1px solid var(--line); }
.linked-specific-todo:last-child { border-bottom:0; }
.linked-specific-todo > i { width:8px; height:8px; margin-top:2px; border:1px solid var(--line); border-radius:2px; }
.linked-specific-todo.done > i { border-color:#78957d; background:#78957d; box-shadow:inset 0 0 0 2px var(--panel); }
.linked-specific-todo.current > i { border-color:var(--destination); box-shadow:0 0 0 2px color-mix(in srgb,var(--destination) 12%,transparent); }
.linked-specific-todo strong { display:block; font-size:var(--text-small); font-weight:580; line-height:1.3; }
.linked-specific-todo small { display:block; margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); line-height:1.3; }
.linked-specific-todo > span { color:var(--faint); font-size:var(--text-label-strong); }
.linked-specific-destination .tiny-btn { min-height:22px; margin-top:8px; padding:4px 7px; border-color:color-mix(in srgb,var(--destination) 32%,var(--line)); border-radius:6px; color:color-mix(in srgb,var(--destination) 72%,var(--ink)); background:color-mix(in srgb,var(--destination) 13%,transparent); font-size:var(--text-support-xs); }
.linked-specific-destination .tiny-btn:hover { border-color:color-mix(in srgb,var(--destination) 48%,var(--line)); background:color-mix(in srgb,var(--destination) 20%,transparent); }
.today-timing { padding:2px 5px; border:1px solid var(--line); border-radius:7px; color:var(--muted); font-size:var(--text-support-xs); font-style:normal; white-space:nowrap; }
.today-event.completed { opacity:.46; }
.today-event.completed .today-event-card { box-shadow:none; }
.today-event.recently-scheduled .today-event-card { border-color:rgba(217,185,119,.3); background:var(--accent-soft); animation:inbox-arrival 1.1s ease both; }
.today-gap { display:grid; grid-template-columns:66px minmax(0,1fr); align-items:center; min-height:34px; color:var(--faint); font-size:var(--text-support-xs); letter-spacing:.04em; }
.today-gap span { display:flex; align-items:center; gap:8px; }
.today-gap span::before,.today-gap span::after { content:""; height:1px; flex:1; background:var(--line); }
.today-now { display:grid; grid-template-columns:48px 8px minmax(0,1fr); gap:10px; align-items:center; min-height:22px; color:#b85d51; font-size:var(--text-support-xs); font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.today-now i { width:7px; height:7px; border-radius:50%; background:#c66b5c; box-shadow:0 0 0 3px rgba(198,107,92,.12); }
.today-now span { height:1px; background:rgba(198,107,92,.5); }
.today-note { align-self:stretch; padding:18px; border-left:1px solid var(--line); background:rgba(255,255,255,.012); }
.today-note > strong { display:block; margin:8px 0 5px; font-family:var(--heading-font); font-size:16px; font-weight:570; line-height:1.15; }
.today-note p { color:var(--muted); font-size:var(--text-secondary); line-height:1.5; }
.today-note-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:10px; }
.today-note-actions .soft-btn { min-height:28px; margin:0; padding:6px 8px; font-size:var(--text-small); }
.month-weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-bottom:1px solid var(--line); }
.month-weekdays span { padding:8px 7px; color:var(--faint); font-size:var(--text-small); letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.month-day { min-width:0; min-height:85px; padding:7px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.month-day[data-month-day] { cursor:cell; transition:background .16s ease,box-shadow .16s ease; }
.month-day[data-month-day]:hover { background:color-mix(in srgb,var(--accent) 5%,transparent); }
.month-day[data-month-day]:focus-visible { z-index:1; outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent); outline-offset:-2px; background:color-mix(in srgb,var(--accent) 6%,transparent); }
.month-day:nth-child(7n) { border-right:0; }
.month-day:nth-last-child(-n+7) { border-bottom:0; }
.month-day.outside { background:rgba(0,0,0,.08); }
.month-day > span { width:21px; height:21px; display:grid; place-items:center; margin-bottom:4px; color:var(--muted); border-radius:50%; font-size:var(--text-secondary); }
.month-day.current > span { color:#e2cc9c; border:1px solid rgba(143,122,85,.55); background:rgba(143,122,85,.24); font-weight:650; }
button.month-event { width:100%; height:18px; min-width:0; min-height:18px; max-height:18px; display:flex; flex-flow:row nowrap; align-items:center; justify-content:flex-start; gap:4px; margin:2px 0; padding:2px 5px; border:1px solid color-mix(in srgb,var(--event) 58%,var(--line)); border-radius:4px; color:color-mix(in srgb,var(--ink) 94%,var(--event)); background:color-mix(in srgb,var(--event) 28%,var(--panel)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--event) 9%,transparent); appearance:none; cursor:pointer; font-size:var(--text-support-xs); font-weight:600; line-height:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
button.month-event i { flex:0 0 auto; width:4px; height:4px; border-radius:50%; background:var(--event); }
button.month-event.availability-block { border-color:color-mix(in srgb,var(--ink) 20%,var(--line)); color:var(--muted); background:color-mix(in srgb,var(--paper) 88%,transparent); box-shadow:none; }
button.month-event.availability-block i { background:color-mix(in srgb,var(--ink) 30%,var(--line)); }
.month-day small { display:block; margin-top:3px; color:var(--faint); font-size:var(--text-support-xs); }
.calendar-event-composer { position:fixed; z-index:113; top:50%; left:50%; width:min(620px,calc(100vw - 30px)); max-height:calc(100vh - 30px); overflow:auto; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); border-radius:14px; color:var(--ink); background:rgba(19,21,23,.985); box-shadow:0 30px 90px rgba(0,0,0,.5); transform:translate(-50%,-50%); animation:fade-in .18s ease both; }
html[data-appearance="light"] .calendar-event-composer { background:rgba(249,247,241,.995); box-shadow:0 30px 90px rgba(75,65,48,.24); }
.calendar-event-composer > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px 17px; border-bottom:1px solid var(--line); }
.calendar-event-composer h2 { margin:4px 0 3px; font-size:23px; font-weight:600; }
.calendar-event-composer header p { margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.45; }
.calendar-event-composer form { display:grid; gap:14px; padding:18px 22px 21px; }
.calendar-form-error { margin:0; padding:10px 12px; border:1px solid color-mix(in srgb,var(--danger) 48%,var(--line)); border-radius:9px; color:var(--ink); background:color-mix(in srgb,var(--danger) 14%,var(--panel)); font-size:var(--text-body-sm); line-height:1.45; }
.calendar-form-error[hidden] { display:none; }
.calendar-event-composer [aria-invalid="true"],.task-inspector [aria-invalid="true"] { border-color:var(--danger); box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 20%,transparent); }
.calendar-event-composer label > span { display:block; margin:0 0 6px; color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.calendar-event-composer .field,.calendar-event-composer .select { height:36px; }
.calendar-time-control { min-width:0; margin:0; padding:0; border:0; }
.calendar-time-control legend { margin:0 0 6px; padding:0; color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.calendar-time-control > div { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; }
.calendar-time-control b { color:var(--faint); font-size:var(--text-title); font-weight:600; }
.calendar-event-composer .textarea { min-height:96px; resize:vertical; line-height:1.5; }
.calendar-event-composer form > footer { display:flex; align-items:center; justify-content:flex-end; gap:7px; padding-top:2px; }
.calendar-event-composer form > footer button { min-width:94px; }
.calendar-event-composer-v2 { width:min(720px,calc(100vw - 30px)); }
.calendar-date-time-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:10px; }
.calendar-date-time-grid > * { min-width:0; }
.calendar-all-day { display:flex; align-items:center; gap:10px; width:max-content; max-width:100%; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--panel-soft); cursor:pointer; }
.calendar-all-day input { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.calendar-event-composer .calendar-all-day > span,.task-inspector .calendar-all-day > span { margin:0; color:var(--ink); letter-spacing:0; text-transform:none; }
.calendar-all-day span strong,.calendar-all-day span small { display:block; }
.calendar-all-day span strong { font-size:var(--text-control); font-weight:650; }
.calendar-all-day span small { margin-top:2px; color:var(--muted); font-size:var(--text-small); }
.calendar-time-control.is-disabled { opacity:.42; }
.calendar-more-options { border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--panel) 72%,transparent); }
.calendar-alert-row { display:grid; grid-template-columns:auto minmax(180px,1fr); align-items:center; gap:14px; padding:8px 11px; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--accent) 4%,var(--panel)); }
.calendar-event-composer .calendar-alert-row > span,.task-inspector .calendar-alert-row > span { margin:0; color:var(--ink); font-size:var(--text-control); font-weight:650; letter-spacing:0; text-transform:none; }
.calendar-choice-main small { display:block; margin-top:6px; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.calendar-primary-choice { min-width:0; margin:0; padding:0; border:0; }
.calendar-primary-choice > legend { margin-bottom:6px; color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.calendar-primary-choice > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.calendar-primary-choice label { position:relative; min-width:0; display:grid; grid-template-columns:15px 18px minmax(0,1fr); align-items:center; gap:7px; min-height:48px; padding:7px 9px; border:1px solid var(--line); border-radius:9px; color:var(--muted); background:var(--control); cursor:pointer; }
.calendar-primary-choice label:has(input:checked) { border-color:color-mix(in srgb,var(--event) 58%,var(--line)); color:var(--ink); background:color-mix(in srgb,var(--event) 9%,var(--paper)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--event) 18%,transparent); }
.calendar-primary-choice input { width:15px; height:15px; margin:0; accent-color:var(--event,var(--accent)); }
.calendar-primary-choice i { width:18px; height:18px; border:1px solid color-mix(in srgb,var(--event) 65%,var(--line)); border-radius:50%; background:var(--event); }
.calendar-primary-choice strong,.calendar-primary-choice small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-primary-choice strong { color:var(--ink); font-size:var(--text-control); }
.calendar-primary-choice label small { margin-top:1px; color:var(--faint); font-size:var(--text-micro); }
.calendar-primary-choice > small { display:block; margin-top:6px; color:var(--muted); font-size:var(--text-small); }
.calendar-more-options summary { padding:11px 13px; color:var(--ink); cursor:pointer; font-size:var(--text-control); font-weight:650; }
.calendar-more-options[open] summary { border-bottom:1px solid var(--line); }
.calendar-more-options > div { display:grid; gap:12px; padding:13px; }
.calendar-more-options label > span { display:block; margin:0 0 6px; color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.year-wrap { min-width:0; overflow:hidden; }
.year-head { min-height:69px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 16px; border-bottom:1px solid var(--line); }
.year-head strong { font-family:var(--heading-font); font-size:20px; font-weight:570; letter-spacing:-.025em; }
.year-head small { color:var(--faint); font-size:var(--text-secondary); }
.year-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); }
.year-month { min-height:150px; padding:14px; border:0; color:var(--ink); background:var(--panel); cursor:pointer; text-align:left; transition:.18s ease; }
.year-month:hover { background:rgba(255,255,255,.04); }
.year-month.current { background:color-mix(in srgb,var(--accent) 6%,var(--panel)); }
.year-month header { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-bottom:16px; }
.year-month strong { font-family:var(--heading-font); font-size:14px; font-weight:580; }
.year-month header span { color:var(--faint); font-size:var(--text-small); }
.year-month-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px 4px; }
.year-month-days i { width:5px; height:5px; justify-self:center; border-radius:50%; background:rgba(255,255,255,.12); }
.year-month-days i.has-work { background:var(--sage); box-shadow:0 0 6px rgba(156,175,154,.25); }
.year-month footer { margin-top:14px; color:var(--faint); font-size:var(--text-small); }

.task-inspector-backdrop { position:fixed; inset:0; z-index:112; background:rgba(4,6,7,.58); backdrop-filter:blur(3px); animation:fade-in .18s ease both; }
.task-inspector { position:fixed; inset:0 0 0 auto; z-index:113; width:min(90vw,1360px); min-width:min(720px,100vw); display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:0; overflow:hidden; border-left:1px solid rgba(255,255,255,.09); background:rgba(19,21,23,.985); box-shadow:-30px 0 80px rgba(0,0,0,.48); animation:inspector-in .24s ease both; }
html[data-appearance="light"] .task-inspector-backdrop { background:rgba(91,84,72,.22); backdrop-filter:blur(3px) saturate(.82); }
html[data-appearance="light"] .task-inspector { border-left-color:rgba(94,80,55,.13); background:rgba(249,247,241,.985); box-shadow:-30px 0 80px rgba(75,65,48,.18); }
.task-inspector > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; width:min(1128px,100%); margin:0 auto; padding:17px 24px 12px; border-bottom:1px solid var(--line); }
.task-inspector-heading { display:flex; align-items:center; gap:9px; }
.task-back { display:inline-flex; align-items:center; justify-content:center; min-width:94px; min-height:28px; padding:5px 11px; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-secondary); }
.task-back:hover { color:var(--ink); background:var(--control-hover); }
.task-inspector h2 { margin:4px 0 0; font-size:23px; font-weight:580; }
.task-inspector form { min-height:0; display:grid; align-content:start; width:min(1128px,100%); margin:0 auto; padding:14px 24px; gap:14px; overflow:auto; overscroll-behavior:contain; }
.task-edit-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:28px; align-items:start; }
.task-fields { display:grid; align-content:start; gap:14px; }
.task-fields .field,.task-fields .select { height:32px; }
.task-notebook { display:flex; min-width:0; flex-direction:column; padding-left:24px; border-left:1px solid var(--line); }
.task-notebook > span { display:block; margin-bottom:6px; color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.task-notebook > small { display:block; margin-bottom:9px; color:var(--faint); font-size:var(--text-small); line-height:1.4; }
.task-notebook .textarea { min-height:clamp(170px,31vh,286px); flex:0 1 auto; resize:vertical; line-height:1.55; }
.task-note-link { display:flex; align-items:flex-start; gap:8px; margin-top:9px; color:var(--muted); cursor:pointer; font-size:var(--text-small); line-height:1.4; }
.task-note-link input { width:13px; height:13px; margin:0; accent-color:var(--accent); }
.task-note-link strong,.task-note-link small { display:block; }
.task-note-link strong { color:var(--ink); font-size:var(--text-small); font-weight:590; }
.task-note-link small { margin-top:2px; color:var(--faint); }
.task-inspector label > span { display:block; margin:0 0 6px; color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.task-field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.task-inspector label:has(input[name="context"]) { display:none; }
.task-inspector .task-field-row:has(input[name="context"]) { grid-template-columns:1fr; }
.task-colour-control { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:7px; }
.task-colour-control input[type="color"] { width:34px; height:32px; padding:3px; border:1px solid var(--line); border-radius:8px; background:var(--control); cursor:pointer; }
.calendar-interop { position:relative; width:68%; margin:7px auto 0; }
.calendar-guide-stack { position:relative; width:calc(100% - 10px); min-height:28px; display:flex; align-items:flex-start; gap:7px; margin:7px 10px 0 0; }
.calendar-guide-stack .calendar-interop { width:auto; min-width:0; flex:1 1 auto; margin:0; }
.calendar-interop > button { width:100%; min-height:32px; display:flex; align-items:center; justify-content:flex-start; gap:4px; padding:5px 8px; border-radius:7px; color:var(--muted); font-size:var(--text-support-xs); }
.calendar-interop > button small { color:var(--accent); font-size:var(--text-micro); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.k-scheduling-trigger { width:auto; min-height:19px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; margin:0; padding:3px 5px; border-color:var(--line); border-radius:7px; color:color-mix(in srgb,var(--faint) 92%,var(--ink)); background:var(--control); box-shadow:none; font-size:var(--text-support-xs); font-weight:400; letter-spacing:normal; white-space:nowrap; }
.k-scheduling-trigger:hover,.k-scheduling-trigger:focus-visible { border-color:color-mix(in srgb,var(--accent) 30%,var(--line)); color:color-mix(in srgb,var(--accent) 68%,var(--muted)); background:color-mix(in srgb,var(--accent-soft) 28%,var(--control)); }
.calendar-interop-backdrop { position:fixed; inset:0; z-index:109; background:rgba(4,6,7,.42); backdrop-filter:blur(2px); animation:fade-in .16s ease both; }
html[data-appearance="light"] .calendar-interop-backdrop { background:rgba(91,84,72,.18); }
.calendar-interop-panel { display:grid; gap:7px; margin-top:5px; padding:9px; border:1px solid var(--line); border-radius:9px; background:var(--panel); box-shadow:var(--shadow); }
.calendar-interop-panel p { margin:0; color:var(--faint); font-size:var(--text-support-xs); line-height:1.45; }
.calendar-interop-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.calendar-interop-panel.connection-panel { position:fixed; z-index:110; top:50%; left:50%; width:min(760px,calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow:auto; padding:12px; gap:8px; transform:translate(-50%,-50%); box-shadow:0 22px 70px rgba(48,43,34,.18); }
.calendar-connection-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.calendar-connection-title { position:sticky; top:-12px; z-index:2; display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:10px; margin:-12px -12px 0; padding:12px; border-bottom:1px solid var(--line); background:var(--panel); }
.calendar-connection-title > div { min-width:0; }
.calendar-connection-title-actions { display:flex; flex:0 0 auto; align-items:center; gap:7px; }
.calendar-connection-title strong { display:block; color:var(--ink); font-size:var(--text-control); }
.calendar-connection-title > div:first-child > span { display:block; margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); line-height:1.4; }
.calendar-connection-close { flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--control); cursor:pointer; line-height:1; }
.calendar-connection-close:hover,.calendar-connection-close:focus-visible { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); outline:2px solid color-mix(in srgb,var(--accent) 34%,transparent); outline-offset:1px; }
.calendar-connection-head strong { display:block; font-size:var(--text-control); color:var(--ink); }
.calendar-connection-head span { display:block; margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); line-height:1.4; }
.calendar-connection-title .calendar-live-state { flex:0 0 auto; padding:3px 6px; border:1px solid color-mix(in srgb,var(--sage) 34%,var(--line)); border-radius:999px; color:color-mix(in srgb,var(--sage) 28%,var(--ink)); background:color-mix(in srgb,var(--sage) 12%,var(--panel)); font-size:var(--text-label); font-weight:650; text-transform:uppercase; letter-spacing:.08em; }
.calendar-birthdays-control { display:grid; grid-template-columns:16px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:38px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:color-mix(in srgb,var(--paper) 72%,transparent); cursor:pointer; }
.calendar-birthdays-control.available:has(input:checked) { border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); background:color-mix(in srgb,var(--accent) 7%,var(--paper)); color:var(--ink); }
.calendar-birthdays-control input { margin:0; accent-color:var(--accent); }
.calendar-birthdays-control strong,.calendar-birthdays-control small { display:block; }
.calendar-birthdays-control strong { font-size:var(--text-small); }
.calendar-birthdays-control small { margin-top:1px; color:var(--faint); font-size:var(--text-label); }
.calendar-birthdays-control b { padding:2px 5px; border:1px solid var(--line); border-radius:999px; color:var(--faint); font-size:var(--text-micro); font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.calendar-birthdays-control.unavailable { cursor:not-allowed; opacity:.62; }
.calendar-native-colours { display:grid; gap:6px; padding:8px; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--accent) 5%,var(--paper)); }
.calendar-native-colours > header strong,.calendar-native-colours > header span { display:block; }
.calendar-native-colours > header strong { color:var(--ink); font-size:var(--text-small); }
.calendar-native-colours > header span { margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); }
.calendar-native-colours > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.calendar-source-colour { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:40px; padding:6px 7px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--control); cursor:pointer; }
.calendar-source-colour input[type="color"] { width:25px; height:25px; padding:1px; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; }
.calendar-source-colour input[type="color"]::-webkit-color-swatch-wrapper { padding:1px; }
.calendar-source-colour input[type="color"]::-webkit-color-swatch { border:0; border-radius:50%; }
.calendar-source-colour strong,.calendar-source-colour small { display:block; }
.calendar-source-colour strong { color:var(--ink); font-size:var(--text-support-xs); }
.calendar-source-colour small { margin-top:1px; color:var(--faint); font-size:var(--text-micro); }
.calendar-source-colour b { color:var(--faint); font-size:var(--text-micro); font-weight:650; }
.calendar-source-colour.compact { display:flex; min-height:0; padding:2px 5px; gap:4px; white-space:nowrap; }
.calendar-source-colour.compact input[type="color"] { width:20px; height:20px; flex:0 0 20px; }
.calendar-source-colour.compact span { margin:0; color:var(--faint); font-size:var(--text-label); letter-spacing:0; text-transform:none; }
.calendar-team-summary { display:grid; gap:2px; padding:8px 9px; border:1px solid color-mix(in srgb,var(--sage) 35%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--sage) 7%,var(--paper)); }
.calendar-team-summary strong { color:var(--ink); font-size:var(--text-small); }
.calendar-team-summary small { color:var(--muted); font-size:var(--text-support-xs); line-height:1.35; }
.calendar-providers { display:grid; gap:5px; }
.calendar-provider { display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:36px; padding:5px 6px; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--paper) 72%,transparent); }
.calendar-provider > i { display:grid; place-items:center; width:22px; height:22px; border-radius:6px; background:color-mix(in srgb,var(--provider) 18%,var(--paper)); color:var(--provider); font-style:normal; font-size:var(--text-small); font-weight:800; }
.calendar-provider strong,.calendar-provider small { display:block; }
.calendar-provider strong { font-size:var(--text-small); }
.calendar-provider small { margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); }
.calendar-provider .calendar-provider-choice { color:var(--accent); font-weight:700; }
.calendar-provider .calendar-provider-authority { width:max-content; padding:1px 4px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:999px; color:var(--accent); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.calendar-provider .calendar-provider-capability { max-width:560px; color:color-mix(in srgb,#b98272 74%,var(--muted)); line-height:1.35; }
.calendar-provider button { white-space:nowrap; }
.calendar-provider-actions { display:flex; align-items:center; justify-content:flex-end; gap:4px; flex-wrap:wrap; }
.calendar-provider-group { display:grid; gap:4px; }
.calendar-provider-route { display:grid; gap:2px; margin-left:29px; padding:6px 8px; border:1px solid color-mix(in srgb,var(--sage) 38%,var(--line)); border-radius:7px; background:color-mix(in srgb,var(--sage) 8%,var(--paper)); }
.calendar-provider-route strong { font-size:var(--text-support-xs); }
.calendar-provider-route span { color:var(--muted); font-size:var(--text-label-strong); line-height:1.4; }
.calendar-setup-required { color:color-mix(in srgb,#b98272 76%,var(--muted)) !important; }
.calendar-calendar-picker { display:grid; gap:6px; margin-left:29px; padding:7px; border:1px solid var(--line); border-radius:7px; background:color-mix(in srgb,var(--paper) 82%,transparent); }
.calendar-calendar-picker header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.calendar-calendar-picker header strong { font-size:var(--text-support-xs); }
.calendar-calendar-picker header span { color:var(--faint); font-size:var(--text-label); }
.calendar-calendar-list { display:grid; gap:3px; max-height:132px; overflow:auto; padding-right:2px; }
.calendar-calendar-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:4px 5px; border:1px solid transparent; border-radius:5px; color:var(--muted); font-size:var(--text-label-strong); line-height:1.3; }
.calendar-calendar-choice:has(.calendar-calendar-toggle input:checked) { border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); background:color-mix(in srgb,var(--accent) 7%,var(--paper)); color:var(--ink); }
.calendar-calendar-toggle { display:grid; grid-template-columns:13px minmax(0,1fr); align-items:start; gap:5px; min-width:0; cursor:pointer; }
.calendar-calendar-controls { display:flex; align-items:flex-start; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.calendar-privacy-choice { display:flex; align-items:center; gap:4px; color:var(--faint); cursor:pointer; white-space:nowrap; }
.calendar-block-choice { color:color-mix(in srgb,var(--accent) 62%,var(--muted)); }
.calendar-write-choice { color:color-mix(in srgb,var(--sage) 62%,var(--ink)); }
.calendar-write-choice:has(input:checked) { font-weight:700; }
.calendar-write-choice:has(input:disabled) { cursor:not-allowed; opacity:.62; }
.calendar-calendar-choice input { margin:0; accent-color:var(--accent); }
.calendar-calendar-choice:focus-within { outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent); outline-offset:1px; }
.calendar-calendar-choice small { display:block; margin-top:1px; color:var(--faint); font-size:var(--text-micro); }
.calendar-calendar-picker footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:3px; border-top:1px solid var(--line); }
.calendar-calendar-picker footer span { color:var(--faint); font-size:var(--text-label); line-height:1.3; }
.calendar-connection-review { display:grid; gap:7px; padding:9px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--accent) 6%,var(--paper)); }
.shared-calendar-setup form { display:flex; align-items:end; gap:8px; flex-wrap:wrap; }
.shared-calendar-setup form label { min-width:180px; flex:1 1 240px; }
.shared-calendar-setup form button { flex:0 0 auto; }
.shared-invite-code { display:grid; gap:5px; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.shared-invite-code code { user-select:all; overflow-wrap:anywhere; color:var(--ink); }
.shared-invite-code button { justify-self:start; }
.shared-member-review { gap:7px; }
.shared-member-row { display:grid; gap:4px; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.shared-member-row code { user-select:all; overflow-wrap:anywhere; color:var(--ink); }
.shared-member-row > div { display:flex; gap:5px; flex-wrap:wrap; }
.shared-home-import { margin-top:8px; }
.shared-home-start-date { display:grid; gap:3px; max-width:220px; }
.shared-home-start-date span,.shared-home-start-date small { color:var(--muted); font-size:var(--text-support-xs); line-height:1.4; }
.shared-home-import > span { color:var(--muted); font-size:var(--text-support-xs); line-height:1.4; overflow-wrap:anywhere; }
.shared-home-file-picker { justify-self:start; min-width:130px; }
.shared-home-actions { display:flex; gap:6px; flex-wrap:wrap; }
.shared-home-review-counts { display:grid; gap:3px; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.shared-home-review-counts span { color:var(--muted); font-size:var(--text-support-xs); line-height:1.4; }
.shared-home-review-rows { display:grid; gap:7px; max-height:360px; overflow:auto; }
.shared-home-review-section { display:grid; gap:5px; }
.shared-home-review-section > strong,.shared-home-review-section > span { font-size:var(--text-support-xs); line-height:1.4; }
.shared-home-review-section > span { color:var(--muted); }
.shared-home-review-row { display:grid; gap:3px; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--paper); }
.shared-home-review-row strong { font-size:var(--text-support-xs); overflow-wrap:anywhere; }
.shared-home-review-row span { color:var(--muted); font-size:var(--text-support-xs); line-height:1.4; }
.shared-home-review-row pre { margin:0; max-height:150px; padding:6px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:5px; background:var(--control); color:var(--ink); font:inherit; font-size:var(--text-support-xs); }
.shared-source-details,.shared-source-alarm { display:grid; gap:3px; padding:6px; border:1px solid var(--line); border-radius:5px; background:var(--control); }
.shared-source-details strong,.shared-source-details span,.shared-source-details code { font-size:var(--text-support-xs); line-height:1.4; overflow-wrap:anywhere; }
.shared-source-details span { color:var(--muted); }
.shared-source-details code { white-space:pre-wrap; color:var(--ink); }
.shared-event-editor .shared-source-details { margin:6px 0; }
.shared-event-close-icon { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.calendar-connection-status { display:grid; gap:2px; padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.calendar-connection-status strong { font-size:var(--text-support-xs); }
.calendar-connection-status span { color:var(--muted); font-size:var(--text-label-strong); line-height:1.4; }
.calendar-connection-status.connecting { border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); }
.calendar-connection-status.success { border-color:color-mix(in srgb,var(--sage) 48%,var(--line)); background:color-mix(in srgb,var(--sage) 9%,var(--paper)); }
.calendar-connection-status.error { border-color:color-mix(in srgb,#b98272 50%,var(--line)); background:color-mix(in srgb,#b98272 8%,var(--paper)); }
.calendar-review-label { color:var(--faint); font-size:var(--text-label); font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.calendar-authority { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.calendar-authority.one { grid-template-columns:1fr; }
.calendar-authority button { min-height:34px; text-align:left; }
.calendar-authority button span,.calendar-authority button small { display:block; }
.calendar-authority button span { font-size:var(--text-support-xs); font-weight:750; }
.calendar-authority button small { margin-top:2px; color:var(--faint); font-size:var(--text-label); line-height:1.3; }
.calendar-authority button.active { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 11%,var(--paper)); }
.calendar-rules { display:grid; gap:4px; padding:7px; border:1px solid var(--line); border-radius:7px; background:color-mix(in srgb,var(--paper) 72%,transparent); }
.calendar-rule { display:grid; grid-template-columns:11px minmax(0,1fr); gap:6px; align-items:start; color:var(--muted); font-size:var(--text-label-strong); line-height:1.35; }
.calendar-rule i { display:grid; place-items:center; width:11px; height:11px; border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line)); border-radius:50%; color:var(--accent); font-style:normal; font-size:var(--text-support-xs); }
.calendar-review-action { display:grid; grid-template-columns:1fr auto; align-items:center; gap:7px; }
.calendar-review-action span { color:var(--faint); font-size:var(--text-label-strong); line-height:1.35; }
.calendar-connection-foot { padding-top:7px; border-top:1px solid var(--line); color:var(--faint); font-size:var(--text-label-strong); line-height:1.45; }
.calendar-import { display:grid; place-items:center; min-height:24px; padding:4px 6px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-support-xs); }
.calendar-provider.connected { border-color:color-mix(in srgb,var(--provider) 45%,var(--line)); }
.calendar-provider-health { display:flex !important; align-items:center; gap:4px; }
.calendar-provider-health i { width:5px; height:5px; border-radius:50%; background:var(--faint); }
.calendar-provider-health i.ready { background:#73a77e; }
.calendar-provider-health i.error { background:#bf756b; }
.calendar-refresh-summary,.calendar-duplicate-review { display:grid; gap:5px; padding:7px; border:1px solid var(--line); border-radius:7px; background:color-mix(in srgb,var(--paper) 72%,transparent); }
.calendar-refresh-summary strong,.calendar-duplicate-review strong { font-size:var(--text-support-xs); }
.calendar-refresh-summary span,.calendar-duplicate-review span { color:var(--faint); font-size:var(--text-label-strong); line-height:1.4; }
.calendar-duplicate-item { display:grid; grid-template-columns:1fr auto; gap:7px; align-items:center; padding-top:5px; border-top:1px solid var(--line); }
.calendar-duplicate-item:first-of-type { padding-top:0; border-top:0; }
.calendar-connection-actions { display:flex; align-items:center; justify-content:flex-end; gap:5px; }
.k-proposal-review { display:grid; gap:6px; padding:8px; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--accent) 6%,var(--paper)); }
.k-proposal-review header { display:flex; justify-content:space-between; gap:8px; align-items:start; }
.k-proposal-review header strong { font-size:var(--text-small); }
.k-proposal-review header span,.k-proposal-review p { color:var(--faint); font-size:var(--text-label-strong); line-height:1.4; }
.k-proposal-list { display:grid; gap:4px; }
.k-proposal-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; padding:6px; border:1px solid var(--line); border-radius:6px; }
.k-proposal-item strong,.k-proposal-item span { display:block; }
.k-proposal-item strong { font-size:var(--text-support-xs); }
.k-proposal-item span { margin-top:2px; color:var(--faint); font-size:var(--text-label); line-height:1.35; }
.k-proposal-item b { color:var(--accent); font-size:var(--text-label); text-transform:uppercase; }
.k-scheduling-backdrop { position:fixed; inset:0; z-index:118; display:grid; place-items:center; padding:16px; background:rgba(50,44,34,.24); backdrop-filter:blur(3px); }
.k-scheduling-dialog { width:min(720px,100%); max-height:calc(100vh - 32px); overflow:auto; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); border-radius:12px; background:var(--panel); box-shadow:0 24px 80px rgba(35,29,20,.2); }
.k-scheduling-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 20px 15px; border-bottom:1px solid var(--line); }
.k-scheduling-dialog > header .icon-btn { width:33px; height:33px; min-width:33px; }
.k-scheduling-close-icon { width:12px; height:12px; display:block; fill:none; stroke:var(--muted); stroke-width:1.5; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.k-scheduling-dialog > header span,.k-scheduling-dialog h3 { color:color-mix(in srgb,var(--accent) 76%,var(--ink)); font-size:var(--text-support-xs); font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.k-scheduling-dialog > header h2 { margin:3px 0 2px; font-size:23px; font-weight:620; }
.k-scheduling-dialog > header p,.k-scheduling-dialog > footer p { margin:0; color:var(--faint); font-size:var(--text-small); line-height:1.45; }
.k-scheduling-body { display:grid; gap:13px; padding:15px 20px; }
.k-scheduling-body section { display:grid; gap:6px; }
.k-scheduling-body h3 { margin:0 0 2px; }
.k-scheduling-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--control) 82%,transparent); }
.k-scheduling-row > div > strong,.k-scheduling-row > div > span { display:block; }
.k-scheduling-row > div > strong { font-size:var(--text-secondary); }
.k-scheduling-row > div > span { margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); line-height:1.4; }
.k-scheduling-row > b { color:var(--accent); font-size:var(--text-support-xs); text-transform:uppercase; }
.k-scheduling-row.kept { border-color:color-mix(in srgb,var(--sage) 42%,var(--line)); background:color-mix(in srgb,var(--sage) 8%,var(--panel)); }
.k-scheduling-options { min-width:250px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.k-scheduling-options button { min-height:42px; display:grid; align-content:center; padding:5px 7px; text-align:left; }
.k-scheduling-options strong,.k-scheduling-options small { display:block; }
.k-scheduling-options strong { font-size:var(--text-support-xs); font-variant-numeric:tabular-nums; }
.k-scheduling-options small { margin-top:2px; color:var(--faint); font-size:var(--text-label); }
.k-scheduling-empty { margin:0; padding:14px; border:1px dashed var(--line); border-radius:8px; color:var(--faint); font-size:var(--text-small); text-align:center; }
.k-scheduling-dialog > footer { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px 14px; padding:12px 20px 14px; border-top:1px solid var(--line); }
.k-scheduling-dialog > footer > span { color:var(--muted); font-size:var(--text-small); font-weight:650; }
.k-scheduling-dialog > footer > div { display:flex; justify-content:flex-end; gap:6px; }
.k-scheduling-dialog > footer > p { grid-column:1/-1; }
@media (max-width:760px) { .k-scheduling-row { grid-template-columns:1fr; } .k-scheduling-options { min-width:0; grid-template-columns:1fr; } .k-scheduling-dialog > footer { grid-template-columns:1fr; } .k-scheduling-dialog > footer > div { justify-content:flex-start; } .k-scheduling-dialog > footer > p { grid-column:auto; } }
.task-source.read-only { border-color:color-mix(in srgb,var(--accent) 28%,var(--line)); }
.task-readonly-note { color:var(--faint); font-size:var(--text-small); line-height:1.45; }
.task-source { padding:12px; border:1px solid rgba(217,185,119,.13); border-radius:10px; background:rgba(217,185,119,.035); }
.task-source span { color:var(--accent); font-size:var(--text-small); font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.task-source p { margin:5px 0 0; color:var(--muted); font-size:var(--text-control); line-height:1.45; }
.calendar-write-card { display:grid; gap:9px; padding:12px; border:1px solid color-mix(in srgb,var(--sage) 38%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--sage) 7%,var(--panel)); }
.calendar-write-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.calendar-write-card > header span,.calendar-write-card > header strong { display:block; }
.calendar-write-card > header span { color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.calendar-write-card > header strong { margin-top:3px; color:var(--ink); font-size:var(--text-control); }
.calendar-write-card > header b { padding:2px 6px; border:1px solid color-mix(in srgb,var(--sage) 45%,var(--line)); border-radius:999px; color:color-mix(in srgb,var(--sage) 35%,var(--ink)); font-size:var(--text-label); text-transform:uppercase; }
.calendar-write-card > p,.calendar-write-preview > p { margin:0; color:var(--muted); font-size:var(--text-small); line-height:1.45; }
.calendar-write-card > button { justify-self:start; }
.calendar-write-preview { display:grid; gap:9px; padding-top:2px; }
.calendar-write-preview dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin:0; }
.calendar-write-preview dl > div { min-width:0; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.calendar-write-preview dt { color:var(--faint); font-size:var(--text-label); text-transform:uppercase; letter-spacing:.06em; }
.calendar-write-preview dd { margin:3px 0 0; overflow-wrap:anywhere; color:var(--ink); font-size:var(--text-small); }
.calendar-write-preview > div:last-child { display:flex; justify-content:flex-end; gap:6px; }
.calendar-write-receipt { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--control); }
.calendar-write-receipt strong { font-size:var(--text-small); }
.calendar-write-receipt span { flex:1 1 auto; color:var(--faint); font-size:var(--text-label); }
.calendar-write-receipt.applied { border-color:color-mix(in srgb,var(--sage) 48%,var(--line)); }
.calendar-write-error { color:color-mix(in srgb,#c87367 78%,var(--ink)) !important; }
.task-authority-summary { display:grid; gap:9px; padding:12px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--panel) 72%,transparent); }
.task-authority-summary > header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.task-authority-summary > header span:first-child { color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.task-authority-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.task-authority-grid article { min-width:0; padding:9px; border:1px solid var(--line); border-radius:8px; background:var(--control); }
.task-authority-grid article > span,.task-conflict-detail > span { display:block; color:var(--faint); font-size:var(--text-support-xs); letter-spacing:.08em; text-transform:uppercase; }
.task-authority-grid strong { display:block; margin-top:4px; color:var(--ink); font-size:var(--text-control); font-weight:620; }
.task-authority-grid small { display:block; margin-top:3px; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.task-conflict-detail { padding:10px; border:1px solid color-mix(in srgb,#d88a61 42%,var(--line)); border-radius:8px; background:color-mix(in srgb,#d88a61 7%,var(--control)); }
.task-conflict-detail strong { display:block; margin-top:4px; color:var(--ink); font-size:var(--text-secondary); }
.task-conflict-detail p { margin:4px 0 0; color:var(--muted); font-size:var(--text-small); line-height:1.45; }
.task-save { display:flex; justify-content:flex-end; padding-top:3px; }
.task-save .primary-btn { min-width:64px; min-height:28px; padding:6px 12px; border-color:rgba(143,122,85,.34); border-radius:8px; color:#b9a77f; background:rgba(143,122,85,.13); font-size:var(--text-secondary); font-weight:590; }
.task-save .primary-btn:hover { border-color:rgba(143,122,85,.48); color:#b9a77f; background:rgba(143,122,85,.2); filter:none; transform:none; }
html[data-appearance="light"] .task-save .primary-btn { color:#765f34; }
.task-inspector-actions { max-height:42vh; padding:10px 24px 12px; overflow:auto; border-top:1px solid var(--line); background:color-mix(in srgb,var(--panel) 96%,transparent); box-shadow:0 -8px 24px color-mix(in srgb,var(--ink) 7%,transparent); }
.task-status-actions { display:flex; align-items:center; justify-content:space-between; width:min(1080px,100%); gap:12px; margin:0 auto; padding:0; border:0; }
.task-status-actions .soft-btn { min-width:160px; }
.task-cancel-row { display:flex; justify-content:flex-end; width:min(1080px,100%); margin:7px auto 0; }
.task-cancel-row .soft-btn { min-width:160px; color:#d3918a; background:transparent; }
html[data-appearance="light"] .task-cancel-row .soft-btn { color:#a76458; }
.project-linked-event-notes { display:grid; gap:8px; padding:0 24px 18px; }
.project-linked-event-notes > span { color:var(--faint); font-size:var(--text-small); letter-spacing:.09em; text-transform:uppercase; }
.project-linked-event-notes article { padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--control); }
.project-linked-event-notes strong,.project-linked-event-notes small { display:block; }
.project-linked-event-notes strong { font-size:var(--text-secondary); font-weight:600; }
.project-linked-event-notes p { margin:5px 0; color:var(--muted); font-size:var(--text-secondary); line-height:1.5; white-space:pre-wrap; }
.project-linked-event-notes small { color:var(--faint); font-size:var(--text-small); }
.task-confirm { width:min(1080px,100%); margin:13px auto 0; padding:14px; border:1px solid rgba(217,185,119,.2); border-radius:11px; background:var(--accent-soft); }
.task-confirm > span { display:block; font-size:var(--text-body-sm); font-weight:650; }
.task-confirm > p { margin:5px 0 12px; color:var(--muted); font-size:var(--text-secondary); line-height:1.45; }
.task-confirm > div { display:flex; justify-content:flex-end; gap:7px; }
.danger-fill { color:#201715; border-color:rgba(211,145,138,.48); background:#d3918a; }
.danger-fill:hover { background:#dda29c; }
.undo-dismiss { width:22px; height:22px; padding:0; border:0; border-radius:50%; color:var(--faint); background:transparent; cursor:pointer; }
.undo-dismiss:hover { color:var(--ink); background:rgba(255,255,255,.06); }
.todo-undo { min-width:0; max-width:390px; display:flex; align-items:center; gap:7px; padding:6px 7px 6px 10px; border:1px solid rgba(115,142,120,.42); border-radius:8px; color:#d4dfd4; background:rgba(88,111,93,.82); box-shadow:0 5px 16px rgba(49,68,54,.16); font-size:var(--text-small); }
.todo-undo > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.todo-undo-check { width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center; border:1px solid rgba(235,244,232,.44); border-radius:50%; color:#f3f7f0; background:rgba(255,255,255,.1); font-size:var(--text-title); font-weight:700; line-height:1; }
.todo-undo .tiny-btn { min-height:22px; padding:3px 7px; color:#f0c0b9; border-color:rgba(113,50,43,.46); background:#8f4f46; }
.todo-undo .tiny-btn:hover { color:#fff2ef; background:#a45f55; }
.todo-undo .undo-dismiss { flex:0 0 20px; width:20px; height:20px; color:#c1d0c3; }
html[data-appearance="light"] .todo-undo { color:#f5f8f3; border-color:rgba(82,111,88,.38); background:rgba(123,151,127,.78); box-shadow:0 5px 16px rgba(68,88,71,.12); }
html[data-appearance="light"] .todo-undo .tiny-btn { color:#fff4f1; border-color:rgba(113,50,43,.32); background:#a76458; }
html[data-appearance="light"] .todo-undo .undo-dismiss { color:#edf3eb; }
.utility-head-actions { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:8px; flex:0 1 430px; }
.utility-head-actions .surface-undo { min-width:0; max-width:390px; flex:0 1 390px; }
.utility-head-actions .icon-btn { flex:0 0 auto; }
@keyframes inspector-in { from { opacity:0; transform:translateX(20px); } to { opacity:1; transform:none; } }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } }
.capacity-status { display:inline-flex; align-items:center; gap:7px; min-height:26px; padding:5px 9px; border:1px solid rgba(156,175,154,.2); border-radius:7px; color:var(--muted); background:rgba(156,175,154,.045); font-size:var(--text-small); font-weight:560; letter-spacing:.015em; white-space:nowrap; }
.capacity-status i { width:18px; height:3px; border-radius:3px; background:rgba(156,175,154,.55); box-shadow:0 0 7px rgba(156,175,154,.18); }
.meter-row { margin:13px 0; }
.meter-label { display:flex; justify-content:space-between; margin-bottom:6px; color:var(--muted); font-size:var(--text-secondary); }
.meter { height:4px; border-radius:4px; background:rgba(255,255,255,.055); overflow:hidden; }
.meter > i { display:block; height:100%; border-radius:4px; background:var(--meter,var(--accent)); }
.boundary-note { margin-top:17px; padding:12px; border:1px solid rgba(156,175,154,.16); border-radius:11px; background:rgba(156,175,154,.055); }
.boundary-note strong { display:block; font-size:var(--text-control); }
.boundary-note p { margin:4px 0 0; color:var(--muted); font-size:var(--text-secondary); }

.intentions-drawer { max-height:0; margin-top:0; overflow:hidden; border-color:transparent; opacity:0; visibility:hidden; transform:translateY(-7px); transition:max-height .36s ease,margin .3s ease,opacity .24s ease,transform .3s ease,border-color .3s ease,visibility 0s linear .36s; }
.intentions-drawer.open { max-height:980px; margin:0 0 13px; border-color:var(--line); opacity:1; visibility:visible; transform:none; transition:max-height .45s ease,margin .3s ease,opacity .26s ease,transform .3s ease,border-color .3s ease; }
.intentions-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 18px; border-bottom:1px solid var(--line); }
.intentions-head h2 { margin:0; font-size:18px; font-weight:580; letter-spacing:-.02em; }
.intentions-head small { display:block; margin-top:2px; color:var(--faint); font-size:var(--text-secondary); }
.intention-transfer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 18px; border-bottom:1px solid rgba(217,185,119,.16); background:var(--accent-soft); }
.intention-transfer > div { min-width:0; }
.intention-transfer span,.intention-transfer small { display:block; color:var(--faint); font-size:var(--text-small); }
.intention-transfer strong { display:block; overflow:hidden; margin:2px 0; font-size:var(--text-control); font-weight:620; text-overflow:ellipsis; white-space:nowrap; }
.intention-transfer .tiny-btn { flex:0 0 auto; color:var(--ink); border-color:rgba(217,185,119,.25); }
.intentions-capture { width:min(510px,100%); min-width:0; }
#intention-form > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
#intention-form .field { min-width:0; height:28px; }
#intention-form .primary-btn { min-height:28px; padding:4px 10px; font-size:var(--text-small); }
#intention-interpretation { display:flex; align-items:center; gap:5px; min-height:11px; margin:3px 1px 0; color:var(--faint); font-size:var(--text-support-xs); }
#intention-interpretation i { width:4px; height:4px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 2px var(--accent-soft); }
.intention-review { padding-left:16px; border-left:1px solid var(--line); }
.intention-review ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0; padding:0; list-style:none; }
.intention-review li { min-width:0; padding:8px 9px; border:1px solid rgba(255,255,255,.055); border-radius:9px; color:var(--muted); font-size:var(--text-small); line-height:1.3; }
.intention-review b { display:block; margin-bottom:3px; color:var(--faint); font-size:var(--text-support-xs); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.intentions-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.intention-column { min-width:0; padding:15px 16px 17px; border-right:1px solid var(--line); }
.intention-column:last-child { border-right:0; }
.intention-column > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:11px; }
.intention-column h3 { margin:0; color:var(--intention); font-size:15px; font-weight:600; }
.intention-column header small { display:block; margin-top:1px; color:var(--faint); font-size:var(--text-small); }
.intention-column header > span { min-width:20px; height:20px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--intention) 25%,var(--line)); border-radius:10px; color:var(--intention); font-size:var(--text-small); }
.intention-list { display:grid; gap:7px; }
.intention-item { padding:10px; border:1px solid rgba(255,255,255,.06); border-left:2px solid color-mix(in srgb,var(--intention) 68%,transparent); border-radius:10px; background:rgba(255,255,255,.015); }
.intention-copy strong { display:block; font-size:var(--text-control); font-weight:580; line-height:1.34; }
.intention-copy p { margin:6px 0 0; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.intention-actions { display:flex; align-items:center; gap:4px; margin-top:7px; }
.intention-actions .tiny-btn { padding:4px 7px; font-size:var(--text-small); }
.intention-accept { color:var(--intention); }
.intention-archive { width:21px; height:21px; margin-left:auto; padding:0; border:0; border-radius:50%; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-title); }
.intention-archive:hover { color:var(--ink); background:rgba(255,255,255,.06); }
.intention-empty { padding:16px 10px; border:1px dashed var(--line); border-radius:10px; color:var(--faint); font-size:var(--text-secondary); text-align:center; }
.intentions-foot { padding:10px 18px; border-top:1px solid var(--line); color:var(--faint); font-size:var(--text-small); text-align:center; letter-spacing:.025em; }
.idea-universe { padding:10px; }
.idea-philosophy { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 11px; border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--accent) 3%,transparent); }
.idea-philosophy strong { font-size:var(--text-secondary); font-weight:620; }
.idea-philosophy span { color:var(--muted); font-size:var(--text-small); }
.idea-lanes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:8px; }
.idea-lane { min-width:0; padding:8px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.01); }
.idea-lane > header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; padding:0 2px; }
.idea-lane > header strong { font-size:var(--text-control); font-weight:620; }
.idea-lane > header small { display:block; margin-top:1px; color:var(--faint); font-size:var(--text-support-xs); }
.idea-lane > header span { color:var(--faint); font-size:var(--text-small); }
.idea-stack { display:grid; gap:4px; }
.idea-row { --idea:#7399a3; position:relative; display:grid; grid-template-columns:4px minmax(0,1fr) auto; gap:7px; align-items:start; padding:7px 8px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.idea-row > i { width:4px; height:4px; margin-top:4px; border-radius:50%; background:var(--idea); }
.idea-row-main { min-width:0; }
.idea-row-main strong { display:block; overflow:hidden; font-size:var(--text-secondary); font-weight:600; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.idea-row-path { display:block; overflow:hidden; margin-top:2px; color:var(--faint); font-size:var(--text-label-strong); line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.idea-row-state { padding-top:1px; color:color-mix(in srgb,var(--idea) 72%,var(--muted)); font-size:var(--text-label-strong); white-space:nowrap; }
.idea-row-toggle { position:absolute; inset:0; border:0; background:transparent; cursor:pointer; }
.idea-row.expanded { grid-template-columns:4px minmax(0,1fr); background:color-mix(in srgb,var(--idea) 4%,var(--control)); }
.idea-row.expanded .idea-row-state { display:none; }
.idea-depth { grid-column:2/-1; position:relative; z-index:1; margin-top:4px; padding-top:7px; border-top:1px solid var(--line); }
.idea-depth > p { margin:0 0 6px; color:var(--muted); font-size:var(--text-small); line-height:1.45; }
.idea-depth-actions { display:flex; flex-wrap:wrap; gap:4px; }
.idea-depth-actions button { min-height:21px; padding:3px 7px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-support-xs); }
.idea-depth-actions button:hover { color:var(--ink); background:var(--control-hover); }
.idea-depth-actions .primary { color:color-mix(in srgb,var(--idea) 72%,var(--ink)); border-color:color-mix(in srgb,var(--idea) 28%,var(--line)); }
.idea-list-view { display:grid; gap:4px; margin-top:8px; }
.idea-list-view .idea-row-main strong { font-size:var(--text-control); }
.idea-context-board { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(390px,100%),1fr)); gap:9px; margin-top:8px; align-items:start; }
.idea-context-column { min-width:0; display:grid; align-content:start; gap:8px; }
.idea-context-kind { padding:1px 3px; color:var(--faint); font-size:var(--text-label-strong); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.idea-context-group { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--panel) 42%,transparent); }
.idea-context-group > header { display:flex; align-items:center; gap:7px; min-height:27px; padding:7px 9px 5px; color:var(--muted); }
.idea-context-group > header strong { color:var(--ink); font-size:var(--text-small); font-weight:670; letter-spacing:.09em; text-transform:uppercase; }
.idea-context-group > header span { color:var(--faint); font-size:var(--text-support-xs); }
.idea-context-group > header::after { content:""; height:1px; flex:1; margin-left:3px; background:var(--line); }
.idea-context-group .idea-stack { padding:0 7px 7px; }
@media (max-width:1050px) { .idea-lanes { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .idea-lanes { grid-template-columns:1fr; } .idea-philosophy { align-items:flex-start; flex-direction:column; } }
.notes-backdrop { position:fixed; inset:0; z-index:109; border:0; background:color-mix(in srgb,var(--accent) 7%,rgba(3,5,6,.67)); backdrop-filter:blur(2.5px); cursor:default; }
.notes-workspace { position:fixed; inset:0 0 0 auto; z-index:110; width:72vw; max-width:1120px; min-width:min(720px,100vw); display:grid; grid-template-rows:auto auto 1fr auto; color:var(--ink); background:#141719; border-left:1px solid rgba(255,255,255,.11); box-shadow:-34px 0 90px rgba(0,0,0,.48); }
.notes-workspace header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 20px 12px; border-bottom:1px solid var(--line); }
.notes-workspace header h2 { margin:2px 0 0; font-size:18px; font-weight:580; letter-spacing:-.02em; }
.notes-context { border-bottom:1px solid var(--line); }
.notes-workspace .notes-meta { display:flex; flex-wrap:wrap; gap:7px; padding:9px 20px; }
.notes-workspace .notes-meta span { padding:5px 8px; border-radius:8px; color:var(--muted); background:rgba(255,255,255,.035); font-size:var(--text-small); }
.record-context-panel { padding:0 20px 9px; }
.record-context-panel.editing { display:grid; grid-template-columns:minmax(190px,.36fr) minmax(0,1fr); align-items:stretch; gap:7px; }
.record-context-summary { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--panel) 84%,var(--accent) 4%); }
.record-context-summary > div:first-child { min-width:0; display:flex; align-items:center; gap:9px; }
.record-context-summary > div:last-child { flex:0 0 auto; display:flex; align-items:center; gap:6px; }
.record-context-summary span,.record-context-form label > span { color:var(--faint); font-size:var(--text-support-xs); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.record-context-summary strong { overflow:hidden; color:var(--ink); font-size:var(--text-small); font-weight:590; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.record-context-summary small { color:var(--muted); font-size:var(--text-support-xs); line-height:1.35; }
.record-context-form { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px; margin:0; padding:6px 8px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:8px; background:var(--control); }
.record-context-form label { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; }
.record-context-form .field { height:32px; min-height:32px; padding:0 9px; border-radius:7px; }
.record-context-form > div { display:flex; gap:6px; }
.record-context-panel .tiny-btn { min-height:32px; padding:5px 9px; }
.record-context-form .primary { color:color-mix(in srgb,var(--accent) 72%,var(--ink)); border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); }
.record-context-picker { position:relative; min-width:0; }
.record-context-picker > summary { min-width:0; height:32px; display:flex; align-items:center; padding:0 9px; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:var(--panel); cursor:pointer; list-style:none; }
.record-context-picker > summary::-webkit-details-marker { display:none; }
.record-context-picker > summary::after { margin-left:auto; color:var(--faint); content:"⌄"; }
.record-context-picker[open] > summary::after { transform:rotate(180deg); }
.record-context-choice-list { position:absolute; z-index:12; top:calc(100% + 4px); left:0; width:min(330px,calc(100vw - 28px)); max-height:min(360px,52vh); padding:5px; overflow:auto; border:1px solid var(--line); border-radius:10px; background:var(--panel); box-shadow:0 14px 36px rgba(18,20,18,.18); }
.record-context-choice-list > button,.record-context-choice-list section > button { width:100%; min-height:34px; display:block; padding:6px 8px; border:0; border-radius:6px; color:var(--ink); background:transparent; text-align:left; cursor:pointer; }
.record-context-choice-list button.active { background:var(--control-active); font-weight:650; }
.record-context-choice-list section { padding-top:3px; border-top:1px solid var(--line); }
.record-context-choice-list section > span { display:block; padding:4px 8px 2px; color:var(--faint); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.notes-editor { width:100%; min-height:0; padding:20px; resize:none; border:0; outline:0; color:var(--ink); background:transparent; font:400 11px/1.55 Inter,ui-sans-serif,-apple-system,sans-serif; }
.notes-editor::placeholder { color:var(--faint); }
.notes-workspace footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 26px; border-top:1px solid var(--line); color:var(--faint); font-size:var(--text-small); }
.notes-actions { display:flex; align-items:center; gap:7px; }
.notes-actions .danger { border-color:rgba(211,145,138,.3); }
.ideas-title-head { min-height:54px; padding-block:10px; }
.ideas-workflow { display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:12px; padding:9px 12px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.012); }
.ideas-secondary-tools { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.ideas-secondary-tools .horizon-filter-bar { margin-top:0; }
.notes-open { margin-left:auto; }
@media (max-width:760px) {
  .notes-workspace { width:100vw; min-width:0; }
  .notes-workspace .notes-meta { display:none; }
  .record-context-panel,.record-context-panel.editing { display:block; padding:6px 8px; }
  .record-context-panel.editing .record-context-summary { display:none; }
  .record-context-summary { min-height:44px; align-items:center; flex-direction:row; gap:7px; padding:5px 7px; }
  .record-context-summary > div:first-child { min-width:0; align-items:center; flex-direction:row; gap:7px; }
  .record-context-form { grid-template-columns:minmax(0,1fr) auto; gap:4px; padding:4px 5px; }
  .record-context-form label { display:block; min-width:0; }
  .record-context-form label > span { display:none; }
  .record-context-form .field { width:100%; height:38px; min-height:38px; }
  .record-context-form > div { justify-content:flex-end; gap:4px; }
  .record-context-panel .tiny-btn { min-height:38px !important; height:38px !important; min-width:0 !important; padding:5px 8px; font-size:14px !important; }
  .record-context-picker > summary { height:38px; min-height:38px !important; font-size:14px !important; }
  .record-context-choice-list { width:min(290px,calc(100vw - 26px)); max-height:min(380px,58vh); }
  .record-context-choice-list > button,.record-context-choice-list section > button { min-height:36px !important; font-size:13px !important; }
}
@media (max-width:1250px) { .ideas-workflow { grid-template-columns:1fr; } .ideas-secondary-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; } .ideas-secondary-tools .horizon-filter-bar { grid-column:1/-1; width:100%; } .ideas-secondary-tools .horizon-filter-bar > label:first-child { flex:1 1 auto; } .ideas-secondary-tools .horizon-filter-bar .field { width:100%; } .ideas-secondary-tools .horizon-mode-switch { grid-column:2; justify-self:end; } }
@media (max-width:760px) { .ideas-secondary-tools { align-items:stretch; flex-direction:column; } .ideas-secondary-tools .horizon-filter-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; } .ideas-secondary-tools .colour-strength { grid-column:1/-1; } .ideas-secondary-tools .horizon-mode-switch { align-self:flex-end; } }
@media (max-width:760px) { .horizon-local-header { align-items:flex-start; } .horizon-workbench,.horizon-workbench.inbox-expanded { grid-template-columns:1fr; } .horizon-time-rail { grid-template-columns:repeat(4,1fr); grid-template-rows:auto; padding:0 0 10px; border-right:0; border-bottom:1px solid var(--line); } .horizon-time-rail .label { grid-column:1/-1; } .notebook-index { grid-template-columns:1fr; } .year-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .horizon-time-rail { max-height:none; overflow:visible; } .horizon-time-rail .capture-card { max-height:340px; } .calendar-rail-heading { grid-column:1/-1; } }
@media (max-width:760px) { .calendar-view-tablist { grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); margin-right:0; } .calendar-lens-row { grid-column:2/-1; } .calendar-view-tablist > [data-planner-view="today"] { grid-column:1; } .calendar-guide-stack { grid-column:1/-1; width:100%; margin-right:0; } }
@media (max-width:760px) { .horizon-local-header { flex-wrap:wrap; } .horizon-quick-capture { order:3; flex-basis:100%; max-width:none; } }
@media (max-width:900px) { .task-edit-grid { grid-template-columns:1fr; } .task-notebook { min-height:170px; padding:18px 0 0; border-top:1px solid var(--line); border-left:0; } .task-notebook .textarea { min-height:140px; } }
@media (prefers-reduced-transparency:reduce) { .notes-backdrop { backdrop-filter:none; } }

/* Horizon Next — scalable Projects and Intentions without visual overload */
.horizon-realm { display:inline-flex; align-items:center; gap:7px; }
.horizon-realm i { min-width:18px; height:18px; display:grid; place-items:center; border-radius:10px; color:var(--faint); background:rgba(255,255,255,.055); font-size:var(--text-small); font-style:normal; }
.horizon-realm.active i { color:var(--ink); }
.horizon-realm.todos.active { border-color:rgba(209,173,112,.34); background:rgba(209,173,112,.1); }
.horizon-realm.projects.active { border-color:rgba(155,98,87,.35); background:rgba(155,98,87,.13); }
.horizon-realm.projects.active i { background:rgba(155,98,87,.18); }
.horizon-realm.families.active { border-color:rgba(181,138,95,.36); background:rgba(181,138,95,.11); }
.horizon-realm.intentions.active { border-color:rgba(115,153,163,.3); background:linear-gradient(100deg,rgba(201,167,95,.09),rgba(143,165,141,.075),rgba(115,153,163,.09)); }
.horizon-realm.collaboration.active { border-color:rgba(129,157,167,.34); background:rgba(129,157,167,.085); }

.horizon-drawer { max-height:0; margin-top:0; overflow:hidden; border-color:transparent; opacity:0; visibility:hidden; transform:translateY(-7px); transition:max-height .36s ease,margin .3s ease,opacity .24s ease,transform .3s ease,border-color .3s ease,visibility 0s linear .36s; }
.horizon-drawer.open { max-height:940px; margin:0 0 13px; border-color:var(--line); opacity:1; visibility:visible; transform:none; transition:max-height .45s ease,margin .3s ease,opacity .26s ease,transform .3s ease,border-color .3s ease; }
.horizon-drawer-head { min-height:65px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 17px; border-bottom:1px solid var(--line); }
.horizon-drawer-head > div { display:flex; align-items:center; gap:10px; min-width:0; }
.horizon-drawer-head > div:last-child { justify-content:flex-end; }
.horizon-drawer-head h2 { margin:0; font-size:18px; font-weight:580; letter-spacing:-.02em; }
.horizon-drawer-head small { display:block; margin-top:2px; overflow:hidden; color:var(--faint); font-size:var(--text-secondary); text-overflow:ellipsis; white-space:nowrap; }
.todos-drawer .horizon-drawer-head { min-height:48px; padding:8px 12px; }
.todos-drawer .horizon-drawer-head h2 { font-size:18px; }
.todos-drawer .horizon-drawer-head small { margin-top:0; font-size:var(--text-small); }
.todos-drawer .horizon-drawer-head > div:first-child { align-items:flex-start; }
.todos-drawer .realm-mark { height:24px; margin-top:1px; }
.todos-drawer .todo-group-lenses { margin-top:4px; }
.todos-drawer .horizon-drawer-head .icon-btn { width:29px; height:29px; min-height:29px; }
.horizon-title-stack { display:grid; min-width:0; }
.realm-mark { width:7px; height:31px; flex:0 0 auto; border-radius:7px; }
.realm-mark.projects { background:#9b6257; box-shadow:0 0 20px rgba(155,98,87,.12); }
.realm-mark.families { background:#b58a5f; box-shadow:0 0 20px rgba(181,138,95,.13); }
.realm-mark.intentions { background:linear-gradient(#c9a75f,#8fa58d,#7399a3); }
.realm-mark.whats-on { background:linear-gradient(180deg,#d6a054,#c56561 52%,#648ca0); box-shadow:0 0 22px rgba(197,101,97,.16); }
.realm-mark.time-zones { width:4px; height:31px; border-radius:1px; background:linear-gradient(180deg,#a9d0d4,#8074a5 52%,#d29c68); box-shadow:0 0 14px color-mix(in srgb,#8d78aa 32%,transparent); }
.realm-mark.calculator { width:4px; height:31px; border-radius:1px; background:linear-gradient(180deg,#9fd8c4,#4d8d79 55%,#d1b66d); box-shadow:0 0 14px color-mix(in srgb,#5d9b87 32%,transparent); }
.realm-mark.timer { width:4px; height:31px; border-radius:1px; background:linear-gradient(180deg,#edb379,#b95e4f 55%,#8d6ea8); box-shadow:0 0 14px color-mix(in srgb,#bd7656 32%,transparent); }
.realm-mark.shopping { width:4px; height:31px; border-radius:1px; background:linear-gradient(180deg,#a9c9bf,#6e8d86 55%,#c29b68); box-shadow:0 0 14px color-mix(in srgb,#748f88 32%,transparent); }
.realm-mark.cookbook { width:4px; height:31px; border-radius:1px; background:linear-gradient(180deg,#d8b56b,#789267 52%,#a75e50); box-shadow:0 0 14px color-mix(in srgb,#789267 32%,transparent); }
.realm-mark.collaboration { background:#819da7; box-shadow:0 0 20px rgba(129,157,167,.14); }
.realm-mark.todos { background:#d1ad70; box-shadow:0 0 20px rgba(209,173,112,.14); }
.todo-layer-capture { padding:8px 10px; border-bottom:1px solid var(--line); background:rgba(209,173,112,.035); }
.todo-layer-capture form { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,180px) 104px; gap:7px; align-items:center; }
.todo-layer-capture .field,.todo-layer-capture .select,.todo-layer-capture .primary-btn { min-height:30px; height:30px; border-radius:8px; }
.todo-layer-capture .field { min-width:0; padding:0 11px; font-size:var(--text-secondary); }
.todo-layer-capture .select { min-width:0; padding:0 25px 0 9px; font-size:var(--text-small); }
.todo-layer-capture .primary-btn { width:104px; padding:0 11px; font-size:var(--text-secondary); line-height:1; white-space:nowrap; }
.todo-category-select,.mobile-todo-categories,.mobile-project-works { display:none; }
.todo-add-mobile { display:none; }
@media (max-width:880px) { .todo-layer-capture form { grid-template-columns:minmax(0,1fr) 120px 92px; } .todo-layer-capture .primary-btn { width:92px; } }
.todo-layer-list { width:100%; display:grid; gap:3px; margin:0; padding:8px 10px 12px; }
.todo-layer-list .inbox-entry { width:100%; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:rgba(255,255,255,.018); }
.todo-layer-list .inbox-entry:hover { background:rgba(255,255,255,.035); }
.todo-layer-list .inbox-item { min-height:34px; align-items:center; padding:5px 8px; }
.todo-layer-list .inbox-copy strong { font-size:var(--text-secondary); }
.todo-layer-list .inbox-copy small { margin-top:1px; font-size:var(--text-support-xs); }
.todo-layer-list .task-dot { width:6px; height:6px; margin-top:0; }
.todo-layer-list .inbox-plan-trigger { min-width:38px; padding:3px 5px; font-size:var(--text-support-xs); }
.todo-layer-list .inbox-plan-panel { margin:0; border-width:1px 0 0; border-radius:0; }
.todos-drawer > .horizon-drawer-body { min-height:0; max-height:min(640px,66vh); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--ink) 19%,transparent) transparent; }
.history-utility { color:var(--faint); }
.history-utility:hover,.history-utility.active { color:var(--ink); background:var(--control); }
.history-drawer .horizon-drawer-head { min-height:52px; padding:9px 13px; }
.history-drawer .horizon-drawer-head h2 { font-size:18px; }
.history-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:8px 10px; border-bottom:1px solid var(--line); }
.history-tools .field { min-height:29px; height:29px; padding:0 10px; font-size:var(--text-small); }
.history-filters { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:3px; }
.history-filters button { min-height:25px; padding:3px 7px; border:1px solid transparent; border-radius:6px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-support-xs); }
.history-filters button b { margin-left:4px; color:inherit; font-size:.9em; font-weight:650; }
.history-filters button.active { color:var(--ink); border-color:var(--line); background:var(--control); }
.history-list { display:grid; gap:5px; padding:9px 10px 12px; }
.history-record { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:var(--control); }
.history-record-copy { min-width:0; }
.history-record-copy strong { display:block; overflow:hidden; font-size:var(--text-secondary); font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.history-record-copy span { display:block; margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); }
.history-record-actions { display:flex; align-items:center; gap:4px; }
.history-record-actions button { min-height:22px; padding:3px 7px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:transparent; cursor:pointer; font-size:var(--text-support-xs); }
.history-record-actions .restore { color:#78957d; border-color:color-mix(in srgb,#78957d 38%,var(--line)); }
.history-record-actions .history-remove,.history-delete-confirm .history-remove { color:#a76458; border-color:color-mix(in srgb,#a76458 38%,var(--line)); }
.history-record.confirming { grid-template-columns:minmax(0,1fr); }
.history-delete-confirm { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-end; gap:4px; padding-top:6px; border-top:1px solid color-mix(in srgb,#a76458 22%,var(--line)); }
.history-delete-confirm > span { min-width:0; margin-right:auto; }
.history-delete-confirm strong { display:block; color:var(--ink); font-size:var(--text-small); }
.history-delete-confirm small { display:block; margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); }
.history-delete-confirm button { min-height:22px; padding:3px 7px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:transparent; cursor:pointer; font-size:var(--text-support-xs); white-space:nowrap; }
.history-delete-confirm .history-remove:hover,.history-delete-confirm .history-remove:focus-visible { color:#fff3f0; background:#a76458; }
.history-empty { padding:28px 14px; color:var(--faint); font-size:var(--text-secondary); text-align:center; }
.archive-utility { color:var(--faint); }
.archive-utility:hover,.archive-utility.active { color:var(--ink); background:var(--control); }
.archive-drawer .horizon-drawer-head { min-height:52px; padding:9px 13px; }
.archive-list { display:grid; gap:7px; padding:10px; }
.archive-group { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--control) 60%,transparent); }
.archive-group > summary { min-height:52px; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:5px; padding:7px 11px; cursor:pointer; list-style:none; }
.archive-group > summary::-webkit-details-marker { display:none; }
.archive-group > summary > div { min-width:0; }
.archive-group > summary strong,.archive-group > summary small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.archive-group > summary strong { font-size:var(--text-body-sm); }
.archive-group > summary small { margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); }
.archive-group-chevron { color:var(--faint); font-size:20px; transform-origin:center; transition:transform .16s ease; }
.archive-group[open] .archive-group-chevron { transform:rotate(90deg); }
.archive-group-body { display:grid; gap:5px; padding:0 7px 7px 29px; }
.archive-zone-action { min-height:35px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 5px 5px; border-top:1px solid var(--line); color:var(--faint); font-size:var(--text-support-xs); }
.archive-zone-action .restore { min-height:28px; padding:4px 9px; border:1px solid color-mix(in srgb,#78957d 42%,var(--line)); border-radius:7px; color:#78957d; background:transparent; cursor:pointer; }
.archive-inherited { padding:7px 9px; border-radius:7px; color:var(--faint); background:color-mix(in srgb,var(--control) 72%,transparent); font-size:var(--text-support-xs); }
.archive-standalone { display:grid; gap:5px; }
.archive-standalone > header { min-height:34px; display:flex; align-items:center; gap:7px; padding:0 5px; color:var(--muted); font-size:var(--text-small); }
.archive-standalone > header span { min-width:20px; padding:2px 6px; border-radius:999px; color:var(--faint); background:var(--control); text-align:center; }
.archive-record { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; padding:11px 12px; border:1px solid var(--line); border-radius:9px; background:var(--control); }
.archive-record.nested { border-color:color-mix(in srgb,var(--line) 78%,transparent); background:color-mix(in srgb,var(--control) 78%,transparent); }
.archive-record-copy { min-width:0; display:grid; gap:3px; }
.archive-record span { color:var(--accent); font-size:var(--text-support-xs); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.archive-record strong { overflow:hidden; font-size:var(--text-body-sm); text-overflow:ellipsis; white-space:nowrap; }
.archive-record small { color:var(--faint); font-size:var(--text-support-xs); }
.archive-record .restore { min-height:28px; align-self:start; padding:4px 10px; border:1px solid color-mix(in srgb,#78957d 42%,var(--line)); border-radius:7px; color:#78957d; background:transparent; cursor:pointer; }
.archive-project-inspector { min-width:0; }
.archive-project-inspector > summary { min-width:0; display:grid; grid-template-columns:14px minmax(0,1fr); gap:5px; align-items:start; cursor:pointer; list-style:none; }
.archive-project-inspector > summary::-webkit-details-marker,.archive-work-inspector > summary::-webkit-details-marker { display:none; }
.archive-tree-chevron { color:var(--faint) !important; font-size:17px !important; font-weight:500 !important; letter-spacing:0 !important; line-height:1.05; text-transform:none !important; transform-origin:center; transition:transform .16s ease; }
.archive-project-inspector[open] > summary > .archive-tree-chevron,.archive-work-inspector[open] > summary > .archive-tree-chevron { transform:rotate(90deg); }
.archive-project-tree { display:grid; gap:3px; margin:7px 0 1px 7px; padding-left:11px; border-left:1px solid var(--line); }
.archive-work-inspector { min-width:0; border-top:1px solid color-mix(in srgb,var(--line) 76%,transparent); }
.archive-work-inspector:first-child { border-top:0; }
.archive-work-inspector > summary { min-height:32px; display:grid; grid-template-columns:12px minmax(0,1fr) auto; gap:6px; align-items:center; padding:3px 2px; cursor:pointer; list-style:none; }
.archive-work-inspector > summary strong { font-size:var(--text-small); }
.archive-work-inspector > summary small { font-size:var(--text-support-xs); white-space:nowrap; }
.archive-work-action { min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-left:17px; padding:2px 5px 5px; color:var(--faint); font-size:var(--text-support-xs); }
.archive-record .archive-work-action > span { color:var(--faint); font-size:var(--text-support-xs); font-weight:500; letter-spacing:0; text-transform:none; }
.archive-tree-restore { min-height:28px; flex:0 0 auto; padding:3px 8px; border:1px solid color-mix(in srgb,#78957d 42%,var(--line)); border-radius:7px; color:#78957d; background:transparent; font:inherit; cursor:pointer; }
.archive-work-inspector ul { display:grid; gap:1px; margin:0 0 5px 17px; padding:0; list-style:none; }
.archive-work-inspector li { min-height:32px; display:grid; grid-template-columns:5px minmax(0,1fr) auto auto; gap:7px; align-items:center; padding:2px 5px; border-radius:5px; color:var(--muted); background:color-mix(in srgb,var(--panel) 42%,transparent); }
.archive-work-inspector li > span { width:5px; height:5px; border-radius:50%; background:var(--accent); }
.archive-work-inspector li strong { font-size:var(--text-support-xs); font-weight:550; }
.archive-work-inspector li small { font-size:var(--text-label-strong); white-space:nowrap; }
.archive-tree-empty { padding:7px; color:var(--faint); font-size:var(--text-support-xs); }
@media (min-width:481px) {
  .archive-drawer.open {
    width:min(1120px,calc(100% - 24px));
    max-height:calc(100dvh - 150px);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    margin:14px auto 0;
    overflow:hidden;
    border-radius:14px;
  }
  .archive-drawer.open > :is(.horizon-drawer-head,.history-tools,.horizon-drawer-body,.intentions-foot) { width:100%; min-width:0; flex:0 0 auto; }
  .archive-drawer.open > .horizon-drawer-body { min-height:0; flex:1 1 auto; overflow:auto; }
  .archive-drawer .horizon-drawer-head { min-height:64px; padding:10px 16px; }
  .archive-drawer .horizon-drawer-head h2 { font-size:20px; }
  .archive-drawer .history-tools { padding:10px 14px; }
  .archive-drawer .history-tools .field { min-height:36px; height:36px; font-size:var(--text-secondary); }
  .archive-drawer .history-filters button { min-height:32px; padding:5px 9px; font-size:var(--text-small); }
  .archive-drawer .archive-list { gap:10px; padding:14px; }
  .archive-drawer .archive-group > summary { min-height:60px; padding:9px 14px; }
  .archive-drawer .archive-group > summary strong { font-size:16px; }
  .archive-drawer .archive-group > summary small { margin-top:3px; font-size:12px; }
  .archive-drawer .archive-group-body { gap:7px; padding:0 10px 10px 34px; }
  .archive-drawer .archive-zone-action { min-height:42px; padding:6px 8px; font-size:12px; }
  .archive-drawer .archive-record { min-height:54px; padding:7px 10px; }
  .archive-drawer .archive-record-copy { grid-template-columns:auto minmax(0,1fr); column-gap:8px; row-gap:2px; align-items:baseline; }
  .archive-drawer .archive-record-copy span { grid-column:1; }
  .archive-drawer .archive-record-copy strong { grid-column:2; }
  .archive-drawer .archive-record-copy small { grid-column:1/-1; }
  .archive-drawer .archive-record strong { font-size:15px; }
  .archive-drawer .archive-record small { font-size:12px; line-height:1.35; }
  .archive-drawer .archive-record .restore,.archive-drawer .archive-zone-action .restore { min-height:34px; padding-inline:10px; }
  .archive-drawer .intentions-foot { min-height:40px; padding:8px 14px; }
}
.archive-dialog-backdrop { position:fixed; z-index:110; inset:0; border:0; background:rgba(7,10,12,.58); backdrop-filter:blur(3px); }
.archive-dialog { position:fixed; z-index:111; top:50%; left:50%; width:min(560px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); overflow:auto; transform:translate(-50%,-50%); border:1px solid var(--line); border-radius:14px; color:var(--ink); background:var(--panel); box-shadow:0 28px 80px rgba(0,0,0,.35); }
.archive-dialog > header,.archive-dialog > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px; }
.archive-dialog > header { border-bottom:1px solid var(--line); }
.archive-dialog > footer { justify-content:flex-end; border-top:1px solid var(--line); }
.archive-dialog header span { color:var(--accent); font-size:var(--text-support-xs); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.archive-dialog h2 { margin:3px 0 0; font-size:21px; }
.archive-dialog-body { display:grid; gap:13px; padding:18px; }
.archive-dialog-body p,.archive-dialog-body ul { margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.5; }
.archive-dialog-body ul { padding-left:20px; }
.archive-dialog-body label { display:grid; gap:6px; }
.archive-dialog-body label > span { color:var(--faint); font-size:var(--text-small); }
.archive-warning { padding:9px 11px; border:1px solid color-mix(in srgb,#a76458 45%,var(--line)); border-radius:8px; color:#a76458 !important; background:color-mix(in srgb,#a76458 9%,var(--panel)); }
@media (max-width:700px) { .history-tools { grid-template-columns:1fr; } .history-record { grid-template-columns:1fr; } }
.todos-drawer > .horizon-drawer-body::-webkit-scrollbar { width:9px; }
.todos-drawer > .horizon-drawer-body::-webkit-scrollbar-track { background:color-mix(in srgb,var(--ink) 3%,transparent); }
.todos-drawer > .horizon-drawer-body::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:9px; background:color-mix(in srgb,var(--ink) 18%,transparent); background-clip:padding-box; }
.todos-drawer > .horizon-drawer-body::-webkit-scrollbar-thumb:hover { background:color-mix(in srgb,var(--ink) 29%,transparent); background-clip:padding-box; }
.todo-layer-empty { padding:42px 18px; color:var(--muted); text-align:center; }
.horizon-mode-switch { display:flex; align-items:center; gap:4px; padding:3px; border:1px solid rgba(255,255,255,.065); border-radius:11px; background:rgba(0,0,0,.12); }
.horizon-mode-switch .tiny-btn { border-color:transparent; }
.horizon-mode-switch .tiny-btn.active { color:var(--ink); border-color:rgba(255,255,255,.095); background:rgba(255,255,255,.07); }
.horizon-filter-bar { display:flex; align-items:center; gap:5px; margin-top:7px; }
.horizon-filter-bar label { min-width:0; }
.horizon-filter-bar .field { width:164px; height:26px; min-height:26px; padding:0 8px; border-radius:7px; font-size:var(--text-small); transition:width .18s ease,border-color .18s ease; }
.horizon-filter-bar .field:focus { width:215px; }
.horizon-filter-bar .select { width:105px; height:26px; min-height:26px; padding:0 22px 0 7px; border-radius:7px; background-position:calc(100% - 12px) 10px,calc(100% - 8px) 10px; background-size:4px 4px,4px 4px; font-size:var(--text-small); }
.colour-strength { display:flex; align-items:center; gap:0; padding:2px; border:1px solid rgba(255,255,255,.06); border-radius:7px; background:rgba(0,0,0,.11); }
.colour-strength .tiny-btn { padding:3px 5px; border-color:transparent; border-radius:5px; font-size:var(--text-support-xs); }
.colour-strength .tiny-btn.active { color:var(--ink); border-color:rgba(217,185,119,.24); background:var(--accent-soft); }
.horizon-drawer-body { max-height:min(610px,62vh); overflow:auto; overscroll-behavior:contain; scrollbar-color:rgba(255,255,255,.12) transparent; }
.family-drawer.open { height:calc(100dvh - 82px); max-height:none; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.family-drawer > .horizon-drawer-body { min-height:0; max-height:none; overflow:hidden; }
@media (max-width:720px) { .family-drawer.open { height:auto; max-height:940px; display:block; } .family-drawer > .horizon-drawer-body { max-height:70vh; overflow:auto; } .family-stage { height:auto; overflow:visible; } .project-spine-body { overflow:visible; } }
.horizon-empty { padding:38px 18px; color:var(--faint); font-size:var(--text-control); text-align:center; }
.collaboration-body { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr); gap:14px; padding:16px; }
.whats-on-page { padding-top:25px; }
.whats-on-surface { min-height:calc(100vh - 92px); overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--panel); box-shadow:var(--shadow); }
.whats-on-head { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 18px; border-bottom:1px solid var(--line); }
.whats-on-head > div { min-width:0; display:flex; align-items:center; gap:12px; }
.whats-on-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.whats-on-head h1 { margin:0; font-size:21px; }
.whats-on-development { padding:4px 7px; border:1px solid color-mix(in srgb,#d08f59 34%,var(--line)); border-radius:999px; color:#b87343; background:color-mix(in srgb,#d08f59 8%,transparent); font-size:var(--text-support-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.whats-on-head .eyebrow { margin:0 0 2px; color:#d08f59; font-size:var(--text-support-xs); }
.whats-on-head p { margin:3px 0 0; color:var(--faint); font-size:var(--text-secondary); }
.whats-on-shell { min-height:500px; }
.whats-on-intro { padding:clamp(14px,1.7vw,23px); background:radial-gradient(circle at 5% 2%,color-mix(in srgb,#d6a054 11%,transparent),transparent 35%),linear-gradient(145deg,color-mix(in srgb,#c56561 5%,transparent),transparent 65%); }
.whats-on-kicker,.whats-on-status { color:#d08f59; font-size:var(--text-small); font-weight:680; letter-spacing:.12em; text-transform:uppercase; }
.whats-on-intro h2 { margin:4px 0 5px; font-size:clamp(20px,1.8vw,27px); font-weight:560; letter-spacing:-.03em; line-height:1.08; }
.whats-on-intro > p { max-width:900px; margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.45; }
.whats-on-categories { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.whats-on-categories span { padding:6px 9px; border:1px solid color-mix(in srgb,#d08f59 22%,var(--line)); border-radius:999px; color:var(--muted); background:color-mix(in srgb,#d08f59 5%,transparent); font-size:var(--text-small); }
.whats-on-preview { width:100%; max-width:1180px; margin:8px auto 0; }
.whats-on-preview figcaption { display:flex; align-items:center; gap:7px; margin:0 0 6px; color:var(--faint); font-size:var(--text-small); }
.whats-on-preview figcaption::before { width:5px; height:5px; content:""; border-radius:50%; background:#d08f59; box-shadow:0 0 0 3px color-mix(in srgb,#d08f59 12%,transparent); }
.whats-on-preview-frame { overflow:hidden; border:1px solid color-mix(in srgb,#d08f59 20%,var(--line)); border-radius:10px; background:var(--control); box-shadow:0 12px 28px rgba(30,27,21,.08); }
.whats-on-preview img { width:100%; height:auto; display:block; }
.whats-on-preview .preview-dark { display:none; }
html[data-appearance="dark"] .whats-on-preview .preview-light { display:none; }
html[data-appearance="dark"] .whats-on-preview .preview-dark { display:block; }
.whats-on-preview-note { margin:10px 0 0; color:var(--faint); font-size:var(--text-small); line-height:1.5; }
.whats-on-readiness { display:grid; place-items:center; padding:clamp(28px,5vw,72px); background:linear-gradient(160deg,transparent 48%,color-mix(in srgb,#648ca0 7%,transparent)); }
.whats-on-readiness > div { width:min(100%,510px); padding:clamp(24px,3vw,38px); border:1px solid var(--line); border-radius:14px; background:var(--control); }
.whats-on-readiness h2 { margin:10px 0; font-size:clamp(21px,2.6vw,31px); font-weight:550; letter-spacing:-.035em; line-height:1.1; }
.whats-on-readiness > div > p { color:var(--muted); font-size:var(--text-control); line-height:1.55; }
.whats-on-readiness dl { display:grid; gap:0; margin:24px 0 0; }
.whats-on-readiness dl > div { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; padding:10px 0; border-top:1px solid var(--line); }
.whats-on-readiness dt { color:var(--ink); font-size:var(--text-small); font-weight:650; }
.whats-on-readiness dd { margin:0; color:var(--faint); font-size:var(--text-small); line-height:1.45; }
.whats-on-foot { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 20px; border-top:1px solid var(--line); color:var(--faint); font-size:var(--text-support-xs); letter-spacing:.035em; }
@media (max-width:760px) { .whats-on-surface { min-height:0; } .whats-on-foot { align-items:flex-start; flex-direction:column; } }
@media (min-width:761px) {
  .whats-on-surface { height:calc(100dvh - 92px); min-height:560px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
  .whats-on-shell { min-height:0; overflow:auto; }
  .whats-on-preview img { max-height:calc(100dvh - 350px); object-fit:contain; object-position:top center; }
}

/* Archive is a compact browser on the phone, not a desktop drawer stacked
   into rows. Keep its close action in the title bar and its hierarchy dense. */
@media (max-width:480px) {
  .archive-drawer,.archive-drawer :is(button,input,h2,strong,span,small) { font-family:var(--heading-font) !important; }
  .archive-drawer.open { width:100%; display:flex; flex-direction:column; align-items:stretch; height:auto; max-height:calc(100dvh - 76px); margin:0; border-radius:12px; }
  .archive-drawer.open > :is(.horizon-drawer-head,.history-tools,.horizon-drawer-body,.intentions-foot) { width:100%; min-width:0; flex:0 0 auto; }
  .archive-drawer.open > .horizon-drawer-body { min-height:0; flex:1 1 auto; overflow:auto; }
  .archive-drawer > .horizon-drawer-head {
    min-height:50px; display:flex; align-items:center; gap:7px; padding:2px 8px;
  }
  .archive-drawer > .horizon-drawer-head > div:first-child { min-width:0; flex:1 1 auto; align-items:center; gap:7px; }
  .archive-drawer > .horizon-drawer-head > div:last-child { flex:0 0 auto; }
  .archive-drawer .horizon-drawer-head .realm-mark { width:5px; height:28px; }
  .archive-drawer .horizon-drawer-head h2 { font-size:18px; font-weight:600; line-height:1; }
  .archive-drawer .horizon-drawer-head small { display:none; }
  .archive-drawer .horizon-drawer-head .icon-btn { width:44px; min-width:44px; height:44px; min-height:44px; }
  .archive-drawer .history-tools { gap:4px; padding:5px 7px 6px; }
  .archive-drawer .history-tools .field { width:100%; height:44px; min-height:44px; padding-inline:11px; }
  .archive-drawer .history-filters { flex-wrap:nowrap; justify-content:flex-start; gap:2px; overflow-x:auto; scrollbar-width:none; }
  .archive-drawer .history-filters::-webkit-scrollbar { display:none; }
  .archive-drawer .history-filters button { min-height:36px; flex:0 0 auto; padding:6px 9px; font-size:13px; }
  .archive-drawer .archive-list { gap:5px; padding:6px 7px 8px; }
  .archive-drawer .archive-group > summary { min-height:50px; padding:5px 8px; }
  .archive-drawer .archive-group > summary strong { font-size:15px; }
  .archive-drawer .archive-group > summary small { font-size:11px; }
  .archive-drawer .archive-group-body { gap:4px; padding:0 5px 5px 23px; }
  .archive-drawer .archive-zone-action { min-height:40px; }
  .archive-drawer .archive-zone-action .restore { min-height:34px; padding-inline:8px; font-size:11px; }
  .archive-drawer .archive-record { min-height:50px; gap:6px; padding:4px 6px; border-radius:8px; }
  .archive-drawer .archive-record-copy { grid-template-columns:auto minmax(0,1fr); column-gap:6px; row-gap:1px; align-items:baseline; }
  .archive-drawer .archive-record-copy span { grid-column:1; }
  .archive-drawer .archive-record-copy strong { grid-column:2; }
  .archive-drawer .archive-record-copy small { grid-column:1/-1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .archive-drawer .archive-project-inspector > summary { grid-template-columns:12px minmax(0,1fr); gap:3px; }
  .archive-drawer .archive-project-tree { margin-top:4px; margin-left:5px; padding-left:8px; }
  .archive-drawer .archive-work-inspector > summary { min-height:30px; }
  .archive-drawer .archive-work-action { min-height:38px; align-items:center; flex-direction:row; margin-left:12px; }
  .archive-drawer .archive-work-action > span { min-width:0; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  .archive-drawer .archive-work-action .archive-tree-restore { width:auto; min-height:34px; padding-inline:8px; font-size:11px; }
  .archive-drawer .archive-work-inspector ul { margin-left:12px; }
  .archive-drawer .archive-work-inspector li { min-height:38px; grid-template-columns:5px minmax(0,1fr) auto; }
  .archive-drawer .archive-work-inspector li small { display:none; }
  .archive-drawer .archive-work-inspector li .archive-tree-restore { min-height:34px; padding-inline:8px; font-size:11px; }
  .archive-drawer .archive-record span { font-size:10px; }
  .archive-drawer .archive-record strong { font-size:14px; }
  .archive-drawer .archive-record small { font-size:11px; line-height:1.25; }
  .archive-drawer .archive-record .restore { min-height:34px; padding-inline:7px; font-size:11px; }
  .archive-drawer .intentions-foot { min-height:34px; padding:5px 8px; font-size:11px; }
}

.time-zones-page { padding-top:6px; }
.time-zones-surface { overflow:hidden; border:1px solid color-mix(in srgb,#8d78aa 23%,var(--line)); border-radius:9px; background:linear-gradient(color-mix(in srgb,#8d78aa 2.8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,#8d78aa 2.8%,transparent) 1px,transparent 1px),var(--panel); background-size:22px 22px; box-shadow:0 12px 34px rgba(24,20,38,.08); }
.time-zones-head { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:5px 13px 5px 15px; border-bottom:1px solid color-mix(in srgb,#8d78aa 18%,var(--line)); background:color-mix(in srgb,var(--panel) 94%,#8d78aa); }
.time-zones-head > div { min-width:0; display:flex; align-items:center; gap:9px; }
.time-zones-head h1 { margin:0; font-size:17px; font-weight:620; letter-spacing:-.02em; }
.time-zones-head .eyebrow { margin:0 0 1px; color:#8d78aa; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; letter-spacing:.15em; }
.time-zones-head p { margin:2px 0 0; color:var(--faint); font-size:var(--text-support); }
.time-zones-head .icon-btn { width:29px; height:29px; border-radius:6px; }
.time-zones-console { display:grid; grid-template-columns:minmax(310px,.9fr) minmax(0,1.7fr); border-bottom:1px solid color-mix(in srgb,#8d78aa 17%,var(--line)); background:color-mix(in srgb,var(--panel) 97%,#8d78aa); }
.time-zones-controls { padding:6px 9px; border-right:1px solid color-mix(in srgb,#8d78aa 17%,var(--line)); }
.time-zones-mode { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding:3px; border:1px solid color-mix(in srgb,#8d78aa 18%,var(--line)); border-radius:5px; background:color-mix(in srgb,var(--control) 72%,transparent); }
.time-zones-mode button { min-height:20px; padding:2px 7px; border:1px solid transparent; border-radius:3px; color:var(--faint); background:transparent; cursor:pointer; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label-strong); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.time-zones-mode button.active { color:color-mix(in srgb,#8d78aa 72%,var(--ink)); border-color:color-mix(in srgb,#8d78aa 30%,var(--line)); background:color-mix(in srgb,#8d78aa 10%,var(--panel)); }
.time-zones-controls form { margin-top:5px; }
.time-zones-controls form[data-time-zones-plan] { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(96px,.8fr) 78px; gap:5px; }
.time-zones-controls label { min-width:0; display:grid; gap:3px; }
.time-zones-controls label > span { color:color-mix(in srgb,#8d78aa 62%,var(--faint)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-micro); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.time-zones-controls .field,.time-zones-controls .select { width:100%; min-width:0; height:23px; min-height:23px; padding:3px 7px; border-color:color-mix(in srgb,#8d78aa 17%,var(--line)); border-radius:4px; background:color-mix(in srgb,var(--control) 76%,transparent); font-size:var(--text-support); }
.time-zones-controls .field:focus,.time-zones-controls .select:focus { border-color:color-mix(in srgb,#8d78aa 66%,var(--line)); box-shadow:0 0 0 2px color-mix(in srgb,#8d78aa 12%,transparent); outline:0; }
.time-zones-controls :disabled { opacity:.46; cursor:not-allowed; }
.time-zones-controls form[data-time-zones-plan] .field:disabled { color:color-mix(in srgb,var(--ink) 76%,var(--muted)); border-color:color-mix(in srgb,var(--accent) 20%,var(--line)); background:color-mix(in srgb,var(--panel) 88%,var(--accent-soft)); opacity:.82; -webkit-text-fill-color:color-mix(in srgb,var(--ink) 76%,var(--muted)); }
.time-zones-controls form[data-time-zones-plan] label:has(.field:disabled) > span { color:color-mix(in srgb,var(--accent) 72%,var(--ink)); font-weight:750; }
.time-zones-add { display:grid; grid-template-columns:minmax(0,1fr) 70px; gap:5px; align-items:end; }
.time-zones-add .soft-btn { min-height:23px; height:23px; padding:3px 7px; border-radius:4px; font-size:var(--text-label-strong); }
.time-zones-moment { min-width:0; display:grid; grid-template-columns:56px minmax(180px,1.6fr) minmax(120px,.8fr); align-items:stretch; }
.time-zones-step { display:grid; align-content:center; gap:3px; padding:9px; border-right:1px solid color-mix(in srgb,#8d78aa 13%,var(--line)); }
.time-zones-step button { min-height:21px; padding:3px 4px; border:1px solid color-mix(in srgb,#8d78aa 18%,var(--line)); border-radius:3px; color:var(--muted); background:color-mix(in srgb,var(--control) 75%,transparent); cursor:pointer; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); }
.time-zones-step button:hover { color:var(--ink); border-color:color-mix(in srgb,#8d78aa 52%,var(--line)); }
.time-zones-primary,.time-zones-stat { min-width:0; display:grid; align-content:center; padding:6px 10px; border-right:1px solid color-mix(in srgb,#8d78aa 13%,var(--line)); }
.time-zones-primary > span,.time-zones-stat > span { color:#8d78aa; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-micro); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.time-zones-primary strong { margin:3px 0 2px; font-family:var(--heading-font); font-size:28px; font-weight:620; letter-spacing:-.025em; line-height:1; font-variant-numeric:tabular-nums; }
.time-zones-primary small,.time-zones-stat small { overflow:hidden; color:var(--faint); font-size:var(--text-label); line-height:1.35; text-overflow:ellipsis; }
.time-zones-stat strong { margin:5px 0 3px; color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:21px; font-weight:590; line-height:1; font-variant-numeric:tabular-nums; }
.time-zones-stat strong i { color:var(--faint); font-size:var(--text-body-sm); font-style:normal; font-weight:500; }
.time-zones-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:6px; }
.time-zone-card { position:relative; min-width:0; padding:7px 10px 6px; overflow:hidden; border:1px solid color-mix(in srgb,#8d78aa 15%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--panel) 95%,#8d78aa); box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 24%,transparent); }
.time-zone-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:#667888; }
.time-zone-card.work::before { background:#789b7d; }
.time-zone-card.edge::before { background:#c0955a; }
.time-zone-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.time-zone-card > header span { display:block; color:color-mix(in srgb,#8d78aa 60%,var(--faint)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-micro); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.time-zone-card > header h2 { margin:3px 0 0; font-size:var(--text-body); font-weight:620; letter-spacing:-.012em; }
.time-zone-card > header button { width:18px; height:18px; padding:0; border:1px solid transparent; border-radius:3px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-control); line-height:1; }
.time-zone-card > header button:hover { color:var(--ink); border-color:var(--line); background:var(--control); }
.time-zone-card > header button:disabled { opacity:.18; cursor:default; }
.time-zone-clock-reading { display:grid; justify-items:center; margin-top:4px; }
.time-zone-clock { position:relative; width:82px; height:82px; border:1.5px solid color-mix(in srgb,var(--accent) 42%,var(--line)); border-radius:50%; background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 5%,var(--panel)) 0 57%,transparent 58%),repeating-conic-gradient(from -1deg,color-mix(in srgb,var(--ink) 58%,transparent) 0 2deg,transparent 2deg 30deg),var(--panel); box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--panel) 82%,transparent),0 5px 14px rgba(41,34,58,.08); }
.time-zone-clock::after { content:""; position:absolute; inset:8px; border:1px solid color-mix(in srgb,var(--accent) 18%,transparent); border-radius:50%; }
.clock-number { position:absolute; z-index:1; color:color-mix(in srgb,var(--ink) 72%,var(--muted)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-support-xs); font-weight:760; line-height:1; }
.clock-number.twelve { top:8px; left:50%; transform:translateX(-50%); }
.clock-number.three { top:50%; right:9px; transform:translateY(-50%); }
.clock-number.six { bottom:8px; left:50%; transform:translateX(-50%); }
.clock-number.nine { top:50%; left:9px; transform:translateY(-50%); }
.clock-hand { position:absolute; z-index:2; left:50%; bottom:50%; width:3px; border-radius:3px; background:var(--ink); transform-origin:50% 100%; }
.clock-hand.hour { height:21px; transform:translateX(-50%) rotate(var(--hour-angle)); }
.clock-hand.minute { width:2px; height:29px; background:color-mix(in srgb,var(--accent) 78%,var(--ink)); transform:translateX(-50%) rotate(var(--minute-angle)); }
.clock-pin { position:absolute; z-index:3; left:50%; top:50%; width:6px; height:6px; border:1px solid var(--panel); border-radius:50%; background:#8d78aa; transform:translate(-50%,-50%); box-shadow:0 0 0 1px color-mix(in srgb,#8d78aa 35%,transparent); }
.time-zone-digital { display:grid; justify-items:center; gap:2px; margin-top:4px; }
.time-zone-digital strong { font-family:var(--heading-font); font-size:17px; font-weight:620; letter-spacing:-.015em; line-height:1; font-variant-numeric:tabular-nums; }
.time-zone-digital span { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label-strong); }
.time-zone-meta { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:5px; margin-top:5px; color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); }
.time-zone-meta > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.time-zone-meta > span:not(.day-relation) { color:color-mix(in srgb,var(--accent) 72%,var(--ink)); font-weight:720; }
.time-zone-meta .day-relation { padding:2px 4px; border:1px solid var(--line); border-radius:3px; }
.time-zone-meta .day-relation.shifted { color:#c0955a; border-color:color-mix(in srgb,#c0955a 36%,var(--line)); background:color-mix(in srgb,#c0955a 6%,transparent); }
.time-zone-track { height:20px; display:grid; grid-template-columns:repeat(24,1fr); gap:1px; align-items:end; margin-top:8px; padding:3px; border:1px solid color-mix(in srgb,var(--accent) 13%,var(--line)); border-radius:3px; background:color-mix(in srgb,var(--accent-soft) 24%,var(--control)); }
.time-zone-track i { height:5px; border-radius:1px; background:color-mix(in srgb,var(--ink) 12%,transparent); }
.time-zone-track i.work { height:9px; background:color-mix(in srgb,var(--accent) 25%,var(--panel)); }
.time-zone-track i.active { height:14px; background:color-mix(in srgb,var(--accent) 54%,#e2bb97); box-shadow:0 0 5px color-mix(in srgb,var(--accent) 30%,transparent); }
.time-zone-hours { display:grid; grid-template-columns:repeat(4,1fr); margin-top:3px; color:color-mix(in srgb,var(--ink) 68%,var(--muted)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; font-variant-numeric:tabular-nums; }
.time-zone-hours span:nth-child(2),.time-zone-hours span:nth-child(3) { text-align:center; }
.time-zone-hours span:last-child { text-align:right; }
.time-zone-card > footer { display:flex; align-items:center; gap:6px; margin-top:6px; color:color-mix(in srgb,var(--ink) 58%,var(--muted)); font-size:var(--text-label); font-weight:560; }
.time-zone-card > footer i { width:6px; height:6px; border-radius:50%; background:color-mix(in srgb,var(--accent) 62%,#b67c55); }
.time-zone-card.work > footer i { background:color-mix(in srgb,var(--accent) 68%,#c88b5b); box-shadow:0 0 6px color-mix(in srgb,var(--accent) 40%,transparent); }
.time-zone-card.edge > footer i { background:color-mix(in srgb,var(--accent) 54%,#d09a5b); }
.time-zones-foot { min-height:25px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:5px 10px; border-top:1px solid color-mix(in srgb,#8d78aa 16%,var(--line)); color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.045em; text-transform:uppercase; }
@media (max-width:1040px) { .time-zones-console { grid-template-columns:1fr; } .time-zones-controls { border-right:0; border-bottom:1px solid var(--line); } .time-zones-board { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .time-zones-console { display:block; } .time-zones-controls form[data-time-zones-plan] { grid-template-columns:1fr 1fr; } .time-zones-controls form[data-time-zones-plan] label:first-child { grid-column:1/-1; } .time-zones-moment { grid-template-columns:52px 1fr 1fr; } .time-zones-board { grid-template-columns:1fr; padding:6px; gap:6px; } .time-zones-foot { align-items:flex-start; flex-direction:column; } }
.calculator-page { padding-top:17px; }
.calculator-surface { width:min(100%,470px); margin:0 auto; overflow:hidden; border:1px solid color-mix(in srgb,#5d9b87 25%,var(--line)); border-radius:9px; background:linear-gradient(color-mix(in srgb,#5d9b87 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,#5d9b87 3%,transparent) 1px,transparent 1px),var(--panel); background-size:20px 20px; box-shadow:0 14px 38px rgba(18,34,29,.09); }
.calculator-head { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 13px 10px 15px; border-bottom:1px solid color-mix(in srgb,#5d9b87 19%,var(--line)); }
.calculator-head > div { display:flex; align-items:center; gap:9px; }
.calculator-head h1 { margin:0; font-size:17px; font-weight:620; }
.calculator-head .eyebrow { margin:0 0 1px; color:#5d9b87; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; letter-spacing:.15em; }
.calculator-head p { margin:2px 0 0; color:var(--faint); font-size:var(--text-support); }
.calculator-body { display:grid; grid-template-columns:minmax(280px,1fr) minmax(190px,.64fr); }
.calculator-machine { padding:12px; border-right:1px solid color-mix(in srgb,#5d9b87 17%,var(--line)); }
.calculator-readout { min-height:88px; display:grid; align-content:end; justify-items:end; padding:12px 14px; border:1px solid color-mix(in srgb,#5d9b87 22%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--control) 82%,#5d9b87); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.calculator-readout small { max-width:100%; overflow:hidden; color:var(--faint); font-size:var(--text-small); text-overflow:ellipsis; white-space:nowrap; }
.calculator-readout strong { max-width:100%; overflow:hidden; margin-top:5px; font-size:29px; font-weight:540; letter-spacing:-.05em; text-overflow:ellipsis; }
.calculator-keys { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:7px; }
.calculator-keys button { min-height:42px; border:1px solid color-mix(in srgb,#5d9b87 15%,var(--line)); border-radius:5px; color:var(--ink); background:color-mix(in srgb,var(--control) 88%,transparent); cursor:pointer; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-body); }
.calculator-keys button:hover,.calculator-keys button:focus-visible { border-color:color-mix(in srgb,#5d9b87 58%,var(--line)); background:color-mix(in srgb,#5d9b87 9%,var(--control)); outline:0; }
.calculator-keys .operator { color:color-mix(in srgb,#5d9b87 72%,var(--ink)); }
.calculator-keys .equals { color:var(--paper); border-color:#5d9b87; background:#5d9b87; }
.calculator-history { min-width:0; padding:12px; background:color-mix(in srgb,var(--panel) 96%,#5d9b87); }
.calculator-history header { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label-strong); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.calculator-history header button { border:0; color:var(--faint); background:transparent; cursor:pointer; font:inherit; }
.calculator-history > button { width:100%; display:grid; gap:2px; padding:8px 0; border:0; border-bottom:1px solid var(--line); color:var(--ink); background:transparent; cursor:pointer; text-align:right; }
.calculator-history > button span { overflow:hidden; color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-support-xs); text-overflow:ellipsis; white-space:nowrap; }
.calculator-history > button strong { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-body-sm); font-weight:560; }
.calculator-history > p { margin:20px 0; color:var(--faint); font-size:var(--text-small); text-align:center; }
.calculator-foot { min-height:29px; display:flex; justify-content:space-between; gap:12px; padding:7px 12px; border-top:1px solid color-mix(in srgb,#5d9b87 17%,var(--line)); color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:650px) { .calculator-body { grid-template-columns:1fr; } .calculator-machine { border-right:0; border-bottom:1px solid var(--line); } .calculator-history { min-height:90px; } .calculator-foot { flex-direction:column; } }
.timer-page { padding-top:17px; }
.timer-surface { max-width:760px; margin:0 auto; overflow:hidden; border:1px solid color-mix(in srgb,#bd7656 25%,var(--line)); border-radius:9px; background:linear-gradient(color-mix(in srgb,#bd7656 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,#bd7656 3%,transparent) 1px,transparent 1px),var(--panel); background-size:20px 20px; box-shadow:0 14px 38px rgba(45,25,18,.09); }
.timer-head { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 13px 10px 15px; border-bottom:1px solid color-mix(in srgb,#bd7656 19%,var(--line)); }
.timer-head > div { display:flex; align-items:center; gap:9px; }
.timer-head h1 { margin:0; font-size:17px; font-weight:620; }
.timer-head .eyebrow { margin:0 0 1px; color:#bd7656; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; letter-spacing:.15em; }
.timer-head p { margin:2px 0 0; color:var(--faint); font-size:var(--text-support); }
.reminder-timer-tabs { display:grid; grid-template-columns:repeat(2,1fr); gap:4px; padding:7px 12px; border-bottom:1px solid color-mix(in srgb,#bd7656 17%,var(--line)); background:color-mix(in srgb,#bd7656 2%,var(--panel)); }
.reminder-timer-tabs button { min-height:28px; border:1px solid transparent; border-radius:5px; color:var(--faint); background:transparent; cursor:pointer; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-support-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.reminder-timer-tabs button.active { color:color-mix(in srgb,#bd7656 74%,var(--ink)); border-color:color-mix(in srgb,#bd7656 31%,var(--line)); background:color-mix(in srgb,#bd7656 8%,transparent); }
.reminder-body { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(320px,1.18fr); min-height:320px; }
.reminder-create { padding:14px; border-right:1px solid color-mix(in srgb,#bd7656 17%,var(--line)); background:linear-gradient(145deg,color-mix(in srgb,#bd7656 5%,transparent),transparent 58%); }
.reminder-kicker { color:#bd7656; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.reminder-create form { display:grid; gap:8px; margin-top:11px; }
.reminder-create form > div { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.reminder-create label { display:grid; gap:4px; }
.reminder-create label span { color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.06em; text-transform:uppercase; }
.reminder-create input,.reminder-create button { height:36px; padding:7px 9px; border:1px solid color-mix(in srgb,#bd7656 22%,var(--line)); border-radius:5px; color:var(--ink); background:var(--control); font-size:var(--text-small); }
.reminder-create button { color:var(--paper); border-color:#bd7656; background:#bd7656; cursor:pointer; font-weight:700; }
.reminder-create p { margin:13px 0 0; color:var(--faint); font-size:var(--text-support-xs); line-height:1.5; }
.reminder-list { min-width:0; padding:12px 14px; }
.reminder-list > header { display:flex; align-items:center; justify-content:space-between; padding-bottom:8px; border-bottom:1px solid var(--line); color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label-strong); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.reminder-list > header b { min-width:20px; padding:2px 5px; border:1px solid var(--line); border-radius:999px; color:var(--muted); text-align:center; }
.reminder-list > div { display:grid; max-height:290px; overflow:auto; }
.reminder-item { display:grid; grid-template-columns:7px minmax(0,1fr) 26px; align-items:center; gap:8px; min-height:48px; border-bottom:1px solid var(--line); }
.reminder-item > i { width:6px; height:6px; border-radius:50%; background:#bd7656; box-shadow:0 0 0 3px color-mix(in srgb,#bd7656 10%,transparent); }
.reminder-item strong,.reminder-item span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reminder-item strong { font-size:var(--text-secondary); font-weight:590; }
.reminder-item span { margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); }
.reminder-item button { width:26px; height:26px; padding:0; border:0; color:var(--faint); background:transparent; cursor:pointer; }
.reminder-item.fired { opacity:.58; }
.reminder-item.fired > i { background:var(--faint); box-shadow:none; }
.reminder-empty { margin:30px 0; color:var(--faint); font-size:var(--text-small); text-align:center; }
.timer-body { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr); min-height:320px; }
.timer-dial { display:grid; place-items:center; padding:16px; border-right:1px solid color-mix(in srgb,#bd7656 17%,var(--line)); background:radial-gradient(circle,color-mix(in srgb,#bd7656 7%,transparent),transparent 62%); }
.timer-dial::before { content:""; grid-area:1/1; width:min(214px,76vw); aspect-ratio:1; border-radius:50%; background:conic-gradient(#bd7656 calc((1 - var(--timer-progress)) * 1turn),color-mix(in srgb,#bd7656 12%,var(--line)) 0); -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 0); mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 0); }
.timer-dial > div { grid-area:1/1; z-index:1; display:grid; justify-items:center; }
.timer-dial span,.timer-dial small { color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label-strong); letter-spacing:.1em; text-transform:uppercase; }
.timer-dial strong { margin:8px 0 6px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:38px; font-weight:520; letter-spacing:-.07em; font-variant-numeric:tabular-nums; }
.timer-console { padding:12px 14px; }
.timer-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.timer-presets button,.timer-actions button,.timer-console form button { min-height:34px; border:1px solid color-mix(in srgb,#bd7656 20%,var(--line)); border-radius:5px; color:var(--muted); background:color-mix(in srgb,var(--control) 84%,transparent); cursor:pointer; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-support-xs); }
.timer-console form { display:grid; grid-template-columns:repeat(3,1fr) 54px; gap:5px; align-items:end; margin-top:14px; }
.timer-console label { display:grid; gap:4px; }
.timer-console label span { color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); text-transform:uppercase; }
.timer-console input { width:100%; height:34px; padding:6px 8px; border:1px solid color-mix(in srgb,#bd7656 20%,var(--line)); border-radius:5px; color:var(--ink); background:var(--control); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.timer-actions { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:5px; margin-top:14px; }
.timer-actions .primary { color:var(--paper); border-color:#bd7656; background:#bd7656; }
.timer-note { margin:14px 0 0; color:var(--faint); font-size:var(--text-support-xs); line-height:1.5; }
.timer-foot { min-height:29px; display:flex; justify-content:space-between; gap:12px; padding:7px 12px; border-top:1px solid color-mix(in srgb,#bd7656 17%,var(--line)); color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.04em; text-transform:uppercase; }
.reminders-mobile-title,.reminder-set-mobile { display:none; }
@media (max-width:680px) { .timer-body,.reminder-body { grid-template-columns:1fr; } .timer-dial,.reminder-create { border-right:0; border-bottom:1px solid var(--line); } .timer-console form { grid-template-columns:repeat(3,1fr); } .timer-console form button { grid-column:1/-1; } .timer-foot { flex-direction:column; } }
.shopping-page { padding-top:17px; }
.shopping-surface { width:min(100%,760px); margin:0 auto; overflow:hidden; border:1px solid color-mix(in srgb,#748f88 25%,var(--line)); border-radius:9px; background:var(--panel); box-shadow:0 14px 38px rgba(24,38,35,.08); }
.shopping-head { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 13px 10px 15px; border-bottom:1px solid color-mix(in srgb,#748f88 19%,var(--line)); }
.shopping-head > div { display:flex; align-items:center; gap:9px; }
.shopping-head h1 { margin:0; font-size:18px; font-weight:620; }
.shopping-head .eyebrow { margin:0 0 1px; color:#748f88; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.shopping-head p { margin:2px 0 0; color:var(--faint); font-size:var(--text-support); }
.shopping-console { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:14px; padding:12px 14px; border-bottom:1px solid var(--line); background:color-mix(in srgb,#748f88 3%,var(--panel)); }
.shopping-console form { display:grid; grid-template-columns:minmax(220px,1fr) 120px 58px; align-items:end; gap:6px; }
.shopping-console label { display:grid; gap:4px; }
.shopping-console label span { color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.08em; text-transform:uppercase; }
.shopping-console input,.shopping-console select,.shopping-console form button { height:34px; padding:6px 9px; border:1px solid color-mix(in srgb,#748f88 24%,var(--line)); border-radius:5px; color:var(--ink); background:var(--control); font-size:var(--text-small); }
.shopping-console form button { color:var(--paper); border-color:#748f88; background:#748f88; cursor:pointer; font-weight:700; }
.shopping-status { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.shopping-status span { color:var(--faint); font-size:var(--text-support-xs); }
.shopping-status strong { color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-title); font-weight:560; }
.shopping-status button { min-height:30px; border:1px solid var(--line); border-radius:5px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-support-xs); }
.shopping-status button:disabled { cursor:not-allowed; opacity:.42; }
.shopping-notebook { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:max(330px,calc(100vh - 300px)); }
.shopping-section { min-width:0; padding:13px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.shopping-section:nth-child(2n) { border-right:0; }
.shopping-section:nth-last-child(-n+2) { border-bottom:0; }
.shopping-section > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.shopping-section h2 { margin:0; color:color-mix(in srgb,#748f88 72%,var(--ink)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-support-xs); font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.shopping-section header span { min-width:18px; padding:2px 5px; border:1px solid var(--line); border-radius:999px; color:var(--faint); font:6px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; }
.shopping-section-add { display:grid; grid-template-columns:minmax(0,1fr) 27px; gap:5px; margin-bottom:8px; }
.shopping-section-add input,.shopping-section-add button { width:100%; height:27px; padding:4px 7px; border:1px solid color-mix(in srgb,#748f88 19%,var(--line)); border-radius:4px; color:var(--ink); background:color-mix(in srgb,var(--control) 78%,transparent); font-size:var(--text-support); }
.shopping-section-add button { padding:0; color:color-mix(in srgb,#748f88 76%,var(--ink)); cursor:pointer; font-size:var(--text-title); font-weight:650; }
.shopping-section-add input:focus,.shopping-section-add button:focus-visible { border-color:color-mix(in srgb,#748f88 55%,var(--line)); box-shadow:0 0 0 2px color-mix(in srgb,#748f88 11%,transparent); outline:0; }
.shopping-section > div { display:grid; gap:3px; }
.shopping-section > div > p { margin:10px 0; color:var(--faint); font-size:var(--text-support-xs); }
.shopping-item { display:grid; grid-template-columns:minmax(0,1fr) 23px; align-items:center; gap:6px; min-height:31px; padding:3px 3px 3px 6px; border:1px solid transparent; border-radius:5px; }
.shopping-item:hover,.shopping-item:focus-within { border-color:var(--line); background:var(--control); }
.shopping-item label { display:grid; grid-template-columns:15px minmax(0,1fr); align-items:center; gap:7px; min-width:0; cursor:pointer; }
.shopping-item input { margin:0; accent-color:#748f88; }
.shopping-item span { overflow:hidden; font-size:var(--text-small); text-overflow:ellipsis; white-space:nowrap; }
.shopping-item.done span { color:var(--faint); text-decoration:line-through; text-decoration-thickness:1px; }
.shopping-item button { width:23px; height:23px; padding:0; border:0; color:var(--faint); background:transparent; cursor:pointer; }
.shopping-foot { min-height:29px; display:flex; justify-content:space-between; gap:12px; padding:7px 12px; border-top:1px solid color-mix(in srgb,#748f88 17%,var(--line)); color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:700px) { .shopping-console { grid-template-columns:1fr; } .shopping-console form { grid-template-columns:1fr 100px 54px; } .shopping-notebook { grid-template-columns:1fr; } .shopping-section { border-right:0; } .shopping-section:nth-last-child(-n+2) { border-bottom:1px solid var(--line); } .shopping-section:last-child { border-bottom:0; } .shopping-foot { flex-direction:column; } }
.cookbook-page { padding-top:17px; }
.cookbook-surface { overflow:hidden; border:1px solid color-mix(in srgb,#789267 24%,var(--line)); border-radius:9px; background:var(--panel); box-shadow:0 14px 40px rgba(34,42,28,.08); }
.cookbook-head { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 14px 11px 16px; border-bottom:1px solid color-mix(in srgb,#789267 19%,var(--line)); background:linear-gradient(110deg,color-mix(in srgb,#789267 6%,var(--panel)),var(--panel) 55%); }
.cookbook-head > div { display:flex; align-items:center; gap:10px; }
.cookbook-head h1 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:20px; font-weight:520; letter-spacing:-.025em; }
.cookbook-head .eyebrow { margin:0 0 2px; color:#789267; font-size:var(--text-label); font-weight:750; letter-spacing:.16em; text-transform:uppercase; }
.cookbook-head p { margin:2px 0 0; color:var(--faint); font-size:var(--text-support); }
.cookbook-toolbar { display:flex; align-items:end; justify-content:space-between; gap:14px; padding:9px 13px; border-bottom:1px solid var(--line); }
.cookbook-toolbar nav { display:flex; gap:4px; }
.cookbook-toolbar nav button { min-height:25px; padding:4px 9px; border:1px solid transparent; border-radius:4px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-support-xs); }
.cookbook-toolbar nav button.active { color:color-mix(in srgb,#789267 70%,var(--ink)); border-color:color-mix(in srgb,#789267 28%,var(--line)); background:color-mix(in srgb,#789267 8%,transparent); }
.cookbook-search { width:min(260px,36vw); display:grid; gap:3px; }
.cookbook-search span { color:var(--faint); font-size:var(--text-micro); letter-spacing:.08em; text-transform:uppercase; }
.cookbook-search input { height:27px; padding:5px 8px; border:1px solid color-mix(in srgb,#789267 18%,var(--line)); border-radius:4px; color:var(--ink); background:var(--control); font-size:var(--text-support); }
.cookbook-body { display:grid; grid-template-columns:180px minmax(0,1fr); min-height:430px; }
.cookbook-spine { display:grid; align-content:start; gap:4px; padding:14px 11px; border-right:1px solid color-mix(in srgb,#789267 17%,var(--line)); background:color-mix(in srgb,#789267 3%,var(--panel)); }
.cookbook-spine > span { margin:0 5px 6px; color:#789267; font-size:var(--text-label); font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.cookbook-spine button { min-height:29px; padding:6px 8px; border:1px solid transparent; border-radius:4px; color:var(--faint); background:transparent; text-align:left; font-size:var(--text-support); }
.cookbook-spine button.active { color:var(--ink); border-color:color-mix(in srgb,#789267 22%,var(--line)); background:color-mix(in srgb,#789267 8%,transparent); }
.cookbook-spine small { margin:12px 5px; color:var(--faint); font-size:var(--text-label); line-height:1.5; }
.cookbook-welcome { display:grid; align-content:center; justify-items:start; max-width:820px; padding:34px 42px; background:radial-gradient(circle at 78% 26%,color-mix(in srgb,#789267 8%,transparent),transparent 38%); }
.cookbook-status { display:flex; align-items:center; gap:6px; color:#789267; font-size:var(--text-label); font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.cookbook-status i { width:6px; height:6px; border-radius:50%; background:#789267; box-shadow:0 0 0 3px color-mix(in srgb,#789267 12%,transparent); }
.cookbook-welcome > h2 { max-width:520px; margin:14px 0 8px; font-family:Georgia,'Times New Roman',serif; font-size:32px; font-weight:510; letter-spacing:-.04em; line-height:1.02; }
.cookbook-welcome > p { max-width:570px; margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.65; }
.cookbook-capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; width:100%; margin-top:24px; }
.cookbook-capabilities article { display:grid; align-content:start; min-height:112px; padding:12px; border:1px solid color-mix(in srgb,#789267 17%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--panel) 96%,#789267); }
.cookbook-capabilities article span { color:#789267; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); }
.cookbook-capabilities article strong { margin:15px 0 5px; font-family:Georgia,'Times New Roman',serif; font-size:var(--text-title); font-weight:530; }
.cookbook-capabilities article small { color:var(--faint); font-size:var(--text-label-strong); line-height:1.45; }
.cookbook-source { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:13px 14px; border:1px dashed color-mix(in srgb,#789267 35%,var(--line)); border-radius:6px; background:color-mix(in srgb,#789267 4%,transparent); }
.cookbook-source span { color:#789267; font-size:var(--text-micro); font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.cookbook-source strong { display:block; margin:3px 0; font-size:var(--text-secondary); }
.cookbook-source p { max-width:520px; margin:0; color:var(--faint); font-size:var(--text-label-strong); line-height:1.45; }
.cookbook-source label > span { display:inline-flex; min-height:30px; align-items:center; padding:6px 10px; border:1px solid color-mix(in srgb,#789267 38%,var(--line)); border-radius:4px; color:var(--ink); background:var(--control); cursor:pointer; white-space:nowrap; }
.cookbook-foot { min-height:30px; display:flex; justify-content:space-between; gap:12px; padding:8px 13px; border-top:1px solid color-mix(in srgb,#789267 17%,var(--line)); color:var(--faint); font-size:var(--text-label); letter-spacing:.05em; text-transform:uppercase; }
@media (max-width:760px) { .cookbook-toolbar { align-items:stretch; flex-direction:column; } .cookbook-search { width:100%; } .cookbook-body { grid-template-columns:1fr; } .cookbook-spine { display:none; } .cookbook-welcome { padding:25px 20px; } .cookbook-capabilities { grid-template-columns:1fr; } .cookbook-source { align-items:flex-start; flex-direction:column; } .cookbook-foot { flex-direction:column; } }

.converter-page { padding-top:17px; }
.converter-surface { width:min(100%,470px); margin:0 auto; overflow:hidden; border:1px solid color-mix(in srgb,#6f93a4 22%,var(--line)); border-radius:9px; background:linear-gradient(color-mix(in srgb,#6f93a4 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,#6f93a4 3%,transparent) 1px,transparent 1px),var(--panel); background-size:22px 22px; box-shadow:0 12px 34px rgba(17,31,38,.08); }
.converter-head { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 13px 10px 15px; border-bottom:1px solid color-mix(in srgb,#6f93a4 18%,var(--line)); background:color-mix(in srgb,var(--panel) 94%,#6f93a4); }
.converter-head > div { min-width:0; display:flex; align-items:center; gap:9px; }
.converter-head h1 { margin:0; font-size:17px; font-weight:620; letter-spacing:-.02em; }
.converter-head .eyebrow { margin:0 0 1px; color:#6f93a4; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; letter-spacing:.15em; }
.converter-head p { margin:2px 0 0; color:var(--faint); font-size:var(--text-support); }
.converter-head .icon-btn { width:29px; height:29px; border-radius:6px; }
.realm-mark.converter { width:4px; height:31px; border-radius:1px; background:linear-gradient(180deg,#9dc8d8,#4f8198 68%,#d0a261); box-shadow:0 0 12px color-mix(in srgb,#6f93a4 32%,transparent); }
.converter-tabs { display:flex; align-items:center; gap:4px; padding:8px 10px; overflow-x:auto; border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--line)); background:color-mix(in srgb,var(--panel) 97%,var(--accent-soft)); }
.converter-tabs button { flex:0 0 auto; min-height:27px; padding:5px 12px; border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); border-radius:5px; color:var(--muted); background:color-mix(in srgb,var(--control) 72%,transparent); cursor:pointer; font-size:var(--text-small); font-weight:650; }
.converter-tabs button:hover { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); }
.converter-tabs button.active { color:color-mix(in srgb,var(--accent) 76%,var(--ink)); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); background:color-mix(in srgb,var(--accent-soft) 75%,var(--panel)); font-weight:730; }
.converter-tabs button:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent); outline-offset:2px; }
.converter-grid { display:grid; grid-template-columns:minmax(0,1fr); padding:12px; background:transparent; }
.converter-card[hidden] { display:none; }
.converter-card { position:relative; min-width:0; padding:15px 15px 14px; overflow:hidden; border:1px solid color-mix(in srgb,#6f93a4 14%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--panel) 95%,#6f93a4); box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 26%,transparent); }
.converter-card::after { position:absolute; top:10px; right:12px; color:color-mix(in srgb,#6f93a4 52%,var(--faint)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.12em; }
.converter-card.currency::after { content:"FX / 01"; }
.converter-card.measurement::after { content:"UNIT / 02"; }
.converter-card.studio::after { content:"SYNC / 03"; }
.converter-card.practical::after { content:"UTIL / 04"; }
.converter-card.media::after { content:"MEDIA / 05"; }
.converter-card.signal::after { content:"SIG / 06"; }
.converter-card > header { min-height:52px; padding-right:52px; }
.converter-card > header > span { color:#6f93a4; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:720; letter-spacing:.14em; text-transform:uppercase; }
.converter-card > header h2 { margin:5px 0 4px; font-size:14px; font-weight:620; letter-spacing:-.015em; }
.converter-card > header p { max-width:540px; margin:0; color:var(--faint); font-size:var(--text-support); line-height:1.35; }
.converter-card form { margin-top:10px; }
.converter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) 25px minmax(0,1fr); gap:6px; align-items:end; }
.converter-fields.stacked { grid-template-columns:repeat(2,minmax(0,1fr)); }
.measurement .converter-fields label:first-child { grid-column:1/-1; }
.studio .converter-fields.stacked,.practical .converter-fields.stacked,.media .converter-fields.stacked,.signal .converter-fields.stacked { grid-template-columns:repeat(2,minmax(0,1fr)); }
.studio .converter-fields label.wide,.practical .converter-fields label.wide,.media .converter-fields label.wide,.signal .converter-fields label.wide { grid-column:1/-1; }
.converter-fields label { min-width:0; display:grid; gap:3px; }
.converter-fields label > span { color:color-mix(in srgb,#6f93a4 62%,var(--faint)); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.converter-fields label.wide { grid-column:span 2; }
.converter-fields .field,.converter-fields .select { width:100%; min-width:0; height:29px; padding:5px 7px; border-color:color-mix(in srgb,#6f93a4 16%,var(--line)); border-radius:4px; background:color-mix(in srgb,var(--control) 76%,transparent); font-size:var(--text-small-strong); }
.converter-fields .field:focus,.converter-fields .select:focus { border-color:color-mix(in srgb,#6f93a4 68%,var(--line)); box-shadow:0 0 0 2px color-mix(in srgb,#6f93a4 12%,transparent); outline:0; }
.converter-fields .primary-btn,.converter-fields .soft-btn { min-width:68px; height:29px; padding:5px 9px; border-radius:4px; font-size:var(--text-support); font-weight:680; }
.converter-fields .primary-btn,.converter-fields .soft-btn { grid-column:1/-1; width:100%; }
.converter-fields .primary-btn { background:#608da1; border-color:#608da1; color:#f7fbfc; box-shadow:0 3px 9px color-mix(in srgb,#608da1 18%,transparent); }
.converter-swap { width:25px; height:29px; padding:0; border:1px solid color-mix(in srgb,#6f93a4 18%,var(--line)); border-radius:4px; color:#6f93a4; background:color-mix(in srgb,var(--control) 76%,transparent); cursor:pointer; font-size:var(--text-body-sm); }
.converter-swap:hover { color:var(--ink); border-color:#6f93a4; background:color-mix(in srgb,#6f93a4 9%,var(--control)); }
.converter-output { min-height:49px; display:flex; flex-wrap:wrap; align-content:center; align-items:baseline; gap:3px 8px; margin-top:9px; padding:8px 10px 8px 12px; border:1px solid color-mix(in srgb,#6f93a4 24%,var(--line)); border-left:3px solid #6f93a4; border-radius:4px; background:linear-gradient(90deg,color-mix(in srgb,#6f93a4 8%,transparent),transparent 72%); }
.converter-output strong { color:var(--ink); font-family:var(--heading-font); font-size:18px; font-weight:630; letter-spacing:-.015em; font-variant-numeric:tabular-nums; }
.converter-output span { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-support); }
.converter-output small { flex-basis:100%; color:var(--faint); font-size:var(--text-label-strong); line-height:1.3; }
.converter-output.quiet strong { font-family:inherit; font-size:var(--text-control); font-weight:620; letter-spacing:0; }
.converter-output.pending { color:var(--muted); }
.converter-output.error { border-color:color-mix(in srgb,#b66d62 36%,var(--line)); background:color-mix(in srgb,#b66d62 7%,transparent); }
.converter-output.error strong { color:#b66d62; font-size:var(--text-control); }
.converter-xe { width:max-content; display:inline-flex; align-items:center; gap:4px; margin-top:6px; color:#6f93a4; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label-strong); font-weight:680; letter-spacing:.035em; text-decoration:none; }
.converter-xe:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.converter-foot { min-height:29px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 12px; border-top:1px solid color-mix(in srgb,#6f93a4 16%,var(--line)); color:var(--faint); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--text-label); letter-spacing:.055em; text-transform:uppercase; }
@media (max-width:760px) { .converter-surface { min-height:0; } .converter-tabs { padding:7px 6px; } .converter-grid { grid-template-columns:1fr; padding:6px; } .converter-card { padding:14px 12px; } .converter-fields,.converter-fields.stacked { grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr); } .converter-fields label:first-child,.converter-fields label.wide { grid-column:1/-1; } .converter-fields .primary-btn,.converter-fields .soft-btn { grid-column:1/-1; } .converter-foot { align-items:flex-start; flex-direction:column; } }
.capsule-panel { min-width:0; padding:17px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.012); }
.capsule-panel > span { color:#819da7; font-size:var(--text-small); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.capsule-panel h3 { margin:7px 0 5px; font-size:15px; font-weight:580; }
.capsule-panel > p { margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.5; }
.capsule-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:16px 0; }
.capsule-steps article { min-width:0; padding:10px; border:1px solid rgba(255,255,255,.055); border-radius:9px; background:rgba(0,0,0,.08); }
.capsule-steps b,.capsule-steps small { display:block; }
.capsule-steps b { margin-bottom:4px; color:var(--ink); font-size:var(--text-secondary); }
.capsule-steps small { color:var(--faint); font-size:var(--text-small); line-height:1.35; }
.capsule-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:13px; border-top:1px solid var(--line); }
.capsule-actions small { max-width:280px; color:var(--faint); font-size:var(--text-small); line-height:1.4; }
.capsule-incoming { display:grid; place-items:center; min-height:210px; margin-top:16px; padding:18px; border:1px dashed rgba(129,157,167,.2); border-radius:11px; color:var(--faint); text-align:center; }
.capsule-incoming strong { display:block; margin-bottom:5px; color:var(--muted); font-size:var(--text-control); }
.capsule-incoming p { max-width:290px; margin:0; font-size:var(--text-small); line-height:1.5; }
.capsule-incoming > input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.capsule-incoming:not(.ready) { cursor:pointer; }
.capsule-incoming:not(.ready):hover { border-color:rgba(129,157,167,.5); background:rgba(129,157,167,.055); }
.capsule-incoming.ready { border-style:solid; }
.capsule-incoming.ready small { display:block; margin:9px 0 14px; color:var(--faint); font-size:var(--text-small); }
.capsule-incoming.ready button + button { margin-left:7px; }
.capsule-review { display:grid; gap:7px; margin-top:14px; padding:12px; border:1px solid var(--line); border-radius:10px; }
.capsule-review > strong { font-size:var(--text-secondary); font-weight:620; }
.capsule-review > p { margin:2px 0 0; color:var(--faint); font-size:var(--text-small); line-height:1.45; }
.capsule-review label { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; padding:7px 0; border-top:1px solid var(--line); cursor:pointer; }
.capsule-review label span { overflow:hidden; color:var(--ink); font-size:var(--text-secondary); text-overflow:ellipsis; white-space:nowrap; }
.capsule-review label small { color:var(--faint); font-size:var(--text-small); }
.capsule-return { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.capsule-return > span { color:#819da7; font-size:var(--text-small); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.capsule-return h4 { margin:6px 0 5px; font-size:14px; font-weight:590; }
.capsule-return > p { margin:0 0 11px; color:var(--muted); font-size:var(--text-small); line-height:1.45; }
.capsule-return > small { display:block; margin:0 0 10px; color:var(--faint); font-size:var(--text-small); }
.capsule-return .contribution-return-action { color:#f3e4e2; border-color:rgba(185,130,124,.72); background:rgba(185,130,124,.3); font-weight:680; box-shadow:inset 0 0 0 1px rgba(185,130,124,.1); }
.capsule-return .contribution-return-action:hover { border-color:rgba(185,130,124,.95); background:rgba(185,130,124,.42); }
.capsule-return .contribution-return-action:disabled { color:var(--faint); border-color:var(--line); background:var(--control); box-shadow:none; }
html[data-appearance="light"] .capsule-return .contribution-return-action:not(:disabled) { color:#874f48; border-color:rgba(161,91,83,.58); background:rgba(185,130,124,.18); box-shadow:inset 0 0 0 1px rgba(161,91,83,.07); }
html[data-appearance="light"] .capsule-return .contribution-return-action:not(:disabled):hover { color:#713f39; border-color:rgba(161,91,83,.76); background:rgba(185,130,124,.28); }
.capsule-return .capsule-incoming { min-height:128px; margin-top:10px; }
.contribution-checks { display:grid; gap:4px; margin:10px 0; text-align:left; }
.contribution-checks small { margin:0!important; padding:5px 7px; border-radius:6px; background:rgba(129,157,167,.06); }
.contribution-checks .conflict { color:#c89582; }
.capsule-error { margin:12px 0 0; color:#d79a91; font-size:var(--text-small); line-height:1.45; }

.family-shell { height:100%; min-height:0; display:grid; grid-template-columns:190px minmax(0,1fr); }
.family-release-rail { min-height:0; padding:8px; overflow:auto; border-right:1px solid var(--line); }
.family-world-list { display:grid; gap:3px; padding-bottom:7px; border-bottom:1px solid var(--line); }
.family-world-entry { min-width:0; }
.family-world-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px; }
.family-world-tab { width:100%; min-height:27px; display:flex; align-items:center; justify-content:space-between; gap:6px; padding:5px 7px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--muted); text-align:left; }
.family-world-tab::before { content:""; width:3px; height:14px; flex:0 0 auto; border-radius:4px; background:var(--world); opacity:.72; }
.family-world-tab span { min-width:0; flex:1; }
.family-world-tab strong { display:block; overflow:hidden; color:var(--text); font-size:var(--text-support); font-weight:600; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.family-world-tab small { display:block; margin-top:1px; color:var(--faint); font-size:var(--text-label); }
.family-world-tab > em { color:var(--faint); font-size:var(--text-label); font-style:normal; white-space:nowrap; }
.family-world-tab:hover { border-color:var(--line); background:var(--surface-soft); }
.family-world-tab.active { border-color:color-mix(in srgb,var(--world) 38%,var(--line)); background:color-mix(in srgb,var(--world) 8%,transparent); }
.family-project-tools { display:flex; align-items:center; gap:1px; }
.family-area-rename,.family-area-delete { width:18px; height:24px; padding:0; border:0; border-radius:5px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-secondary); opacity:.55; }
.family-world-entry:hover :is(.family-area-rename,.family-area-delete),.family-area-rename:focus-visible,.family-area-delete:focus-visible { opacity:1; }
.family-area-rename:hover { color:var(--accent); background:var(--control-hover); }
.family-area-delete:hover { color:#a76458; background:color-mix(in srgb,#a76458 10%,transparent); }
.family-area-delete-confirm { display:grid; gap:4px; margin:2px 0 5px; padding:6px; border:1px solid color-mix(in srgb,#a76458 34%,var(--line)); border-radius:7px; background:color-mix(in srgb,#a76458 7%,var(--panel)); }
.family-area-delete-confirm strong { color:var(--ink); font-size:var(--text-support); font-weight:650; }
.family-area-delete-confirm span { color:var(--muted); font-size:var(--text-label-strong); line-height:1.35; }
.family-area-delete-confirm > div { display:flex; justify-content:flex-end; gap:4px; }
.family-area-delete-confirm button { min-height:22px; padding:3px 6px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-label-strong); }
.family-area-delete-confirm button.confirm { color:#8f4f46; border-color:color-mix(in srgb,#a76458 42%,var(--line)); background:color-mix(in srgb,#a76458 10%,var(--panel)); font-weight:600; }
.project-area-section { padding:5px 0 7px; border-bottom:1px solid var(--line); }
.project-area-section:first-child { padding-top:0; }
.project-area-section.drag-over { border-radius:8px; background:color-mix(in srgb,var(--accent) 7%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent); }
.project-area-section.area-dragging { opacity:.38; }
.project-area-section.area-drop-before { box-shadow:inset 0 2px 0 var(--accent); }
.project-area-section.area-drop-after { box-shadow:inset 0 -2px 0 var(--accent); }
.project-area-head[draggable="true"] { cursor:grab; }
.project-area-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px; margin-bottom:3px; }
.project-area-toggle { min-width:0; display:flex; align-items:center; gap:5px; padding:3px 4px; border:0; color:var(--muted); background:transparent; cursor:pointer; text-align:left; }
.project-area-toggle strong { overflow:hidden; color:var(--ink); font-size:var(--text-support-xs); font-weight:670; letter-spacing:.09em; text-transform:uppercase; text-overflow:ellipsis; white-space:nowrap; }
.project-area-toggle span { color:var(--faint); font-size:var(--text-label); }
.project-area-toggle i { width:9px; height:9px; flex:0 0 9px; display:grid; place-items:center; color:color-mix(in srgb,var(--muted) 76%,transparent); font-style:normal; transform:rotate(90deg); transition:color .16s ease,transform .16s ease; }
.project-area-toggle i::before { content:"›"; font-size:var(--text-body-sm); font-weight:680; line-height:1; }
.project-area-toggle:hover i,.project-area-toggle:focus-visible i { color:var(--accent); }
.project-area-section.collapsed .project-area-toggle i { transform:rotate(0); }
.project-area-tools { display:flex; align-items:center; gap:1px; }
.project-area-tools button { width:16px; height:17px; padding:0; border:0; border-radius:5px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-support-xs); }
.project-area-tools button:hover { color:var(--accent); background:var(--control-hover); }
.project-area-tools button.delete:hover { color:#a76458; background:color-mix(in srgb,#a76458 10%,transparent); }
.project-area-delete-confirm { display:grid; gap:4px; margin:2px 5px 5px; padding:6px; border:1px solid color-mix(in srgb,#a76458 34%,var(--line)); border-radius:7px; background:color-mix(in srgb,#a76458 7%,var(--panel)); }
.project-area-delete-confirm strong { color:var(--ink); font-size:var(--text-support); font-weight:650; }
.project-area-delete-confirm span { color:var(--muted); font-size:var(--text-label-strong); line-height:1.35; }
.project-area-delete-confirm > div { display:flex; justify-content:flex-end; gap:4px; }
.project-area-delete-confirm button { min-height:22px; padding:3px 6px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-label-strong); }
.project-area-delete-confirm button.confirm { color:#8f4f46; border-color:color-mix(in srgb,#a76458 42%,var(--line)); background:color-mix(in srgb,#a76458 10%,var(--panel)); font-weight:600; }
.project-area-projects { display:grid; gap:2px; }
.project-area-section.collapsed .project-area-projects { display:none; }
.family-world-tab[draggable="true"] { cursor:grab; }
.family-world-tab.project-drop-before { box-shadow:inset 0 2px 0 var(--accent); }
.family-world-tab.project-drop-after { box-shadow:inset 0 -2px 0 var(--accent); }
.family-world-tab.dragging { opacity:.35; }
.new-project-control { position:relative; display:flex; align-items:center; gap:5px; }
.new-project-control summary { min-height:25px; display:flex; align-items:center; justify-content:center; padding:4px 7px; border-radius:7px; list-style:none; white-space:nowrap; cursor:pointer; color:color-mix(in srgb,#71836d 82%,var(--ink)); border-color:color-mix(in srgb,#71836d 56%,var(--line)); background:color-mix(in srgb,#71836d 12%,var(--panel)); font-size:var(--text-small-strong); font-weight:570; line-height:1; }
.new-project-control summary:hover { color:color-mix(in srgb,#71836d 62%,var(--ink)); border-color:#71836d; background:color-mix(in srgb,#71836d 20%,var(--panel)); }
.new-project-control summary::-webkit-details-marker { display:none; }
.new-project-control form { display:grid; grid-template-columns:minmax(120px,160px) auto; align-items:center; gap:5px; width:auto; padding:0; }
.new-project-control .field { min-width:0; height:25px; min-height:25px; padding:0 8px; border-radius:7px; font-size:var(--text-small); }
.new-project-control form .tiny-btn { height:25px; min-height:25px; padding:0 8px; color:color-mix(in srgb,#71836d 84%,var(--ink)); border-color:color-mix(in srgb,#71836d 55%,var(--line)); background:color-mix(in srgb,#71836d 15%,var(--panel)); font-size:var(--text-small); font-weight:600; }
.new-project-control form .tiny-btn:hover { color:color-mix(in srgb,#71836d 62%,var(--ink)); border-color:#71836d; background:color-mix(in srgb,#71836d 24%,var(--panel)); }
.new-area-control { margin:4px 6px 5px; }
.new-area-control summary { min-height:24px; display:flex; align-items:center; padding:4px 8px; border:1px dashed color-mix(in srgb,#668b98 48%,var(--line)); border-radius:7px; list-style:none; color:color-mix(in srgb,#668b98 76%,var(--ink)); background:color-mix(in srgb,#668b98 7%,var(--panel)); cursor:pointer; font-size:var(--text-support-xs); font-weight:570; }
.new-area-control summary::-webkit-details-marker { display:none; }
.new-area-control form { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:4px; padding-top:4px; }
.new-area-control .field { min-width:0; height:25px; min-height:25px; padding:0 7px; border-radius:6px; font-size:var(--text-support-xs); }
.new-area-control .tiny-btn { height:25px; min-height:25px; padding:0 7px; font-size:var(--text-support-xs); }
.family-identity { padding:8px 9px 9px; border-bottom:1px solid var(--line); }
.family-identity span { color:#b58a5f; font-size:var(--text-label-strong); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.family-identity h3 { margin:3px 0 2px; font-size:var(--text-title); font-weight:600; }
.family-identity p { margin:0; color:var(--faint); font-size:var(--text-support-xs); line-height:1.35; }
.family-release-list { display:grid; gap:3px; margin-top:7px; }
.family-release-card { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; min-height:34px; padding:5px 7px; border:1px solid var(--line); border-left:2px solid var(--release); border-radius:6px; color:inherit; background:var(--control); cursor:pointer; text-align:left; }
.family-release-card:hover,.family-release-card.active { border-color:color-mix(in srgb,var(--release) 38%,var(--line)); background:color-mix(in srgb,var(--release) 8%,var(--control)); }
.family-release-card strong,.family-release-card small { display:block; }
.family-release-card strong { font-size:var(--text-small); font-weight:600; }
.family-release-card small { margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); }
.family-release-card em { display:-webkit-box; margin-top:3px; overflow:hidden; color:var(--muted); font-size:var(--text-label-strong); font-style:normal; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.family-release-card > span { color:var(--faint); font-size:var(--text-label-strong); }
.family-stage { container:family-stage / inline-size; min-width:0; height:100%; display:flex; flex-direction:column; padding:8px 11px 10px; overflow:hidden; }
.family-project-overview { min-width:0; min-height:0; overflow:auto; }
.family-project-overview-body { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:26px; }
.family-project-workstreams,.family-area-side { min-width:0; }
.project-overview-note { width:fit-content; max-width:100%; margin:0 0 12px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--accent) 4%,var(--panel)); }
.project-overview-note[open] { width:min(100%,700px); }
.project-overview-note > summary { width:fit-content; max-width:100%; min-height:31px; display:flex; align-items:center; gap:8px; padding:6px 10px; color:var(--muted); cursor:pointer; font-size:var(--text-small); font-weight:650; list-style:none; }
.project-overview-note > summary span { flex:0 0 auto; color:var(--faint); font-size:var(--text-support-xs); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.project-overview-note > summary strong { min-width:0; overflow:hidden; color:var(--ink); font-size:var(--text-small); font-weight:590; text-overflow:ellipsis; white-space:nowrap; }
.project-overview-note > summary::-webkit-details-marker { display:none; }
.project-overview-note[open] > summary { color:var(--ink); }
.project-overview-note form { display:grid; gap:7px; padding:0 10px 10px; }
.project-overview-note textarea { width:100%; min-height:112px; resize:vertical; line-height:1.55; }
.project-overview-note footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.project-overview-note footer small { color:var(--faint); font-size:var(--text-support-xs); }
.project-overview-actions { flex:0 0 auto; display:flex; align-items:center; gap:5px; }
.project-overview-cancel { width:27px; min-width:27px; height:31px; display:grid; place-items:center; padding:0; color:var(--muted); line-height:1; }
.project-overview-cancel .horizon-x-glyph { width:9px; height:9px; flex-basis:9px; transform:none; }
.project-overview-cancel .horizon-x-glyph::before,.project-overview-cancel .horizon-x-glyph::after { width:9px; height:1.2px; }
.family-area-side { display:grid; align-content:start; gap:10px; }
.family-project-overview-grid { display:grid; grid-template-columns:minmax(0,560px); align-content:start; gap:6px; margin-top:6px; }
.family-project-overview-grid.many-workstreams { max-height:min(620px,calc(100vh - 290px)); padding-right:4px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; }
.family-project-overview-grid .family-release-card { min-height:44px; margin:0; padding:6px 9px; }
.family-project-overview-grid .family-release-card[draggable="true"] { cursor:grab; }
.family-project-overview-grid .family-release-card.dragging { opacity:.55; cursor:grabbing; }
.hierarchy-linked-records { display:grid; gap:6px; margin-top:10px; padding:9px; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--panel) 86%,var(--accent) 3%); }
.hierarchy-linked-records > header { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--faint); }
.hierarchy-linked-records > header strong { font-size:var(--text-support-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.hierarchy-linked-records > header span { font-size:var(--text-support-xs); }
.hierarchy-linked-records > div { display:grid; gap:4px; }
.family-project-workstreams > .hierarchy-linked-records { width:100%; max-width:560px; }
.hierarchy-linked-records button { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:7px; padding:6px 8px; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:var(--control); cursor:pointer; text-align:left; }
.hierarchy-linked-records button:hover { background:var(--control-hover); }
.hierarchy-linked-records button span { color:var(--faint); font-size:var(--text-support-xs); text-transform:uppercase; }
.hierarchy-linked-records button strong { overflow:hidden; font-size:var(--text-small); font-weight:590; text-overflow:ellipsis; white-space:nowrap; }
.hierarchy-linked-records button small { color:var(--faint); font-size:var(--text-support-xs); white-space:nowrap; }
.project-area-projects > .hierarchy-linked-records { margin:5px 0 0; padding:6px; }
.project-area-projects > .hierarchy-linked-records button { grid-template-columns:1fr; gap:1px; padding:5px 6px; }
.project-area-projects > .hierarchy-linked-records button span { font-size:var(--text-label-strong); }
.new-workstream-control,.new-work-control { margin-top:7px; }
.new-workstream-control > summary,.new-work-control > summary { min-height:27px; display:flex; align-items:center; padding:5px 9px; border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--line)); border-radius:7px; list-style:none; color:color-mix(in srgb,var(--accent) 72%,var(--ink)); background:color-mix(in srgb,var(--accent) 7%,var(--panel)); cursor:pointer; font-size:var(--text-support); font-weight:600; }
.new-workstream-control > summary::-webkit-details-marker,.new-work-control > summary::-webkit-details-marker { display:none; }
.new-workstream-control[open] > summary,.new-work-control[open] > summary { border-style:solid; }
.new-workstream-control form { display:grid; grid-template-columns:minmax(190px,.72fr) minmax(300px,1.28fr); align-items:start; gap:12px; margin-top:7px; padding:12px; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%); }
.family-stage-head.family-project-overview-head { display:block; min-height:32px; padding:0 2px 1px; }
.family-project-overview-copy { min-width:0; display:grid; gap:0; }
.family-project-overview-copy h3 { line-height:1.12; }
.family-project-workstreams > .new-workstream-control { width:100%; min-width:0; margin:0; padding:0; }
.family-project-workstreams > .new-workstream-control > .family-work-heading { min-height:28px; align-items:flex-end; justify-content:space-between; gap:12px; padding:2px 2px 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--faint); background:transparent; }
.family-work-heading > span:first-child { font-size:var(--text-label-strong); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.family-new-work-action { flex:0 0 auto; min-height:23px; display:inline-flex; align-items:center; padding:3px 8px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--control); font-size:var(--text-support); font-weight:600; letter-spacing:0; text-transform:none; }
.batch-quantity-control { display:inline-flex; align-items:center; margin-left:4px; }
.batch-quantity-control select { width:44px; min-height:20px; padding:0 16px 0 7px; border:0; border-left:1px solid var(--line); border-radius:0; color:inherit; background:transparent; cursor:pointer; font:inherit; font-size:var(--text-support-xs); text-align:left; }
.batch-name-fields { min-width:0; display:grid; gap:5px; }
.batch-name-fields > label { min-width:0; display:grid; gap:3px; color:var(--faint); font-size:var(--text-support-xs); }
.family-work-heading:hover .family-new-work-action,.new-workstream-control[open] > .family-work-heading .family-new-work-action { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); background:color-mix(in srgb,var(--accent) 7%,var(--control)); }
.family-project-workstreams > .new-workstream-control form { box-sizing:border-box; width:100%; min-width:0; max-width:none; margin:7px 0 0; }
.new-workstream-fields { min-width:0; display:grid; gap:8px; }
.new-workstream-control form label { min-width:0; display:grid; gap:3px; color:var(--faint); font-size:var(--text-support); font-weight:600; letter-spacing:.04em; }
.new-workstream-control form .workstream-template-choice { grid-template-columns:minmax(0,1fr); }
.new-workstream-control form .workstream-template-choice small { color:var(--muted); font-size:var(--text-support); font-weight:450; letter-spacing:0; }
.new-workstream-control form > footer { grid-column:1/-1; display:flex; justify-content:flex-end; padding-top:2px; }
.new-workstream-control form .tiny-btn { justify-self:end; align-self:end; }
.new-workstream-control form .create-work-action { min-height:38px; padding:8px 16px; border-color:color-mix(in srgb,var(--accent) 58%,var(--line)); border-radius:8px; color:color-mix(in srgb,var(--accent) 78%,var(--ink)); background:color-mix(in srgb,var(--accent) 14%,var(--panel)); box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 10%,transparent); font-size:var(--text-control); font-weight:700; }
.new-workstream-control form .create-work-action:hover { color:color-mix(in srgb,var(--accent) 60%,var(--ink)); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 22%,var(--panel)); transform:translateY(-1px); }
.workstream-template-preview { min-width:0; display:grid; gap:8px; padding:10px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--paper) 84%,transparent); }
.workstream-template-preview > header { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.workstream-template-preview > header span { display:block; color:var(--faint); font-size:var(--text-support-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.workstream-template-preview > header h4 { margin:2px 0 0; font-size:var(--text-control); }
.workstream-template-preview-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.workstream-template-delete-action { color:#9e594f !important; border-color:color-mix(in srgb,#a76458 34%,var(--line)) !important; }
.workstream-template-delete-confirm { margin-top:0; }
.workstream-template-preview > p { margin:0; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.workstream-draft-chips { display:flex; flex-wrap:wrap; gap:5px; }
.workstream-draft-chips span,.workstream-draft-chips em { padding:5px 7px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:7px; color:var(--ink); background:color-mix(in srgb,var(--accent) 7%,var(--control)); font-size:var(--text-small); font-style:normal; }
.workstream-draft-editor { display:grid; gap:7px; padding-top:8px; border-top:1px solid var(--line); }
.workstream-draft-editor[hidden] { display:none; }
.workstream-draft-list { display:grid; gap:4px; }
.workstream-draft-component { display:grid; grid-template-columns:64px minmax(120px,1fr) 72px 93px; align-items:center; gap:6px; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.workstream-draft-component.hidden-component { opacity:.62; }
.workstream-draft-visible { display:flex !important; grid-template-columns:none !important; align-items:center; gap:4px !important; font-size:var(--text-support-xs) !important; letter-spacing:0 !important; }
.workstream-draft-visible input { margin:0; accent-color:var(--accent); }
.workstream-draft-component .field { height:30px; min-height:30px; }
.workstream-draft-view { color:var(--faint); font-size:var(--text-support-xs); }
.workstream-draft-order { display:flex; justify-content:flex-end; gap:2px; }
.workstream-draft-order button { width:29px; height:29px; padding:0; border:1px solid var(--line); border-radius:5px; color:var(--muted); background:var(--paper); cursor:pointer; }
.workstream-draft-order button.danger:hover,.workstream-draft-order button.danger:focus-visible { color:#fff3f0; border-color:#a76458; background:#a76458; }
.workstream-draft-add { position:relative; }
.workstream-draft-add > summary { display:flex; align-items:center; justify-content:center; min-height:31px; padding:5px 9px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--paper); cursor:pointer; font-size:var(--text-small); font-weight:600; list-style:none; }
.workstream-draft-add > summary::-webkit-details-marker { display:none; }
.workstream-draft-add[open] > summary { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); }
.workstream-draft-add-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; max-height:260px; margin-top:5px; padding:6px; overflow:auto; border:1px solid var(--line); border-radius:7px; background:var(--panel); scrollbar-width:thin; }
.workstream-draft-add-menu button { min-width:0; padding:6px 7px; border:1px solid var(--line); border-radius:5px; color:var(--ink); background:var(--control); cursor:pointer; font:inherit; font-size:var(--text-small); text-align:left; }
.workstream-draft-add-menu button:hover { border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); background:color-mix(in srgb,var(--accent) 8%,var(--control)); }
.workstream-draft-add-menu button small { float:right; color:var(--muted); font-size:var(--text-label); }
.workstream-draft-add-heading { grid-column:1/-1; padding:4px 2px 1px; color:var(--faint); font-size:var(--text-label); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.workstream-draft-add-empty { grid-column:1/-1; padding:4px 7px; color:var(--muted); font-size:var(--text-support); }
.workstream-draft-new-trigger { grid-column:1/-1; margin-top:3px; border-style:dashed !important; color:color-mix(in srgb,var(--accent) 78%,var(--ink)) !important; font-weight:650 !important; text-align:center !important; }
.workstream-draft-new-panel { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:6px; padding:8px; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius:7px; background:color-mix(in srgb,var(--accent) 6%,var(--paper)); }
.workstream-draft-new-panel[hidden] { display:none; }
.workstream-draft-new-panel label { display:grid; gap:3px; }
.workstream-draft-new-panel label span { color:var(--faint); font-size:var(--text-support-xs); font-weight:650; }
.workstream-draft-new-panel > small { grid-column:1/-1; color:var(--muted); font-size:var(--text-label-strong); }
.workstream-draft-editor > small { color:var(--muted); font-size:var(--text-support); line-height:1.4; }
.workstream-library-entry { position:relative; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 27px; align-items:stretch; }
.workstream-library-entry > :first-child { min-width:0; width:100%; border-radius:6px 0 0 6px; }
.workstream-library-entry > :first-child[disabled],.workstream-library-entry > :first-child[disabled]:hover { color:var(--muted); border-color:var(--line); background:var(--control); cursor:default; opacity:.62; }
.workstream-library-delete { width:27px; min-width:27px; padding:0 !important; border:1px solid var(--line) !important; border-left:0 !important; border-radius:0 6px 6px 0 !important; color:var(--faint) !important; background:var(--control) !important; cursor:pointer; text-align:center !important; }
.workstream-library-delete:hover,.workstream-library-delete:focus-visible { color:#fff3f0 !important; border-color:#a76458 !important; background:#a76458 !important; }
.workstream-library-delete-confirm { grid-column:1/-1; display:grid; gap:5px; margin-top:4px; padding:7px; border:1px solid color-mix(in srgb,#a76458 34%,var(--line)); border-radius:7px; background:color-mix(in srgb,#a76458 7%,var(--panel)); }
.workstream-library-delete-confirm[hidden] { display:none; }
.workstream-library-delete-confirm > strong { color:var(--ink); font-size:var(--text-support-xs); line-height:1.35; }
.workstream-library-delete-confirm > small { color:var(--muted); font-size:var(--text-label); line-height:1.35; }
.workstream-library-delete-confirm > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }
.workstream-library-delete-confirm button { width:auto !important; min-width:0 !important; min-height:23px !important; padding:3px 6px !important; border:1px solid var(--line) !important; border-radius:5px !important; color:var(--muted) !important; background:var(--control) !important; font-size:var(--text-label) !important; text-align:center !important; }
.workstream-library-delete-confirm button.danger { color:#9e594f !important; border-color:color-mix(in srgb,#a76458 42%,var(--line)) !important; background:color-mix(in srgb,#a76458 10%,var(--panel)) !important; }
.workstream-library-delete-confirm button.danger:hover,.workstream-library-delete-confirm button.danger:focus-visible { color:#fff3f0 !important; background:#a76458 !important; }
.new-work-control form { display:grid; grid-template-columns:minmax(0,1fr) 96px auto; gap:4px; padding-top:5px; }
.new-workstream-control .field,.new-work-control .field { min-width:0; height:31px; min-height:31px; padding:0 8px; border-radius:6px; font-size:var(--text-small); }
.new-workstream-control .tiny-btn,.new-work-control .tiny-btn { min-height:31px; padding:5px 9px; font-size:var(--text-small); white-space:nowrap; }
.family-area-information { padding:9px 10px; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--accent) 4%,var(--panel)); }
.family-area-information > summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 8px; list-style:none; color:var(--faint); cursor:pointer; }
.family-area-information > summary::-webkit-details-marker { display:none; }
.family-area-information > summary::after { content:"+"; grid-column:2; grid-row:1; color:var(--accent); font-size:var(--text-control); line-height:1; }
.family-area-information[open] > summary::after { content:"−"; }
.family-area-information > summary > span { grid-column:1; grid-row:1; display:flex; align-items:center; gap:7px; font-size:var(--text-label-strong); font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.family-area-information > summary small { font-size:var(--text-label); font-weight:500; letter-spacing:.06em; }
.family-area-information > summary em { grid-column:1/-1; grid-row:2; min-width:0; color:var(--muted); font-size:var(--text-support); font-style:normal; font-weight:500; letter-spacing:0; line-height:1.4; text-transform:none; overflow-wrap:anywhere; }
.family-area-information[open] > summary em { display:none; }
.family-area-information form { display:grid; gap:5px; }
.family-area-information[open] form { padding-top:8px; }
.family-area-information label { color:var(--ink); font-size:var(--text-small); font-weight:600; }
.family-area-information textarea.field { width:100%; height:76px; min-height:76px; padding:7px 8px; resize:vertical; font-size:var(--text-support); line-height:1.4; }
.family-area-information form > div { display:flex; align-items:center; justify-content:space-between; gap:7px; }
.family-area-information small { color:var(--faint); font-size:var(--text-label-strong); }
.family-area-information .tiny-btn { min-height:24px; padding:4px 8px; font-size:var(--text-support-xs); }
.workstream-delete-action { flex:0 0 auto; min-height:25px; padding:4px 8px; color:#a76458; border-color:color-mix(in srgb,#a76458 30%,var(--line)); background:color-mix(in srgb,#a76458 7%,var(--panel)); }
.workstream-delete-action:hover,.workstream-delete-action:focus-visible { color:#fff3f0; border-color:#a76458; background:#a76458; }
.family-workstream-delete-confirm { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 12px; margin:0 2px 7px; padding:7px 9px; border:1px solid color-mix(in srgb,#a76458 34%,var(--line)); border-radius:8px; background:color-mix(in srgb,#a76458 7%,var(--panel)); }
.family-workstream-delete-confirm strong { grid-column:1; color:var(--ink); font-size:var(--text-small); font-weight:650; }
.family-workstream-delete-confirm span { grid-column:1; color:var(--muted); font-size:var(--text-support-xs); line-height:1.4; }
.family-workstream-delete-confirm > div { grid-column:2; grid-row:1/3; display:flex; gap:5px; }
.family-workstream-delete-confirm button { min-height:24px; padding:4px 8px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-support-xs); white-space:nowrap; }
.family-workstream-delete-confirm button.confirm { color:#8f4f46; border-color:color-mix(in srgb,#a76458 42%,var(--line)); background:color-mix(in srgb,#a76458 10%,var(--panel)); font-weight:600; }
.family-workstream-delete-confirm button.confirm:hover,.family-workstream-delete-confirm button.confirm:focus-visible { color:#fff3f0; background:#a76458; }
.family-workstream-empty { display:grid; place-items:center; gap:3px; min-height:72px; padding:12px; border:1px dashed var(--line); border-radius:8px; color:var(--muted); background:color-mix(in srgb,var(--control) 55%,transparent); text-align:center; }
.family-workstream-empty strong { color:var(--ink); font-size:var(--text-small); font-weight:600; }
.family-workstream-empty span { max-width:36ch; font-size:var(--text-support-xs); line-height:1.4; }
.family-briefing { margin-top:7px; padding:9px 0 8px 15px; border-left:1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); }
.family-briefing > span { display:block; margin-bottom:9px; color:var(--faint); font-size:var(--text-label-strong); font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.family-briefing-item { display:block; width:100%; margin:0 0 9px; padding:0; border:0; color:inherit; background:transparent; cursor:pointer; text-align:left; }
.family-briefing-item small,.family-briefing-recent > small { display:block; margin-bottom:2px; color:var(--faint); font-size:var(--text-label-strong); letter-spacing:.08em; text-transform:uppercase; }
.family-briefing-item strong { display:block; color:var(--ink); font-size:var(--text-small); font-weight:600; line-height:1.35; }
.family-briefing-item:hover strong { color:color-mix(in srgb,var(--accent) 72%,var(--ink)); }
.family-briefing-recent { padding-top:2px; }
.family-briefing-recent ul { display:grid; gap:4px; margin:5px 0 0; padding:0; list-style:none; }
.family-briefing-recent li { position:relative; padding-left:9px; color:var(--muted); font-size:var(--text-support-xs); line-height:1.35; }
.family-briefing-recent li::before { content:""; position:absolute; left:0; top:.45em; width:3px; height:3px; border-radius:50%; background:color-mix(in srgb,var(--accent) 48%,var(--line)); }
.family-stage-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:0 2px 3px; }
.family-stage-head span { color:var(--faint); font-size:var(--text-label-strong); letter-spacing:.1em; text-transform:uppercase; }
.family-stage-head h3 { margin:0; font-size:14px; font-weight:600; line-height:1.2; }
.family-stage-head p { margin:0; color:var(--muted); font-size:var(--text-support); }
.family-stage-head .tiny-btn { min-height:22px; padding:4px 7px; font-size:var(--text-support-xs); }
.family-stage-copy { flex:1; min-width:0; }
.family-stage-navrow { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:12px; margin:0 0 3px; }
.family-stage-navrow > span { grid-column:2; text-align:center; white-space:nowrap; }
.family-stage-navrow .family-back-btn { grid-column:1; justify-self:start; }
.family-stage-navrow .family-rollup { grid-column:3; justify-self:end; }
.family-back-btn { display:inline-flex; align-items:center; gap:5px; min-height:23px !important; margin:0; padding:4px 9px !important; border:1px solid color-mix(in srgb,var(--project,var(--accent)) 25%,var(--line)) !important; border-radius:7px; color:color-mix(in srgb,var(--project,var(--accent)) 58%,var(--ink)); background:color-mix(in srgb,var(--project,var(--accent)) 7%,var(--control)) !important; font-size:var(--text-support) !important; letter-spacing:.01em; }
.family-back-btn::before { content:"\2190"; display:inline-block; color:var(--project,var(--accent)); font-size:var(--text-control); line-height:1; transition:transform .18s ease; }
.family-back-btn:hover { color:var(--ink); border-color:color-mix(in srgb,var(--project,var(--accent)) 48%,var(--line)) !important; background:color-mix(in srgb,var(--project,var(--accent)) 13%,var(--control)) !important; box-shadow:0 4px 12px color-mix(in srgb,var(--project,var(--accent)) 10%,transparent) !important; transform:translateY(-1px) !important; }
.family-back-btn:hover::before { transform:translateX(-2px); }
.family-rollup { display:flex; gap:4px; flex-wrap:wrap; }
.family-rollup span { padding:3px 5px; border:1px solid var(--line); border-radius:5px; color:var(--muted); background:var(--control); font-size:var(--text-label-strong); letter-spacing:0; text-transform:none; }
.family-work-list { min-height:0; display:grid; align-content:start; gap:2px; margin-top:7px; overflow:auto; padding-right:4px; scrollbar-width:thin; }
.workstream-overview { min-width:0; }
.family-work-row { width:100%; display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:27px; padding:2px 7px; border:1px solid var(--line); border-radius:6px; color:inherit; background:var(--control); cursor:pointer; text-align:left; }
.family-work-row:hover { border-color:color-mix(in srgb,var(--release) 35%,var(--line)); background:color-mix(in srgb,var(--release) 7%,var(--control)); }
.family-work-row > b { color:var(--faint); font-size:var(--text-support-xs); font-weight:500; font-variant-numeric:tabular-nums; }
.family-work-row strong,.family-work-row small { display:block; }
.family-work-row strong { font-size:var(--text-small-strong); font-weight:600; }
.family-work-row small { margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); }
.family-work-row em { color:var(--muted); font-size:var(--text-label-strong); font-style:normal; }
.family-record-marks { display:flex; align-items:center; gap:3px; }
.family-record-marks i { width:5px; height:5px; border-radius:50%; background:var(--mark); }
.work-spine-tabs { display:flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--line); border-radius:7px; background:var(--control); }
.work-spine-tabs button { min-height:20px; padding:3px 6px; border:0; border-radius:5px; color:var(--muted); background:transparent; cursor:pointer; font:inherit; font-size:var(--text-support-xs); }
.work-spine-tabs button.active { color:var(--ink); background:var(--panel); box-shadow:0 1px 3px rgba(0,0,0,.1); }
.work-sections { position:relative; z-index:3; }
.work-sections > summary { min-height:22px; display:flex; align-items:center; padding:4px 8px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-support-xs); list-style:none; }
.work-sections > summary::-webkit-details-marker { display:none; }
.work-sections[open] > summary { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); }
.work-sections > div { position:absolute; top:27px; right:0; width:220px; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--panel); box-shadow:0 12px 35px rgba(35,29,20,.16); }
.work-sections-preset { display:grid; gap:4px; }
.work-sections-preset > span,.work-sections > div > small { color:var(--faint); font-size:var(--text-support-xs); }
.work-sections-preset select { min-height:27px; padding:4px 7px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--control); font:inherit; font-size:var(--text-small); }
.work-sections-choices { display:grid; grid-template-columns:1fr 1fr; gap:4px 8px; margin:9px 0; }
.work-sections-choices label { display:flex; align-items:center; gap:5px; min-height:20px; color:var(--muted); font-size:var(--text-support); }
.work-sections-choices input { accent-color:var(--accent); }
.work-record-panel { min-height:0; flex:1; margin-top:7px; padding:9px 10px; overflow:auto; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--release) 4%,var(--panel)); scrollbar-width:thin; }
.work-record-panel h4 { margin:0 0 5px; font-size:var(--text-control); font-weight:610; }
.work-record-panel p { max-width:78ch; margin:0 0 7px; color:var(--muted); font-size:var(--text-support); line-height:1.48; white-space:pre-line; }
.work-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; margin-bottom:7px; }
.work-facts div { padding:5px 6px; border:1px solid var(--line); border-radius:6px; background:var(--control); }
.work-facts span,.work-facts strong { display:block; }
.work-facts span { color:var(--faint); font-size:var(--text-label); }
.work-facts strong { margin-top:1px; font-size:var(--text-support); }
.work-record-list { display:grid; gap:2px; }
.work-record-list article { display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:6px; padding:4px 6px; border:1px solid var(--line); border-radius:6px; background:var(--control); }
.work-record-list i { width:5px; height:5px; border-radius:50%; background:var(--release); }
.work-record-list strong,.work-record-list small { display:block; }
.work-record-list strong { font-size:var(--text-small); }
.work-record-list small,.work-record-list span { color:var(--faint); font-size:var(--text-label-strong); }
@media (max-width:1100px) { .new-workstream-control form { grid-template-columns:minmax(0,1fr); } .new-workstream-control form > footer { grid-column:1; } }
@media (max-width:900px) { .family-shell { grid-template-columns:150px minmax(0,1fr); } .family-project-overview-body { grid-template-columns:minmax(0,1fr); } .family-area-side { max-width:420px; } .family-briefing { max-width:300px; border-top:1px solid var(--line); border-left:0; padding:12px 0 0; } .new-workstream-control form .tiny-btn { grid-column:auto; } .family-work-row { grid-template-columns:18px minmax(0,1fr) auto; } .family-record-marks { display:none; } }
@container family-stage (max-width:820px) {
  .family-project-overview-body { grid-template-columns:minmax(0,1fr); gap:12px; }
  .family-project-overview-grid { grid-template-columns:minmax(0,1fr); }
  .new-workstream-control form { grid-template-columns:minmax(0,1fr); }
  .new-workstream-control form > footer { grid-column:1; }
  .family-area-side { max-width:none; }
  .family-briefing { max-width:none; border-top:1px solid var(--line); border-left:0; padding:12px 0 0; }
}
@container family-stage (max-width:620px) {
  .new-workstream-control form { grid-template-columns:minmax(0,1fr); }
  .new-workstream-control form > footer { grid-column:1; }
  .workstream-draft-component { grid-template-columns:minmax(0,1fr) auto; }
  .workstream-draft-visible { grid-column:1; grid-row:1; }
  .workstream-draft-component > .field { grid-column:1/-1; grid-row:2; }
  .workstream-draft-view { grid-column:1; grid-row:3; }
  .workstream-draft-order { grid-column:2; grid-row:1; }
  .workstream-draft-add-menu { grid-template-columns:minmax(0,1fr); }
}
.project-area { color:var(--faint); font-size:var(--text-small); letter-spacing:.11em; text-transform:uppercase; }
.project-next { margin:23px 0 20px; padding:13px 14px; border:1px solid color-mix(in srgb,var(--project) 22%,var(--line)); border-radius:11px; background:color-mix(in srgb,var(--project) 6%,transparent); }
.project-next span { display:block; margin-bottom:4px; color:var(--faint); font-size:var(--text-small); letter-spacing:.1em; text-transform:uppercase; }
.project-next strong { font-size:var(--text-body); }
.project-spine-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.project-spine-head > div:first-child { min-width:0; }
.project-spine-head h3 { margin-bottom:5px; }
.project-spine-head .project-area { font-size:var(--text-support-xs); }
.project-spine-head p { max-width:650px; margin:0; color:var(--muted); font-size:var(--text-support); line-height:1.35; }
.project-health { flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; margin-top:1px; padding:4px 6px; border:1px solid color-mix(in srgb,var(--project) 22%,var(--line)); border-radius:7px; color:var(--muted); background:color-mix(in srgb,var(--project) 5%,transparent); font-size:var(--text-support-xs); }
.project-health i { width:6px; height:6px; border-radius:50%; background:var(--project); }
.project-spine-tabs { display:flex; flex-wrap:wrap; gap:3px; margin:4px 0 0; padding:3px; overflow:visible; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--panel-2) 55%,transparent); scrollbar-width:none; }
.project-spine-tabs::-webkit-scrollbar { display:none; }
.project-spine-tabs button { flex:1 1 auto; padding:7px 9px; border:1px solid transparent; border-radius:8px; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-small); }
.project-spine-tabs button:hover { color:var(--ink); background:var(--control); }
.project-spine-tabs button.active { color:var(--ink); border-color:color-mix(in srgb,var(--project) 24%,var(--line)); background:color-mix(in srgb,var(--project) 8%,var(--panel)); }
.project-spine-tabs .workstream-add-component-tab { margin-left:0; color:color-mix(in srgb,var(--accent) 76%,var(--ink)); border-color:color-mix(in srgb,var(--accent) 24%,var(--line)); }
.workstream-head-actions { display:flex; align-items:center; gap:5px; }

.workstream-component-panel form { display:grid; gap:11px; }
.workstream-component-panel form > label { display:grid; gap:5px; color:var(--faint); font-size:var(--text-support-xs); font-weight:650; letter-spacing:.05em; text-transform:uppercase; }
.workstream-component-panel textarea.field { min-height:190px; padding:10px; resize:vertical; font:inherit; line-height:1.55; text-transform:none; }
.workstream-component-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.workstream-component-fields label { display:grid; gap:4px; color:var(--faint); font-size:var(--text-support-xs); font-weight:600; }
.workstream-component-panel form footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.workstream-component-panel form footer small { max-width:430px; color:var(--muted); font-size:var(--text-support-xs); line-height:1.45; }

.workstream-config-backdrop { position:fixed; inset:0; z-index:70; background:rgba(3,8,10,.58); backdrop-filter:blur(5px); }
.workstream-config-panel { position:fixed; z-index:71; top:18px; right:18px; bottom:18px; width:min(560px,calc(100vw - 36px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 52%,var(--line)); border-radius:17px; background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%); box-shadow:0 28px 90px rgba(0,0,0,.42); }
.workstream-config-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px; border-bottom:1px solid var(--line); }
.workstream-config-panel > header .icon-btn { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; padding:0; border-radius:9px; color:var(--muted); line-height:1; }
.workstream-config-panel > header .horizon-x-glyph { width:10px; height:10px; flex-basis:10px; }
.workstream-config-panel > header .horizon-x-glyph::before,.workstream-config-panel > header .horizon-x-glyph::after { width:10px; height:1.25px; }
.workstream-config-panel > header > div > span { color:var(--accent); font-size:var(--text-support-xs); font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.workstream-config-panel > header h3 { margin:4px 0; font-size:18px; }
.workstream-config-panel > header p { margin:0; color:var(--muted); font-size:var(--text-small); line-height:1.5; }
.workstream-config-scroll { display:grid; gap:20px; padding:18px 20px 24px; overflow:auto; }
.workstream-config-scroll section { display:grid; gap:9px; }
.workstream-config-scroll h4 { margin:0; color:var(--ink); font-size:var(--text-secondary); }
.workstream-component-list { display:grid; gap:6px; }
.workstream-component-row { display:grid; grid-template-columns:18px minmax(120px,1fr) 120px auto; align-items:end; gap:7px; padding:8px; border:1px solid var(--line); border-radius:9px; background:var(--control); }
.workstream-component-row.dragging { opacity:.46; }
.workstream-component-row.drag-over { border-color:var(--accent); transform:translateY(1px); }
.workstream-component-row.muted { opacity:.7; border-style:dashed; }
.workstream-component-handle { align-self:center; color:var(--faint); cursor:grab; font-size:14px; letter-spacing:-4px; }
.workstream-component-row label,.workstream-custom-component label,.workstream-save-template label { display:grid; gap:3px; color:var(--faint); font-size:var(--text-label-strong); font-weight:650; letter-spacing:.05em; text-transform:uppercase; }
.workstream-component-row .field,.workstream-custom-component .field,.workstream-save-template .field { min-height:30px; height:30px; padding:0 8px; font-size:var(--text-small); }
.workstream-component-actions { display:flex; align-items:center; justify-content:flex-end; gap:4px; }
.workstream-component-actions small { max-width:92px; color:var(--muted); font-size:var(--text-label); line-height:1.25; }
.workstream-component-actions .tiny-btn { min-height:29px; padding:5px 7px; }
.workstream-add-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.workstream-library-heading { margin:5px 0 0; color:var(--faint); font-size:var(--text-label-strong); letter-spacing:.08em; text-transform:uppercase; }
.workstream-add-card { display:grid; gap:3px; min-height:52px; padding:9px; text-align:left; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--control); cursor:pointer; }
.workstream-add-card:hover { border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); background:var(--control-hover); }
.workstream-add-card strong { font-size:var(--text-small); }
.workstream-add-card small { color:var(--muted); font-size:var(--text-label-strong); }
.workstream-config-empty { margin:0; color:var(--muted); font-size:var(--text-small); }
.workstream-custom-component { display:grid; grid-template-columns:minmax(0,1fr) 145px; gap:8px; padding:12px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--accent) 5%,var(--panel)); }
.workstream-custom-component h5 { grid-column:1/-1; margin:0; font-size:var(--text-small); }
.workstream-custom-component .wide { grid-column:1/-1; }
.workstream-custom-component button { justify-self:start; }
.workstream-custom-component > small { color:var(--muted); font-size:var(--text-support-xs); line-height:1.4; }
.workstream-save-template { display:flex; align-items:end; gap:8px; }
.workstream-save-template label { flex:1; }

@media (max-width:760px) {
  .workstream-component-row { grid-template-columns:18px minmax(0,1fr); }
  .workstream-component-row label:nth-of-type(2),.workstream-component-actions { grid-column:2; }
  .workstream-component-actions { justify-content:flex-start; }
  .workstream-add-grid { grid-template-columns:minmax(0,1fr); }
  .workstream-custom-component,.workstream-component-fields { grid-template-columns:minmax(0,1fr); }
  .workstream-custom-component .wide { grid-column:auto; }
}
.project-spine-body { min-height:0; flex:1 1 auto; overflow:auto; padding-top:16px; overscroll-behavior:contain; scrollbar-gutter:stable; }
.project-spine-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(230px,.92fr); gap:11px; }
.project-overview-grid .spine-panel { height:285px; display:flex; flex-direction:column; overflow:hidden; }
.project-overview-grid .project-linked { min-height:0; overflow:auto; padding-right:4px; overscroll-behavior:contain; scrollbar-width:thin; }
.project-overview-grid .spine-panel:first-child { padding:10px 11px; }
.project-overview-grid .spine-panel:first-child > span { margin-bottom:4px; }
.project-overview-grid .spine-panel:first-child > p { font-size:var(--text-support); line-height:1.3; }
.project-overview-grid .spine-panel:first-child .project-next-form { margin-top:6px; }
.project-overview-grid .spine-panel:first-child .project-linked { margin-top:10px !important; }
.project-overview-grid .spine-panel:first-child .project-linked > .label { margin-bottom:1px; font-size:var(--text-label); letter-spacing:.09em; }
.project-overview-grid .spine-panel:first-child .project-linked > div { gap:6px; padding:5px 0; }
.project-overview-grid .spine-panel:last-child { position:relative; padding-bottom:34px; }
.spine-panel { min-width:0; padding:14px; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--panel) 84%,transparent); }
.spine-panel > span { display:block; margin-bottom:7px; color:var(--faint); font-size:var(--text-support-xs); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.spine-panel h4 { margin:0 0 6px; font-size:var(--text-body); font-weight:610; }
.spine-panel p { margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.5; }
.spine-panel-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.spine-panel-title h4 { margin:0; }
.spine-panel-title .tiny-btn { min-height:22px; padding:4px 8px; border-color:color-mix(in srgb,var(--project) 25%,var(--line)); color:color-mix(in srgb,var(--project) 70%,var(--ink)); background:color-mix(in srgb,var(--project) 8%,transparent); font-size:var(--text-support-xs); }
.project-todo-inline { grid-template-columns:minmax(0,1fr); margin:1px 0 6px; }
.project-todo-inline .field { height:28px; min-height:28px; padding:0 9px; border-radius:8px; font-size:var(--text-small-strong); }
.project-todo-inline .primary-btn { min-width:48px; padding:5px 8px; border-radius:7px; font-size:var(--text-small); }
.project-todos-panel .spine-list,.project-calendar-panel .spine-list { gap:2px; }
.project-todos-panel .spine-list article,.project-calendar-panel .spine-list article { gap:6px; padding:3px 7px; border-radius:6px; }
.project-todos-panel .spine-list article small,.project-calendar-panel .spine-list article small { margin-top:0; }
.project-todos-panel { padding:9px 10px; }
.project-handoff-panel .spine-list { gap:2px; }
.project-handoff-panel .spine-list article { gap:6px; padding:3px 7px; border-radius:6px; }
.project-handoff-panel .spine-list article small { margin-top:0; }
.handoff-composer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; margin:8px 0 2px; padding:8px; border:1px solid color-mix(in srgb,var(--project) 24%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--project) 5%,var(--control)); }
.handoff-composer label { display:grid; gap:3px; color:var(--faint); font-size:var(--text-label-strong); letter-spacing:.05em; text-transform:uppercase; }
.handoff-composer label.wide { grid-column:1/-1; }
.handoff-composer .field { height:27px; min-height:27px; padding:0 8px; border-radius:7px; font-size:var(--text-small); }
.handoff-composer textarea.field { height:42px; padding:6px 8px; resize:none; }
.handoff-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:5px; }
.handoff-actions .tiny-btn { min-height:21px; padding:3px 7px; font-size:var(--text-support-xs); }
.handoff-primary { border-color:color-mix(in srgb,var(--project) 36%,var(--line)) !important; color:color-mix(in srgb,var(--project) 72%,var(--ink)) !important; background:color-mix(in srgb,var(--project) 11%,var(--control)) !important; }
[data-delivery-request],[data-dispatch-draft] { display:inline-flex; align-items:center; justify-content:center; min-width:76px; min-height:24px; margin-right:0; padding:4px 9px !important; border-color:color-mix(in srgb,var(--project) 48%,var(--line)) !important; color:color-mix(in srgb,var(--project) 58%,var(--ink)) !important; background:color-mix(in srgb,var(--project) 16%,var(--control)) !important; font-size:var(--text-support) !important; font-weight:650 !important; text-align:center; transform:translate(-8px,6px); }
.delivery-notes { flex:0 0 auto; margin-top:7px; padding-top:7px; border-top:1px solid var(--line); }
.delivery-notes-head { display:flex; align-items:center; justify-content:space-between; min-height:17px; gap:8px; padding:0 6px; }
.delivery-notes h5 { margin:0; font-size:var(--text-support); font-weight:610; line-height:1; }
.delivery-notes-list { display:grid; gap:3px; margin-top:5px; padding:4px 6px; }
.delivery-notes-list span { position:relative; padding-left:10px; color:var(--muted); font-size:var(--text-label-strong); line-height:1.35; }
.delivery-notes-list span::before { content:""; position:absolute; left:0; top:.48em; width:4px; height:4px; border-radius:50%; background:color-mix(in srgb,var(--project) 68%,var(--muted)); }
.delivery-note-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px; margin-top:5px; }
.delivery-note-form .field { height:25px; min-height:25px; padding:0 8px; border-radius:6px; font-size:var(--text-support); }
.delivery-note-form .tiny-btn { min-height:25px; padding:3px 8px; font-size:var(--text-support-xs); }
.project-ideas-panel { min-height:0; }
.project-ideas-list { min-height:0; display:grid; align-content:start; gap:2px; margin-top:7px; overflow:auto; padding-right:4px; overscroll-behavior:contain; scrollbar-width:thin; }
.project-idea-row { display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:start; gap:6px; padding:4px 7px; border:1px solid var(--line); border-radius:6px; background:var(--control); }
.project-idea-row > i { width:6px; height:6px; margin-top:3px; border-radius:50%; background:var(--idea); }
.project-idea-row strong { display:block; font-size:var(--text-small-strong); font-weight:590; line-height:1.3; }
.project-idea-row p { margin:2px 0 0; color:var(--faint); font-size:var(--text-label-strong); line-height:1.3; }
.project-idea-meta { display:flex; align-items:center; flex-wrap:wrap; gap:3px; margin-top:3px; }
.project-idea-meta span,.project-idea-meta button { min-height:17px; padding:2px 5px; border:1px solid color-mix(in srgb,var(--idea) 20%,var(--line)); border-radius:5px; color:var(--muted); background:color-mix(in srgb,var(--idea) 6%,transparent); font:inherit; font-size:var(--text-label-strong); }
.project-idea-meta button { cursor:pointer; }
.project-idea-row > em { color:color-mix(in srgb,var(--idea) 78%,var(--muted)); font-size:var(--text-label-strong); font-style:normal; }
.project-idea-expand { color:color-mix(in srgb,var(--idea) 72%,var(--ink)) !important; background:color-mix(in srgb,var(--idea) 12%,var(--control)) !important; }
.project-idea-details { margin-top:5px; padding:6px 7px; border-left:2px solid color-mix(in srgb,var(--idea) 55%,var(--line)); border-radius:0 5px 5px 0; background:color-mix(in srgb,var(--idea) 5%,transparent); }
.project-idea-details p { margin:0 0 5px; color:var(--muted); font-size:var(--text-support-xs); line-height:1.45; }
.project-idea-details p:last-child { margin-bottom:0; }
.project-idea-details b { color:var(--ink); font-weight:610; }
.project-idea-row.expanded { background:color-mix(in srgb,var(--idea) 4%,var(--control)); }
.spine-panel .project-next { margin:11px 0 0; }
.project-next-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-top:10px; }
.project-next-form .field { min-width:0; font-size:var(--text-control); }
.project-next-form .primary-btn { min-width:64px; align-self:center; padding:6px 12px; border-color:rgba(143,122,85,.34); border-radius:8px; color:#b9a77f; background:rgba(143,122,85,.13); font-size:var(--text-secondary); font-weight:590; }
.project-next-form .primary-btn:hover { border-color:rgba(143,122,85,.48); background:rgba(143,122,85,.2); filter:none; transform:none; }
html[data-appearance="light"] .project-next-form .primary-btn { color:#765f34; }
.spine-list { display:grid; gap:6px; }
.spine-list article { display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; border:1px solid var(--line); border-radius:9px; background:var(--control); }
.spine-list article i { width:6px; height:6px; border-radius:50%; background:var(--project); }
.spine-list article strong,.spine-list article small { display:block; }
.spine-list article strong { font-size:var(--text-secondary); }
.spine-list article small { margin-top:2px; color:var(--faint); font-size:var(--text-support-xs); }
.spine-list article > span:last-child { color:var(--faint); font-size:var(--text-support-xs); }
.spine-empty { display:grid; place-items:center; min-height:118px; padding:18px; border:1px dashed var(--line); border-radius:10px; color:var(--faint); text-align:center; font-size:var(--text-secondary); line-height:1.5; }
.spine-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-top:10px; }
.spine-link-state { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; padding-top:11px; border-top:1px solid var(--line); }
.spine-link-state small { color:var(--faint); font-size:var(--text-support-xs); line-height:1.4; }
.spine-link-state .tiny-btn[disabled] { cursor:not-allowed; opacity:.45; }
.spine-link-state [data-project-notebook] { min-width:64px; padding:6px 12px; border-color:rgba(143,122,85,.34); border-radius:8px; color:#b9a77f; background:rgba(143,122,85,.13); font-size:var(--text-secondary); font-weight:590; }
.spine-link-state [data-project-notebook]:hover { border-color:rgba(143,122,85,.48); background:rgba(143,122,85,.2); filter:none; transform:none; }
html[data-appearance="light"] .spine-link-state [data-project-notebook] { color:#765f34; }
.project-notes-preview { min-height:285px; display:flex; flex-direction:column; }
.project-notes-excerpt { max-width:76ch; max-height:190px; overflow:hidden; margin:0; color:var(--muted); font-size:var(--text-secondary); line-height:1.58; white-space:pre-line; -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%); }
.project-notes-preview .spine-link-state { margin-top:auto; }
.money-read { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:12px; }
.money-read div { padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--control); }
.money-read span,.money-read strong { display:block; }
.money-read span { color:var(--faint); font-size:var(--text-support-xs); }
.money-read strong { margin-top:3px; font-size:var(--text-body); }
.project-money-panel .money-read { grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; margin-top:7px; }
.project-money-panel .money-read div { padding:5px 7px; border-radius:6px; }
.project-money-panel .money-read strong { margin-top:1px; font-size:var(--text-secondary); }
.project-money-content { min-height:0; flex:1; overflow:auto; padding-right:4px; scrollbar-width:thin; }
.money-section { margin-top:7px; }
.money-section h5 { margin:0 0 4px; font-size:var(--text-support); font-weight:610; }
.money-section .spine-list { gap:2px; }
.money-section .spine-list article { gap:6px; padding:3px 7px; border-radius:6px; }
.money-section .spine-list article small { margin-top:0; }
[data-money-invoice] { display:inline-flex; align-items:center; justify-content:center; min-width:76px; min-height:24px; padding:4px 9px !important; border-color:color-mix(in srgb,var(--project) 48%,var(--line)) !important; color:color-mix(in srgb,var(--project) 58%,var(--ink)) !important; background:color-mix(in srgb,var(--project) 16%,var(--control)) !important; font-size:var(--text-support) !important; font-weight:650 !important; transform:translate(-8px,6px); }
.activity-trail { display:grid; gap:0; }
.activity-trail article { position:relative; display:grid; grid-template-columns:70px 8px minmax(0,1fr); gap:8px; padding:7px 0; color:var(--muted); font-size:var(--text-small); }
.activity-trail article::after { content:""; position:absolute; left:81px; top:20px; bottom:-6px; width:1px; background:var(--line); }
.activity-trail article:last-child::after { display:none; }
.activity-trail time { color:var(--faint); }
.activity-trail i { width:6px; height:6px; margin-top:3px; border-radius:50%; background:var(--project); }
.related-projects { margin-top:13px; padding-top:10px; border-top:1px solid var(--line); }
.related-projects h5 { margin:0 0 5px; font-size:var(--text-secondary); font-weight:610; }
.related-projects-list { display:grid; gap:3px; }
.related-projects-list article { display:grid; grid-template-columns:6px minmax(0,1fr) auto; align-items:center; gap:7px; padding:5px 0; }
.related-projects-list article > i { width:5px; height:5px; border-radius:50%; background:var(--related); }
.related-projects-list strong,.related-projects-list small { display:block; }
.related-projects-list strong { font-size:var(--text-small); font-weight:590; }
.related-projects-list small { margin-top:1px; color:var(--faint); font-size:var(--text-label-strong); line-height:1.25; }
.related-projects-list article > span:last-child { color:var(--faint); font-size:var(--text-label-strong); }
@media (max-width:900px) { .project-spine-grid { grid-template-columns:1fr; } .project-spine-head { display:block; } }
.project-linked { display:grid; gap:6px; }
.project-linked > div { display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:var(--text-secondary); }
.project-linked > div i { width:6px; height:6px; border-radius:50%; background:var(--intention); }
.project-linked > div small { color:var(--faint); }
.project-linked > p { color:var(--faint); font-size:var(--text-secondary); }
.project-accent { display:flex; align-items:center; gap:4px; margin-top:21px; }
.project-overview-grid .spine-panel:last-child > .project-accent { position:absolute; right:10px; bottom:9px; margin:0 !important; }
.project-accent > span { margin-right:3px; color:var(--faint); font-size:var(--text-label-strong); }
.project-accent button { width:12px; height:12px; padding:0; border:1px solid transparent; border-radius:50%; background:var(--swatch); cursor:pointer; }
.project-accent button.active { border-color:var(--ink); box-shadow:0 0 0 2px rgba(255,255,255,.09); }
.horizon-index { padding:10px 14px 15px; }
.horizon-index .index-head,.horizon-index > button { display:grid; grid-template-columns:minmax(220px,1.25fr) .45fr .35fr minmax(210px,1fr); align-items:center; gap:10px; width:100%; min-width:0; padding:10px 12px; border:0; border-bottom:1px solid rgba(255,255,255,.055); color:inherit; background:transparent; text-align:left; }
.horizon-index .index-head { color:var(--faint); font-size:var(--text-small); letter-spacing:.08em; text-transform:uppercase; }
.horizon-index > button { position:relative; cursor:pointer; font-size:var(--text-secondary); }
.horizon-index > button::before { content:""; position:absolute; left:2px; width:4px; height:4px; border-radius:50%; background:var(--project,var(--intention)); }
.horizon-index > button:hover { background:rgba(255,255,255,.025); }
.horizon-index > button span { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.horizon-index > button strong { font-weight:600; }
.intentions-index .index-head,.intentions-index > button { grid-template-columns:minmax(240px,1.4fr) .35fr .45fr .35fr; }

.intention-meta { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:5px; }
.intention-meta span { padding:2px 5px; border-radius:7px; color:color-mix(in srgb,var(--intention) 74%,var(--muted)); background:color-mix(in srgb,var(--intention) 7%,transparent); font-size:var(--text-support-xs); }
.intention-item.aged { border-color:color-mix(in srgb,var(--intention) 24%,var(--line)); }
.intention-copy em { display:block; margin-top:5px; color:color-mix(in srgb,var(--intention) 74%,var(--muted)); font-size:var(--text-small); font-style:normal; }
.intentions-focus { display:grid; grid-template-columns:minmax(240px,.35fr) minmax(0,1fr); min-height:310px; }
.focus-intro { padding:26px; border-right:1px solid var(--line); background:linear-gradient(150deg,rgba(115,153,163,.05),transparent 62%); }
.focus-intro h3 { margin:8px 0; font-size:24px; font-weight:560; line-height:1.1; }
.focus-intro p { color:var(--muted); font-size:var(--text-control); }
.intentions-focus > div:last-child { display:grid; align-content:start; gap:8px; padding:15px; }
.intentions-focus .intention-item { padding:14px; }
.intentions-focus .intention-copy strong { font-size:var(--text-body); }
.inbox-item strong,
.notebook-index strong,
.intention-copy strong,
.spine-list article strong,
.today-event strong,
.event-title {
  font-size:var(--item-title-size);
  font-weight:var(--item-title-weight);
  line-height:var(--item-title-line-height);
}
.colour-quiet .realm-mark,.colour-quiet .intention-item { filter:saturate(.45); }
.colour-quiet .intention-item { background:rgba(255,255,255,.01); }
.colour-clear .intention-item { background:color-mix(in srgb,var(--intention) 9%,rgba(255,255,255,.012)); }

.capacity-ask { width:100%; margin-top:9px; }
.capacity-coach { display:grid; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.capacity-coach article { display:grid; grid-template-columns:6px minmax(0,1fr); gap:8px; padding:8px; border:1px solid rgba(255,255,255,.05); border-radius:9px; background:rgba(255,255,255,.012); }
.capacity-coach article i { width:5px; height:100%; min-height:29px; border-radius:5px; background:var(--coach); }
.capacity-coach article strong { display:block; font-size:var(--text-secondary); }
.capacity-coach article p { margin:3px 0 0; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.capacity-coach > div:last-child { display:flex; gap:5px; }
.capacity-coach > div:last-child .tiny-btn { flex:1; }

.dispatch-layout { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(420px,1.8fr) minmax(240px,.9fr); gap:13px; align-items:start; }
.dispatch-layout > * { min-width:0; }
.delivery-list { padding:8px; }
.delivery-item { width:100%; padding:12px; border:1px solid transparent; border-radius:12px; color:inherit; background:transparent; cursor:pointer; text-align:left; transition:.18s ease; }
.delivery-item:hover { background:rgba(255,255,255,.025); }
.delivery-item.active { background:var(--accent-soft); border-color:rgba(217,185,119,.18); }
.delivery-item strong { display:block; font-size:var(--text-body-sm); font-weight:600; }
.delivery-item p { margin:3px 0 8px; color:var(--faint); font-size:var(--text-secondary); }
.delivery-line { display:flex; align-items:center; justify-content:space-between; }
.state { display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-size:var(--text-small); text-transform:uppercase; letter-spacing:.08em; }
.state::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--state,#7ca57a); }
.delivery-preview { min-height:635px; padding:11px; }
.preview-toolbar { min-height:37px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 3px 9px; }
.preview-toolbar > span { color:var(--faint); font-size:var(--text-small); letter-spacing:.12em; text-transform:uppercase; }
.preview-toolbar > div { display:flex; gap:4px; }
.preview-toolbar .tiny-btn.active { color:var(--ink); border-color:rgba(217,185,119,.24); background:var(--accent-soft); }
.recipient-page { position:relative; min-height:600px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,#181b1d,#111315); }
.recipient-hero { height:216px; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(180deg,rgba(5,7,8,.06),rgba(5,7,8,.82)),radial-gradient(circle at 75% 28%,rgba(217,185,119,.28),transparent 26%),linear-gradient(120deg,#2b3435,#17191b 65%); }
.recipient-brand { position:absolute; top:20px; left:22px; display:flex; align-items:center; gap:8px; font-size:var(--text-control); letter-spacing:.1em; text-transform:uppercase; }
.recipient-brand i { width:22px; height:22px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:7px; color:var(--accent); font-style:normal; }
.recipient-hero h2 { margin:0 0 5px; font-size:27px; font-weight:520; letter-spacing:-.035em; }
.recipient-hero p { max-width:620px; margin:0 0 6px; color:rgba(255,255,255,.72); font-size:var(--text-control); }
.recipient-hero small { color:rgba(255,255,255,.44); font-size:var(--text-small); }
.file-gallery { padding:15px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.file-card { position:relative; min-width:0; min-height:110px; padding:12px; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.022); }
.file-remove { position:absolute; top:7px; right:7px; z-index:2; width:21px; height:21px; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:50%; color:var(--faint); background:rgba(0,0,0,.2); cursor:pointer; opacity:.5; }
.file-card:hover .file-remove,.file-remove:focus-visible { color:var(--ink); border-color:var(--line); opacity:1; outline:0; }
.file-wave { height:42px; margin:7px 0 12px; opacity:.55; background:repeating-linear-gradient(90deg,var(--accent) 0 2px,transparent 2px 7px); clip-path:polygon(0 42%,5% 20%,10% 70%,15% 32%,20% 56%,25% 9%,30% 80%,35% 25%,40% 66%,45% 35%,50% 91%,55% 15%,60% 70%,65% 24%,70% 57%,75% 8%,80% 75%,85% 32%,90% 61%,95% 20%,100% 46%,100% 54%,95% 80%,90% 39%,85% 68%,80% 25%,75% 92%,70% 43%,65% 76%,60% 30%,55% 85%,50% 9%,45% 65%,40% 34%,35% 75%,30% 20%,25% 91%,20% 44%,15% 68%,10% 30%,5% 80%,0 58%); }
.file-card strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:var(--text-secondary); }
.file-card small { color:var(--faint); font-size:var(--text-small); }
.recipient-actions { padding:0 15px 16px; display:flex; gap:8px; }
.recipient-actions .approved { color:var(--sage); border-color:rgba(156,175,154,.25); background:rgba(156,175,154,.07); }
.delivery-notes { display:grid; gap:6px; margin:0 15px 14px; }
.delivery-notes > div { padding:9px 11px; border-left:2px solid var(--blue); border-radius:0 8px 8px 0; background:rgba(129,157,167,.055); }
.delivery-notes strong { font-size:var(--text-small); }
.delivery-notes p { margin:2px 0; color:var(--muted); font-size:var(--text-secondary); }
.delivery-notes small { color:var(--faint); font-size:var(--text-support-xs); }
.recipient-note-form { display:grid; gap:8px; margin:0 15px 16px; padding:12px; border:1px solid rgba(129,157,167,.2); border-radius:10px; background:rgba(129,157,167,.045); }
.recipient-note-form .textarea { min-height:62px; }
.recipient-note-form > div { display:flex; justify-content:flex-end; gap:7px; }
.download-result { display:flex; align-items:center; gap:9px; margin:0 15px 16px; padding:9px 11px; border:1px solid rgba(129,157,167,.18); border-radius:9px; background:rgba(129,157,167,.05); }
.download-result > i,.upload-summary > i { flex:0 0 auto; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; color:#18201a; background:var(--sage); font-size:var(--text-secondary); font-style:normal; }
.download-result strong { display:block; font-size:var(--text-secondary); }
.download-result small { display:block; color:var(--faint); font-size:var(--text-small); }
.dispatch-side { display:grid; gap:8px; align-content:start; }
.side-body { padding:14px; }
.dropzone { min-height:112px; display:grid; place-items:center; padding:15px; border:1px dashed rgba(217,185,119,.32); border-radius:12px; text-align:center; background:var(--accent-soft); cursor:pointer; }
.dropzone.drag-active { border-color:rgba(217,185,119,.88); color:var(--ink); background:rgba(217,185,119,.16); box-shadow:inset 0 0 0 1px rgba(217,185,119,.22),0 0 0 4px rgba(217,185,119,.05); }
.dropzone strong { display:block; font-size:var(--text-control); }
.dropzone small { display:block; margin-top:4px; color:var(--faint); font-size:var(--text-small); }
.upload-summary { display:flex; align-items:flex-start; gap:8px; margin-top:9px; padding:9px; border:1px solid rgba(156,175,154,.18); border-radius:9px; color:var(--muted); background:rgba(156,175,154,.05); font-size:var(--text-small); line-height:1.35; }
.activity { display:grid; gap:13px; }
.activity-item { display:grid; grid-template-columns:7px 1fr; gap:9px; }
.activity-item i { width:7px; height:7px; margin-top:4px; border-radius:50%; background:var(--sage); }
.activity-item.blue i { background:var(--blue); }
.activity-item.gold i { background:var(--accent); }
.activity-item strong { display:block; font-size:var(--text-secondary); }
.activity-item small { color:var(--faint); font-size:var(--text-small); }
.activity-empty { color:var(--faint); font-size:var(--text-small); }
.delivery-controls { display:grid; gap:10px; }
.delivery-controls .confirmed { color:var(--sage); border-color:rgba(156,175,154,.23); background:rgba(156,175,154,.06); }
.expiry-control { margin-top:1px; }
.send-delivery { width:100%; }
.password-panel,.send-confirm { display:grid; gap:9px; padding:10px; border:1px solid rgba(217,185,119,.2); border-radius:10px; background:var(--accent-soft); }
.password-panel p,.send-confirm p { margin:0; color:var(--muted); font-size:var(--text-small); line-height:1.4; }
.password-panel > div,.send-confirm > div { display:flex; justify-content:flex-end; gap:6px; }
.password-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px; }
.send-confirm strong { font-size:var(--text-secondary); }
.dispatch-status-rail { position:sticky; bottom:10px; z-index:9; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:13px 0 0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:rgba(10,12,13,.92); box-shadow:0 14px 40px rgba(0,0,0,.3); backdrop-filter:blur(18px); }
.dispatch-stage { min-width:0; display:flex; align-items:center; gap:8px; padding:10px 12px; color:var(--faint); background:rgba(255,255,255,.015); }
.dispatch-stage > i { flex:0 0 auto; width:18px; height:18px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:var(--text-small); font-style:normal; }
.dispatch-stage strong,.dispatch-stage small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dispatch-stage strong { font-size:var(--text-small); font-weight:580; }
.dispatch-stage small { color:var(--faint); font-size:var(--text-support-xs); }
.dispatch-stage.complete.files { color:#9dbbc6; background:rgba(129,157,167,.095); }
.dispatch-stage.complete.protected { color:#aac0a6; background:rgba(156,175,154,.095); }
.dispatch-stage.complete.link { color:var(--accent); background:var(--accent-soft); }
.dispatch-stage.complete.sent { color:#b2c9ad; background:rgba(124,165,122,.11); }
.dispatch-stage.complete > i { border-color:currentColor; color:#111315; background:currentColor; }
.dispatch-side .card-head { padding:11px 12px; }
.dispatch-side .side-body { padding:10px 12px; }
.dispatch-side .dropzone { min-height:76px; padding:10px; }
.dispatch-side .activity { max-height:190px; overflow:auto; gap:9px; scrollbar-width:thin; }
.dispatch-side .delivery-controls { gap:7px; }
.dispatch-controls-card { position:relative; z-index:2; }
.dispatch-builder { margin-bottom:13px; animation:rise .2s ease both; }
.dispatch-builder-form { display:grid; gap:11px; padding:15px 17px 17px; }
.dispatch-builder-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:3px; }
.dispatch-notice { display:flex; align-items:center; gap:9px; margin-bottom:13px; padding:10px 12px; border:1px solid rgba(156,175,154,.19); border-radius:11px; color:var(--muted); background:rgba(156,175,154,.055); font-size:var(--text-secondary); }
.dispatch-notice > i { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; color:#172019; background:var(--sage); font-size:var(--text-secondary); font-style:normal; }
.dispatch-notice > button { margin-left:auto; border:0; color:var(--faint); background:transparent; cursor:pointer; }
.studio-delivery { min-height:600px; padding:26px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,#181b1d,#111315); }
.studio-summary { padding:38px 0 24px; border-bottom:1px solid var(--line); }
.studio-summary h2 { margin:5px 0; font-size:27px; font-weight:540; }
.studio-summary p { color:var(--muted); font-size:var(--text-control); }
.studio-delivery dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:20px 0; }
.studio-delivery dl > div { padding:10px; border:1px solid var(--line); border-radius:9px; }
.studio-delivery dt { color:var(--faint); font-size:var(--text-support-xs); letter-spacing:.08em; text-transform:uppercase; }
.studio-delivery dd { margin:4px 0 0; font-size:var(--text-secondary); }
.studio-file-list { display:grid; gap:7px; }
.studio-file-list > div { display:flex; justify-content:space-between; gap:10px; padding:9px 10px; border-bottom:1px solid var(--line); font-size:var(--text-secondary); }
.studio-file-list small { color:var(--faint); }

.ledger-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:13px; }
.stat-card { min-height:104px; padding:16px; }
.stat-card small { color:var(--faint); font-size:var(--text-secondary); letter-spacing:.08em; text-transform:uppercase; }
.stat-card strong { display:block; margin-top:11px; font-size:23px; font-weight:520; letter-spacing:-.035em; }
.stat-card p { margin:4px 0 0; color:var(--muted); font-size:var(--text-small); }
.ledger-layout { display:grid; grid-template-columns:minmax(540px,1.25fr) minmax(390px,.75fr); gap:13px; }
.ledger-notice { min-height:49px; margin-bottom:13px; padding:11px 14px; display:flex; align-items:center; gap:10px; border:1px solid rgba(156,175,154,.2); border-radius:12px; color:var(--muted); background:rgba(156,175,154,.055); font-size:var(--text-secondary); }
.ledger-notice > i { width:18px; height:18px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; color:#172019; background:var(--sage); font-size:var(--text-secondary); font-style:normal; }
.ledger-notice > button { margin-left:auto; border:0; color:var(--faint); background:transparent; cursor:pointer; }
.client-book { margin-bottom:13px; animation:rise .2s ease both; }
.client-book-body { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); }
.client-directory { display:grid; align-content:start; border-right:1px solid var(--line); }
.client-directory article { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 16px; border-bottom:1px solid rgba(255,255,255,.05); }
.client-directory article:last-child { border-bottom:0; }
.client-directory strong,.client-directory span,.client-directory small { display:block; }
.client-directory strong { font-size:var(--text-control); }
.client-directory span { margin-top:4px; color:var(--muted); font-size:var(--text-secondary); }
.client-directory small { margin-top:3px; color:var(--faint); font-size:var(--text-small); }
.client-directory .client-address { max-width:48ch; white-space:pre-line; }
.client-form { display:grid; align-content:start; gap:10px; padding:15px; }
.client-form .textarea { min-height:76px; }
.client-form .primary-btn { justify-self:end; }
.invoice-table { width:100%; border-collapse:collapse; }
.invoice-table th { padding:11px 13px; color:var(--faint); font-size:var(--text-small); font-weight:500; text-align:left; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--line); }
.invoice-table td { padding:13px; font-size:var(--text-control); border-bottom:1px solid rgba(255,255,255,.05); }
.invoice-table tr { cursor:pointer; }
.invoice-table tbody tr:hover { background:rgba(255,255,255,.02); }
.invoice-table tbody tr.selected { background:linear-gradient(90deg,rgba(217,185,119,.11),rgba(217,185,119,.025)); box-shadow:inset 2px 0 var(--accent); }
.invoice-table .money { text-align:right; font-variant-numeric:tabular-nums; }
.status-tag { display:inline-flex; padding:4px 7px; border-radius:20px; background:var(--tag-bg,rgba(255,255,255,.05)); color:var(--tag,var(--muted)); font-size:var(--text-small); text-transform:uppercase; letter-spacing:.07em; }
.invoice-editor { padding:16px; }
.editor-grid { display:grid; gap:11px; }
.invoice-locked .field:disabled,.invoice-locked .select:disabled,.invoice-locked .textarea:disabled { color:var(--ink); opacity:.84; -webkit-text-fill-color:var(--ink); cursor:default; }
.client-meta { display:flex; gap:10px; margin-top:6px; color:var(--faint); font-size:var(--text-small); }
.line-items { margin-top:4px; padding-top:13px; border-top:1px solid var(--line); }
.line-row { display:grid; grid-template-columns:1fr 52px 80px 25px; gap:7px; align-items:center; margin-bottom:7px; }
.line-row .field { height:35px; font-size:var(--text-control); }
.totals { margin-top:14px; margin-left:auto; width:min(250px,100%); }
.total-row { display:flex; justify-content:space-between; padding:5px 0; color:var(--muted); font-size:var(--text-control); }
.total-row.grand { margin-top:6px; padding-top:10px; border-top:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:620; }
.editor-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:17px; padding-top:14px; border-top:1px solid var(--line); }
.attachment-button { cursor:pointer; }
.invoice-attachments { padding-top:2px; }
.attachment-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.attachment-list > span { display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:6px 8px; border:1px solid rgba(129,157,167,.18); border-radius:8px; color:var(--muted); background:rgba(129,157,167,.05); font-size:var(--text-small); }
.attachment-list i { color:var(--blue); font-style:normal; }
.attachment-list button { padding:0; border:0; color:var(--faint); background:transparent; cursor:pointer; }
.attachment-empty { margin:6px 0 0; color:var(--faint); font-size:var(--text-small); }
.paid-lock { display:inline-flex; align-items:center; min-height:39px; padding:0 12px; border:1px solid rgba(156,175,154,.22); border-radius:10px; color:var(--sage); background:rgba(156,175,154,.06); font-size:var(--text-secondary); }
.ledger-confirm { margin-top:13px; padding:13px; border:1px solid rgba(217,185,119,.25); border-radius:11px; background:rgba(217,185,119,.08); }
.ledger-confirm.payment { border-color:rgba(156,175,154,.25); background:rgba(156,175,154,.07); }
.ledger-confirm strong { display:block; font-size:var(--text-control); }
.ledger-confirm p { margin:5px 0 11px; color:var(--muted); font-size:var(--text-small); line-height:1.5; }
.ledger-confirm > div { display:flex; justify-content:flex-end; gap:7px; }
.compliance-strip { margin-top:13px; padding:13px 16px; display:flex; gap:11px; align-items:center; color:var(--muted); font-size:var(--text-secondary); }
.compliance-strip i { width:8px; height:8px; border-radius:50%; background:var(--sage); }

.theme-drawer { --ink:#edf0ec; --muted:#aeb3ad; --faint:#858b85; --line:rgba(255,255,255,.15); --control:rgba(255,255,255,.065); --control-hover:rgba(255,255,255,.12); --panel:#171a1d; --panel-2:#1c2023; --accent:#c1a66e; --accent-soft:rgba(193,166,110,.14); position:fixed; inset:0 0 0 auto; z-index:100; width:min(520px,100vw); padding:18px 20px 18px; color:var(--ink); background:rgba(18,20,22,.985); border-left:1px solid var(--line); box-shadow:-25px 0 80px rgba(0,0,0,.4); transform:translateX(105%); transition:.25s ease; overflow:auto; }
.theme-drawer.open { transform:translateX(0); }
.review-drawer { position:fixed; inset:0 0 0 auto; z-index:105; width:min(390px,100vw); padding:22px; background:rgba(18,20,22,.98); border-left:1px solid var(--line); box-shadow:-25px 0 80px rgba(0,0,0,.4); transform:translateX(105%); transition:.25s ease; overflow:auto; }
.review-drawer.open { transform:translateX(0); }
.people-drawer { position:fixed; inset:0 0 0 auto; z-index:108; width:min(720px,100vw); padding:0; color:var(--ink); background:rgba(18,20,22,.985); border-left:1px solid var(--line); box-shadow:-25px 0 80px rgba(0,0,0,.4); transform:translateX(105%); transition:.25s ease; overflow:hidden; display:flex; flex-direction:column; }
.people-drawer.open { transform:translateX(0); }
.people-drawer-head { min-height:72px; padding:18px 20px 14px; display:flex; align-items:flex-start; justify-content:space-between; border-bottom:1px solid var(--line); }
.people-drawer-head h2 { margin:4px 0 0; font-size:20px; }
.people-tabs { display:flex; gap:18px; padding:0 20px; border-bottom:1px solid var(--line); }
.people-tabs button { padding:11px 0 9px; color:var(--faint); font-size:var(--text-control); border-bottom:2px solid transparent; }
.people-tabs button.active { color:var(--ink); border-color:var(--accent); }
.people-status-note { padding:7px 20px; color:var(--faint); background:var(--control); font-size:var(--text-small); }
.people-body { min-height:0; flex:1; overflow:auto; padding:18px 20px 24px; }
.people-empty { max-width:460px; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--control); }
.people-empty strong { display:block; font-size:var(--text-body); }
.people-empty p { margin:6px 0 14px; color:var(--muted); font-size:var(--text-secondary); line-height:1.55; }
.connections-list { border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.connection-row { padding:13px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; border-bottom:1px solid var(--line); }
.connection-row:last-child { border-bottom:0; }
.connection-row strong { display:block; font-size:var(--text-control); }
.connection-row small { display:block; margin-top:3px; color:var(--faint); font-size:var(--text-small); }
.connection-action { min-width:58px; padding:6px 8px; border:1px solid var(--line); border-radius:7px; color:var(--muted); font-size:var(--text-small); }
.connection-review { margin-top:12px; padding:13px 14px; border:1px solid var(--line); border-radius:10px; background:var(--control); }
.connection-review h3 { margin:0 0 7px; font-size:var(--text-body); }
.connection-review p { margin:4px 0; color:var(--muted); font-size:var(--text-secondary); }
.continuity-status { display:flex; gap:11px; padding:14px; border:1px solid rgba(156,175,154,.2); border-radius:12px; background:rgba(156,175,154,.07); }
.continuity-status > i { flex:0 0 auto; width:8px; height:8px; margin-top:4px; border-radius:50%; background:var(--sage); box-shadow:0 0 0 5px rgba(156,175,154,.08); }
.continuity-status strong { display:block; margin-bottom:4px; font-size:var(--text-body); }
.continuity-status p,.continuity-section p { margin:0; color:var(--muted); font-size:var(--text-control); line-height:1.55; }
.continuity-section { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.continuity-section .primary-btn { width:100%; margin-top:15px; }
.restore-review { display:grid; place-items:center; min-height:39px; margin-top:9px; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:rgba(255,255,255,.025); cursor:pointer; font-size:var(--text-body-sm); }
.restore-review:hover { color:var(--ink); border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.06); }
.drawer-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.drawer-head h2 { margin:0; font-size:16px; font-weight:560; }
.theme-drawer .drawer-head { align-items:flex-start; margin-bottom:11px; }
.theme-drawer .drawer-head .eyebrow { margin-bottom:4px; font-size:var(--text-secondary); }
.theme-drawer .drawer-head h2 { font-size:15.5px; line-height:1.12; }
.theme-drawer .drawer-head .icon-btn { width:31px; height:31px; min-height:31px; border-radius:8px; }
.theme-drawer > .label { margin-bottom:5px; font-size:var(--text-secondary); }
.theme-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.preset { height:73px; display:flex; flex-direction:column; justify-content:flex-end; padding:8px; border:1px solid var(--line); border-radius:11px; background:var(--preset); cursor:pointer; font-size:var(--text-secondary); text-align:left; }
.theme-section { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.theme-section h3 { font-size:var(--text-body-sm); font-weight:620; }
.color-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.color-field { display:flex; align-items:center; gap:8px; padding:8px; border:1px solid var(--line); border-radius:10px; }
.color-field input { width:27px; height:27px; padding:0; border:0; border-radius:7px; background:transparent; }
.color-field span { color:var(--muted); font-size:var(--text-secondary); }
.drawer-note { margin-top:22px; padding:12px; border-radius:11px; background:var(--accent-soft); color:var(--muted); font-size:var(--text-secondary); }
.appearance-choice { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.appearance-choice button { min-height:40px; display:grid; place-items:center; gap:1px; padding:4px 5px; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--control); cursor:pointer; }
.appearance-choice button strong { color:var(--ink); font-size:var(--text-body-sm); }
.appearance-choice button small { color:var(--faint); font-size:var(--text-small); }
.appearance-choice button.active { border-color:var(--accent); background:var(--accent-soft); }
.custom-foundation-row { display:grid; grid-template-columns:minmax(125px,.65fr) minmax(0,1.7fr); gap:7px; margin-top:7px; padding-top:7px; border-top:1px solid var(--line); }
.custom-foundation-main { min-height:72px; display:grid; place-items:center; gap:2px; padding:7px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--control); cursor:pointer; }
.custom-foundation-main strong { color:var(--ink); font-size:var(--text-secondary); }
.custom-foundation-main small { color:var(--faint); font-size:var(--text-support-xs); }
.custom-foundation-main.active { border-color:var(--accent); background:var(--accent-soft); }
.custom-theme-controls { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.custom-theme-control { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:5px; padding:5px 7px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); font-size:var(--text-support-xs); line-height:1.15; }
.custom-theme-control input[type="color"] { width:22px; height:22px; flex:0 0 auto; padding:1px; border:1px solid var(--line); border-radius:4px; background:var(--panel); cursor:pointer; }
.custom-theme-control select { width:100%; min-width:0; min-height:28px; padding:3px 5px; border:1px solid var(--line); border-radius:4px; color:var(--ink); background:var(--panel); font:inherit; }
.custom-theme-control.type { display:grid; grid-template-columns:1fr; align-content:center; }
.custom-theme-control.genie { grid-column:1 / -1; display:grid; grid-template-columns:1fr; align-content:center; }
.theme-contrast-status { grid-column:1 / -1; min-height:30px; padding:6px 8px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); font-size:var(--text-support-xs); line-height:1.35; }
.theme-contrast-status.good { border-color:color-mix(in srgb,#5f8f69 58%,var(--line)); }
.theme-contrast-status.warning { color:var(--ink); border-color:#b56f3e; background:color-mix(in srgb,#b56f3e 12%,var(--control)); }
.genie-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; margin-top:3px; }
.genie-options button { min-width:0; height:26px; padding:3px 4px; border:1px solid var(--line); border-radius:4px; color:var(--faint); background:var(--panel); cursor:pointer; font-size:var(--text-label-strong); }
.genie-options button:hover { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); }
.genie-options button.active { color:var(--ink); border-color:var(--accent); background:var(--accent-soft); }
.custom-preset-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.custom-preset-shell { position:relative; min-width:0; }
.custom-preset { width:100%; min-height:34px; padding:5px 18px 5px 7px; overflow:hidden; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--control); cursor:pointer; font-size:var(--text-support-xs); line-height:1.18; text-overflow:ellipsis; }
.custom-preset:hover { color:var(--ink); background:var(--control-hover); }
.custom-preset.active { color:var(--ink); border-color:var(--accent); background:var(--accent-soft); }
.calendar-provider-actions { display:flex; align-items:center; justify-content:flex-end; gap:3px; }
.curated-preset-section { margin-top:7px; padding-top:7px; border-top:1px solid var(--line); }
.curated-preset-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:5px; }
.curated-preset-heading .label { margin:0; }
.curated-preset-count { color:var(--faint); font-size:var(--text-support-xs); letter-spacing:.04em; text-transform:uppercase; }
.curated-preset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; max-height:clamp(310px,52vh,470px); padding:1px 5px 6px 1px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--accent) var(--control); }
.curated-preset-grid::-webkit-scrollbar { width:6px; }
.curated-preset-grid::-webkit-scrollbar-track { border-radius:6px; background:var(--control); }
.curated-preset-grid::-webkit-scrollbar-thumb { border-radius:6px; background:color-mix(in srgb,var(--accent) 74%,var(--panel)); }
.curated-preset { --preset-bg:#17191b; --preset-ink:#edf0ec; --preset-accent:#9ca6a8; position:relative; min-width:0; min-height:44px; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:7px; padding:6px 7px; overflow:hidden; border:1px solid var(--line); border-radius:6px; color:var(--preset-ink); background:var(--preset-bg); cursor:pointer; text-align:left; }
.curated-preset-swatch { width:18px; height:18px; display:block; border-radius:4px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 7px color-mix(in srgb,var(--preset-accent) 24%,transparent); }
.curated-preset strong,.curated-preset small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.curated-preset strong { font-size:var(--text-support); line-height:1.15; letter-spacing:.005em; }
.curated-preset small { margin-top:2px; color:color-mix(in srgb,var(--preset-ink) 68%,var(--preset-bg)); font-size:var(--text-label-strong); line-height:1.15; }
.curated-preset:hover { border-color:var(--preset-accent); transform:translateY(-1px); }
.curated-preset.active { border-color:var(--preset-accent); box-shadow:0 0 0 1px color-mix(in srgb,var(--preset-accent) 38%,transparent),0 8px 24px color-mix(in srgb,var(--preset-accent) 16%,transparent); }
.custom-preset-rename { position:absolute; top:50%; right:2px; width:12px; height:15px; padding:0; border:0; color:var(--faint); background:transparent; cursor:pointer; font-size:var(--text-support-xs); transform:translateY(-50%); }
.custom-preset-rename:hover { color:var(--accent); }

/* Horizon interaction illumination: substantial, actionable surfaces only. */
html { --genie-card-y:-2px; --genie-card-scale:1.01; --genie-mid-y:-1.5px; --genie-mid-scale:1.006; --genie-row-y:-1px; --genie-row-scale:1.004; --genie-event-y:-1.5px; --genie-event-scale:1.007; }
html[data-genie="off"] { --genie-card-y:0px; --genie-card-scale:1; --genie-mid-y:0px; --genie-mid-scale:1; --genie-row-y:0px; --genie-row-scale:1; --genie-event-y:0px; --genie-event-scale:1; }
html[data-genie="subtle"] { --genie-card-y:-1px; --genie-card-scale:1.004; --genie-mid-y:-.5px; --genie-mid-scale:1.002; --genie-row-y:-.35px; --genie-row-scale:1.001; --genie-event-y:-.75px; --genie-event-scale:1.003; }
html[data-genie="expressive"] { --genie-card-y:-3.5px; --genie-card-scale:1.018; --genie-mid-y:-2.5px; --genie-mid-scale:1.011; --genie-row-y:-1.5px; --genie-row-scale:1.007; --genie-event-y:-2.5px; --genie-event-scale:1.013; }
html[data-genie="big"] { --genie-card-y:-9px; --genie-card-scale:1.055; --genie-mid-y:-6px; --genie-mid-scale:1.035; --genie-row-y:-4px; --genie-row-scale:1.022; --genie-event-y:-6px; --genie-event-scale:1.04; }
:is(
  .horizon-depth-tabs .horizon-realm,
  .notebook-index button,
  .family-world-tab,
  .family-release-card,
  .family-work-row,
  .idea-row,
  .project-idea-row,
  .appearance-choice button,
  .custom-foundation-main,
  .custom-preset,
  .month-event
) {
  transition:border-color .18s ease,background-color .18s ease,box-shadow .22s ease,transform .18s ease;
}
.inbox-entry {
  transition:border-color .18s ease,background-color .18s ease,box-shadow .22s ease,transform .18s ease;
}
.event,.today-event-card { transition:border-color .18s ease,background-color .18s ease,box-shadow .22s ease,transform .18s ease; }

@media (hover:hover) {
  :is(
    .horizon-depth-tabs .horizon-realm,
    .notebook-index button,
    .family-world-tab,
    .family-release-card,
    .family-work-row,
    .idea-row,
    .project-idea-row,
    .appearance-choice button,
    .custom-foundation-main,
    .custom-preset
  ):hover {
    border-color:color-mix(in srgb,var(--accent) 68%,var(--line));
    box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),0 7px 20px color-mix(in srgb,var(--accent) 13%,transparent);
  }
  :is(.notebook-index button,.appearance-choice button,.custom-foundation-main):hover {
    transform:none;
  }
  :is(
    .horizon-depth-tabs .horizon-realm,
    .family-world-tab,
    .family-release-card,
    .family-work-row,
    .idea-row,
    .project-idea-row,
    .custom-preset
  ):hover {
    transform:none;
  }
  .inbox-entry:hover {
    border-color:color-mix(in srgb,var(--accent) 44%,var(--line));
    background:color-mix(in srgb,var(--accent) 4.5%,transparent);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 42%,transparent),0 0 15px color-mix(in srgb,var(--accent) 9%,transparent);
    transform:none;
  }
  .event:hover,
  .today-event:hover .today-event-card,
  .month-event:hover {
    border-color:color-mix(in srgb,var(--event) 78%,var(--line));
    box-shadow:0 0 0 1px color-mix(in srgb,var(--event) 28%,transparent),0 6px 18px color-mix(in srgb,var(--event) 14%,transparent);
    transform:none;
  }
  html[data-genie="big"] :is(
    .horizon-depth-tabs .horizon-realm,
    .notebook-index button,
    .family-world-tab,
    .family-release-card,
    .family-work-row,
    .idea-row,
    .project-idea-row,
    .appearance-choice button,
    .custom-foundation-main,
    .custom-preset,
    .inbox-entry
  ):hover {
    box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent),0 5px 16px color-mix(in srgb,var(--accent) 10%,transparent);
  }
  html[data-genie="big"] :is(.event:hover,.today-event:hover .today-event-card,.month-event:hover) {
    box-shadow:0 0 0 2px color-mix(in srgb,var(--event) 42%,transparent),0 5px 16px color-mix(in srgb,var(--event) 10%,transparent);
  }
}

:is(
  .horizon-depth-tabs .horizon-realm,
  .notebook-index button,
  .family-world-tab,
  .family-release-card,
  .family-work-row,
  .idea-row-toggle,
  .appearance-choice button,
  .custom-foundation-main,
  .custom-preset
):focus-visible {
  outline:0;
  border-color:color-mix(in srgb,var(--accent) 76%,var(--line));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent),0 7px 20px color-mix(in srgb,var(--accent) 12%,transparent);
}
.idea-row:has(.idea-row-toggle:focus-visible),
.project-idea-row:focus-within {
  border-color:color-mix(in srgb,var(--accent) 76%,var(--line));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent),0 7px 20px color-mix(in srgb,var(--accent) 12%,transparent);
}
.today-event:focus-visible .today-event-card,
.month-event:focus-visible,
.event:focus-visible {
  outline:0;
  border-color:color-mix(in srgb,var(--event) 82%,var(--line));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--event) 30%,transparent),0 6px 18px color-mix(in srgb,var(--event) 14%,transparent);
}
.set-custom-preset { grid-column:1 / -1; min-height:28px; padding:3px 8px; border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line)); border-radius:7px; color:var(--ink); background:color-mix(in srgb,var(--accent) 10%,var(--control)); cursor:pointer; font-size:var(--text-small); font-weight:650; }
.set-custom-preset:hover { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 17%,var(--control)); }
.accent-swatches { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; margin-top:9px; }
.accent-swatch { aspect-ratio:1; border:1px solid var(--line); border-radius:50%; background:var(--swatch); cursor:pointer; box-shadow:inset 0 0 0 4px var(--panel); }
.accent-swatch.active { outline:2px solid var(--accent); outline-offset:2px; }
.custom-accent-swatch { position:relative; display:grid; place-items:center; aspect-ratio:1; border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line)); border-radius:50%; color:var(--ink); background:color-mix(in srgb,var(--accent) 7%,var(--panel)); cursor:pointer; font-size:var(--text-support-xs); font-weight:650; overflow:hidden; }
.custom-accent-swatch:hover { border-style:solid; background:color-mix(in srgb,var(--accent) 12%,var(--panel)); }
.custom-accent-swatch input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.custom-accent-row { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:58px; margin-top:8px; padding:10px 12px 10px 14px; border:1px solid var(--line); border-radius:11px; background:var(--control); cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.custom-accent-row:hover { border-color:color-mix(in srgb,var(--accent) 62%,var(--line)); background:color-mix(in srgb,var(--accent) 9%,var(--control)); transform:translateY(-1px); }
.custom-accent-copy { display:block; color:var(--ink); font-size:var(--text-body-sm); font-weight:620; }
.custom-accent-copy small { display:block; margin-top:3px; color:var(--muted); font-size:var(--text-small); font-weight:450; }
.custom-accent-action { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.custom-accent-hex { color:var(--muted); font-size:var(--text-small); font-style:normal; font-variant-numeric:tabular-nums; letter-spacing:.06em; text-transform:uppercase; }
.custom-accent-cue { padding:6px 8px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--panel); font-size:var(--text-small); font-weight:620; }
.custom-accent-row input { width:42px; height:42px; padding:3px; border:1px solid var(--line); border-radius:10px; background:var(--panel); cursor:pointer; }

html[data-appearance="light"] { color-scheme:light; }
html[data-appearance="light"] .card,
html[data-appearance="light"] .horizon-drawer,
html[data-appearance="light"] .capture-card,
html[data-appearance="light"] .notes-workspace { box-shadow:0 12px 34px rgba(71,61,45,.08); }
html[data-appearance="light"] .notes-backdrop { background:rgba(248,247,244,.54); backdrop-filter:blur(4.5px) saturate(.74) brightness(.92); }
html[data-appearance="light"] .theme-drawer,
html[data-appearance="light"] .review-drawer,
html[data-appearance="light"] .people-drawer { background:rgba(248,246,239,.985); box-shadow:-25px 0 70px rgba(70,58,39,.14); }
html[data-appearance="light"] .theme-drawer { --ink:#252722; --muted:#62665e; --faint:#7d7d73; --line:rgba(55,52,43,.20); --control:rgba(57,54,45,.065); --control-hover:rgba(57,54,45,.12); --panel:#faf8f2; --panel-2:#ebe6da; --accent:#8a6932; --accent-soft:rgba(138,105,50,.13); }
html[data-appearance="light"] .notes-workspace { background:var(--panel); border-color:var(--line); }
html[data-appearance="light"] .field,
html[data-appearance="light"] .select,
html[data-appearance="light"] .textarea,
html[data-appearance="light"] .notes-editor { background:rgba(255,255,255,.66); }
html[data-appearance="light"] .notebook-index button,
html[data-appearance="light"] .intention-item,
html[data-appearance="light"] .capsule-panel,
html[data-appearance="light"] .today-note { background:rgba(55,52,43,.025); }
html[data-appearance="light"] .project-spine-tabs { border-color:rgba(55,52,43,.16); background:rgba(55,52,43,.07); }
html[data-appearance="light"] .project-spine-tabs button { color:#5f6159; font-weight:560; }
html[data-appearance="light"] .project-spine-tabs button:hover { color:#252722; background:rgba(255,255,255,.48); }
html[data-appearance="light"] .project-spine-tabs button.active { color:#252722; border-color:rgba(55,52,43,.17); background:#faf8f2; }
html[data-appearance="light"] .horizon-depth-tabs .soft-btn { border-color:color-mix(in srgb,currentColor 30%,rgba(55,52,43,.12)); background:color-mix(in srgb,currentColor 5%,transparent); font-weight:570; }
html[data-appearance="light"] .horizon-depth-tabs .notebook-tab { color:#79578f; }
html[data-appearance="light"] .horizon-depth-tabs .todo-tab { color:#8d6529; }
html[data-appearance="light"] .horizon-depth-tabs .intentions { color:#55725a; }
html[data-appearance="light"] .horizon-depth-tabs .projects { color:#94534e; }
html[data-appearance="light"] .horizon-depth-tabs .families { color:#805d38; }
html[data-appearance="light"] .horizon-depth-tabs .collaboration { color:#4f7180; }
html[data-appearance="light"] .horizon-context-switch button[data-horizon-context="personal"] { color:#55725a; }
html[data-appearance="light"] .horizon-context-switch button[data-horizon-context="work"] { color:#4f7180; }
html[data-appearance="light"] .horizon-context-switch button.active { color:color-mix(in srgb,var(--context-colour) 78%,#222); background:color-mix(in srgb,var(--context-colour) 11%,white); }
html[data-appearance="light"] .toast { background:#f5f1e7; }
html[data-appearance="light"] .calendar-time-rail { background:color-mix(in srgb,var(--paper) 94%,var(--panel)); }
html[data-appearance="light"] .primary-btn { color:#fff; }

.toast { position:absolute; top:50%; left:50%; z-index:3; min-width:230px; max-width:min(360px,42vw); padding:4px 10px; border:1px solid rgba(217,185,119,.26); border-radius:7px; background:#1c1e20; box-shadow:none; color:var(--ink); transform:translate(-50%,calc(-50% - 4px)); opacity:0; overflow:hidden; pointer-events:none; transition:.22s ease; white-space:nowrap; text-align:center; text-overflow:ellipsis; font-size:var(--text-small); }
.toast.show { transform:translate(-50%,-50%); opacity:1; }
.empty-note { padding:25px; color:var(--faint); text-align:center; font-size:var(--text-control); }
.mobile-menu { display:none; }
.mobile-calendar-add { display:none; }

@media (max-width: 1400px) {
  .app-shell { grid-template-columns:184px minmax(0,1fr); }
  .rail { padding-inline:13px; }
  .main { padding-inline:18px; }
  .horizon-workbench { grid-template-columns:184px minmax(0,1fr); gap:9px; }
  .horizon-time-rail { overflow:visible; }
  .calendar-interop-panel.connection-panel { left:50%; transform:translate(-50%,-50%); }
  .planner-layout { grid-template-columns:minmax(0,1fr); gap:9px; }
  .day-head { padding-inline:7px; }
  .day-name { font-size:var(--text-small); letter-spacing:.06em; overflow:hidden; text-overflow:ellipsis; }
  .day-column { padding-inline:5px; }
  .event { padding-inline:6px; }
  .dispatch-layout { grid-template-columns:minmax(185px,.72fr) minmax(350px,1.72fr) minmax(220px,.88fr); gap:9px; }
  .delivery-preview { padding:8px; }
  .dispatch-side { grid-template-columns:1fr; gap:9px; }
  .side-body { padding:11px; }
  .dispatch-side .field-row { grid-template-columns:1fr; }
  .recipient-hero { padding:20px; }
}
@media (max-width: 820px) {
  .calendar-interop-panel.connection-panel { top:50%; right:auto; bottom:auto; left:50%; width:calc(100vw - 24px); max-height:calc(100vh - 24px); transform:translate(-50%,-50%); }
}
@media (max-width: 1080px) {
  .topbar-destinations.extras-open { width:min(320px,calc(100vw - 105px)); grid-template-columns:repeat(2,minmax(0,1fr)); }
  .topbar-destinations.extras-open .hide-extras { grid-column:auto; }
  .app-shell { grid-template-columns:76px minmax(0,1fr); }
  .rail { padding-inline:11px; }
  .brand { justify-content:center; padding-inline:0; }
  .brand-copy,.nav-kicker,.nav-copy,.identity div { display:none; }
  .nav-link { justify-content:center; padding:9px; }
  .identity { justify-content:center; padding:10px 0; }
  .rail-collapse { display:none; }
  .main { padding-inline:19px; }
  .horizon-workbench { grid-template-columns:180px minmax(0,1fr); gap:7px; }
  .planner-layout { grid-template-columns:minmax(0,1fr); gap:7px; }
  .capture-body { padding:10px; }
  .card-head { padding:13px 12px; }
  .day-head { min-height:60px; }
  .day-name-long { display:none; }
  .day-name-short { display:inline; }
  .day-number { font-size:16px; }
  .event-title { font-size:var(--text-secondary); }
  .today-body { grid-template-columns:1fr; }
  .today-note { border-left:0; border-top:1px solid var(--line); }
  .month-day { min-height:72px; padding:5px; }
  .month-event { font-size:0; }
  .month-event i { width:6px; height:6px; }
  .dispatch-layout { grid-template-columns:minmax(155px,.68fr) minmax(315px,1.65fr) minmax(190px,.84fr); gap:7px; }
  .ledger-layout { grid-template-columns:1fr; }
  .delivery-list { padding:5px; }
  .delivery-item { padding:9px; }
  .recipient-hero { height:190px; padding:17px; }
  .recipient-hero h2 { font-size:23px; }
  .file-gallery { grid-template-columns:1fr; padding:10px; }
  .file-card { min-height:91px; }
  .dispatch-stage { padding:8px; }
  .dispatch-stage small { display:none; }
  .client-book-body { grid-template-columns:1fr; }
  .client-directory { border-right:0; border-bottom:1px solid var(--line); }
  .intentions-capture { grid-template-columns:1fr; }
  .intention-review { padding:12px 0 0; border-left:0; border-top:1px solid var(--line); }
  .horizon-drawer-head { align-items:flex-start; }
  .horizon-drawer-head > div:last-child { flex-wrap:wrap; }
  .horizon-filter-bar { flex-wrap:wrap; }
}
@media (max-width: 720px) {
  .app-shell { display:block; }
  .rail { position:fixed; left:0; right:0; bottom:0; top:auto; width:100%; height:69px; padding:8px 10px; border-right:0; border-top:1px solid var(--line); }
  .brand,.nav-kicker,.rail-foot { display:none; }
  .rail-collapse { display:none; }
  .nav { grid-template-columns:repeat(4,1fr); }
  .nav-link { min-height:51px; }
  .nav-link.active::before { width:18px; height:2px; left:50%; top:2px; transform:translateX(-50%); }
  .main { padding:0 13px 92px; }
  .topbar { height:auto; min-height:38px; gap:6px; }
  .crumb { min-width:0; overflow-wrap:anywhere; }
  .top-actions { flex:0 0 auto; min-width:0; flex-wrap:nowrap; justify-content:flex-end; gap:4px; }
  .horizon-local-header { min-width:0; }
  .horizon-identity-stack { min-width:0; }
  .horizon-depth-tabs { width:100%; min-width:0; justify-content:flex-start; transform:none; }
  .horizon-depth-tabs .soft-btn { min-width:0; flex:1 1 calc(33.333% - 5px); }
  .horizon-context-switch { flex:1 1 100%; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 0 5px; margin:0 0 1px; border-right:0; border-bottom:1px solid var(--line); }
  .horizon-context-switch button { width:100%; min-width:0; min-height:28px; text-align:center; }
  .status-pill { display:none; }
  .page-head { align-items:flex-start; flex-direction:column; padding:25px 2px 19px; }
  .page-head-minimal { min-height:82px; justify-content:center; }
  .head-controls { justify-content:flex-start; }
  .planner-layout { grid-template-columns:1fr; }
  .horizon-time-rail .capture-card { grid-column:1/-1; }
  .capacity-status { white-space:normal; }
  .suite-note { align-items:flex-start; flex-direction:column; }
  .week-wrap { overflow-x:auto; overflow-y:hidden; }
  .week-nav { align-items:flex-start; flex-direction:column; }
  .week-nav-actions { width:100%; justify-content:flex-end; flex-wrap:wrap; }
  .week-nav .surface-undo { width:100%; max-width:none; margin:0 0 3px; order:-1; }
  .today-head,.month-head,.year-head { align-items:flex-start; flex-direction:column; }
  .today-head-actions,.month-head-actions { width:100%; flex-wrap:wrap; }
  .today-head .surface-undo,.month-head .surface-undo,.year-head .surface-undo { width:100%; max-width:none; }
  :is(.whats-on-head,.time-zones-head,.converter-head,.calculator-head,.timer-head,.shopping-head,.cookbook-head) { align-items:flex-start; flex-wrap:wrap; }
  :is(.whats-on-head,.time-zones-head,.converter-head,.calculator-head,.timer-head,.shopping-head,.cookbook-head) > .utility-head-actions { width:100%; max-width:none; flex:1 0 100%; }
  .utility-head-actions .surface-undo { max-width:none; flex:1 1 auto; }
  .week-top { min-width:750px; grid-template-columns:50px repeat(7,100px); }
  .week-all-day { min-width:750px; }
  .week-all-day > div { grid-template-columns:repeat(7,100px); }
  .week-timed-body { min-width:750px; overflow-x:hidden; }
  .week-grid { min-width:700px; display:grid; }
  .day-column { min-height:0; padding:0 4px; border-right:1px solid var(--line); border-bottom:0; background-image:repeating-linear-gradient(to bottom,transparent,transparent 51px,color-mix(in srgb,var(--line) 74%,transparent) 51px,color-mix(in srgb,var(--line) 74%,transparent) 52px); }
  .day-column::before { content:none; }
  .day-column:empty { min-height:0; padding-top:0; }
  .day-column .event { max-width:none; }
  .horizon-time-rail .capture-card { max-height:270px; }
  .today-body { min-height:0; }
  .month-day { min-height:61px; }
  .calendar-event-composer { width:calc(100vw - 22px); }
  .calendar-event-composer > header,.calendar-event-composer form { padding-inline:16px; }
  .dispatch-layout { grid-template-columns:1fr; }
  .dispatch-side { grid-template-columns:1fr; }
  .dispatch-status-rail { position:static; grid-template-columns:1fr 1fr; }
  .dispatch-stage small { display:block; }
  .studio-delivery dl { grid-template-columns:1fr 1fr; }
  .ledger-stats { grid-template-columns:1fr 1fr; }
  .client-directory article { align-items:flex-start; }
  .client-form .primary-btn { justify-self:stretch; }
  .invoice-table th:nth-child(3),.invoice-table td:nth-child(3) { display:none; }
  .field-row { grid-template-columns:1fr; }
  .line-row { grid-template-columns:1fr 44px 70px 23px; }
  .editor-actions { justify-content:stretch; flex-wrap:wrap; }
  .editor-actions > * { flex:1 1 130px; text-align:center; }
  .intentions-drawer.open { max-height:1900px; }
  .horizon-drawer.open { max-height:1900px; }
  .horizon-drawer-head { display:grid; }
  .horizon-drawer-head > div:last-child { justify-content:space-between; flex-wrap:nowrap; }
  .horizon-drawer-head .surface-undo { flex:1 1 auto; max-width:none; }
  .horizon-mode-switch { flex:1; }
  .horizon-mode-switch .tiny-btn { flex:1; }
  .horizon-filter-bar { align-items:flex-start; }
  .horizon-drawer-body { max-height:70vh; }
  .intentions-focus { grid-template-columns:1fr; }
  .collaboration-body { grid-template-columns:1fr; }
  .capsule-steps { grid-template-columns:1fr; }
  .focus-intro { max-height:205px; border-right:0; border-bottom:1px solid var(--line); }
  .horizon-index { overflow-x:auto; }
  .horizon-index .index-head,.horizon-index > button { min-width:720px; }
  .intentions-capture { padding:14px; }
  #intention-form > div { grid-template-columns:1fr; }
  .intention-review ol,.intentions-grid { grid-template-columns:1fr; }
  .intention-column { border-right:0; border-bottom:1px solid var(--line); }
  .intention-column:last-child { border-bottom:0; }
  .task-inspector { padding:0; }
  .task-authority-grid { grid-template-columns:1fr; }
  .calendar-write-preview dl { grid-template-columns:1fr; }
  .task-field-row,.calendar-date-time-grid { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
  .top-actions .icon-btn span { display:none; }
  .top-actions .icon-btn { width:44px; min-width:44px; padding-inline:0; }
  .horizon-depth-tabs .soft-btn { flex-basis:100%; width:100%; }
}

@media print {
  body { color:#111; background:#fff; }
  .rail,.topbar,.page-head,.ledger-stats,.ledger-notice,.invoice-list-card,.compliance-strip,.editor-actions,.ledger-confirm,.theme-drawer,.review-drawer,.toast { display:none!important; }
  .app-shell,.main,.ledger-layout { display:block; padding:0; }
  .invoice-editor-card { border:0; background:#fff; box-shadow:none; }
  .field,.select { border:0; color:#111; background:#fff; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
@media (max-width:720px) {
  .calendar-primary-choice > div { grid-template-columns:1fr; }
  .calendar-primary-choice label { min-height:44px; }
  .calendar-native-colours > div { grid-template-columns:1fr; }
  .calendar-source-colour { min-height:44px; }
  .calendar-calendar-choice { min-height:44px; grid-template-columns:1fr; align-items:center; padding:8px; font-size:var(--text-small); }
  .calendar-calendar-controls { justify-content:flex-start; padding-left:18px; }
  .calendar-calendar-choice input:not([type="color"]) { width:18px; height:18px; }
  .calendar-calendar-picker footer { align-items:stretch; flex-direction:column; }
  .calendar-calendar-picker footer .tiny-btn { min-height:44px; }
  .calendar-interop-actions { grid-template-columns:1fr; }
  .calendar-interop-actions > * { min-height:44px; }
}
@media (max-height:760px) {
  .task-inspector > header { padding-block:10px 8px; }
  .task-inspector h2 { font-size:20px; }
  .task-inspector form { padding-block:10px; gap:10px; }
  .task-fields { gap:10px; }
  .task-authority-summary { gap:6px; padding:8px; }
  .task-authority-grid article { padding:7px; }
  .task-notebook .textarea { min-height:145px; max-height:220px; }
  .task-inspector-actions { padding-block:7px 8px; }
  .task-cancel-row { margin-top:5px; }
  :is(.intentions-drawer,.collaboration-drawer,.notebooks-drawer,.todos-drawer,.archive-drawer,.history-drawer).open { max-height:calc(100dvh - 76px); display:flex; flex-direction:column; }
  :is(.intentions-drawer,.collaboration-drawer,.notebooks-drawer,.todos-drawer,.archive-drawer,.history-drawer).open > .horizon-drawer-body { min-height:0; max-height:none; flex:1 1 auto; }
  .capsule-incoming { min-height:130px; }
}

.save-problem { padding:12px; margin:12px; border:2px solid #a33; font-weight:600; }

/* R6 feedback: stable hit areas and adjustable control sizes. */
.family-world-row,.project-area-head { grid-template-columns:minmax(0,1fr); }
.family-project-tools,.project-area-tools { justify-content:flex-start; padding-left:8px; gap:5px; }
.family-world-tab strong,.project-area-toggle strong { white-space:normal; overflow:visible; overflow-wrap:anywhere; text-overflow:clip; line-height:1.35; }
.project-area-toggle strong { flex:1; }
.family-project-tools button,.project-area-tools button { min-width:26px; min-height:26px; opacity:1; }
.k-scheduling-trigger { width:auto !important; min-width:88px; height:auto !important; min-height:32px; white-space:normal; overflow-wrap:anywhere; padding:6px 12px; flex-shrink:0; }
.item-section-editor summary { width:max-content; max-width:100%; padding:8px 12px; border:1px solid var(--line); border-radius:7px; cursor:pointer; color:var(--ink); background:var(--control); }
.item-section-editor form,.item-section-editor label { display:grid; gap:10px; margin-top:12px; }
.item-section-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; margin:12px 0; }
.control-size-setting { display:grid; gap:5px; margin:9px 0 15px; }
html[data-control-size="comfortable"] { --control-hit:36px; --control-font:13px; }
html[data-control-size="large"] { --control-hit:44px; --control-font:15px; }
html:is([data-control-size="comfortable"],[data-control-size="large"]) :is(button:not(.event):not(.month-event):not(.clock-hand),summary,.tiny-btn,.soft-btn,.primary-btn,.field,select) { min-height:var(--control-hit); min-width:var(--control-hit); height:auto; font-size:max(var(--control-font),1em); }
html:is([data-control-size="comfortable"],[data-control-size="large"]) :is(.project-area-tools,.family-project-tools,.project-spine-tabs,.work-spine-tabs,.horizon-depth-tabs,.top-actions,.genie-options) { flex-wrap:wrap; }
html:is([data-control-size="comfortable"],[data-control-size="large"]) .genie-options { display:flex; }
.calendar-guide-stack { flex-wrap:wrap; }
.calendar-guide-stack .calendar-interop { flex:1 0 115px; max-width:100%; }
.calendar-guide-stack .k-scheduling-trigger { max-width:100%; }
.calendar-interop > button { white-space:normal; overflow-wrap:anywhere; }

@media (min-width:721px) {
  .family-shell { grid-template-columns:220px minmax(0,1fr); }
  html[data-control-size="comfortable"] .family-shell { grid-template-columns:230px minmax(0,1fr); }
  html[data-control-size="large"] .family-shell { grid-template-columns:250px minmax(0,1fr); }
}
html:is([data-control-size="comfortable"],[data-control-size="large"]) :is(.family-world-tab strong,.project-area-toggle strong,.family-release-card strong,.family-work-row strong,summary > span) { font-size:var(--control-font); }
html:is([data-control-size="comfortable"],[data-control-size="large"]) :is(.family-world-tab small,.family-release-card small,.family-work-row small) { font-size:calc(var(--control-font) - 2px); }

.stream-record-panel .spine-list .stream-record-entry { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:12px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.stream-record-entry > button { justify-self:start; }
.stream-record-panel > .item-section-editor { margin:12px 0; }

/* R6: give the utility strip modestly larger targets without increasing visual emphasis. */
.topbar { height:auto; min-height:40px; padding-block:5px; gap:8px; flex-wrap:wrap; }
.topbar .top-actions { gap:7px; flex-wrap:wrap; }
.topbar :is([data-theme-toggle],[data-people-toggle],[data-archive-toggle],[data-history-toggle],.review-status,.topbar-destination) {
  min-height:max(28px,var(--control-hit,28px)); height:auto; padding:5px 9px;
  font-size:max(11px,var(--control-font,11px)); line-height:1.2;
}
.topbar .topbar-destinations.extras-open {
  top:0; left:50%; transform:translateX(-50%); max-width:100%;
  width:min(440px,calc(100vw - 48px)); gap:6px; padding:8px;
}
.topbar .topbar-destinations.extras-open .topbar-destination:hover { transform:none; }
@media (max-width:720px) {
  .topbar .top-actions { margin-left:auto; }
}

/* Keep Stream content usable at narrow widths and high browser zoom. */
@media (max-width:720px) {
  .horizon-workbench,.horizon-workbench.inbox-expanded { grid-template-columns:minmax(0,1fr); }
  .horizon-time-rail { max-height:none; padding-right:0; border-right:0; }
  .family-drawer.open { max-height:none; }
  .family-drawer > .horizon-drawer-body { max-height:none; overflow:visible; }
  .family-shell { display:block; height:auto; }
  .family-release-rail { max-height:240px; border-right:0; border-bottom:1px solid var(--line); }
  .family-stage { height:auto; overflow:visible; }
  .project-spine-body,.work-record-panel { max-height:60dvh; min-height:160px; overflow:auto; }
  .family-stage-head { flex-wrap:wrap; }
  .family-stage-navrow { display:flex; flex-wrap:wrap; }
}
/* Long hierarchy names retain the existing type scale and wrap naturally. */
.family-stage-head h3 { overflow-wrap:anywhere; }

/* Keep creation quiet and long Project context clear of navigation. */
.new-work-control > summary { display:inline-flex; width:fit-content; max-width:100%; min-height:23px; padding:3px 8px; border:1px solid var(--line); color:var(--muted); background:var(--control); }
.new-work-control > summary:hover,.new-work-control[open] > summary { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); background:color-mix(in srgb,var(--accent) 7%,var(--control)); }
.family-release-head { flex-wrap:wrap; }
.family-release-head .family-stage-copy { flex:1 1 360px; }
.family-release-head .family-stage-navrow { display:flex; flex-wrap:wrap; justify-content:space-between; gap:7px 12px; }
.family-release-head .family-stage-navrow > span { order:3; flex:1 0 100%; min-width:0; white-space:normal; overflow-wrap:anywhere; text-align:left; line-height:1.5; }
.family-release-head .family-back-btn { flex:0 0 auto; white-space:nowrap; }
.family-release-head .family-rollup { display:flex; flex-wrap:wrap; gap:4px; }
.family-release-head .workstream-head-actions { flex-wrap:wrap; max-width:100%; }

/* Shared quiet entry controls throughout Work and Item Streams. */
.stream-add-control,.item-section-editor > summary { display:inline-flex; align-items:center; width:fit-content; max-width:100%; min-height:23px; padding:3px 8px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--control); font-size:var(--text-support); font-weight:600; line-height:1.4; list-style:none; cursor:pointer; box-shadow:none; }
.item-section-editor > summary::-webkit-details-marker { display:none; }
.stream-add-control:hover,.item-section-editor > summary:hover,.item-section-editor[open] > summary { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); background:color-mix(in srgb,var(--accent) 7%,var(--control)); }

/* Align rail actions and keep Ask Horizon visually secondary. */
.calendar-guide-stack { flex-direction:column; align-items:center; }
.calendar-guide-stack .calendar-interop { flex:none; width:100%; }
.calendar-guide-stack .k-scheduling-trigger { align-self:stretch; width:100% !important; min-height:32px; justify-content:flex-start; padding:5px 8px; border-color:transparent; background:transparent; box-shadow:none; }

/* Compact rail spacing; titles retain natural height and full wrapping. */
.project-area-section { padding:2px 0; }
.project-area-head { row-gap:0; margin-bottom:0; }
.project-area-toggle { padding-top:2px; padding-bottom:2px; }
.family-world-row { row-gap:0; }
.family-world-tab { min-height:23px; padding-top:2px; padding-bottom:2px; }

/* Project-only refinement; preserve accepted Zone spacing and tool targets. */
.family-world-tab { min-height:24px; padding-top:2px; padding-bottom:2px; }
.project-area-projects { row-gap:0; }

/* A compact, recognisable destructive action with confirmation beneath it. */
.item-delete-control { margin:0 0 7px; }
.item-delete-control > summary { display:inline-flex; align-items:center; width:fit-content; max-width:100%; min-height:23px; padding:3px 8px; border:1px solid color-mix(in srgb,#bd7770 52%,var(--line)); border-radius:7px; list-style:none; color:color-mix(in srgb,#bd7770 80%,var(--ink)); background:color-mix(in srgb,#a76458 9%,var(--control)); cursor:pointer; font-size:var(--text-support); font-weight:600; }
.item-delete-control > summary::-webkit-details-marker { display:none; }
.item-delete-control > summary::marker { content:""; }
.item-delete-control > summary:hover,.item-delete-control[open] > summary { border-color:#bd7770; background:color-mix(in srgb,#a76458 17%,var(--control)); }
.item-delete-control > summary:focus-visible { outline:2px solid #bd7770; outline-offset:2px; }

.item-delete-control > summary { display:flex; margin-left:auto; }

/* Item metadata stays quiet until requested. */
.item-overview-details { margin:0 0 8px; }
.item-overview-details > summary { width:fit-content; max-width:100%; padding:2px 0; color:var(--faint); font-size:var(--text-support); cursor:pointer; }
.item-overview-details > summary:hover { color:var(--ink); }
.item-overview-details > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.item-overview-details dl { display:grid; gap:4px; margin:6px 0 8px; font-size:var(--text-support); }
.item-overview-details dl > div { display:flex; flex-wrap:wrap; gap:4px 8px; }
.item-overview-details dt { color:var(--faint); }
.item-overview-details dd { margin:0; color:var(--muted); overflow-wrap:anywhere; min-width:0; }

/* The status is edited in place, independently of opening the Item. */
.family-work-row { grid-template-columns:minmax(0,1fr) auto; }
.item-row-open { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:center; gap:7px; min-width:0; width:100%; padding:0; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; font:inherit; }
.item-row-open > b { color:var(--faint); font-size:var(--text-support-xs); font-weight:500; font-variant-numeric:tabular-nums; }
.item-row-open strong { overflow-wrap:anywhere; }
.item-row-status { width:var(--status-width); max-width: min(35vw,180px); min-height:22px; padding:2px 3px; border:1px solid transparent; border-radius:4px; appearance:none; background:transparent; color:var(--muted); font:inherit; font-size:var(--text-label-strong); cursor:pointer; text-align:right; }
.item-row-status:hover { border-color:var(--line); background:var(--control); }
.item-row-status:focus-visible,.item-row-open:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.item-row-status option { background:var(--control); color:var(--ink); }
html:is([data-control-size="comfortable"],[data-control-size="large"]) .item-row-status { min-height:var(--control-min-height,36px); font-size:var(--control-font); }

/* A quiet chevron makes the inline status dropdown discoverable. */
.item-row-status {
  width:calc(var(--status-width) + 12px);
  padding-right:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='m2.5 3.5 2.5 2.5 2.5-2.5' fill='none' stroke='%237f9295' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 3px center;
}
.item-row-status:hover { background-color:var(--control); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='m2.5 3.5 2.5 2.5 2.5-2.5' fill='none' stroke='%237f9295' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.item-row-status:hover { background-repeat:no-repeat; background-position:right 3px center; }

/* Focus C preview: resume the chosen Item, keep the rest within reach. */
.context-actions-menu { position:relative; z-index:20; flex:0 0 auto; }
.context-actions-menu > summary { display:grid; place-items:center; width:28px; height:28px; border:1px solid transparent; border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; font-size:14px; font-weight:700; letter-spacing:.08em; list-style:none; }
.context-actions-menu > summary::-webkit-details-marker { display:none; }
.context-actions-menu > summary:hover,.context-actions-menu[open] > summary { color:var(--ink); border-color:var(--line); background:var(--control); }
.context-actions-menu-list { position:absolute; top:33px; right:0; z-index:30; display:grid; min-width:172px; gap:2px; padding:5px; border:1px solid var(--line); border-radius:9px; background:var(--panel); box-shadow:0 14px 36px rgba(20,27,25,.18); }
.context-actions-menu-list:empty { display:none; }
.context-actions-menu-list > button,.context-actions-menu-list > .tiny-btn,.context-actions-menu-list > details > summary { display:flex; align-items:center; width:100%; min-height:30px; margin:0; padding:6px 9px; border:0; border-radius:6px; color:var(--ink); background:transparent; cursor:pointer; font:inherit; font-size:var(--text-small); font-weight:550; text-align:left; list-style:none; white-space:nowrap; }
.context-actions-menu-list > button:hover,.context-actions-menu-list > .tiny-btn:hover,.context-actions-menu-list > details > summary:hover { background:var(--control-hover); }
.context-actions-menu-list .workstream-delete-action,.context-actions-menu-list .item-delete-control > summary { color:#a76458; background:transparent; }
.context-actions-menu-list .zone-delete-action,.context-actions-menu-list .project-delete-action { color:#a76458; background:transparent; }
.context-actions-menu-list > .context-destructive-action { order:100; margin-top:4px; border-top:1px solid var(--line); border-radius:0 0 6px 6px; }
.context-actions-menu-list > details.context-destructive-action { margin-top:4px; padding-top:4px; }
.context-actions-menu-list .work-sections,.context-actions-menu-list .item-delete-control { margin:0; }
.context-actions-menu-list .work-sections > div { top:0; right:calc(100% + 7px); }
.context-actions-menu-list .family-workstream-delete-confirm { position:absolute; top:0; right:calc(100% + 7px); width:min(430px,60vw); margin:0; background:var(--panel); box-shadow:0 14px 36px rgba(20,27,25,.18); }
.focus-c-head { align-items:flex-start; padding-bottom:10px; border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent); }
.focus-c-head .family-stage-navrow { margin-bottom:8px; }
.focus-c-head h3 { font-size:18px; line-height:1.25; }
.focus-c-kind { display:block; margin-bottom:3px; color:var(--faint); font-size:var(--text-label-strong); font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.family-stage-head.family-project-overview-head.focus-c-project-head { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:end; gap:4px; padding-bottom:10px; }
.focus-c-project-nav-spacer { min-height:22px; }
.focus-c-project-head + .family-project-overview-body { padding-top:10px; }
.focus-c-project-head + .family-project-overview-body .family-work-heading { border-bottom:0; }
.focus-c-work-list-head { align-items:flex-start !important; justify-content:space-between !important; }
.focus-c-project-head > .project-overview-note { align-self:end; justify-self:end; margin:0 0 1px; }
.focus-c-project-head > .project-overview-note:not([open]) { border-color:transparent; border-radius:0; background:transparent; }
.focus-c-project-head > .project-overview-note:not([open]) > summary { min-height:28px; padding:4px 2px; }
.focus-c-project-head > .project-overview-note:not([open]) > summary span,.focus-c-project-head > .project-overview-note:not([open]) > summary strong { max-width:280px; color:var(--muted); }
.focus-c-project-head > .project-overview-note:not([open]):hover { border-color:transparent; background:transparent; }
.focus-c-project-head > .project-overview-note:not([open]):hover > summary span,.focus-c-project-head > .project-overview-note:not([open]):hover > summary strong { color:var(--ink); }
.focus-c-project-head > .project-overview-note[open] { grid-column:1/-1; grid-row:2; justify-self:start; width:min(100%,700px); margin-top:5px; }
.focus-c-project-actions { align-self:end; margin-bottom:1px; }
.focus-c-zones-head .horizon-title-stack { display:flex; align-items:center; }
.focus-c-new-zone { margin:0 0 0 9px; }
.focus-c-new-zone > summary,.focus-c-new-project > summary { width:fit-content; min-height:24px; box-sizing:border-box; padding:3px 8px; border-style:solid; border-color:color-mix(in srgb,#71836d 48%,var(--line)); color:color-mix(in srgb,#71836d 82%,var(--ink)); background:color-mix(in srgb,#71836d 9%,var(--panel)); border-radius:7px; white-space:nowrap; }
.focus-c-new-zone > summary:hover,.focus-c-new-project > summary:hover { border-color:#71836d; color:color-mix(in srgb,#71836d 60%,var(--ink)); background:color-mix(in srgb,#71836d 17%,var(--panel)); }
.focus-c-new-zone[open] > summary,.focus-c-new-project[open] > summary { position:absolute !important; width:0 !important; height:0 !important; display:none !important; visibility:hidden !important; overflow:hidden !important; padding:0 !important; border:0 !important; }
.focus-c-new-zone[open] > form,.focus-c-new-project[open] > form { padding-top:0; }
.focus-c-new-project:not([open]) { display:none; }
.focus-c-zones-head > div:first-child { min-width:0; }
.focus-c-zones-head .focus-c-new-zone form { min-width:0; }

/* Keep Horizon-wide Undo beside Share, with the reversible action unmistakable in every theme. */
.focus-c-global-undo { min-width:0; max-width:230px; height:25px; display:flex; align-items:center; gap:5px; padding:2px 3px 2px 8px; border:1px solid color-mix(in srgb,var(--sage) 34%,var(--line)); border-radius:7px; color:var(--muted); background:color-mix(in srgb,var(--sage) 7%,var(--control)); box-shadow:none; animation:focus-c-undo-in .16s ease-out; }
.focus-c-global-undo > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--text-support-xs); }
.focus-c-global-undo > button { flex:0 0 auto; min-height:19px; padding:1px 5px; border:0; border-radius:5px; color:color-mix(in srgb,#a76458 78%,var(--ink)); background:transparent; cursor:pointer; font:inherit; font-size:var(--text-support-xs); font-weight:650; }
.focus-c-global-undo > button:hover { background:color-mix(in srgb,#a76458 10%,var(--control)); }
.surface-undo [data-task-undo] { color:#fff8f6; border:1px solid #bd382e; background:#d94a3d; box-shadow:0 2px 7px color-mix(in srgb,#a62f27 28%,transparent); font-weight:750; }
.surface-undo [data-task-undo]:is(:hover,:focus-visible) { color:#fff; border-color:#d33f33; background:#ef5547; box-shadow:0 0 0 2px color-mix(in srgb,#ef5547 23%,transparent),0 3px 9px color-mix(in srgb,#a62f27 32%,transparent); }
@keyframes focus-c-undo-in { from { opacity:0; transform:translateY(-2px); } }
@media (max-width:760px) {
  .focus-c-global-undo { order:4; max-width:none; flex:1 1 calc(100% - 70px); }
  .horizon-depth-tabs:has(.focus-c-global-undo) .collaboration { order:4; flex:0 0 auto; width:auto; }
}
.focus-c-project-spine-body { padding-top:7px; }
.focus-c-page { display:grid; align-content:start; gap:13px; max-width:1040px; padding:0 2px 40px; }
.focus-c-overview-nav { position:relative; display:grid; justify-items:start; gap:0; }
.focus-c-overview-label { padding-left:15px; color:var(--muted); opacity:.48; font-size:9px; font-weight:650; letter-spacing:.28em; line-height:1.2; text-transform:uppercase; }
.focus-c-overview-nav > .context-actions-menu { position:absolute; top:-7px; right:2px; }
.focus-c-work-tabs { margin:0; border-color:transparent; background:transparent; }
.focus-c-work-tabs button { min-height:28px; padding:4px 10px; }
.focus-c-work-tabs button.active,.focus-c-item-tabs button.active { border-radius:0; background:transparent; box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--ink) 34%,transparent); font-weight:600; }
.focus-c-work-section { min-width:0; }
.focus-c-queue { display:grid; gap:4px; }
.focus-c-queue > header { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:7px; min-height:30px; }
.focus-c-queue > header h4 { margin:0; color:var(--ink); font-size:var(--text-small-strong); font-weight:650; }
.focus-c-queue > header > span { color:var(--faint); font-size:var(--text-support-xs); }
.focus-c-new-item { justify-self:end; }
.focus-c-new-item > summary { gap:3px; border-color:transparent; background:transparent; }
.focus-c-new-item[open] > summary { display:none; }
.focus-c-new-item[open] { grid-column:1/-1; justify-self:start; width:min(100%,700px); }
.focus-c-new-item form { grid-template-columns:minmax(0,1fr) 96px auto 27px; align-items:end; }
.focus-c-new-item .batch-name-fields { grid-column:1/-1; min-width:0; gap:2px; }
.focus-c-new-item .batch-name-fields > label { min-height:32px; display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:8px; padding:1px 5px 1px 3px; border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent); }
.focus-c-new-item .batch-name-fields > label > span { text-align:center; font-variant-numeric:tabular-nums; }
.focus-c-new-item .batch-name-fields .field { min-height:28px; }
.focus-c-new-item[open] form { margin-top:4px; padding:5px 5px 6px; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--control) 58%,transparent); }
.focus-c-new-item .focus-c-new-item-cancel { width:27px; min-width:27px; height:31px; display:grid; place-items:center; padding:0; color:var(--muted); line-height:1; }
.focus-c-new-item-cancel .horizon-x-glyph { width:9px; height:9px; }
.focus-c-new-item-cancel .horizon-x-glyph::before,.focus-c-new-item-cancel .horizon-x-glyph::after { width:9px; height:1.2px; }
.focus-c-item-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; min-height:34px; padding:2px 6px 2px 3px; border-bottom:1px solid color-mix(in srgb,var(--line) 74%,transparent); }
.focus-c-item-row > button[data-family-work] { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:8px; min-width:0; padding:6px 5px; border:0; color:var(--ink); background:transparent; cursor:pointer; font:inherit; text-align:left; }
.focus-c-item-row > button[data-family-work] b { color:var(--faint); font-size:var(--text-support-xs); font-weight:500; font-variant-numeric:tabular-nums; }
.focus-c-item-row > button[data-family-work] span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--text-small-strong); font-weight:580; }
.focus-c-item-row:hover { background:color-mix(in srgb,var(--control) 58%,transparent); }
.focus-c-item-row { cursor:grab; }
.focus-c-item-row:active { cursor:grabbing; }
.focus-c-item-row.dragging { opacity:.42; }
.focus-c-item-row.item-drop-before { box-shadow:inset 0 2px 0 var(--project,var(--accent)); }
.focus-c-item-row.item-drop-after { box-shadow:inset 0 -2px 0 var(--project,var(--accent)); }
.focus-c-item-row .item-row-status { cursor:pointer; }
.focus-c-empty { display:grid; place-items:center; gap:3px; min-height:76px; border:1px dashed var(--line); border-radius:9px; color:var(--muted); font-size:var(--text-support); text-align:center; }
.focus-c-empty strong { color:var(--ink); }
.focus-c-work-tools { border-top:1px solid var(--line); padding-top:9px; }
.focus-c-work-tools > summary { width:fit-content; color:var(--faint); cursor:pointer; font-size:var(--text-support); list-style:none; }
.focus-c-work-tools > summary::before { content:"›"; display:inline-block; margin-right:6px; transition:transform .15s ease; }
.focus-c-work-tools[open] > summary::before { transform:rotate(90deg); }
.focus-c-work-tools > nav { display:flex; gap:5px; margin-top:9px; }
.focus-c-work-tools > nav button { min-height:27px; padding:5px 8px; border:1px solid transparent; border-radius:6px; color:var(--muted); background:transparent; cursor:pointer; font:inherit; font-size:var(--text-support); }
.focus-c-work-tools > nav button:hover,.focus-c-work-tools > nav button.active { color:var(--ink); border-color:var(--line); background:var(--control); }
.focus-c-tool-body { margin-top:7px; }
.focus-c-specific-nav { margin-top:7px; }
.focus-c-item-tabs { margin-top:0; border-color:transparent; background:transparent; }
.focus-c-item-tabs button { min-height:28px; padding:4px 10px; }
.focus-c-item-panel { margin-top:5px; padding:14px; border-radius:11px; }
.focus-c-notebook { min-height:360px; display:grid; grid-template-rows:minmax(320px,1fr) auto; }
.focus-c-notebook textarea { width:100%; min-height:320px; padding:3px 2px; resize:vertical; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; font-size:var(--text-control); line-height:1.6; }
.focus-c-notebook textarea::placeholder { color:var(--faint); font-style:italic; }
.focus-c-notebook footer { min-height:32px; display:flex; justify-content:flex-end; align-items:center; gap:9px; color:var(--faint); font-size:var(--text-support-xs); }
.focus-c-notebook footer [data-notebook-save-status] { margin-right:auto; }
.focus-c-notebook footer .tiny-btn { min-height:27px; padding:4px 8px; }
.focus-c-new-work > form { width:min(100%,700px) !important; max-width:700px !important; grid-template-columns:minmax(220px,1fr) auto 27px; align-items:end; justify-content:start; gap:6px; padding:7px 5px 5px; }
.focus-c-new-work > form .field { width:100%; min-height:34px; }
.focus-c-new-work .family-new-work-action { padding:3px 2px; border-color:transparent; border-radius:0; background:transparent; }
.focus-c-new-work > summary:hover .family-new-work-action,.focus-c-new-work[open] > summary .family-new-work-action { border-color:transparent; background:transparent; }
.focus-c-new-work > form .tiny-btn { height:31px; min-height:31px; padding:5px 9px; }
.focus-c-new-work .focus-c-new-work-cancel { width:27px; min-width:27px; height:31px; align-self:end; display:grid; place-items:center; padding:0; color:var(--muted); line-height:1; }
.focus-c-new-work-cancel .horizon-x-glyph { width:9px; height:9px; flex-basis:9px; transform:translateX(-2px); }
.focus-c-new-work-cancel .horizon-x-glyph::before,.focus-c-new-work-cancel .horizon-x-glyph::after { width:9px; height:1.2px; }

/* Rail administration remains available without competing with navigation. */
.project-area-tools,.family-project-tools { opacity:.16; transition:opacity .15s ease; }
.project-area-head:hover .project-area-tools,.project-area-tools:focus-within,.family-world-row:hover .family-project-tools,.family-project-tools:focus-within { opacity:1; }

/* Focus C: keep rename beside the count; protect Zone deletion behind More. */
.focus-c-zone-head { min-height:32px; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.focus-c-zone-head .project-area-toggle { min-height:30px; padding-top:4px; padding-bottom:4px; }
.focus-c-zone-tools { justify-content:flex-end; gap:1px; padding-left:0; }
.focus-c-zone-tools > [data-project-area-rename] { width:24px; min-width:24px; height:24px; min-height:24px; }
.focus-c-zone-tools .project-area-actions-menu > summary { width:24px; height:24px; border-radius:5px; font-size:12px; }
.focus-c-zone-tools .project-area-actions-menu .context-actions-menu-list { top:27px; }
.focus-c-zone-tools .project-area-actions-menu .zone-delete-action { width:100%; height:auto; min-height:30px; }

/* Projects use the same count, rename and protected-delete grammar as Zones. */
.focus-c-project-row { min-height:32px; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.focus-c-project-row .family-world-tab { min-height:30px; padding-top:4px; padding-bottom:4px; }
.focus-c-project-row .family-world-tab::before { margin-right:3px; }
.focus-c-project-tools { justify-content:flex-end; gap:1px; padding-left:0; }
.focus-c-project-tools > .family-area-rename { width:24px; min-width:24px; height:24px; min-height:24px; }
.focus-c-project-tools .family-area-actions-menu > summary { width:24px; height:24px; border-radius:5px; font-size:12px; }
.focus-c-project-tools .family-area-actions-menu .context-actions-menu-list { top:27px; }
.focus-c-project-tools .family-area-actions-menu .project-delete-action { width:100%; height:auto; min-height:30px; }

@media (max-width:760px) {
  .focus-c-item-row { grid-template-columns:minmax(0,1fr) auto; }
  .focus-c-new-item form { grid-template-columns:minmax(0,1fr) auto; }
  .focus-c-new-item form > label { grid-column:1/-1; }
  .context-actions-menu-list .family-workstream-delete-confirm { position:fixed; inset:auto 12px 12px; width:auto; }
}

/* Final H1 refinement: quiet controls, explicit hierarchy, durable ordering. */
.focus-c-zone-tools .project-area-actions-menu > summary,
.focus-c-project-tools .family-area-actions-menu > summary { font-size:9px; letter-spacing:.015em; }
.focus-c-works-label { margin:2px 0 4px; color:var(--faint); font-size:var(--text-support-xs); font-weight:650; letter-spacing:.18em; text-transform:uppercase; }
.focus-c-work-list-head .focus-c-works-label { margin:0; }
.focus-c-project-head { position:relative; }
.focus-c-zone-head { box-shadow:inset 2px 0 0 var(--zone-marker); }
.focus-c-item-row { grid-template-columns:13px minmax(0,1fr) auto; }
.focus-c-item-handle { color:var(--faint); font-size:9px; font-style:normal; letter-spacing:-.12em; opacity:.55; }
.focus-c-item-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.focus-c-item-tabs button { cursor:grab; }
.focus-c-item-tabs button.dragging { opacity:.42; cursor:grabbing; }
.focus-c-item-tabs button.section-drop-before { box-shadow:inset 2px 0 0 var(--accent); }
.focus-c-item-tabs button.section-drop-after { box-shadow:inset -2px 0 0 var(--accent); }
.focus-c-work-tabs button[data-work-section-drag] { cursor:grab; }
.focus-c-work-tabs button[data-work-section-drag].dragging { opacity:.42; cursor:grabbing; }
.focus-c-work-tabs button[data-work-section-drag].section-drop-before { box-shadow:inset 2px 0 0 var(--accent); }
.focus-c-work-tabs button[data-work-section-drag].section-drop-after { box-shadow:inset -2px 0 0 var(--accent); }

.hierarchy-colour-control { width:100%; }
.hierarchy-colour-control > summary { min-height:30px; padding:7px 9px; cursor:pointer; list-style:none; }
.hierarchy-colour-control > summary::-webkit-details-marker { display:none; }
.hierarchy-colour-palette { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:5px 7px 8px; }
.hierarchy-colour-choice { min-width:30px; min-height:30px; display:grid; place-items:center; padding:4px; border:1px solid var(--line); border-radius:6px; background:var(--control); cursor:pointer; }
.hierarchy-colour-choice i { width:13px; height:13px; border:1px solid var(--line-strong); border-radius:50%; background:var(--choice); }
.hierarchy-colour-choice span { color:var(--muted); font-size:var(--text-support-xs); }
.hierarchy-colour-choice.active { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }

/* Notebook remains navigable with dozens or hundreds of entries. */
.notebook-command-bar { display:grid; grid-template-columns:minmax(270px,.8fr) minmax(520px,1.2fr); align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--line); }
.notebook-command-bar > form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.notebook-command-bar .primary-btn { min-height:34px; padding:6px 13px; border-color:var(--line); color:var(--muted); background:var(--control); font-size:var(--text-control); font-weight:600; }
.notebook-command-bar .primary-btn:hover { border-color:var(--line-strong); color:var(--ink); background:var(--control-hover); filter:none; transform:none; }
.notebook-index-tools { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:center; gap:8px; padding:0; border:0; }
.notebook-index-tools [role="group"] { display:flex; gap:4px; }
.notebook-index-tools > span { color:var(--faint); font-size:var(--text-support-xs); }
.notebook-index { display:block; padding:10px 14px 24px; }
.notebook-group { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:18px; }
.notebook-group > header { grid-column:1/-1; display:flex; justify-content:space-between; gap:10px; padding:6px 4px; border-bottom:1px solid var(--line); color:var(--muted); font-size:var(--text-support-xs); letter-spacing:.09em; text-transform:uppercase; }
.notebook-group > header span { display:inline; }
.notebook-index .notebook-index-row { width:100%; min-width:0; min-height:118px; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; gap:8px; padding:11px 12px 10px; border:1px solid color-mix(in srgb,var(--line) 76%,transparent); border-radius:8px; background:color-mix(in srgb,var(--control) 32%,transparent); }
.notebook-index .notebook-index-row:hover { border-color:var(--line-strong); background:color-mix(in srgb,var(--control) 66%,transparent); }
.notebook-index-main strong { margin:0 0 3px; }
.notebook-index-main small,.notebook-index-main em { display:block; overflow:hidden; color:var(--faint); font-size:var(--text-support); font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.notebook-index-main em { display:-webkit-box; margin-top:7px; color:var(--muted); line-height:1.38; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.notebook-index-meta { display:flex !important; flex-direction:row; justify-content:space-between; align-items:center; gap:8px; color:var(--faint); white-space:nowrap; }
.notebook-index-meta time { color:var(--faint); font-size:var(--text-support-xs); }
.notebook-index .notebook-index-row { position:relative; padding:0; text-align:left; }
.notebook-index-open {
  width:100%; min-width:0; min-height:inherit; display:grid; grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto; gap:8px; padding:11px 12px 10px; border:0;
  border-radius:inherit; color:inherit; background:transparent; text-align:left; cursor:pointer;
}
.notebook-index-row:has(.notebook-drag-handle) .notebook-index-open { padding-right:48px; }
.notebook-drag-handle {
  position:absolute; z-index:2; top:7px; right:5px; width:38px; min-width:38px; height:38px; min-height:38px;
  display:grid; place-items:center; padding:0; border:0; border-radius:19px; color:var(--faint);
  background:transparent; cursor:grab; touch-action:none; -webkit-user-select:none; user-select:none;
}
.notebook-drag-handle:active { cursor:grabbing; }
.notebook-drag-handle:hover,.notebook-drag-handle:focus-visible { color:var(--ink); background:var(--control); }
.notebook-drag-handle span,.notebook-drag-handle span::before,.notebook-drag-handle span::after {
  width:16px; height:2px; display:block; border-radius:2px; background:currentColor; content:"";
}
.notebook-drag-handle span { position:relative; }
.notebook-drag-handle span::before { position:absolute; top:-5px; left:0; }
.notebook-drag-handle span::after { position:absolute; top:5px; left:0; }
.notebook-index-row.notebook-dragging { z-index:3; opacity:.62; box-shadow:0 8px 22px rgba(18,20,18,.10); }
.notebook-index-row.notebook-drop-before { box-shadow:inset 0 2px 0 var(--ink); }
.notebook-index-row.notebook-drop-after { box-shadow:inset 0 -2px 0 var(--ink); }
.notebook-project-group { grid-column:1/-1; border-bottom:1px solid color-mix(in srgb,var(--line) 52%,transparent); }
.notebook-project-group > summary { min-height:34px; display:flex; align-items:center; gap:8px; padding:7px 8px; color:var(--muted); cursor:pointer; list-style:none; }
.notebook-project-group > summary::-webkit-details-marker { display:none; }
.notebook-project-group > summary::before { content:"›"; width:10px; color:var(--faint); transform:rotate(90deg); transition:transform .12s ease; }
.notebook-project-group:not([open]) > summary::before { transform:none; }
.notebook-project-group > summary strong { font-size:var(--text-support); letter-spacing:.025em; }
.notebook-project-group > summary span { margin-left:auto; color:var(--faint); font-size:var(--text-support-xs); }
.notebook-project-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding-bottom:8px; }
.notebook-project-group .notebook-index-row { padding-left:12px; }

/* Appearance: collection families first, bespoke custom controls last. */
.curated-family-tabs { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; padding:1px 0 10px; border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent); overflow:visible; }
.curated-family-tabs button { flex:0 0 auto; min-height:28px; padding:4px 8px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--control); cursor:pointer; font:inherit; font-size:var(--text-support); }
.curated-family-tabs button.active { border-color:var(--accent); color:var(--ink); background:var(--control-active); }
.horizon-custom-section { margin-top:11px; padding-top:9px; border-top:1px solid var(--line); }
.horizon-custom-section > .label { display:block; margin-bottom:6px; }

@media (max-width:760px) {
  .focus-c-item-row { grid-template-columns:13px minmax(0,1fr) auto; }
  .notebook-command-bar { grid-template-columns:1fr; }
  .notebook-index-tools { grid-template-columns:1fr auto; }
  .notebook-index-tools > span { grid-column:1/-1; }
  .notebook-group,.notebook-project-cards { grid-template-columns:1fr; }
}

@media (min-width:761px) and (max-width:1180px) {
  .notebook-command-bar { grid-template-columns:1fr; }
}

@media (min-width:761px) and (max-width:1040px) {
  .notebook-group,.notebook-project-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:1041px) and (max-width:1500px) {
  .notebook-group,.notebook-project-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Compact, full-width Index utility. */
.topbar-destination.index { --destination:#bf9b70; }
.horizon-index-page { min-height:calc(100vh - 45px); padding:18px clamp(18px,3vw,42px); }
.index-shell { max-width:1100px; margin:0 auto; color:var(--ink); }
.index-head { display:flex; align-items:center; gap:18px; border-bottom:1px solid var(--line); padding-bottom:10px; }
.index-head h1 { font-size:clamp(22px,2vw,30px); margin:0; }
.index-tabs { display:flex; gap:3px; margin-right:auto; }
.index-tabs button,.index-kinds button { border:1px solid transparent; border-radius:6px; background:transparent; color:var(--muted); padding:6px 11px; cursor:pointer; font:inherit; }
.index-tabs button.active,.index-kinds button.active { border-color:var(--line); background:var(--control); color:var(--ink); font-weight:700; }
.index-head .icon-btn { margin-left:auto; }
.index-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:13px 0 9px; border-bottom:1px solid var(--line); }
.index-tools input { flex:1 1 260px; max-width:440px; min-height:34px; }
.index-kinds { display:flex; gap:2px; flex-wrap:wrap; }
.index-tools small { margin-left:auto; color:var(--muted); white-space:nowrap; }
.index-list { padding-top:3px; }
.index-row { display:flex; align-items:center; border-bottom:1px solid var(--line); min-height:43px; }
.index-row:hover { background:color-mix(in srgb,var(--control) 40%,transparent); }
.index-destination { display:flex; align-items:center; gap:14px; flex:1; min-width:0; border:0; background:transparent; color:var(--ink); padding:8px 10px; text-align:left; cursor:pointer; font:inherit; }
.index-row-title { flex:0 1 42%; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.index-row-path { flex:1; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9em; }
.index-remember { border:0; background:transparent; color:var(--muted); font-size:19px; cursor:pointer; padding:7px 14px; }
.index-remember.active { color:var(--accent); }
.index-month { margin-top:12px; }
.index-month h2 { margin:0; padding:8px 10px; font-size:1em; border-bottom:1px solid var(--line); }
.index-empty { color:var(--muted); padding:20px 10px; }
@media(max-width:700px) { .horizon-index-page { padding:15px; }.index-head { gap:9px; }.index-destination { display:block; }.index-row-title,.index-row-path { display:block; }.index-row-path { margin-top:2px; }.index-tools small { margin-left:0; } }

/* Owner review: keep the Index as compact as the other Horizon utilities. */
.horizon-index-page { font-size:10px; padding-top:12px; }
.index-head { gap:12px; padding-bottom:7px; }
.index-head h1 { font-size:20px; }
.index-tabs button,.index-kinds button { font-size:10px; padding:4px 8px; }
.index-tools { gap:8px; padding:8px 0 6px; }
.index-tools input { min-height:28px; font-size:11px; }
.index-row { min-height:32px; }
.index-destination { gap:10px; padding:5px 8px; font-size:10px; }
.index-row-path { font-size:9px; }
.index-remember { font-size:15px; padding:4px 10px; }
.index-month { margin-top:8px; }
.index-month h2 { padding:6px 8px; font-size:11px; }
@media(max-width:700px) { .horizon-index-page { font-size:10px; }.index-head h1 { font-size:20px; } }

/* The Index slides out beside Extras while the calendar remains in view. */
.horizon-index-drawer {
  position:fixed; z-index:35; inset:36px auto 12px 224px;
  width:min(var(--index-drawer-width,510px),calc(100vw - 244px)); overflow:hidden; overscroll-behavior:contain;
  padding:15px 16px; border:1px solid var(--line); border-radius:0 12px 12px 0;
  background:var(--panel); color:var(--ink);
  box-shadow:12px 12px 34px rgba(0,0,0,.22);
  font-size:10px;
}
.sidebar-collapsed .horizon-index-drawer { left:92px; width:min(var(--index-drawer-width,510px),calc(100vw - 112px)); }
.horizon-index-drawer .index-shell { max-width:none; margin:0; height:100%; min-height:0; display:flex; flex-direction:column; }
.horizon-index-drawer .index-head { flex:none; padding-top:10px; background:var(--panel); }
.horizon-index-drawer .index-tools { flex:none; background:var(--panel); }
.horizon-index-drawer .index-results-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; }
.horizon-index-drawer .index-tools input { max-width:none; flex-basis:100%; }
.horizon-index-drawer .index-destination { display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr); align-items:start; gap:8px; }
.horizon-index-drawer .index-row-title,.horizon-index-drawer .index-row-path {
  flex:none; max-width:100%; white-space:normal; overflow:visible; text-overflow:clip;
  overflow-wrap:anywhere; line-height:1.3;
}
.horizon-index-drawer .index-row { min-height:32px; }
.horizon-index-drawer .index-focus-action {
  flex:none; min-height:22px; padding:2px 5px; margin:0 2px; border:1px solid var(--line);
  border-radius:5px; background:var(--control); color:var(--ink);
  font-size:9px; line-height:1.15; white-space:nowrap; cursor:pointer;
}
.horizon-index-drawer .index-focus-action:hover { background:var(--control-hover); }
.horizon-index-drawer .index-focus-action:disabled { opacity:.65; cursor:default; }
.horizon-index-drawer .index-remember { padding-inline:7px; }
@media(max-width:700px) {
  .horizon-index-drawer,.sidebar-collapsed .horizon-index-drawer { left:0; right:0; top:35px; bottom:0; width:auto; border-radius:0; padding:13px; }
  .horizon-index-drawer .index-destination { grid-template-columns:minmax(0,42%) minmax(0,1fr); }
}

/* No Tabs applies to secondary tab groups as well as the main Horizon surface. */
html[data-control-style="no-tabs"] :is(.reminder-timer-tabs button,.converter-tabs button,.project-spine-tabs button,.people-tabs button,.focus-c-item-tabs button,.curated-family-tabs button,.index-tabs button,.index-kinds button) {
  border-color:transparent; border-radius:0; background:transparent; box-shadow:none;
}
html[data-control-style="no-tabs"] :is(.reminder-timer-tabs button,.converter-tabs button,.project-spine-tabs button,.people-tabs button,.focus-c-item-tabs button,.curated-family-tabs button,.index-tabs button,.index-kinds button):is(.active,:hover,:focus-visible) {
  border-color:transparent; background:transparent; box-shadow:none; color:var(--ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
}
html[data-control-style="no-tabs"] .calendar-guide-stack .k-scheduling-trigger,
html[data-control-style="no-tabs"] .calendar-guide-stack .k-scheduling-trigger:is(:hover,:focus-visible) {
  border-color:transparent; border-radius:0; background:transparent; box-shadow:none; filter:none;
}

/* Mobile foundation candidate: preserve the quiet No Tabs language while
   bringing the calendar and its primary journeys into the first phone view. */
@media (max-width:480px) {
  .main { padding-inline:12px; padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
  .topbar { min-height:44px; flex-wrap:nowrap; }
  .topbar .crumb { display:none; }
  .topbar-route { flex:1 1 auto; }
  .topbar-destinations { margin-left:0; }
  .topbar .top-actions { gap:0; }
  .topbar :is([data-theme-toggle],[data-people-toggle],[data-archive-toggle],[data-history-toggle],.hosted-account summary) {
    width:44px; min-width:44px; min-height:44px; padding:0;
  }
  .topbar :is([data-theme-toggle],[data-people-toggle],[data-archive-toggle],[data-history-toggle]) span { display:none; }

  html[data-control-style="no-tabs"] .horizon-local-header { display:grid; grid-template-columns:1fr; gap:5px; padding-top:7px; }
  html[data-control-style="no-tabs"] .horizon-depth-tabs {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; align-items:stretch; width:100%; top:0;
  }
  html[data-control-style="no-tabs"] .horizon-context-switch {
    grid-column:span 2; grid-template-columns:repeat(2,minmax(0,1fr)); align-self:stretch;
    padding:0; margin:0; border:0;
  }
  html[data-control-style="no-tabs"] .horizon-context-switch button,
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .soft-btn,
  html[data-control-style="no-tabs"] .horizon-team-menu-wrap,
  html[data-control-style="no-tabs"] .horizon-team-switch { min-width:0; min-height:44px !important; width:100%; }
  html[data-control-style="no-tabs"] .horizon-team-menu-wrap { grid-column:span 2; }
  html[data-control-style="no-tabs"] .horizon-team-switch { justify-content:center; padding:4px 8px; }
  html[data-control-style="no-tabs"] .horizon-team-switch button { min-width:44px; min-height:44px !important; padding-inline:6px; }
  html[data-control-style="no-tabs"] .horizon-team-switch input,
  html[data-control-style="no-tabs"] .horizon-team-menu-wrap .horizon-team-switch input {
    width:44px; height:44px; flex-basis:44px; border:0; background:transparent;
  }
  html[data-control-style="no-tabs"] .horizon-team-switch input::before {
    content:""; position:absolute; top:14px; left:8px; width:28px; height:16px;
    border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--faint) 14%,var(--control));
  }
  html[data-control-style="no-tabs"] .horizon-team-switch input::after,
  html[data-control-style="no-tabs"] .horizon-team-menu-wrap .horizon-team-switch input::after {
    top:17px; left:11px; width:10px; height:10px;
  }
  html[data-control-style="no-tabs"] .horizon-team-switch input:checked { background:transparent; }
  html[data-control-style="no-tabs"] .horizon-team-switch input:checked::before {
    border-color:color-mix(in srgb,var(--sage) 64%,var(--line)); background:color-mix(in srgb,var(--sage) 72%,var(--control));
  }
  html[data-control-style="no-tabs"] .horizon-team-switch input:checked::after,
  html[data-control-style="no-tabs"] .horizon-team-menu-wrap .horizon-team-switch input:checked::after { transform:translateX(12px); }
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .soft-btn {
    flex:none; padding:6px 3px; white-space:nowrap;
  }
  html[data-control-style="no-tabs"] .horizon-quick-capture { order:initial; width:100%; transform:none; }
  html[data-control-style="no-tabs"] .horizon-quick-capture .field,
  html[data-control-style="no-tabs"] .horizon-quick-capture button[type="submit"],
  html[data-control-style="no-tabs"] .r7-toolbar button { min-height:44px !important; }
  html[data-control-style="no-tabs"] .r7-toolbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:0; }
  html[data-control-style="no-tabs"] .r7-toolbar button { border-color:transparent; border-radius:0; background:transparent; }

  html[data-control-style="no-tabs"] .horizon-time-rail { gap:0; padding-top:2px; }
  html[data-control-style="no-tabs"] .calendar-rail-heading { margin-bottom:0; padding-block:5px; }
  html[data-control-style="no-tabs"] .calendar-view-tablist { gap:0; }
  html[data-control-style="no-tabs"] .calendar-view-tablist :is(.soft-btn,[data-planner-view="today"]) { min-height:44px !important; padding:6px 2px; }
  html[data-control-style="no-tabs"] .calendar-lens-row { gap:0; }
  html[data-control-style="no-tabs"] .calendar-guide-stack :is(.calendar-interop > button,.k-scheduling-trigger) { min-height:44px !important; }
  html[data-control-style="no-tabs"] .capture-card.is-empty .capture-head { min-height:44px; }

  .rail { height:calc(60px + env(safe-area-inset-bottom)); padding:4px 8px max(4px,env(safe-area-inset-bottom)); }
  .nav-link { min-height:52px; padding:6px; }

  .calendar-event-composer,.calendar-event-composer-v2,
  .calendar-interop-panel.connection-panel,.k-scheduling-dialog {
    width:100vw; max-height:100dvh; border-radius:0;
  }
  .calendar-event-composer,.calendar-event-composer-v2 {
    top:0; bottom:0; left:0; transform:none; overscroll-behavior:contain;
  }
  .calendar-event-composer > header,.calendar-event-composer form { padding-inline:14px; }
  .calendar-event-composer :is(button,.field,.select,input[type="checkbox"]) { min-height:44px; }
  .calendar-event-composer form > footer { position:sticky; bottom:0; margin-inline:-14px; padding:10px 14px max(10px,env(safe-area-inset-bottom)); background:var(--panel); }
  .task-inspector { width:100vw; min-width:0; }
  .task-inspector > header,.task-inspector form,.task-inspector-actions { padding-inline:14px; }
  .theme-drawer,.review-drawer,.people-drawer { width:100vw; padding-bottom:max(18px,env(safe-area-inset-bottom)); }
  .theme-drawer.mobile-appearance { padding:18px 16px max(18px,env(safe-area-inset-bottom)); }
  .theme-drawer.mobile-appearance .drawer-head { margin-bottom:18px; }
  .theme-drawer.mobile-appearance .drawer-head h2 { font-size:20px; }
  .theme-drawer.mobile-appearance .curated-preset-section { margin-top:0; padding-top:0; border-top:0; }
  .theme-drawer.mobile-appearance .curated-preset-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; max-height:none; padding:1px; overflow:visible; }
  .theme-drawer.mobile-appearance .curated-preset { min-width:0; min-height:76px; grid-template-columns:minmax(0,1fr); grid-auto-rows:auto; align-content:start; gap:4px; padding:7px; border-radius:11px; }
  .theme-drawer.mobile-appearance .curated-preset-swatch { width:18px; height:18px; border-radius:6px; }
  .theme-drawer.mobile-appearance .curated-preset > span { min-width:0; width:100%; }
  .theme-drawer.mobile-appearance .curated-preset strong { font-size:11.5px; line-height:1.15; white-space:normal; overflow-wrap:normal; word-break:normal; hyphens:none; }
  .theme-drawer.mobile-appearance .curated-preset small { display:none; }
  .theme-drawer.mobile-appearance .drawer-note { margin-top:18px; }
  .toast { position:fixed; top:auto; right:12px; bottom:calc(72px + env(safe-area-inset-bottom)); left:12px; min-width:0; max-width:none; transform:translateY(6px); white-space:normal; }
  .toast.show { transform:none; }
}

@media (max-width:350px) {
  .theme-drawer.mobile-appearance .curated-preset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Mobile simplicity pass: Calendar is the home; Focus and Notebook are the
   only adjacent destinations. The complete desktop workspace stays intact. */
@media (max-width:480px) {
  .topbar-route,
  .topbar [data-theme-toggle],
  .topbar [data-people-toggle],
  .topbar [data-archive-toggle],.topbar [data-history-toggle],
  .topbar .review-status { display:none; }
  .topbar { justify-content:flex-end; }

  html[data-control-style="no-tabs"] .horizon-local-header {
    grid-template-columns:auto minmax(0,1fr); align-items:center; min-height:55px; padding-block:5px;
  }
  html[data-control-style="no-tabs"] .horizon-identity-stack { grid-column:1; grid-row:1; }
  html[data-control-style="no-tabs"] .horizon-quick-capture {
    grid-column:2; grid-row:1; justify-self:start; width:auto; min-width:0;
  }
  html[data-control-style="no-tabs"] .horizon-quick-capture form,
  html[data-control-style="no-tabs"] .r7-toolbar [data-r7-quick],
  html[data-control-style="no-tabs"] .r7-toolbar [data-r7-library] { display:none; }
  html[data-control-style="no-tabs"] .r7-toolbar {
    display:flex; width:auto; margin:0 0 0 10px;
  }
  html[data-control-style="no-tabs"] .r7-toolbar [data-r7-focus] { min-width:64px; padding-inline:10px; }
  html[data-control-style="no-tabs"] .horizon-depth-tabs {
    grid-column:2; grid-row:1; display:flex; justify-self:end; width:auto;
  }
  html[data-control-style="no-tabs"] .horizon-depth-tabs > *,
  html[data-control-style="no-tabs"] .horizon-context-switch,
  html[data-control-style="no-tabs"] .horizon-team-menu-wrap { display:none; }
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .notebook-tab {
    display:inline-flex; width:auto; min-width:76px; padding-inline:10px;
  }

  html[data-control-style="no-tabs"] .calendar-rail-heading small,
  html[data-control-style="no-tabs"] .calendar-guide-stack,
  html[data-control-style="no-tabs"] .horizon-time-rail > .capture-card,
  html[data-control-style="no-tabs"] .calendar-view-tablist [data-planner-view="year"] { display:none; }
  html[data-control-style="no-tabs"] .horizon-time-rail { grid-template-rows:auto auto; padding-bottom:5px; }
  html[data-control-style="no-tabs"] .calendar-view-tablist { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html[data-control-style="no-tabs"] .calendar-lens-row { grid-column:2/-1; grid-template-columns:repeat(2,minmax(0,1fr)); }

  .rail { display:none; }
  .main { padding-bottom:max(14px,env(safe-area-inset-bottom)); }
}

/* Mobile density pass: spend the first screen on the day, not its chrome. */
@media (max-width:480px) {
  .topbar { height:0; min-height:0; padding:0; border:0; overflow:visible; }
  .topbar .top-actions { position:absolute; z-index:3; top:5px; right:0; }
  .topbar .hosted-account summary { width:60px; min-width:60px; min-height:44px; padding:0 6px; font-size:var(--text-label-strong); }

  html[data-control-style="no-tabs"] .horizon-local-header { padding-right:64px; }
  html[data-control-style="no-tabs"] .calendar-rail-heading { display:none; }
  html[data-control-style="no-tabs"] .horizon-time-rail { grid-template-rows:auto; padding-top:0; }

  .today-head {
    min-height:52px; align-items:center; flex-direction:row; gap:8px; padding:7px 12px;
  }
  .today-head > div:first-child { min-width:0; display:flex; align-items:baseline; gap:6px; }
  .today-head span { flex:0 0 auto; font-size:var(--text-support); letter-spacing:.04em; }
  .today-head strong { min-width:0; margin:0; font-size:17px; white-space:nowrap; }
  .today-head-actions { width:auto; margin-left:auto; }
  .today-head-actions small { white-space:nowrap; }
  .mobile-calendar-add { min-height:44px; display:inline-flex; align-items:center; padding-inline:8px; white-space:nowrap; }
}

@media (max-width:340px) {
  html[data-control-style="no-tabs"] .horizon-local-brand { gap:4px; }
  html[data-control-style="no-tabs"] .horizon-local-brand strong { font-size:14px; }
  html[data-control-style="no-tabs"] .r7-toolbar { margin-left:5px; }
  html[data-control-style="no-tabs"] .r7-toolbar [data-r7-focus] {
    min-width:52px; padding-inline:5px; font-size:11px !important;
  }
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .notebook-tab {
    width:84px; min-width:84px; padding-inline:3px; font-size:11px !important;
  }
}

/* Quiet mobile hierarchy: one view chooser, two daily tools, one doorway to depth. */
.mobile-view-menu,.mobile-more-menu,.mobile-date-strip,.mobile-now-dock,.mobile-calendar-scope { display:none; }

@media (max-width:480px) {
  html {
    --horizon-mobile-safe-top:env(safe-area-inset-top,0px);
    --horizon-mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    max-width:100%; overflow-x:clip;
  }
  body { min-width:0; max-width:100%; overflow-x:clip; }
  .topbar { display:none; }

  .today-agenda { width:100%; min-width:0; }
  .today-event-card { width:100%; min-width:0; }
  .calendar-event-composer,.calendar-event-composer-v2,
  .task-inspector,.notes-workspace {
    right:0; left:0; width:auto; max-width:none; min-width:0;
  }
  .calendar-event-composer form > footer {
    margin-inline:0; padding-inline:0; min-width:0; max-width:100%;
  }
  .calendar-event-composer form { overflow-x:hidden; }
  .notes-workspace > header,.notes-workspace > footer,
  .notes-workspace .notes-context,.notes-workspace .notes-meta,
  .notes-workspace .record-context-panel,.notes-workspace .notes-editor {
    min-width:0; width:auto;
  }
  .notes-workspace > header > div:first-child { min-width:0; }
  .notes-workspace > header h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .notes-workspace > footer { flex-wrap:wrap; padding:10px 12px; }
  .notes-workspace .notes-actions { min-width:0; flex-wrap:wrap; }

  html[data-control-style="no-tabs"] .horizon-local-header {
    position:relative; z-index:20; display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch; gap:0; min-height:calc(52px + var(--horizon-mobile-safe-top));
    padding:calc(4px + var(--horizon-mobile-safe-top)) 0 4px; border-bottom:1px solid var(--line);
  }
  html[data-control-style="no-tabs"] .horizon-identity-stack { display:none; }

  .mobile-view-menu,.mobile-more-menu { position:relative; display:block; min-width:0; }
  .mobile-view-menu { grid-column:1; grid-row:1; }
  .mobile-more-menu { grid-column:4; grid-row:1; }
  .mobile-view-menu summary,.mobile-more-menu summary,
  html[data-control-style="no-tabs"] .r7-toolbar [data-r7-focus],
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .notebook-tab {
    min-width:0; width:100%; min-height:44px !important; display:flex; align-items:center; justify-content:center;
    gap:3px; margin:0; padding:5px 2px; border:0; border-radius:0; color:var(--ink); background:transparent;
    font-family:var(--heading-font); font-size:15px !important; font-weight:570; letter-spacing:-.015em; line-height:1;
    list-style:none; cursor:pointer;
  }
  .mobile-view-menu summary::-webkit-details-marker,.mobile-more-menu summary::-webkit-details-marker { display:none; }
  .mobile-view-menu summary span { color:var(--muted); font-family:var(--font); font-size:12px; transform:translateY(-1px); }
  .mobile-view-menu[open] summary,.mobile-more-menu[open] summary { background:var(--control); }
  .mobile-view-menu > div,.mobile-more-menu > div {
    position:absolute; z-index:80; top:48px; left:0; width:132px; display:grid; padding:5px;
    border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--panel) 96%,transparent);
    box-shadow:0 12px 28px rgba(0,0,0,.16); backdrop-filter:blur(16px);
  }
  .mobile-more-menu > div { right:0; left:auto; }
  .mobile-view-menu button,.mobile-more-menu button {
    min-height:44px; padding:7px 10px; border:0; border-radius:7px; color:var(--ink); background:transparent;
    font-family:var(--heading-font); font-size:15px; font-weight:560; text-align:left; cursor:pointer;
  }
  .mobile-view-menu button:is(:hover,:focus-visible,.active),.mobile-more-menu button:is(:hover,:focus-visible) { background:var(--control-hover); }

  html[data-control-style="no-tabs"] .horizon-quick-capture {
    grid-column:2; grid-row:1; width:100%; min-width:0; justify-self:stretch;
  }
  html[data-control-style="no-tabs"] .horizon-quick-capture .r7-toolbar { width:100%; margin:0; }
  html[data-control-style="no-tabs"] .horizon-depth-tabs {
    grid-column:3; grid-row:1; width:100%; min-width:0; justify-self:stretch;
  }
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .notebook-tab { padding-inline:2px; }
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .notebook-tab i { display:none; }

  html[data-control-style="no-tabs"] .horizon-time-rail { display:none; }
  html[data-control-style="no-tabs"] .horizon-workbench { display:block; }

  .mobile-date-strip {
    display:block; width:100%; padding:5px 0 7px; overflow-x:auto; overflow-y:hidden;
    border-bottom:1px solid var(--line); background:var(--paper); scroll-snap-type:x mandatory;
    scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pinch-zoom;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-date-strip::-webkit-scrollbar { display:none; }
  .mobile-date-track { display:flex; width:1300%; }
  .mobile-date-week {
    width:calc(100% / 13); flex:0 0 calc(100% / 13); display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr)); scroll-snap-align:start; scroll-snap-stop:always;
  }
  .mobile-date-strip button {
    min-width:0; min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:4px; padding:2px 0; border:0; color:var(--ink); background:transparent; cursor:pointer; touch-action:manipulation;
  }
  .mobile-date-strip small {
    color:var(--muted); font-family:var(--font); font-size:11px; font-weight:600; line-height:1; text-transform:uppercase;
  }
  .mobile-date-strip strong {
    width:35px; height:35px; display:grid; place-items:center; border-radius:50%;
    font-family:var(--heading-font); font-size:19px; font-weight:590; letter-spacing:-.025em; line-height:1;
  }
  .mobile-date-strip button.active strong { color:var(--paper); background:var(--ink); }
  .mobile-date-strip button:focus-visible strong { outline:2px solid var(--accent); outline-offset:2px; }

  .today-event-card strong,.event strong,.month-event strong,
  .mobile-calendar-add {
    font-family:var(--heading-font); font-weight:580; letter-spacing:-.015em;
  }
  .mobile-calendar-add { display:none !important; }
  .today-head-actions > small { display:none; }

  .main { padding-bottom:calc(78px + var(--horizon-mobile-safe-bottom)); }
  .mobile-now-dock {
    position:fixed; z-index:70; right:12px; bottom:calc(10px + var(--horizon-mobile-safe-bottom)); left:12px;
    display:flex; align-items:center; justify-content:space-between; gap:10px; pointer-events:none;
  }
  .mobile-now-dock button {
    height:50px !important; min-height:50px !important;
    border:1px solid color-mix(in srgb,var(--ink) 16%,transparent); color:var(--ink);
    background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%);
    box-shadow:0 7px 24px color-mix(in srgb,var(--paper) 70%,transparent),
      inset 0 1px 0 color-mix(in srgb,var(--ink) 8%,transparent);
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); pointer-events:auto; cursor:pointer;
  }
  html:is([data-appearance-preset="no-tabs-light"],[data-appearance-preset="no-tabs-paper"]) .mobile-now-dock button {
    border-color:rgba(18,20,18,.10); background:rgba(255,255,255,.86);
    box-shadow:0 7px 24px rgba(20,22,20,.11);
  }
  .mobile-now-today {
    min-width:88px; padding:0 20px; border-radius:25px;
    font-family:var(--heading-font); font-size:17px; font-weight:590; letter-spacing:-.02em;
  }
  .mobile-now-today.active { font-weight:650; }
  .mobile-calendar-scope { position:relative; display:block; flex:1 1 auto; max-width:132px; pointer-events:auto; }
  .mobile-calendar-scope-trigger { width:100%; min-width:0; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 15px; border-radius:25px; font-family:var(--heading-font); font-size:16px; font-weight:620; letter-spacing:-.015em; }
  .mobile-calendar-scope-trigger > i { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); opacity:.72; }
  .mobile-calendar-scope-trigger.scope-personal { color:color-mix(in srgb,#91aa90 72%,var(--ink)); }
  .mobile-calendar-scope-trigger.scope-work { color:color-mix(in srgb,#7fa1b1 76%,var(--ink)); }
  .mobile-calendar-scope-trigger.scope-clinic { color:color-mix(in srgb,#c98c9d 76%,var(--ink)); }
  .mobile-calendar-scope-trigger.scope-team { color:color-mix(in srgb,var(--sage) 76%,var(--ink)); }
  .mobile-calendar-scope-backdrop { position:fixed; z-index:0; inset:0; width:auto; height:auto!important; min-height:0!important; padding:0; border:0; border-radius:0; background:rgba(0,0,0,.18); box-shadow:none; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
  .mobile-calendar-scope-sheet { position:fixed; z-index:1; right:12px; bottom:calc(72px + var(--horizon-mobile-safe-bottom)); left:12px; display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:18px; color:var(--ink); background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%); box-shadow:0 22px 60px rgba(0,0,0,.3); }
  .mobile-calendar-scope-sheet header { display:grid; gap:2px; }
  .mobile-calendar-scope-sheet header strong { font-family:var(--heading-font); font-size:18px; font-weight:650; letter-spacing:-.02em; }
  .mobile-calendar-scope-sheet header small { color:var(--muted); font-size:12px; }
  .mobile-calendar-scope-sheet > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .mobile-calendar-scope-sheet > div > button { height:46px!important; min-height:46px!important; display:flex; align-items:center; justify-content:space-between; padding:0 14px; border-radius:12px; color:var(--muted); background:var(--control); box-shadow:none; font-family:var(--heading-font); font-size:16px; font-weight:590; }
  .mobile-calendar-scope-sheet > div > button.active { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 46%,var(--line)); background:var(--accent-soft); }
  .mobile-calendar-scope-sheet > div > button i { color:var(--accent); font-family:var(--font); font-size:14px; font-style:normal; }
  html:is([data-appearance-preset="no-tabs-light"],[data-appearance-preset="no-tabs-paper"]) .mobile-calendar-scope-backdrop { background:rgba(71,65,54,.14); }
  html:is([data-appearance-preset="no-tabs-light"],[data-appearance-preset="no-tabs-paper"]) .mobile-calendar-scope-sheet { border-color:rgba(18,20,18,.11); background:rgba(255,255,255,.97); box-shadow:0 22px 60px rgba(20,22,20,.16); }
  .mobile-now-create {
    width:50px; min-width:50px !important; padding:0; border-radius:50%;
    font-family:var(--heading-font); font-size:27px; font-weight:450; line-height:1;
  }
  body:has(.calendar-event-composer) .mobile-now-dock,
  body:has(.task-inspector) .mobile-now-dock { opacity:0; pointer-events:none; }
}

@media (max-width:340px) {
  .mobile-view-menu summary,.mobile-more-menu summary,
  html[data-control-style="no-tabs"] .r7-toolbar [data-r7-focus],
  html[data-control-style="no-tabs"] .horizon-depth-tabs > .notebook-tab { font-size:14px !important; }
}

/* White-canvas mobile study: keep the deliberate white treatment on the two
   white Horizon presets without flattening colourful light appearances. */
@media (max-width:480px) {
  html[data-control-style="no-tabs"]:is([data-appearance-preset="no-tabs-light"],[data-appearance-preset="no-tabs-paper"]) {
    --paper:#fff !important; --panel:#fff !important; --panel-2:#f7f7f7 !important;
    --line:rgba(18,20,18,.12) !important; --control:rgba(18,20,18,.045) !important;
    --control-hover:rgba(18,20,18,.075) !important; --glow-warm:transparent !important;
    --glow-cool:transparent !important; --theme-texture:linear-gradient(#fff,#fff) !important;
    background:#fff !important;
  }
  html[data-control-style="no-tabs"]:is([data-appearance-preset="no-tabs-light"],[data-appearance-preset="no-tabs-paper"]) body { background:#fff !important; }

  .mobile-date-strip { padding:2px 0 3px; }
  .mobile-date-strip button { min-height:48px; gap:1px; padding:0; }
  .mobile-date-strip small { font-size:10px; }
  .mobile-date-strip strong { width:30px; height:30px; font-size:17px; }

  .today-head { min-height:46px; padding:1px 8px; }
  .today-head span { font-size:9px; }
  .today-head strong { font-size:16px; }
  .today-wrap { border-radius:12px; }

  /* Give Week and Month the same compact crown and rhythm as Today. */
  .week-nav {
    min-height:50px; align-items:center; flex-direction:row; gap:6px; padding:3px 8px;
  }
  .week-nav > span {
    min-width:0; flex:1 1 auto; font-size:13px; letter-spacing:.015em; white-space:nowrap;
  }
  .week-nav-actions {
    width:auto; flex:0 0 auto; justify-content:flex-end; flex-wrap:nowrap; gap:3px;
  }
  .week-nav .surface-undo { width:auto; max-width:128px; margin:0 2px 0 0; order:0; }
  .week-nav .calendar-shift-btn,
  .month-head-actions .calendar-shift-btn {
    width:44px; min-width:44px; height:44px; min-height:44px;
  }
  .week-nav .tiny-btn,
  .month-head-actions .tiny-btn {
    min-height:44px; padding:5px 9px; font-size:14px; white-space:nowrap;
  }

  .week-top { min-width:630px; grid-template-columns:42px repeat(7,84px); }
  .week-time-corner { padding-right:5px; font-size:9px; }
  .week-top .day-head { min-height:54px; padding:8px 7px 6px; }
  .week-top .day-name { font-size:11px; }
  .week-top .day-number { margin-top:2px; font-size:16px; }
  .week-all-day { min-width:630px; grid-template-columns:42px minmax(0,1fr); }
  .week-all-day > div { grid-template-columns:repeat(7,84px); }
  .week-timed-body { min-width:630px; grid-template-columns:42px minmax(0,1fr); }
  .week-grid { min-width:588px; }
  .calendar-time-rail span { right:5px; }

  .month-head {
    min-height:54px; align-items:center; flex-direction:row; gap:6px; padding:4px 8px;
  }
  .month-head > div:first-child { min-width:0; flex:1 1 auto; }
  .month-head strong {
    margin:0; font-size:17px; line-height:1.05; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .month-head-actions { width:auto; flex:0 0 auto; flex-wrap:nowrap; gap:3px; }
  .month-head .surface-undo { width:auto; max-width:128px; }
  .month-weekdays span { padding:6px 4px; font-size:10px; }
}

/* Compact mobile depth: Notebook and To do inherit Calendar's typographic voice. */
@media (max-width:480px) {
  :is(.notebooks-drawer,.todos-drawer),
  :is(.notebooks-drawer,.todos-drawer) :is(button,input,select,textarea,h2,h3,strong,span,small,p,time) {
    font-family:var(--heading-font) !important;
  }
  :is(.notebooks-drawer,.todos-drawer).open {
    display:block; height:auto; max-height:none; margin:0; border-radius:12px;
  }
  :is(.notebooks-drawer,.todos-drawer) > .horizon-drawer-head {
    min-height:48px; display:flex; align-items:center; gap:8px; padding:2px 8px;
  }
  :is(.notebooks-drawer,.todos-drawer) > .horizon-drawer-head > div:first-child {
    flex:1 1 auto; align-items:center; gap:7px; min-width:0;
  }
  :is(.notebooks-drawer,.todos-drawer) > .horizon-drawer-head > div:last-child {
    flex:0 0 auto; align-items:center; justify-content:flex-end;
  }
  :is(.notebooks-drawer,.todos-drawer) .horizon-drawer-head h2 {
    font-size:17px; font-weight:590; line-height:1; white-space:nowrap;
  }
  :is(.notebooks-drawer,.todos-drawer) .horizon-drawer-head .realm-mark { width:5px; height:27px; }
  :is(.notebooks-drawer,.todos-drawer) .horizon-drawer-head .icon-btn {
    width:44px; height:44px; min-width:44px; min-height:44px;
  }
  .notebooks-drawer > .horizon-drawer-head { display:none; }

  .todos-drawer .horizon-title-stack { min-width:0; display:flex; align-items:center; }
  .todos-drawer .todo-group-lenses { display:none; }
  .todo-layer-capture { padding:5px 7px; }
  .todo-layer-capture form { grid-template-columns:minmax(0,1fr) 76px 62px; gap:5px; }
  .todo-layer-capture .select { display:none; }
  .todo-layer-capture .todo-project-select { display:none; }
  .todo-layer-capture .todo-category-select { display:block; padding-inline:8px 22px; }
  .todo-layer-capture .field,.todo-layer-capture .select,.todo-layer-capture .primary-btn {
    width:100%; min-width:0; min-height:44px; height:44px; padding-inline:8px; font-size:14px !important;
  }
  .todo-layer-capture .primary-btn { width:62px; }
  .todo-add-full { display:none; }
  .todo-add-mobile { display:inline; }
  .todo-layer-empty { padding:16px 10px; font-size:15px; }
  .todo-layer-empty p { display:none; }
  .todo-layer-list { display:none; }
  .mobile-todo-categories { display:grid; padding:4px 7px 8px; }
  .mobile-todo-category { display:grid; }
  .mobile-todo-category > header { min-height:34px; display:flex; align-items:center; gap:7px; border-bottom:1px solid var(--line); }
  .mobile-todo-category > header strong { font-size:13px; font-weight:650; }
  .mobile-todo-category > header span { color:var(--faint); font-size:11px; }
  .mobile-todo-category > div > p { margin:0; padding:9px 4px 11px; color:var(--faint); font-size:12px; }

  .notebook-command-bar { gap:5px; padding:5px 7px; }
  .notebook-command-bar > form { gap:5px; }
  .notebook-command-bar :is(.field,.primary-btn),
  .notebook-index-tools button { min-height:44px; font-size:14px !important; }
  .notebook-index-tools { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
  .notebook-index-tools [role="group"],.notebook-index-tools > span { display:none; }
  .notebook-index-tools [data-notebook-search] { width:100%; min-width:0; }
  .notebook-index { padding:5px 7px 7px; }
  .notebook-index .notebook-group { display:grid; gap:0; }
  .notebook-index .notebook-group > header { min-height:32px; display:flex; align-items:center; justify-content:space-between; padding:0 4px; }
  .notebook-index .notebook-group > header strong { font-size:12px; font-weight:650; }
  .notebook-index .notebook-group > header span { color:var(--faint); font-size:11px; }
  .notebook-index .notebook-index-row { min-height:58px; display:block; padding:0; border-width:1px 0 0; border-radius:0; background:transparent; }
  .notebook-index .notebook-index-open { min-height:58px; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:1fr; align-items:center; gap:8px; padding:8px 9px; }
  .notebook-index .notebook-index-row:has(.notebook-drag-handle) .notebook-index-open { padding-right:43px; }
  .notebook-index .notebook-drag-handle { top:7px; right:0; width:43px; min-width:43px; height:44px; min-height:44px; border-radius:22px; }
  .notebook-index-main em { margin-top:3px; -webkit-line-clamp:1; }
  .notebook-index-meta { justify-content:flex-end; }
  .notebook-index-meta time { display:none; }
  .notebook-index > :is(.horizon-empty,.spine-empty) {
    min-height:0; padding:13px 8px; border:0; font-size:14px; line-height:1.25;
  }
  .notebook-empty-group .horizon-empty { min-height:0; padding:13px 8px; border:0; font-size:14px; line-height:1.25; }

  .family-drawer,.family-drawer :is(button,input,select,textarea,h2,h3,h4,strong,span,small,p,time) { font-family:var(--heading-font) !important; }
  .family-drawer.open { margin:0; border-radius:12px; }
  .family-drawer > .horizon-drawer-head { min-height:48px; display:flex; align-items:center; gap:7px; padding:2px 8px; }
  .family-drawer > .horizon-drawer-head > div:first-child { flex:1 1 auto; min-width:0; }
  .family-drawer > .horizon-drawer-head > div:last-child { flex:0 0 auto; justify-content:flex-end; }
  .family-drawer > .horizon-drawer-head .icon-btn { width:44px; height:44px; min-width:44px; min-height:44px; }
  .family-shell { display:block; }
  .family-release-rail { width:100%; max-width:none; border:0; border-bottom:1px solid var(--line); }
  .family-world-list { padding:5px 7px; }
  .family-stage { min-height:0; padding:8px; }
  .family-project-overview-grid,.family-project-workstreams > .new-workstream-control { display:none; }
  .mobile-project-works { display:grid; gap:3px; }
  .mobile-project-works > header { min-height:32px; display:flex; align-items:center; gap:7px; }
  .mobile-project-works > header h4 { margin:0; font-size:14px; }
  .mobile-project-works > header span { color:var(--faint); font-size:12px; }
  .mobile-project-works > div { display:grid; }
  .mobile-project-works button { min-height:50px; display:grid; grid-template-columns:24px minmax(0,1fr) 16px; align-items:center; gap:7px; padding:5px 4px; border:0; border-top:1px solid var(--line); color:var(--ink); background:transparent; text-align:left; }
  .mobile-project-works button b { color:var(--faint); font-size:11px; font-weight:500; }
  .mobile-project-works button span { min-width:0; }
  .mobile-project-works button strong,.mobile-project-works button small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-project-works button strong { font-size:14px; }
  .mobile-project-works button small { margin-top:2px; color:var(--faint); font-size:11px; }
  .mobile-project-works button i { color:var(--faint); font-style:normal; }

  .reminders-surface,.reminders-surface :is(button,input,h1,strong,span,p,time) { font-family:var(--heading-font) !important; }
  .reminders-surface { max-width:none; margin:0; border-color:var(--line); border-radius:12px; color:var(--ink); background:var(--panel); background-image:none; box-shadow:none; }
  .reminders-surface .timer-head { min-height:48px; align-items:center; padding:2px 8px; border-color:var(--line); }
  .reminders-surface .timer-head > div { gap:7px; }
  .reminders-surface .timer-head .realm-mark { width:5px; height:27px; }
  .reminders-surface .timer-head .eyebrow,.reminders-surface .timer-head p,.reminders-surface .reminders-full-title { display:none; }
  .reminders-surface .reminders-mobile-title { display:inline; }
  .reminders-surface .timer-head h1 { color:var(--ink); font-size:17px; font-weight:590; line-height:1; }
  .reminders-surface .timer-head .icon-btn { width:44px; height:44px; min-width:44px; min-height:44px; }
  .reminders-surface .reminder-timer-tabs,.reminders-surface .timer-foot { display:none; }
  .reminders-surface .reminder-body { display:block; min-height:0; }
  .reminders-surface .reminder-create { padding:5px 7px 7px; border:0; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--panel) 96%,var(--accent)); }
  .reminders-surface .reminder-kicker,.reminders-surface .reminder-create label > span,.reminders-surface .reminder-create > p { display:none; }
  .reminders-surface .r7-alert-settings { display:none; }
  .reminders-surface .reminder-create form { grid-template-columns:minmax(0,1fr) 62px; gap:5px; margin:0; }
  .reminders-surface .reminder-label { grid-column:1/-1; }
  .reminders-surface .reminder-create form > div { grid-column:1; grid-row:2; grid-template-columns:1fr 88px; gap:5px; }
  .reminders-surface .reminder-create input,.reminders-surface .reminder-create button { width:100%; height:44px; min-height:44px; padding:7px 9px; border-color:var(--line); border-radius:8px; color:var(--ink); background:var(--control); font-size:14px; }
  .reminders-surface .reminder-create button { grid-column:2; grid-row:2; color:var(--paper); border-color:var(--accent); background:var(--accent); }
  .reminders-surface .reminder-set-full { display:none; }
  .reminders-surface .reminder-set-mobile { display:inline; }
  .reminders-surface .reminder-list { padding:5px 7px 8px; color:var(--ink); background:var(--panel); }
  .reminders-surface .reminder-list > header { min-height:34px; padding:0 4px; border-color:var(--line); font-family:var(--heading-font); font-size:13px; letter-spacing:0; text-transform:none; }
  .reminders-surface .reminder-list > header b { min-width:0; padding:0; border:0; font-size:11px; font-weight:500; }
  .reminders-surface .reminder-list > div { max-height:210px; }
  .reminders-surface .reminder-empty { margin:0; padding:12px 4px; color:var(--faint); font-size:12px; text-align:left; }
}

/* iPhone text entry must never trigger Safari's persistent page zoom. Keep the
   working surface inside the visual viewport while the keyboard and browser
   chrome change height; never disable user pinch zoom to achieve this. */
@media (max-width:480px) {
  html[data-control-style][data-appearance] body :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
    textarea,select,[contenteditable="true"]
  ) {
    min-width:0; max-width:100%; font-size:16px !important;
  }

  html[data-control-style][data-appearance] body .project-overview-note textarea {
    font-size:15px !important;
    line-height:1.45;
  }

  :where(form,label,fieldset) { min-width:0; max-width:100%; }

  .notebook-command-bar > form { grid-template-columns:minmax(0,1fr) 62px; }
  .notebook-command-bar > form .field { width:100%; min-width:0; }
  .notebook-command-bar > form .primary-btn { width:62px; min-width:62px; }
  html[data-control-style][data-appearance] body :is([data-notebook-quick-form],#todo-layer-form) :is(input,select,button) {
    min-height:44px !important; height:44px;
  }

  .calendar-event-composer,.calendar-event-composer-v2 {
    top:0; right:0; bottom:auto; left:0; width:auto;
    height:var(--horizon-visual-height,100svh); max-height:var(--horizon-visual-height,100svh);
    display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; transform:none;
  }
  .calendar-event-composer > header {
    min-width:0; padding:14px 14px 12px;
  }
  .calendar-event-composer > header > div:first-child { min-width:0; }
  .calendar-event-composer > header h2 { margin-top:2px; font-size:21px; }
  .calendar-event-composer > header p { font-size:14px; line-height:1.35; }
  .calendar-event-composer form {
    min-height:0; align-content:start; gap:10px; overflow-x:hidden; overflow-y:auto;
    padding:12px 14px calc(78px + env(safe-area-inset-bottom));
    scroll-padding-bottom:calc(78px + env(safe-area-inset-bottom));
  }
  .calendar-event-composer form > footer {
    position:absolute; z-index:5; right:0; bottom:0; left:0;
    min-width:0; max-width:none; min-height:68px; margin:0;
    padding:10px 14px max(10px,env(safe-area-inset-bottom));
    border-top:1px solid var(--line); background:var(--panel);
    box-shadow:0 -8px 24px color-mix(in srgb,var(--paper) 88%,transparent);
  }
  .calendar-event-composer form > footer button { min-width:0; flex:1 1 0; }
  .calendar-event-composer .calendar-more-options > div,
  .calendar-event-composer .calendar-private-options { display:grid; gap:10px; }
  .calendar-event-composer .calendar-more-options > div { padding-top:10px; }
  .calendar-event-composer .calendar-more-options .calendar-all-day { margin:0; }
}
