@font-face {
  font-family:Onest;
  src:url('/fonts/onest-vf.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}

.activity-details {
  border-top:1px solid var(--line);
  margin-top:10px;
  font-size:13px
}

.activity-details>summary {
  display:flex;
  align-items:center;
  min-height:44px;
  color:var(--blue);
  gap:8px
}

.activity-details>summary::before {
  content:'+'
}

.activity-details[open]>summary::before {
  content:'−'
}

.activity-row {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:12px 0;
  border-top:1px solid var(--line);
  font-size:13px
}

.activity-row>a {
  min-height:44px;
  display:flex;
  align-items:center;
  overflow-wrap:anywhere
}

.activity-row>a:hover {
  color:var(--blue)
}

.activity-row>time {
  font-size:12px;
  color:var(--muted)
}

:root {
  --ink:#15171c;
  --muted:#626a77;
  --line:#e4e7ec;
  --blue:#005be2;
  --blue-hover:#0046b0;
  --blue-light:#f2f6ff;
  --error:#a8322c;
  --duration:180ms;
  font-family:Onest,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  color:var(--ink);
  background:#fff;
  color-scheme:light
}

* {
  box-sizing:border-box
}

body {
  margin:0
}

button,input,textarea,select {
  font:inherit
}

button,a,input,textarea,select,summary {
  -webkit-tap-highlight-color:transparent
}

button,summary {
  cursor:pointer
}

a {
  color:inherit;
  text-decoration:none
}

button {
  touch-action:manipulation
}

button:disabled {
  opacity:.55;
  cursor:wait
}

input,textarea,select {
  width:100%;
  max-width:100%;
  min-height:44px;
  padding:9px 12px;
  border:1px solid #87909d;
  border-radius:6px;
  color:var(--ink);
  background:#fff
}

textarea {
  resize:vertical;
  min-height:78px
}

input[readonly],textarea[readonly] {
  background:#f4f5f7;
  color:#454a54;
  border-color:var(--line)
}

button,input,textarea,select,a {
  transition:background-color var(--duration),border-color var(--duration),color var(--duration),box-shadow var(--duration)
}

:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:3px
}

input:focus,textarea:focus,select:focus {
  border-color:var(--blue)
}

[hidden] {
  display:none!important
}

svg {
  width:18px;
  height:18px;
  display:block;
  flex-shrink:0
}

h1,h2,h3,p {
  margin:0
}

h1,h2,h3 {
  font-weight:500
}

h1 {
  font-size:24px;
  line-height:1.25;
  letter-spacing:-.7px
}

h2 {
  font-size:19px;
  line-height:1.3;
  letter-spacing:-.5px
}

h3 {
  font-size:16px;
  line-height:1.4;
  letter-spacing:-.25px
}

small {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:5px;
  line-height:1.55
}

code {
  font-size:.85em;
  overflow-wrap:anywhere;
  background:#f0f2f6;
  padding:2px 5px;
  border-radius:3px
}

label {
  display:block;
  font-size:14px;
  font-weight:500;
  margin:14px 0 6px
}

fieldset {
  padding:0;
  margin:0;
  border:0;
  min-width:0
}

legend {
  padding:0
}

.muted,.form-hint {
  color:var(--muted)
}

.form-hint {
  font-size:12px;
  line-height:1.55;
  margin:8px 0 12px
}

.small-label {
  display:block;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  color:var(--muted)
}

.skip-link {
  position:fixed;
  z-index:100;
  left:20px;
  top:12px;
  transform:translateY(-160%);
  background:var(--ink);
  color:#fff;
  padding:10px 18px;
  border-radius:24px
}

.skip-link:focus {
  transform:translateY(0)
}

.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:9px 16px;
  font-size:13px;
  font-weight:500;
  border-radius:26px;
  border:1px solid transparent;
  white-space:normal;
  text-align:center
}

.button svg,.text-link svg {
  transition:transform 220ms ease-out
}

.button:hover svg,.text-link:hover svg {
  transform:translateX(2px)
}

.primary {
  background:var(--blue);
  color:#fff
}

.primary:hover {
  background:var(--blue-hover)
}

.secondary {
  background:#fff;
  border-color:#a4adba;
  color:var(--ink)
}

.secondary:hover {
  background:var(--blue-light);
  border-color:var(--blue);
  color:var(--blue)
}

.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  width:44px;
  height:44px;
  flex-shrink:0;
  color:var(--ink)
}

.icon-button:hover {
  border-color:var(--blue);
  color:var(--blue);
  background:var(--blue-light)
}

.text-link {
  display:inline-flex;
  gap:7px;
  align-items:center;
  font-size:12px;
  min-height:44px;
  font-weight:500;
  color:var(--blue)
}

.text-link:hover {
  text-decoration:underline;
  text-underline-offset:4px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:19px;
  font-weight:600;
  letter-spacing:-.7px;
  min-height:44px;
  white-space:nowrap
}

.brand-mark {
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue);
  font-weight:400;
  font-size:32px;
  line-height:1;
  width:24px;
  height:36px;
  padding-bottom:3px
}

.app-shell {
  max-width:1600px;
  margin:auto;
  min-height:100dvh;
  padding:0 40px
}

.workspace-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:74px;
  border-bottom:1px solid var(--line);
  position:relative
}

.workspace-header::before,.workspace-header::after,.grid-section::before,.grid-section::after {
  content:'';
  position:absolute;
  width:7px;
  height:7px;
  background:linear-gradient(var(--ink),var(--ink)) center/1px 7px no-repeat,linear-gradient(var(--ink),var(--ink)) center/7px 1px no-repeat;
  pointer-events:none;
  opacity:.5
}

.workspace-header::before,.grid-section::before {
  left:-3px;
  bottom:-4px
}

.workspace-header::after,.grid-section::after {
  right:-3px;
  bottom:-4px
}

.navigation {
  display:flex;
  align-items:center;
  gap:20px
}

.navigation>a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:8px 0;
  font-size:13px;
  color:#555d69;
  position:relative;
  white-space:nowrap
}

.navigation>a>span[data-icon] {
  display:none
}

.navigation>a:hover,.navigation>a[aria-current='page'] {
  color:var(--blue)
}

.navigation>a[aria-current='page']::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:1px;
  background:var(--blue)
}

.nav-count {
  color:var(--muted);
  font-size:12px
}

.header-filter {
  min-width:145px;
  width:190px
}

.header-filter select {
  font-size:13px;
  border-color:#87909d;
  border-radius:24px;
  padding:8px 14px;
  min-height:44px
}

.main {
  min-width:0;
  outline:none
}

.topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:76px
}

.topbar-heading {
  display:flex;
  align-items:baseline;
  gap:14px
}

.topbar-heading>.muted {
  font-size:12px
}

.topbar-actions {
  display:flex;
  align-items:center;
  gap:8px
}

.sync-label {
  font-size:12px;
  color:var(--muted)
}

.topbar .icon-button {
  border:0
}

.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#9097a3;
  border:1px solid #9097a3;
  flex-shrink:0
}

.status-dot.connected {
  background:var(--blue);
  border-color:var(--blue)
}

.grid-section {
  position:relative;
  border-bottom:1px solid var(--line)
}

.briefing-view {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);
  gap:28px;
  align-items:start
}

.briefing-secondary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  min-width:0
}

.attention-section,.briefing-secondary>section {
  min-width:0
}

.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  min-height:44px
}

.section-heading>.muted {
  font-size:12px
}

.section-count {
  display:inline-block;
  margin-left:5px;
  font-size:13px;
  color:var(--muted);
  font-weight:400;
  letter-spacing:0
}

.attention-list,.briefing-feed {
  display:flex;
  flex-direction:column;
  gap:0
}

.attention-card {
  padding:16px 0;
  border-top:1px solid var(--line);
  min-width:0
}

.attention-card:last-child {
  border-bottom:1px solid var(--line)
}

.briefing-topic {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px
}

.briefing-group {
  font-size:12px;
  color:var(--blue);
  overflow-wrap:anywhere
}

.briefing-age {
  font-size:12px;
  color:var(--muted);
  white-space:nowrap
}

.attention-card h3 {
  overflow-wrap:anywhere
}

.attention-reason {
  font-size:13px;
  color:#865819;
  margin-top:7px;
  line-height:1.5;
  overflow-wrap:anywhere
}

.attention-step {
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere;
  margin-top:7px
}

.attention-step>.small-label {
  display:inline;
  color:var(--muted);
  margin-right:6px;
  font-weight:400
}

.briefing-actions {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:9px;
  flex-wrap:wrap
}

.briefing-actions .button {
  font-size:12px;
  padding:8px 14px
}

.briefing-actions .icon-button {
  width:44px;
  height:44px
}

.briefing-actions .text-link {
  font-size:12px
}

.briefing-entry {
  padding:16px 0;
  border-top:1px solid var(--line);
  min-width:0
}

.briefing-entry:last-child {
  border-bottom:1px solid var(--line)
}

.briefing-entry h3 {
  font-size:15px;
  overflow-wrap:anywhere
}

.briefing-entry-text {
  font-size:13px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#424a57;
  margin-top:9px
}

.briefing-event-meta {
  display:flex;
  align-items:center;
  gap:7px 12px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--muted);
  margin-top:9px
}

.briefing-event-meta time {
  font-variant-numeric:tabular-nums
}

.briefing-entry details {
  font-size:13px;
  margin-top:8px
}

.briefing-entry summary {
  min-height:44px;
  color:var(--blue);
  display:flex;
  align-items:center
}

.briefing-entry details p {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:260px;
  overflow-y:auto;
  background:#f5f7fb;
  padding:12px
}

.briefing-empty,.loading-text {
  border-top:1px solid var(--line);
  padding:18px 0;
  font-size:13px;
  line-height:1.6;
  color:var(--muted)
}

.briefing-empty .text-link {
  display:flex;
  width:fit-content;
  margin-top:6px
}

.briefing-as-of {
  font-size:12px;
  color:var(--muted)
}

.project-grid {
  display:flex;
  flex-direction:column
}

.project-card {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(155px,.6fr);
  gap:24px;
  padding:20px 0;
  border-top:1px solid var(--line);
  min-width:0
}

.project-card:last-child {
  border-bottom:1px solid var(--line)
}

.project-card-main,.project-card-work,.project-card-actions {
  min-width:0
}

.project-card-main {
  padding-right:20px;
  border-right:1px solid var(--line)
}

.project-card-work {
  padding-right:16px;
  border-right:1px solid var(--line)
}

.project-card-head {
  display:flex;
  gap:8px;
  justify-content:space-between;
  align-items:center;
  margin-bottom:9px
}

.project-group-label {
  color:var(--blue);
  font-size:12px;
  overflow-wrap:anywhere;
  line-height:1.5
}

.project-card h3 {
  font-size:18px;
  letter-spacing:-.45px;
  line-height:1.4;
  overflow-wrap:anywhere
}

.project-description {
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  margin-top:8px;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}

.status-badge {
  display:inline-flex;
  align-items:center;
  font-size:12px;
  padding:3px 8px;
  border-radius:20px;
  border:1px solid #e0e3e9;
  background:#f6f7fa;
  color:#626a77;
  flex-shrink:0
}

.status-active {
  background:#edf3ff;
  border-color:#d5e3fc;
  color:var(--blue)
}

.status-paused {
  background:#fff7e9;
  border-color:#efdfba;
  color:#89641c
}

.status-done {
  background:#f0f4f2;
  border-color:#d5e1db;
  color:#496452
}

.next-step>.small-label {
  margin-bottom:7px
}

.next-step>p {
  font-size:13px;
  line-height:1.6;
  overflow-wrap:anywhere
}

.empty-next {
  color:var(--muted)
}

.project-meta {
  display:flex;
  gap:5px 10px;
  flex-wrap:wrap;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
  margin-top:10px
}

.attention-note {
  color:#8a5a19
}

.reminder-state {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
  margin-top:10px
}

.reminder-state svg {
  width:14px;
  height:14px
}

.last-checkin {
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line)
}

.last-checkin>.small-label {
  margin-bottom:5px
}

.last-checkin>p {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  overflow-wrap:anywhere
}

.project-card-actions {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  justify-content:center
}

.project-card-actions>.button {
  font-size:12px;
  padding:9px 14px;
  min-height:44px
}

.project-actions-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px
}

.project-actions-bottom .text-link {
  font-size:12px;
  gap:6px
}

.project-actions-bottom .text-link svg {
  width:15px;
  height:15px
}

.project-actions-bottom .icon-button {
  width:44px;
  height:44px
}

.preview-button {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  color:var(--muted);
  background:transparent;
  border:0;
  padding:4px 0;
  min-height:44px;
  text-align:left
}

.preview-button:hover {
  color:var(--blue)
}

.project-title-text {
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}

.project-full-title {
  margin-top:6px;
  font-size:12px;
  color:var(--muted)
}

.project-full-title summary {
  min-height:44px;
  display:flex;
  align-items:center
}

.project-full-title p {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:250px;
  overflow-y:auto;
  padding:12px;
  background:#f6f8fb
}

.history-entry {
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:19px 0;
  border-top:1px solid var(--line)
}

.history-entry:last-child {
  border-bottom:1px solid var(--line)
}

.history-symbol {
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  flex-shrink:0;
  color:var(--blue)
}

.history-content {
  min-width:0;
  flex:1
}

.history-meta {
  display:flex;
  gap:14px;
  justify-content:space-between;
  align-items:baseline
}

.history-meta h3 {
  font-size:15px;
  overflow-wrap:anywhere
}

.history-meta time {
  font-size:12px;
  color:var(--muted);
  flex-shrink:0
}

.history-content>p {
  font-size:14px;
  line-height:1.7;
  color:#424a57;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin-top:8px
}

.source-label {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:7px
}

.connection-strip {
  display:flex;
  gap:30px;
  margin-top:28px;
  border-top:1px solid var(--line);
  padding:12px 0 18px
}

.integration-link {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-size:12px
}

.integration-link:hover {
  color:var(--blue)
}

.project-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:0 0 22px
}

.filter-tabs {
  display:flex;
  gap:7px;
  flex-wrap:wrap
}

.filter-tabs button {
  min-height:44px;
  padding:8px 12px;
  border:1px solid #a4adba;
  border-radius:24px;
  background:#fff;
  color:var(--muted);
  font-size:12px
}

.filter-tabs button:hover {
  color:var(--blue);
  border-color:var(--blue)
}

.filter-tabs button[aria-pressed='true'] {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
}

.search-field {
  position:relative;
  min-width:220px;
  max-width:360px;
  width:100%
}

.search-field>span {
  position:absolute;
  left:14px;
  top:13px;
  color:var(--muted)
}

.search-field input {
  padding-left:40px;
  font-size:13px;
  border-radius:24px;
  min-height:44px
}

.history-tools {
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 0 22px
}

.history-tools label {
  margin:0
}

.history-tools select {
  max-width:480px;
  font-size:14px
}

.empty-state {
  border:1px dashed #a7b0bf;
  padding:24px;
  width:100%
}

.empty-state h3 {
  margin-bottom:9px;
  font-size:18px
}

.empty-state p {
  max-width:62ch;
  font-size:13px;
  line-height:1.6;
  color:var(--muted)
}

.empty-state .button {
  margin-top:18px
}

.load-more {
  display:flex;
  justify-content:center;
  padding:18px 0
}

.load-more:empty {
  display:none
}

.settings-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:start
}

.settings-panel {
  border:1px solid var(--line);
  padding:24px
}

.settings-panel>h2 {
  margin-bottom:14px;
  font-size:23px
}

.settings-panel .button {
  margin-top:18px
}

.settings-stack {
  display:flex;
  flex-direction:column;
  gap:18px
}

.settings-panel details {
  margin-top:10px;
  font-size:13px;
  line-height:1.65
}

.settings-panel summary {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-weight:500
}

.settings-panel summary:before {
  content:'+';
  font-size:18px
}

.settings-panel details[open] summary:before {
  content:'−'
}

.settings-panel details ol {
  padding-left:20px;
  margin:8px 0 12px
}

.settings-panel details li+li {
  margin-top:9px
}

.settings-status {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  margin-bottom:9px
}

.settings-note {
  color:var(--muted);
  font-size:13px;
  line-height:1.65
}

.settings-note+.settings-note {
  margin-top:8px
}

.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}

.checkbox-row {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 0;
  font-weight:400
}

.checkbox-row input {
  width:20px;
  height:20px;
  min-height:20px;
  flex-shrink:0;
  margin:2px 0 0;
  accent-color:var(--blue)
}

.checkbox-row strong {
  font-size:14px;
  font-weight:500
}

.form-error {
  border:1px solid #efc8c2;
  background:#fff3f1;
  color:var(--error);
  border-radius:6px;
  padding:11px 13px;
  margin:14px 0;
  font-size:14px;
  overflow-wrap:anywhere
}

.required {
  color:var(--error)
}

.offline-banner {
  color:#865819;
  background:#fff8e9;
  border:1px solid #efdfba;
  padding:12px 14px;
  font-size:13px;
  margin:0 0 18px
}

.connection-screen {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100dvh;
  padding:24px
}

.connection-card {
  max-width:460px;
  width:100%;
  border:1px solid var(--line);
  padding:32px
}

.connection-card .brand {
  margin-bottom:26px
}

.connection-card h1 {
  font-size:30px;
  letter-spacing:-1px
}

.connection-card>p {
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  margin-top:15px
}

.connection-card>.button {
  margin-top:20px
}

.connection-card form {
  margin-top:22px
}

.connection-card form>.button {
  margin-top:18px;
  width:100%
}

dialog {
  width:calc(100% - 32px);
  max-width:580px;
  max-height:calc(100dvh - 40px);
  padding:26px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--ink);
  background:#fff;
  box-shadow:0 20px 70px #15171c26
}

dialog::backdrop {
  background:#15171c66;
  backdrop-filter:blur(3px)
}

.dialog-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px
}

.dialog-heading h2 {
  font-size:25px;
  letter-spacing:-.8px
}

.dialog-heading .icon-button {
  border:0
}

.dialog-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px
}

.preview-content {
  font:inherit;
  font-size:14px;
  line-height:1.7;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  padding:18px;
  border:1px solid var(--line);
  background:#f7f9fc;
  margin:18px 0
}

.preview-status {
  font-size:13px;
  color:var(--muted);
  line-height:1.6
}

.toast {
  position:fixed;
  z-index:50;
  right:24px;
  bottom:24px;
  background:var(--ink);
  color:#fff;
  border-radius:24px;
  padding:13px 20px;
  max-width:min(480px,calc(100% - 32px));
  font-size:13px;
  overflow-wrap:anywhere
}

.toast.error {
  background:var(--error)
}

@media(max-width:1199px) {
  .app-shell {
    padding:0 28px
  }
  .briefing-view {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:26px
  }
  .briefing-secondary {
    grid-template-columns:1fr;
    gap:24px
  }
  .workspace-header {
    gap:20px
  }
  .project-card {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 160px;
    gap:20px
  }
  .project-card h3 {
    font-size:17px
  }
}

@media(max-width:849px) {
  .workspace-header {
    flex-wrap:wrap;
    padding:14px 0 10px;
    gap:10px 20px
  }
  .navigation {
    width:100%;
    order:3;
    justify-content:flex-start;
    gap:24px
  }
  .header-filter {
    width:180px
  }
  .project-card {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:16px
  }
  .project-card-work {
    padding-right:0;
    border-right:0
  }
  .project-card-actions {
    grid-column:1/-1;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:16px
  }
  .project-card-actions>.button {
    min-width:160px
  }
  .project-actions-bottom {
    gap:16px
  }
  .settings-grid {
    grid-template-columns:1fr
  }
  .settings-stack {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .settings-stack>.button {
    justify-self:start
  }
}

@media(max-width:650px) {
  .app-shell {
    padding:0 18px
  }
  .brand {
    font-size:17px;
    gap:6px
  }
  .brand-mark {
    font-size:29px;
    width:20px
  }
  .header-filter {
    width:145px;
    min-width:0
  }
  .header-filter select {
    font-size:12px;
    padding:8px 12px
  }
  .workspace-header {
    gap:8px 10px;
    padding:12px 0 8px
  }
  .navigation {
    gap:20px
  }
  .navigation>a {
    font-size:12px
  }
  .nav-count {
    font-size:12px
  }
  .topbar {
    min-height:68px;
    gap:8px
  }
  .topbar-heading {
    gap:8px;
    align-items:flex-start;
    flex-direction:column
  }
  .topbar-heading h1 {
    font-size:22px
  }
  .topbar-heading>.muted {
    font-size:12px
  }
  .sync-label {
    display:none
  }
  .briefing-view,.briefing-secondary {
    grid-template-columns:1fr;
    gap:26px
  }
  .section-heading {
    margin-bottom:10px;
    gap:8px
  }
  .section-heading h2 {
    font-size:19px
  }
  .section-heading>.muted {
    font-size:12px
  }
  .attention-card,.briefing-entry {
    padding:14px 0
  }
  .attention-card h3 {
    font-size:16px
  }
  .attention-reason,.attention-step,.briefing-entry-text {
    font-size:13px
  }
  .briefing-actions {
    gap:8px
  }
  .briefing-actions .button {
    padding:8px 13px
  }
  .project-card {
    grid-template-columns:1fr;
    gap:16px;
    padding:19px 0
  }
  .project-card-main {
    padding-right:0;
    border-right:0
  }
  .project-card h3 {
    font-size:18px
  }
  .project-card-work {
    padding-left:12px;
    border-left:1px solid #c8d9f5
  }
  .project-card-actions {
    grid-column:auto;
    flex-direction:column;
    align-items:stretch;
    gap:6px
  }
  .project-card-actions>.button {
    min-width:0;
    font-size:13px
  }
  .project-actions-bottom {
    justify-content:space-between
  }
  .project-tools {
    padding-bottom:18px;
    gap:16px
  }
  .filter-tabs {
    gap:6px
  }
  .filter-tabs button {
    font-size:12px;
    padding:8px 11px
  }
  .search-field {
    min-width:0;
    max-width:none
  }
  .search-field input {
    font-size:16px
  }
  .history-tools {
    align-items:stretch;
    flex-direction:column;
    gap:7px;
    padding-bottom:18px
  }
  .history-tools label {
    font-size:13px
  }
  .history-tools select {
    max-width:none;
    font-size:16px
  }
  .history-entry {
    gap:12px;
    padding:17px 0
  }
  .history-symbol {
    width:30px;
    height:30px
  }
  .history-symbol svg {
    width:15px;
    height:15px
  }
  .history-meta {
    flex-direction:column;
    align-items:flex-start;
    gap:4px
  }
  .history-meta h3 {
    font-size:15px
  }
  .history-content>p {
    font-size:14px
  }
  .connection-strip {
    flex-direction:column;
    gap:0;
    margin-top:24px;
    padding:8px 0 16px
  }
  .settings-stack {
    display:flex
  }
  .settings-panel {
    padding:21px
  }
  .settings-panel>h2 {
    font-size:22px
  }
  .settings-note {
    font-size:13px
  }
  .form-grid {
    gap:12px
  }
  input,textarea,select {
    font-size:16px
  }
  .checkbox-row input {
    width:22px;
    height:22px;
    min-height:22px
  }
  .checkbox-row span {
    font-size:13px
  }
  dialog {
    padding:23px 20px;
    max-height:calc(100dvh - 28px)
  }
  .dialog-heading {
    gap:12px
  }
  .dialog-heading h2 {
    font-size:23px
  }
  .dialog-actions {
    gap:8px
  }
  .dialog-actions .button {
    flex:1;
    padding:10px 13px
  }
  .connection-card {
    padding:26px 22px
  }
  .toast {
    right:16px;
    bottom:16px;
    border-radius:10px;
    font-size:13px
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}

.today-plan {
  grid-column:1/-1;
  padding:0 0 24px;
  border-bottom:1px solid var(--line);
  min-width:0
}

.plan-counts {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  margin-bottom:24px
}

.plan-stat {
  border:0;
  border-right:1px solid var(--line);
  padding:18px 22px;
  text-align:left;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  color:var(--ink)
}

.plan-stat:last-child { border-right:0 }
.plan-stat:hover { background:var(--blue-light) }
.plan-stat strong { font-size:32px;font-weight:500;line-height:1.2;letter-spacing:-1px }
.plan-stat span { font-size:13px;color:var(--muted) }
.plan-stat.overdue strong,.task-meta.overdue { color:var(--error) }

.plan-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px
}

.plan-columns>section { min-width:0 }
.week-summary { margin-top:16px;font-size:13px;color:var(--muted) }
.task-heading { display:flex;gap:12px;align-items:flex-start;justify-content:space-between }
.task-heading h3 { overflow-wrap:anywhere;min-width:0 }
.task-priority { color:var(--error);font-size:12px;white-space:nowrap;margin-top:3px }
.task-meta { color:var(--muted);font-size:13px;margin-top:6px }
.task-extra-meta { color:var(--muted);font-size:12px;margin-top:5px }
.task-project-link { max-width:100%;overflow-wrap:anywhere;font-size:12px }
.task-focused { border-left:2px solid var(--blue);padding-left:16px }
.task-closed h3 { color:var(--muted) }
.task-options { min-width:0;flex-basis:100% }
.task-options>summary { display:inline-flex;min-width:44px;min-height:44px;align-items:center;font-size:13px;color:var(--blue) }
.task-options>summary::after { content:' +';margin-left:5px }
.task-options[open]>summary::after { content:' −' }
.task-options-content { display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0;align-items:flex-start }
.task-transcript,.task-audit { width:100%;min-width:0;border-top:1px solid var(--line) }
.task-transcript>summary,.task-audit>summary,.task-advanced>summary { min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--blue) }
.task-transcript>p { font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px }
.task-history-list { padding:0 0 8px }
.task-history-row { display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;padding:9px 0;border-top:1px solid var(--line) }
.task-history-row strong { font-weight:500 }
.task-history-row time { color:var(--muted) }
.task-history-row span { width:100%;overflow-wrap:anywhere }
.task-tools { display:flex;gap:14px;margin-bottom:14px;align-items:center }
.task-tools .search-field { flex:1 }
.task-tools>select { width:260px;min-width:0;font-size:13px }
.task-filters { margin-bottom:18px }
.task-advanced { margin-top:10px;border-top:1px solid var(--line) }
.task-actions { flex-wrap:wrap }
#all-tasks { max-width:960px }
#codex-selection-form { margin-top:16px }

@media(max-width:849px) {
  .navigation { gap:18px;justify-content:space-between }
  .plan-stat { padding:16px }
}

@media(max-width:650px) {
  .navigation { gap:4px;width:100%;flex-wrap:wrap;justify-content:flex-start }
  .navigation>a { padding:8px;gap:4px }
  .topbar-actions>.button { padding:8px 13px }
  .topbar-actions>.button svg { display:none }
  .plan-counts { grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px }
  .plan-stat { padding:16px 18px;border-bottom:1px solid var(--line) }
  .plan-stat:nth-child(2) { border-right:0 }
  .plan-stat:nth-child(n+3) { border-bottom:0 }
  .plan-stat strong { font-size:28px }
  .plan-columns { grid-template-columns:1fr;gap:24px }
  .task-tools { flex-direction:column;align-items:stretch }
  .task-tools>select { width:100%;font-size:16px }
  .task-focused { padding-left:12px }
  .task-options-content>.button { flex:1 1 calc(50% - 8px) }
  .week-summary { font-size:12px;line-height:1.6 }
}
