/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .isolate {
    isolation: isolate;
  }
  .block {
    display: block;
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .\[no-new-privileges\:true\] {
    no-new-privileges: true;
  }
}
:root {
  font-family: Arial, 'Microsoft YaHei', 'PingFang SC', sans-serif;
  color: #233d35;
  background: #f5f6f2;
  font-size: 14px;
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
.button {
  cursor: pointer;
  border: 1px solid #d6ddd5;
  border-radius: 7px;
  background: #fff;
  padding: 8px 12px;
  line-height: 1.45;
  transition: background 0.15s;
  color: #355348;
  white-space: normal;
  text-align: center;
}
button:hover,
.button:hover {
  background: #edf3ed;
  border-color: #a8bcb0;
}
button:disabled {
  opacity: 0.45;
  cursor: default;
}
input,
textarea,
select {
  border: 1px solid #cbd6cd;
  border-radius: 7px;
  padding: 10px;
  background: white;
  max-width: 100%;
  min-width: 0;
  color: #253f35;
}
textarea {
  resize: vertical;
}
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid #619b80;
  outline-offset: 1px;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid #cfa44c;
  outline-offset: 3px;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1 {
  font-size: 28px;
  font-weight: 650;
  letter-spacing: -0.6px;
  line-height: 1.4;
}
h2 {
  font-size: 17px;
  font-weight: 650;
  line-height: 1.6;
}
h3 {
  font-size: 14px;
  font-weight: 650;
}
a {
  color: #276047;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
p {
  line-height: 1.7;
}
small {
  font-size: 12px;
  color: #78837b;
  line-height: 1.65;
}
label {
  display: grid;
  gap: 7px;
  margin: 10px 0;
  font-weight: 500;
}
label small {
  font-weight: 400;
}
summary {
  cursor: pointer;
  color: #456755;
  padding: 12px 0;
}
details {
  border-top: 1px solid #e7ebe4;
  margin-top: 14px;
}
details p {
  margin: 9px 0;
}
dt {
  font-size: 12px;
  color: #728073;
  margin: 15px 0 5px;
}
dd {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.muted {
  color: #7a857c;
}
.red {
  color: #b54c3e !important;
}
.green {
  color: #3b7c5a !important;
}
.primary {
  background: #28664c;
  border-color: #28664c;
  color: #fff;
  font-weight: 550;
}
.primary:hover {
  background: #1e533d;
  border-color: #1e533d;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.text-button {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  color: inherit;
}
.text-button:hover {
  background: transparent;
  color: #1c7853;
  text-decoration: underline;
}
.icon-button {
  padding: 5px 8px;
  border: 0;
  background: transparent;
  color: #809182;
}
.badge {
  font-size: 11px;
  display: inline-block;
  background: #edf2e9;
  border-radius: 4px;
  padding: 3px 7px;
  color: #527056;
  line-height: 1.5;
}
.badge.warn {
  background: #fff0d9;
  color: #986719;
}
.badge.unknown {
  background: #eeefeb;
  color: #81887e;
}
.small-button {
  font-size: 12px;
  padding: 5px 9px;
}
.app-shell {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  width: 222px;
  position: fixed;
  inset: 0 auto 0 0;
  background: #fcfcf8;
  border-right: 1px solid #e0e5da;
  display: flex;
  flex-direction: column;
  padding: 30px 18px 20px;
  z-index: 30;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #294b3b;
  font-size: 17px;
  font-weight: 650;
  padding: 0 6px 35px;
}
.brand:hover {
  text-decoration: none;
}
.logo-mark {
  background: #275e43;
  color: white;
  width: 39px;
  height: 39px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  font-family: serif;
  font-size: 23px;
}
.brand small {
  display: block;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 1px;
  margin-top: 5px;
  color: #8d9788;
}
.sidebar nav {
  display: grid;
  gap: 8px;
}
.sidebar nav a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 15px;
  color: #6a786a;
  border-radius: 7px;
}
.sidebar nav a span {
  width: 17px;
  font-size: 19px;
  line-height: 1;
}
.sidebar nav a:hover {
  background: #f1f4ed;
  text-decoration: none;
}
.sidebar nav a.active {
  background: #e8efe2;
  color: #3b613c;
  font-weight: 600;
}
.sidebar-bottom {
  margin-top: auto;
  padding: 25px 13px 0;
  font-size: 12px;
  color: #6d806d;
}
.sidebar-bottom p {
  font-size: 11px;
  margin: 7px 0 0 12px;
  color: #94a08e;
}
.local-dot {
  width: 6px;
  height: 6px;
  display: inline-block;
  background: #659262;
  border-radius: 50%;
  margin-right: 5px;
}
.main-shell {
  margin-left: 222px;
  flex: 1;
  min-width: 0;
}
.topbar {
  height: 78px;
  background: #fcfdf9;
  border-bottom: 1px solid #e5e9df;
  display: flex;
  align-items: center;
  padding: 0 35px;
  gap: 20px;
}
.breadcrumb {
  font-size: 12px;
  color: #71816f;
  flex: 1;
}
.breadcrumb span {
  margin: 0 14px;
  color: #b4bdae;
}
.global-search {
  display: flex;
  align-items: center;
  color: #9caa97;
  border: 1px solid #e0e6db;
  border-radius: 7px;
  padding: 0 9px;
  background: #f7f9f3;
  width: 230px;
}
.global-search span {
  font-size: 23px;
}
.global-search input {
  border: 0;
  background: transparent;
  font-size: 12px;
  width: 100%;
  padding: 8px;
}
.global-search button {
  border: 0;
  background: transparent;
  padding: 0 3px;
}
.avatar {
  background: #e8eadf;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 12px;
  color: #737c66;
}
.workspace {
  padding: 30px 35px 22px;
  max-width: 1610px;
  margin: auto;
}
.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 23px;
  gap: 18px;
}
.page-heading h1 {
  margin: 8px 0;
}
.page-heading > .button {
  font-size: 12px;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 1.6px;
  font-weight: 600;
  color: #6d845f;
}
.eyebrow span {
  letter-spacing: 0.3px;
  font-weight: 400;
  color: #929d8e;
}
.page-heading .muted {
  font-size: 13px;
}
.mode-banner {
  background: #edf0df;
  color: #788150;
  padding: 6px 35px;
  font-size: 11px;
  letter-spacing: 0.5px;
}
.onboarding {
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #f0f4e9;
  border: 1px dashed #c3d2b9;
  border-radius: 9px;
  margin-bottom: 20px;
}
.onboarding p {
  font-size: 12px;
  color: #839077;
  margin-top: 4px;
}
.p0-banner {
  display: flex;
  gap: 20px;
  align-items: center;
  background: #f8eee7;
  border: 1px solid #eeded0;
  border-radius: 9px;
  padding: 14px 20px;
  margin-bottom: 20px;
  color: #a95d49;
}
.p0-banner > strong {
  font-size: 12px;
  white-space: nowrap;
}
.p0-banner .text-button {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.p0-banner small {
  display: block;
  font-size: 10px;
  color: #b48c77;
  margin-top: 4px;
}
.capacity-strip {
  background: #f9faf5;
  border: 1px solid #e1e6d7;
  border-radius: 9px;
  padding: 18px 22px;
  display: grid;
  grid-template-columns: 190px minmax(90px, 1fr) auto auto;
  align-items: center;
  gap: 0 24px;
  margin-bottom: 25px;
}
.capacity-strip > div > span {
  font-size: 11px;
  color: #748166;
}
.capacity-strip strong {
  display: block;
  font-size: 25px;
  font-weight: 550;
  margin-top: 4px;
}
.capacity-strip strong small {
  font-size: 11px;
  font-weight: 400;
}
.capacity-strip p {
  font-size: 11px;
  color: #79886b;
  line-height: 1.9;
}
.capacity-track {
  height: 7px;
  background: #e4ead8;
  border-radius: 4px;
  overflow: hidden;
}
.capacity-track span {
  height: 100%;
  display: block;
  background: #74946a;
  border-radius: 4px;
}
.capacity-strip > a {
  font-size: 12px;
}
.capacity-strip > small {
  grid-column: 1/-1;
  font-size: 10px;
  margin-top: 10px;
  color: #9aa68e;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 22px;
  align-items: start;
}
.panel {
  background: #fffefa;
  border: 1px solid #e1e5da;
  border-radius: 11px;
  padding: 23px;
  min-width: 0;
}
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
}
.section-head p {
  font-size: 11px;
  color: #8d9884;
  margin-top: 3px;
}
.section-head > a {
  font-size: 11px;
  color: #879578;
  white-space: nowrap;
}
.section-head h3 {
  margin: 0;
}
.focus-panel {
  border-top: 3px solid #6f8e59;
}
.focus-row {
  display: flex;
  gap: 17px;
  padding: 20px 0;
  border-bottom: 1px solid #eceee5;
  align-items: flex-start;
}
.focus-number {
  font-size: 21px;
  font-weight: 500;
  color: #95a580;
  line-height: 1.3;
}
.focus-row > div {
  flex: 1;
  min-width: 0;
}
.focus-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.focus-row p {
  font-size: 11px;
  color: #889678;
  margin: 7px 0 8px;
}
.focus-row > button {
  border: 0;
  padding: 0 3px;
  color: #9da88e;
  background: none;
}
.focus-row.finished .focus-title {
  text-decoration: line-through;
  color: #96a08c;
}
.meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  font-size: 11px;
  color: #899781;
  line-height: 1.6;
}
.meta span + span {
  position: relative;
}
.inline-warning {
  font-size: 11px;
  color: #9a8653;
  background: #f8f4e8;
  border-radius: 5px;
  padding: 8px 10px;
  margin: 13px 0;
}
.candidates summary {
  font-size: 12px;
  display: flex;
  justify-content: space-between;
}
.candidates summary span {
  font-size: 10px;
  color: #a0ab93;
}
.candidate {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
.candidate > div {
  flex: 1;
}
.candidate .text-button {
  font-size: 12px;
}
.candidate small {
  display: block;
  font-size: 10px;
  margin-top: 5px;
}
.candidate > button {
  font-size: 11px;
  white-space: nowrap;
}
.task-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 17px 0;
  border-bottom: 1px solid #ebeee4;
}
.task-main {
  min-width: 0;
  flex: 1;
}
.task-title {
  font-weight: 550;
  line-height: 1.6;
  font-size: 14px;
}
.task-main .meta {
  margin-top: 7px;
}
.priority {
  background: #f0f2e9;
  color: #8a9675;
  font-size: 10px;
  min-width: 25px;
  padding: 3px 4px;
  border-radius: 4px;
  margin-top: 3px;
  text-align: center;
}
.priority.danger {
  color: #b56d57;
  background: #f9eee6;
}
.row-description {
  margin-top: 9px;
  font-size: 12px;
  color: #86967e;
}
.decision-preview {
  margin: 10px 0 8px 37px;
  font-size: 11px;
  color: #879879;
  line-height: 1.9;
}
.delivery-group h3 {
  font-size: 11px;
  color: #a38d60;
  margin: 19px 0 2px;
}
.delivery-group h3 span {
  font-size: 10px;
  margin-left: 4px;
  background: #f5efd9;
  padding: 1px 4px;
  border-radius: 3px;
}
.delivery-standard {
  margin: 5px 0 8px 37px;
  font-size: 11px;
  color: #929e85;
}
.delivery-group .small-button {
  margin-left: 37px;
  font-size: 10px;
}
.strategy-preview {
  border-bottom: 1px solid #e8ecdf;
  padding: 17px 0;
}
.strategy-preview > a {
  font-size: 14px;
  font-weight: 550;
  color: #3c5c39;
}
.strategy-preview > p {
  font-size: 11px;
  color: #87977c;
  margin: 7px 0;
}
.commitment {
  background: #f2f6eb;
  padding: 9px 11px;
  font-size: 11px;
  color: #7d9469;
  border-radius: 5px;
  margin-top: 10px;
}
.commitment button {
  display: block;
  margin: 4px 0;
}
.strategy-preview small {
  font-size: 10px;
}
.department-alert {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 15px 0;
  border-bottom: 1px solid #ecede4;
}
.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-top: 6px;
}
.status-dot.amber {
  background: #c5a56a;
}
.status-dot.gray {
  background: #b9c2ab;
}
.department-alert > div {
  flex: 1;
}
.department-alert strong {
  font-size: 12px;
}
.department-alert p {
  font-size: 11px;
  color: #8e9b82;
  margin: 3px 0;
}
.department-alert small {
  font-size: 10px;
  color: #a2ad95;
}
.department-alert a {
  font-size: 11px;
  color: #8e9f7c;
}
.learning-panel {
  background: #fbfcf5;
}
.learning-stat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 20px 0 25px;
}
.learning-stat strong {
  font-size: 29px;
  font-weight: 500;
}
.learning-stat strong small {
  font-size: 12px;
  font-weight: 400;
}
.learning-stat > span {
  font-size: 11px;
  color: #a0aa91;
}
.learning-question {
  display: flex;
  gap: 14px;
  padding: 15px 0;
  border-top: 1px solid #e7ecdc;
}
.learning-question > span {
  font-family: serif;
  font-size: 25px;
  color: #a8b894;
}
.learning-question button {
  font-size: 13px;
  font-weight: 550;
  line-height: 1.7;
}
.learning-question p {
  font-size: 11px;
  color: #9eaa8d;
  margin-top: 7px;
}
.learning-panel > .muted {
  font-size: 11px;
  margin: 15px 0;
}
.learning-panel > button {
  font-size: 11px;
}
.empty {
  padding: 28px 12px;
  text-align: center;
  color: #95a08c;
  font-size: 12px;
  line-height: 1.8;
}
.empty button {
  margin-top: 16px;
}
.tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.tabs button {
  border: 0;
  background: transparent;
  color: #8b9880;
  font-size: 12px;
}
.tabs button.selected {
  color: #456b40;
  background: #eaf0e1;
  font-weight: 600;
}
.list-caption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #9aa38e;
  font-size: 11px;
  padding: 8px 0 12px;
  border-bottom: 1px solid #e9eddf;
}
.pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 15px;
  margin-top: 23px;
  font-size: 12px;
  color: #8c987e;
}
.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 5px 0 22px;
}
.toolbar p {
  font-size: 12px;
  color: #819573;
}
.toolbar .tabs {
  margin: 0;
}
.toolbar label {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.project-grid,
.department-grid,
.learning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.project-card > h2 {
  font-size: 19px;
  margin-bottom: 14px;
}
.project-card > p {
  font-size: 12px;
  color: #7d9172;
  margin: 14px 0;
}
.project-facts {
  display: flex;
  gap: 35px;
  padding: 17px 0;
  border-block: 1px solid #edf0e6;
}
.project-facts span {
  font-size: 10px;
  color: #94a287;
}
.project-facts strong {
  display: block;
  font-size: 12px;
  color: #658156;
  margin-top: 8px;
  font-weight: 500;
}
.project-card > .section-head {
  margin-top: 25px;
}
.milestone {
  padding: 13px 0;
  border-bottom: 1px solid #e8ecdf;
}
.milestone strong {
  font-size: 12px;
}
.milestone .badge {
  margin-left: 10px;
}
.milestone p {
  font-size: 11px;
  color: #8b9d7c;
  margin: 5px 0;
}
.milestone small {
  font-size: 10px;
}
.milestone .actions {
  margin-top: 9px;
}
.milestone button {
  font-size: 10px;
}
.project-card > h3 {
  margin-top: 25px;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 17px;
  margin: 0 0 22px;
}
.metric-grid > div {
  background: #edf2e5;
  border: 1px solid #e2e9d8;
  padding: 22px;
  border-radius: 8px;
  font-size: 11px;
  color: #869b72;
}
.metric-grid strong {
  display: block;
  font-size: 20px;
  color: #53723e;
  font-weight: 500;
  margin: 8px 0;
}
.metric-grid small {
  font-size: 10px;
}
.calendar-block {
  display: flex;
  border-left: 3px solid #b3c4a0;
  margin: 14px 0;
  padding: 18px 16px;
  gap: 20px;
  background: #f8faf3;
  border-radius: 0 7px 7px 0;
}
.calendar-block.cat-strategy {
  border-left-color: #6d8f52;
  background: #f2f7e9;
}
.calendar-block.cat-learning {
  border-left-color: #bfab72;
  background: #faf7ee;
}
.calendar-block.cat-decision {
  border-left-color: #889bb3;
}
.block-clock {
  min-width: 110px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.block-clock strong {
  font-size: 12px;
}
.block-clock small {
  font-size: 10px;
}
.block-content {
  flex: 1;
  min-width: 0;
}
.block-content h3 {
  margin: 8px 0;
}
.block-content p,
.block-content button {
  font-size: 11px;
  color: #869b74;
}
.calendar-block .actions {
  max-width: 180px;
  justify-content: flex-end;
  align-content: center;
}
.calendar-block .actions button {
  font-size: 11px;
}
.status-pair {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.department-card > p {
  font-size: 12px;
  margin: 14px 0;
}
.issue {
  background: #faf4e6;
  border-left: 2px solid #c3a565;
  padding: 14px 16px;
  border-radius: 5px;
  margin: 12px 0;
}
.issue strong {
  font-size: 12px;
  color: #9d895b;
}
.issue p {
  font-size: 11px;
  color: #b3a080;
  margin: 5px 0;
}
.issue button {
  font-size: 11px;
  margin: 10px 10px 0 0;
}
.history-entry {
  border-bottom: 1px solid #e7ecdf;
  padding: 12px 0;
}
.history-entry small {
  font-size: 10px;
}
.history-entry p {
  font-size: 12px;
}
.note-card h2 {
  margin: 15px 0;
  font-size: 19px;
  line-height: 1.8;
}
.note-card .eyebrow {
  font-size: 10px;
}
.note-card dl {
  padding-bottom: 20px;
}
.note-card dd {
  font-size: 13px;
}
.review-list {
  display: grid;
  gap: 18px;
  margin: 20px 0;
}
.review-list p {
  font-size: 12px;
  margin: 8px 0;
}
.snapshot {
  padding: 15px;
  background: #f1f5ea;
  border: 1px dashed #c8d4b8;
  border-radius: 6px;
  color: #899b75;
}
.settings-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.settings-grid p {
  font-size: 11px;
  color: #889d77;
}
.settings-grid strong {
  display: block;
  font-size: 16px;
  color: #4d723d;
  font-weight: 500;
  margin: 9px 0;
}
.settings-grid + .muted {
  font-size: 11px;
  margin-top: 16px;
}
.workspace > .panel + .panel {
  margin-top: 20px;
}
.directory-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 20px;
}
.directory-grid > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #e4eadc;
  border-radius: 6px;
  padding: 10px;
  font-size: 12px;
}
.directory-grid button {
  font-size: 11px;
  padding: 4px 6px;
}
.file-button {
  position: relative;
  display: inline-block;
  border: 1px solid #d6ddd5;
  border-radius: 7px;
  padding: 9px 12px;
  font-weight: 400;
  cursor: pointer;
}
.file-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}
.file-button:focus-within {
  outline: 3px solid #cfa44c;
}
.workspace-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #e2e8d9;
  padding: 21px 0 5px;
  margin-top: 30px;
  font-size: 10px;
  color: #a1ad95;
}
.workspace-footer span {
  font-size: 10px;
}
.editor {
  border: 1px solid #d1dcc9;
  border-radius: 13px;
  padding: 0;
  background: #fefefb;
  color: #294837;
  max-width: 740px;
  width: calc(100% - 32px);
  max-height: 90vh;
  box-shadow: 0 30px 100px #14382044;
  margin: auto;
}
.editor::backdrop {
  background: #14291f66;
  backdrop-filter: blur(2px);
}
.editor-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 24px;
  border-bottom: 1px solid #e5eadf;
  gap: 20px;
}
.editor-head h2 {
  font-size: 21px;
  margin-top: 7px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.editor-head > button {
  padding: 4px 9px;
  font-size: 20px;
  border: 0;
}
.editor form {
  margin: 0;
}
.editor-body {
  padding: 18px 24px;
  max-height: calc(90vh - 190px);
  overflow: auto;
}
.editor-body > .muted {
  font-size: 12px;
  margin-bottom: 17px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 20px;
}
.form-grid .wide {
  grid-column: 1/-1;
}
.form-grid label {
  font-size: 12px;
}
.form-grid small {
  font-size: 10px;
}
.editor-footer {
  padding: 17px 24px;
  border-top: 1px solid #dfe8d7;
  display: flex;
  gap: 10px;
  align-items: center;
  background: #f8fbf2;
}
.editor-footer .muted {
  margin-right: auto;
  font-size: 11px;
}
.error {
  background: #fcefe7;
  border: 1px solid #f0d9ca;
  padding: 14px;
  border-radius: 7px;
  color: #a85645;
  font-size: 12px;
  white-space: pre-wrap;
  line-height: 1.7;
  margin: 15px 0;
}
.confirmation {
  margin-top: 14px;
  background: #f6f1dd;
  border: 1px solid #ddcf9a;
  border-radius: 7px;
  padding: 17px;
  font-size: 12px;
  color: #8b7746;
  line-height: 1.7;
}
.confirmation .actions {
  margin-top: 10px;
}
.selected-result {
  background: #edf4e4;
  padding: 15px;
  border-radius: 7px;
  font-weight: 550;
}
.detail-overlay {
  position: fixed;
  inset: 0;
  background: #162f2144;
  z-index: 40;
  display: flex;
  justify-content: flex-end;
}
.task-detail {
  width: 650px;
  max-width: 100%;
  height: 100%;
  background: #fffefa;
  box-shadow: -10px 0 60px #15322025;
  overflow: auto;
}
.detail-body {
  padding: 25px;
}
.detail-body > .actions {
  padding-bottom: 15px;
  border-bottom: 1px solid #e0e8d8;
}
.detail-body dt {
  margin-top: 20px;
}
.detail-body dd {
  font-size: 13px;
}
.detail-body dl {
  margin-bottom: 20px;
}
.decision-card {
  padding: 20px;
  background: #f4f8ec;
  border-radius: 9px;
  margin: 20px 0;
}
.decision-card dl {
  margin-bottom: 20px;
}
.decision-card p {
  font-size: 12px;
}
.completion-note {
  background: #edf3e3;
  color: #708d58;
  padding: 16px;
  font-size: 13px;
  border-radius: 7px;
  margin: 20px 0;
}
.toast {
  position: fixed;
  right: 35px;
  top: 93px;
  background: #2b684d;
  color: white;
  padding: 11px 20px;
  border-radius: 8px;
  z-index: 100;
  box-shadow: 0 8px 30px #234a3222;
  font-size: 13px;
}
.mobile-menu {
  display: none;
}
.loading {
  text-align: center;
  margin: 130px 20px;
}
.loading h1 {
  margin: 20px;
}
.loading p {
  color: #8a9a7c;
}
.search-results {
  margin-bottom: 25px;
}
.settings-grid ~ p {
  overflow-wrap: anywhere;
}
@media (min-width: 1700px) {
  .workspace {
    padding: 40px 55px;
  }
  .topbar {
    padding-inline: 55px;
  }
  .dashboard-grid {
    grid-template-columns: 1.2fr 1fr;
  }
  .sidebar {
    width: 240px;
  }
  .main-shell {
    margin-left: 240px;
  }
}
@media (max-width: 1150px) {
  .sidebar {
    width: 185px;
    padding-inline: 12px;
  }
  .brand {
    font-size: 15px;
    gap: 8px;
  }
  .brand small {
    font-size: 9px;
  }
  .main-shell {
    margin-left: 185px;
  }
  .topbar {
    padding: 0 24px;
    gap: 13px;
  }
  .global-search {
    width: 180px;
  }
  .breadcrumb {
    font-size: 11px;
  }
  .workspace {
    padding: 24px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .panel {
    padding: 19px;
  }
  .capacity-strip {
    grid-template-columns: 160px 1fr auto;
    gap: 15px;
  }
  .capacity-strip > a {
    display: none;
  }
  .directory-grid {
    grid-template-columns: 1fr 1fr;
  }
  .settings-grid {
    grid-template-columns: 1fr 1fr;
  }
  .page-heading h1 {
    font-size: 25px;
  }
  .page-heading > .button {
    display: none;
  }
}
@media (max-width: 850px) {
  .sidebar {
    display: none;
  }
  .sidebar.mobile-open {
    display: flex;
    top: 66px;
    width: 222px;
    box-shadow: 10px 0 40px #223c2522;
  }
  .main-shell {
    margin-left: 0;
  }
  .mobile-menu {
    display: block;
    border: 0;
    background: transparent;
    font-size: 20px;
    padding: 0;
  }
  .topbar {
    height: 65px;
    padding: 0 20px;
  }
  .breadcrumb {
    display: none;
  }
  .global-search {
    margin-right: auto;
    width: 220px;
  }
  .workspace {
    padding: 25px 20px;
  }
  .mode-banner {
    padding-inline: 20px;
  }
  .project-grid,
  .department-grid,
  .learning-grid {
    grid-template-columns: 1fr;
  }
  .calendar-block {
    flex-wrap: wrap;
  }
  .calendar-block .actions {
    max-width: none;
    width: 100%;
    justify-content: flex-start;
    margin-left: 130px;
  }
}
@media (max-width: 620px) {
  :root {
    font-size: 14px;
  }
  .topbar {
    gap: 11px;
    padding: 0 15px;
  }
  .avatar {
    display: none;
  }
  .global-search {
    width: auto;
    flex: 1;
    min-width: 80px;
  }
  .global-search input {
    font-size: 11px;
  }
  .topbar > .primary {
    font-size: 12px;
    padding: 8px 9px;
    white-space: nowrap;
  }
  .workspace {
    padding: 21px 15px;
  }
  .mode-banner {
    font-size: 10px;
    padding: 7px 15px;
  }
  .page-heading {
    margin-bottom: 20px;
  }
  .page-heading h1 {
    font-size: 23px;
    letter-spacing: -0.3px;
    margin: 9px 0;
  }
  .page-heading .eyebrow {
    font-size: 10px;
  }
  .page-heading .eyebrow span {
    display: block;
    margin-top: 5px;
    font-size: 10px;
  }
  .page-heading .muted {
    font-size: 11px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  .panel {
    padding: 18px;
  }
  .section-head {
    margin-bottom: 14px;
  }
  .section-head h2 {
    font-size: 16px;
  }
  .onboarding {
    display: block;
    padding: 15px;
  }
  .onboarding strong {
    font-size: 12px;
  }
  .onboarding p {
    font-size: 11px;
  }
  .onboarding button {
    margin-top: 12px;
    font-size: 11px;
  }
  .p0-banner {
    display: block;
    padding: 14px 16px;
  }
  .p0-banner > strong {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
  }
  .p0-banner .text-button {
    font-size: 12px;
  }
  .capacity-strip {
    padding: 15px 17px;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
  .capacity-track {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .capacity-strip p {
    font-size: 10px;
    text-align: right;
  }
  .capacity-strip strong {
    font-size: 24px;
  }
  .capacity-strip > small {
    font-size: 9px;
    margin-top: 0;
  }
  .focus-row {
    padding: 18px 0;
    gap: 12px;
  }
  .focus-title {
    font-size: 14px;
  }
  .focus-row .meta {
    font-size: 10px;
    gap: 4px 8px;
  }
  .focus-number {
    font-size: 19px;
  }
  .task-title {
    font-size: 13px;
  }
  .task-main .meta {
    font-size: 10px;
  }
  .toolbar {
    flex-wrap: wrap;
    gap: 13px;
  }
  .toolbar .tabs {
    flex: 1;
  }
  .toolbar > .primary {
    font-size: 12px;
  }
  .toolbar label {
    font-size: 11px;
  }
  .tabs {
    gap: 3px;
  }
  .tabs button {
    padding: 7px 9px;
    font-size: 11px;
  }
  .list-caption {
    font-size: 10px;
  }
  .list-caption span + span {
    display: none;
  }
  .project-facts {
    gap: 25px;
  }
  .metric-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .metric-grid > div {
    padding: 16px;
    font-size: 10px;
  }
  .metric-grid strong {
    font-size: 18px;
  }
  .calendar-block {
    padding: 15px 12px;
    gap: 15px;
    display: block;
  }
  .block-clock {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 10px;
  }
  .calendar-block .actions {
    margin: 15px 0 0;
  }
  .settings-grid {
    gap: 14px;
  }
  .settings-grid strong {
    font-size: 13px;
    overflow-wrap: anywhere;
  }
  .directory-grid {
    grid-template-columns: 1fr;
  }
  .directory-grid > div {
    font-size: 12px;
  }
  .workspace-footer {
    display: block;
    font-size: 9px;
    line-height: 1.9;
  }
  .workspace-footer span {
    display: block;
    font-size: 9px;
  }
  .editor {
    max-height: 94vh;
    width: calc(100% - 18px);
  }
  .editor-head {
    padding: 17px;
    gap: 13px;
  }
  .editor-head h2 {
    font-size: 18px;
  }
  .editor-body {
    padding: 16px;
    max-height: calc(94vh - 170px);
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .form-grid .wide {
    grid-column: auto;
  }
  .editor-footer {
    padding: 14px 16px;
  }
  .editor-footer .muted {
    font-size: 9px;
  }
  .editor-footer button {
    font-size: 12px;
    padding: 9px;
  }
  .editor label {
    font-size: 12px;
  }
  input,
  textarea,
  select {
    font-size: 16px;
    line-height: 1.45;
  }
  .task-detail {
    width: 100%;
  }
  .detail-body {
    padding: 18px;
  }
  .detail-body .actions button {
    font-size: 12px;
  }
  .task-detail .editor-head h2 {
    font-size: 19px;
  }
  .toast {
    top: 77px;
    right: 15px;
    font-size: 12px;
    max-width: calc(100% - 30px);
  }
  .candidate {
    gap: 10px;
  }
  .candidate > button {
    font-size: 10px;
    padding: 6px;
    min-width: 70px;
  }
}
.detail-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  width: 650px;
  max-width: 100%;
  height: 100vh;
  max-height: 100vh;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  overflow: auto;
  background: #fffefa;
}
.detail-dialog::backdrop {
  background: #162f2144;
}
.detail-dialog .task-detail {
  width: 100%;
  box-shadow: none;
}
.detail-dialog:not([open]) {
  display: none;
}
.import-panels {
  display: grid;
  gap: 20px;
}
.import-panels label {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}
.import-panels .checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}
.import-table-scroll {
  max-width: 100%;
  overflow-x: auto;
}
.import-table {
  min-width: 950px;
  width: 100%;
  border-collapse: collapse;
}
.import-table th,
.import-table td {
  text-align: left;
  vertical-align: top;
  padding: 14px;
  border-bottom: 1px solid #ded8d1;
}
.import-table th {
  font-weight: 600;
}
.import-table td:nth-child(2) {
  min-width: 300px;
}
.import-table td:last-child {
  min-width: 240px;
}
.import-table select {
  max-width: 300px;
  width: 100%;
}
.import-table p {
  margin: 8px 0;
}
.import-panels .actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.time-slot-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
  margin: 16px 0;
}
.time-slot-grid button {
  position: relative;
  padding: 9px 4px;
  border: 1px solid #e5ded7;
  border-radius: 11px;
  font-size: 13px;
  background: #fff;
}
.time-slot-grid button.occupied {
  background: #eee8e0;
  color: #776b60;
}
.time-slot-grid button.selected,
.duration-pills .selected,
.category-pills .selected {
  background: #19171c;
  color: #fff;
  border-color: #19171c;
}
.time-slot-grid button span {
  position: absolute;
  right: 7px;
  color: #ed7937;
}
.quick-schedule label {
  display: grid;
  gap: 7px;
  margin: 10px 0;
}
.quick-inputs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}
.quick-inputs input {
  max-width: 140px;
}
.duration-pills,
.category-pills {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 10px 0;
}
.duration-pills button,
.category-pills button {
  padding: 8px 13px;
  border-radius: 20px;
  border: 1px solid #e5ded7;
}
.quick-conflicts {
  padding: 15px;
  border-radius: 14px;
  background: #fff0e3;
}
.quick-conflicts button {
  margin-right: 10px;
}
.quick-schedule .actions {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}
.calendar-block .actions {
  max-width: 285px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media (max-width: 600px) {
  .time-slot-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .quick-inputs {
    align-items: center;
  }
  .calendar-block .actions {
    max-width: none;
  }
}
.quick-fields {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.calendar-toolbar {
  flex-wrap: wrap;
  gap: 12px;
}
.calendar-toolbar .tabs {
  flex: 0 0 auto;
  flex-wrap: nowrap;
}
.calendar-toolbar button {
  white-space: nowrap;
}
.calendar-date-nav {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
}
@media (max-width: 600px) {
  .calendar-toolbar .tabs {
    flex-basis: 100%;
  }
  .calendar-toolbar label {
    flex-basis: 100%;
  }
  .calendar-toolbar .tabs button {
    min-height: 40px;
  }
  .calendar-date-nav button {
    padding: 9px 13px;
  }
  .quick-schedule .section-head {
    gap: 10px;
  }
  .quick-schedule .section-head .badge {
    white-space: nowrap;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

/* Reference-inspired visual system. Colour identifies areas, never data health. */
:root {
  --ink: #18161d;
  --muted: #716b72;
  --paper: #fcf9f6;
  --sand: #f2ece7;
  --mint: #bfebda;
  --rose: #f0c6cb;
  --apricot: #f9dfbe;
  --lavender: #d9d2f7;
  color: var(--ink);
  background: #c5eedf;
  font-family: 'Segoe UI', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}
body {
  padding: 24px;
}
h1,
h2,
h3,
strong {
  color: var(--ink);
}
h1 {
  font-weight: 550;
  letter-spacing: -1.5px;
}
a,
button,
.button {
  color: var(--ink);
}
a:hover {
  color: #514375;
}
button,
.button {
  border-radius: 24px;
  border-color: #e5ded9;
  padding: 10px 15px;
  background: #fffdfb;
  transition:
    background 0.15s,
    transform 0.15s;
}
button:hover,
.button:hover {
  background: #f1eae5;
  border-color: #d2c7be;
}
.primary,
.primary:hover {
  background: #1b1720;
  color: white;
  border-color: #1b1720;
}
.primary:hover {
  background: #3f354a;
}
input,
textarea,
select {
  border-radius: 12px;
  border-color: #d9d1cb;
  color: var(--ink);
}
input:focus,
textarea:focus,
select:focus {
  outline-color: #8a77ba;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline-color: #7558a7;
}
.muted,
small,
dt {
  color: var(--muted);
}
.text-button {
  border-radius: 0;
}
.text-button:hover {
  color: #54416c;
}
.app-shell {
  background: var(--paper);
  border-radius: 32px;
  padding: 16px;
  min-height: calc(100vh - 48px);
  max-width: 1760px;
  margin: auto;
  box-shadow: 0 24px 70px #457a6420;
  position: relative;
  gap: 8px;
  align-items: flex-start;
}
.sidebar {
  width: 94px;
  padding: 22px 8px 15px;
  border: 0;
  border-radius: 26px;
  background: var(--sand);
  position: sticky;
  top: 24px;
  height: calc(100vh - 80px);
  min-height: 650px;
  flex: 0 0 94px;
  z-index: 35;
}
.brand {
  padding: 0;
  margin: 0 auto 24px;
  display: block;
}
.brand > div {
  display: none;
}
.logo-mark {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: var(--ink);
  font-family: serif;
  font-weight: 400;
  font-size: 28px;
}
.logo-mark.brand-mark {
  background: transparent;
  border-radius: 0;
  flex-shrink: 0;
}
.brand-mark svg {
  display: block;
  width: 100%;
  height: 100%;
}
.brand-mark.profile-brand {
  display: block;
  width: 68px;
  height: 68px;
  margin: 1px auto 15px;
}
.sidebar nav {
  gap: 9px;
}
.sidebar nav a {
  flex-direction: column;
  gap: 5px;
  padding: 4px 0;
  border-radius: 18px;
  color: #625b64;
  font-size: 10px;
}
.sidebar nav a > .nav-label {
  font-size: 10px;
  line-height: 1.4;
}
.sidebar nav a > .nav-label {
  width: auto;
  min-width: 65px;
  text-align: center;
}
.sidebar nav a > .nav-icon {
  width: 41px;
  flex-shrink: 0;
}
.nav-icon {
  width: 41px;
  height: 41px;
  display: grid;
  place-items: center;
  background: #fffdfa;
  border-radius: 50%;
}
.sidebar nav a.active {
  background: transparent;
  color: var(--ink);
}
.sidebar nav a.active .nav-icon {
  background: var(--ink);
  color: white;
}
.sidebar nav a:hover {
  background: #e9e0da;
}
.sidebar-bottom {
  font-size: 0;
  padding: 16px 0 0;
  text-align: center;
}
.sidebar-bottom p {
  display: none;
}
.sidebar-bottom .local-dot {
  width: 9px;
  height: 9px;
  background: #417d61;
}
.main-shell {
  margin: 0;
  width: calc(100% - 102px);
}
.topbar {
  height: 64px;
  background: transparent;
  padding: 0 20px 12px;
  border: 0;
  gap: 18px;
}
.breadcrumb {
  color: #736c75;
  letter-spacing: 0.3px;
}
.breadcrumb span {
  color: #b7aeb5;
}
.global-search {
  background: #f1ebe6;
  border: 0;
  border-radius: 24px;
  width: 228px;
  padding: 2px 13px;
  color: #726876;
}
.global-search input {
  color: var(--ink);
  font-size: 12px;
  padding: 10px 8px;
}
.avatar {
  color: #342644;
  background: var(--lavender);
  width: 37px;
  height: 37px;
  font-size: 13px;
}
.mode-banner {
  margin: 0 18px 12px;
  padding: 7px 15px;
  border-radius: 12px;
  background: #f0eaf7;
  color: #695679;
  font-size: 11px;
}
.content-layout {
  display: flex;
  align-items: flex-start;
}
.workspace {
  padding: 20px 22px 14px;
  max-width: none;
  flex: 1;
  min-width: 0;
  margin: 0;
}
.page-heading {
  margin-bottom: 30px;
  align-items: flex-end;
}
.page-heading h1 {
  font-size: 39px;
  line-height: 1.3;
  margin: 12px 0 14px;
}
.home-view .page-heading h1 {
  font-size: 32px;
  line-height: 1.35;
}
.heading-accent {
  position: relative;
}
.eyebrow {
  color: #726978;
  font-size: 11px;
  letter-spacing: 1px;
}
.eyebrow span {
  color: #857c86;
}
.page-heading .muted {
  font-size: 13px;
  color: #7b717b;
}
.page-heading > .button {
  white-space: nowrap;
  padding: 9px 12px;
  font-size: 11px;
}
.panel {
  border: 0;
  border-radius: 23px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 2px 0 #eee6e050;
}
.dashboard-grid {
  gap: 16px;
  grid-template-columns: 1fr 1fr;
}
.dashboard-grid > .panel {
  background: var(--sand);
}
.dashboard-grid > .panel:nth-child(1) {
  background: var(--mint);
}
.dashboard-grid > .panel:nth-child(2) {
  background: var(--rose);
}
.dashboard-grid > .panel:nth-child(3) {
  background: var(--apricot);
}
.dashboard-grid > .panel:nth-child(4) {
  background: var(--lavender);
}
.dashboard-grid > .panel:nth-child(6) {
  background: #eee8f4;
}
.section-head {
  gap: 12px;
  margin-bottom: 17px;
}
.section-head h2 {
  font-size: 17px;
}
.section-head p {
  color: #655d68;
  font-size: 11px;
  line-height: 1.7;
}
.section-head > a {
  color: #53475d;
  font-size: 11px;
  white-space: nowrap;
}
.section-head h2::before {
  display: none;
}
.focus-row,
.task-row,
.strategy-preview,
.department-alert,
.learning-question,
.milestone,
details {
  border-color: #20132914;
}
.focus-row {
  gap: 14px;
}
.focus-number {
  font-size: 24px;
  color: #4b7363;
  font-weight: 400;
}
.focus-title,
.task-title {
  color: #28202d;
  font-size: 14px;
}
.focus-row p,
.focus-row .meta,
.task-main .meta,
.meta,
.row-description,
.strategy-preview > p,
.department-alert p,
.department-alert small,
.learning-question p,
.learning-panel > .muted,
.learning-stat > span {
  color: #645968;
}
.focus-row > button {
  border: 0;
  background: #ffffffa0;
  width: 35px;
  padding: 6px;
}
.focus-row > div {
  min-width: 0;
}
.focus-row.finished .focus-title {
  color: #5e6b61;
}
.priority {
  background: #ffffffaa;
  color: #544758;
  border-radius: 7px;
}
.priority.danger {
  color: #8d2330;
  background: #fff6f3;
}
.icon-button {
  color: #514155;
  border: 0;
  background: transparent;
  padding: 6px;
}
.decision-preview,
.delivery-standard {
  color: #685866;
  font-size: 11px;
  line-height: 1.7;
}
.delivery-group h3 {
  color: #796047;
}
.delivery-group h3 span,
.commitment {
  background: #ffffff80;
  color: #5d4f66;
  border-radius: 10px;
}
.strategy-preview > a {
  color: #342244;
}
.strategy-preview small {
  color: #655672;
}
.department-alert a {
  color: #54475d;
}
.department-alert strong {
  font-size: 13px;
}
.learning-question > span {
  color: #77678d;
}
.learning-stat strong {
  color: #372449;
}
.empty {
  color: #695f6d;
  font-size: 13px;
}
.candidates summary,
summary {
  color: #52445e;
}
.candidates summary span {
  color: #77697c;
}
.candidate small {
  color: #716679;
}
.inline-warning {
  background: #fffaf0c0;
  color: #795018;
  border-radius: 10px;
  padding: 8px 11px;
}
.p0-banner {
  background: #fff0ed;
  border-color: #efc9c4;
  border-radius: 18px;
  color: #9c3845;
}
.p0-banner small {
  color: #86515a;
  font-size: 11px;
}
.p0-banner strong {
  color: #942f3e;
}
.capacity-strip {
  background: #f1ece6;
  border: 0;
  border-radius: 20px;
  padding: 18px 20px;
  margin-bottom: 20px;
  grid-template-columns: 170px 1fr auto;
  gap: 9px 16px;
}
.capacity-strip > div > span,
.capacity-strip p,
.capacity-strip > small {
  color: #746977;
}
.capacity-strip > a {
  display: block;
  grid-column: 3;
  font-size: 11px;
}
.capacity-strip strong {
  color: #2b2034;
  font-size: 28px;
}
.capacity-track {
  background: #fff9f4;
  height: 9px;
}
.capacity-track span {
  background: #aa98cf;
}
.onboarding {
  background: #f1eaf8;
  border: 1px dashed #c9b9db;
  border-radius: 18px;
}
.onboarding p {
  color: #73667d;
}
.tabs {
  gap: 7px;
  margin-bottom: 24px;
}
.tabs button {
  background: #f0eae5;
  color: #665969;
  padding: 11px 18px;
  border-radius: 25px;
  font-size: 12px;
}
.tabs button.selected {
  background: var(--ink);
  color: white;
}
.department-grid,
.project-grid,
.learning-grid {
  gap: 17px;
}
.department-card:nth-child(6n + 1),
.note-card:nth-child(4n + 1) {
  background: var(--rose);
}
.department-card:nth-child(6n + 2),
.note-card:nth-child(4n + 2) {
  background: var(--apricot);
}
.department-card:nth-child(6n + 3),
.note-card:nth-child(4n + 3) {
  background: var(--lavender);
}
.department-card:nth-child(6n + 4),
.note-card:nth-child(4n + 4) {
  background: var(--mint);
}
.department-card:nth-child(6n + 5) {
  background: #e6e5ec;
}
.department-card:nth-child(6n + 6) {
  background: #eadbed;
}
.department-card .section-head {
  align-items: center;
}
.department-card h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 19px;
}
.department-icon {
  width: 41px;
  height: 41px;
  border-radius: 50%;
  background: #fffaf5e6;
  display: grid;
  place-items: center;
}
.department-card .section-head button {
  padding: 8px 12px;
  font-size: 11px;
  background: #fffaf5b0;
  border: 0;
}
.department-card > p {
  color: #3e3243;
  font-size: 14px;
}
.department-card > p.muted {
  color: #675a6d;
  font-size: 11px;
}
.status-pair {
  gap: 7px;
}
.badge {
  border-radius: 14px;
  background: #ffffffbd;
  color: #4a4350;
  padding: 4px 9px;
  font-size: 11px;
}
.badge.warn {
  background: #fff2df;
  color: #81470e;
}
.badge.unknown {
  background: #f7f5fa;
  color: #615170;
  border: 1px dashed #9f91ae;
}
.issue {
  background: #fffaf7a8;
  border: 0;
  border-left: 3px solid #b95669;
  border-radius: 13px;
  color: #634459;
}
.issue p {
  color: #6b4e61;
}
.issue > strong {
  color: #6f2b43;
}
.project-card {
  background: #e9e3f4;
}
.project-card > p,
.project-facts strong,
.milestone p {
  color: #655771;
}
.metric-grid > div {
  border: 0;
  border-radius: 20px;
  background: #ebe4f4;
  color: #6c5d79;
}
.metric-grid > div:nth-child(2n) {
  background: #d5eddf;
}
.metric-grid strong {
  color: #3c2b49;
}
.toolbar p,
.list-caption,
.pagination,
.block-content p,
.block-content button {
  color: #776c7b;
}
.calendar-block {
  border-radius: 17px;
  background: #f2ece7;
  border-color: #c8b0d4;
}
.calendar-block.cat-strategy {
  background: #d8eee3;
  border-color: #65a384;
}
.calendar-block.cat-learning {
  background: #eae2f6;
  border-color: #a88ac4;
}
.workspace-footer {
  color: #867b89;
  border-color: #e9e1db;
  font-size: 10px;
}
.workspace-footer span {
  color: #867b89;
}
.editor,
.detail-dialog {
  border-radius: 25px;
  background: var(--paper);
  color: var(--ink);
}
.detail-dialog {
  border-radius: 26px 0 0 26px;
}
.editor-head,
.editor-footer {
  background: #f6f0eb;
  border-color: #e9e0d9;
}
.editor::backdrop,
.detail-dialog::backdrop {
  background: #21142b66;
  backdrop-filter: blur(3px);
}
.editor-head p,
.editor-footer .muted {
  color: #77697e;
}
.editor label {
  color: #514457;
}
.toast {
  color: #2f4a3b;
  border-radius: 15px;
}
.insight-rail {
  width: 280px;
  flex: 0 0 280px;
  margin: 10px 4px 10px 6px;
  padding: 24px 18px;
  background: var(--sand);
  border-radius: 27px;
  position: sticky;
  top: 25px;
}
.rail-profile {
  text-align: center;
}
.profile-emblem {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin: 1px auto 15px;
  background: #d9c2e2;
  border-radius: 50%;
  color: #382547;
  transform: rotate(-8deg);
}
.rail-profile h2 {
  font-size: 16px;
  font-weight: 550;
}
.rail-profile > p {
  color: #87798b;
  font-size: 11px;
  margin-top: 5px;
}
.rail-profile-link {
  margin: 23px 0 16px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 12px;
  background: #fffdfb;
  font-size: 11px;
}
.rail-profile-link svg {
  margin-left: auto;
}
.rhythm-card {
  background: #fff;
  border-radius: 20px;
  padding: 17px;
}
.rhythm-card .section-head h3,
.rail-agenda h3 {
  font-size: 12px;
  font-weight: 500;
}
.rhythm-card .section-head a {
  font-size: 10px;
}
.rhythm-number {
  font-size: 27px;
  letter-spacing: -1px;
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 3px 0 20px;
}
.rhythm-number small {
  font-size: 11px;
}
.rhythm-number > span {
  letter-spacing: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 3px;
  color: #6f567b;
  background: #f2ecf5;
  padding: 5px;
  border-radius: 10px;
  font-size: 9px;
}
.rhythm-stat {
  margin: 15px 0;
}
.rhythm-stat > div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 11px;
  margin-bottom: 7px;
}
.rhythm-stat strong {
  font-size: 14px;
  font-weight: 500;
}
.rhythm-stat small {
  font-size: 9px;
}
.rhythm-track {
  height: 12px;
  border-radius: 7px;
  background: #f1eeeb;
  overflow: hidden;
}
.rhythm-track > span {
  display: block;
  height: 100%;
  background: var(--mint);
  border-radius: 7px;
}
.rhythm-track.lavender > span {
  background: #c9b9ec;
}
.rhythm-card > p {
  font-size: 10px;
  color: #8a7d90;
  margin-top: 18px;
}
.rail-agenda {
  margin-top: 25px;
}
.agenda-card {
  display: block;
  background: var(--apricot);
  border-radius: 18px;
  padding: 16px;
  margin: 12px 0;
}
.agenda-card.strategy {
  background: var(--mint);
}
.agenda-card.learning {
  background: var(--lavender);
}
.agenda-card > span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
}
.agenda-card strong {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  display: block;
  margin: 12px 0 8px;
}
.agenda-card small {
  font-size: 10px;
  color: #615567;
}
.agenda-empty {
  text-align: center;
  padding: 25px 5px;
  color: #928099;
  border: 1px dashed #d8cdd8;
  border-radius: 20px;
}
.agenda-empty > svg {
  margin: auto;
}
.agenda-empty p {
  margin: 13px 0;
  font-size: 12px;
}
.agenda-empty a {
  font-size: 12px;
}
.rail-note {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #827189;
  margin-top: 25px;
}
.rail-note p {
  font-size: 11px;
  line-height: 1.8;
}
.mobile-bottom,
.nav-scrim {
  display: none;
}
@media (min-width: 1550px) {
  .workspace {
    padding: 25px 35px;
  }
  .insight-rail {
    width: 300px;
    flex-basis: 300px;
  }
}
@media (max-width: 1270px) {
  .insight-rail {
    display: none;
  }
  .workspace {
    padding: 25px;
  }
  .sidebar {
    top: 18px;
  }
  .page-heading h1 {
    font-size: 36px;
  }
}
@media (max-width: 850px) {
  body {
    padding: 0;
    background: var(--paper);
  }
  .app-shell {
    border-radius: 0;
    padding: 0;
    min-height: 100dvh;
    box-shadow: none;
    display: block;
  }
  .main-shell {
    width: 100%;
  }
  .topbar {
    height: 70px;
    padding: 12px 18px;
    gap: 12px;
    background: var(--paper);
  }
  .sidebar {
    display: none;
  }
  .sidebar.mobile-open {
    display: flex;
    position: fixed;
    inset: 12px auto 90px 12px;
    top: max(12px, env(safe-area-inset-top));
    width: 210px;
    height: auto;
    min-height: 0;
    padding: 20px 15px;
    overflow-y: auto;
    box-shadow: 12px 0 60px #2b182d30;
  }
  .sidebar.mobile-open .brand {
    display: flex;
    margin: 0 0 20px;
    font-size: 15px;
  }
  .sidebar.mobile-open .brand > div {
    display: block;
  }
  .sidebar.mobile-open .brand small {
    font-size: 9px;
  }
  .sidebar.mobile-open nav a {
    flex-direction: row;
    padding: 3px 8px;
    gap: 13px;
  }
  .sidebar.mobile-open nav a > .nav-label {
    font-size: 13px;
  }
  .sidebar.mobile-open .sidebar-bottom {
    display: none;
  }
  .nav-scrim {
    display: block;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #21142855;
    backdrop-filter: blur(2px);
    border: 0;
    border-radius: 0;
    z-index: 34;
  }
  .nav-scrim:hover {
    background: #21142855;
  }
  .mobile-menu {
    min-width: 32px;
    min-height: 42px;
  }
  .mobile-bottom {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: #fcf9f6f5;
    border-top: 1px solid #e8dfd9;
    backdrop-filter: blur(15px);
    z-index: 32;
    justify-content: space-around;
    box-shadow: 0 -8px 30px #3a213a06;
  }
  .mobile-bottom a,
  .mobile-bottom button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #817687;
    min-width: 55px;
    min-height: 49px;
    font-size: 10px;
    border: 0;
    background: transparent;
    border-radius: 15px;
    padding: 6px 12px;
  }
  .mobile-bottom .active {
    color: #22162c;
    background: #d9efe4;
  }
  .workspace {
    padding: 22px 20px 95px;
  }
  .page-heading {
    margin-bottom: 26px;
  }
  .page-heading h1 {
    font-size: 33px;
    margin: 13px 0;
  }
  .home-view .page-heading h1 {
    font-size: 28px;
    line-height: 1.4;
  }
  .page-heading .muted {
    font-size: 12px;
    line-height: 1.85;
  }
  .mode-banner {
    margin: 0 18px;
    font-size: 10px;
    padding: 6px 10px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr 1fr;
  }
  .department-grid,
  .project-grid,
  .learning-grid {
    grid-template-columns: 1fr 1fr;
  }
  .global-search {
    width: auto;
  }
  .global-search input {
    padding: 9px 5px;
  }
  .topbar > .primary {
    font-size: 12px;
    padding: 10px 13px;
    min-height: 42px;
  }
  .editor {
    max-height: 92dvh;
    width: calc(100% - 24px);
    border-radius: 23px;
  }
  .editor-body {
    max-height: calc(92dvh - 185px);
  }
  .editor-head h2 {
    font-size: 19px;
  }
  .editor-head > button {
    min-width: 40px;
    min-height: 40px;
  }
  .editor-footer button {
    min-height: 43px;
    padding: 9px 17px;
  }
  .detail-dialog {
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
  }
  .detail-body {
    padding-bottom: calc(35px + env(safe-area-inset-bottom));
  }
  .toast {
    top: 76px;
  }
}
@media (max-width: 620px) {
  .workspace {
    padding: 22px 17px 95px;
  }
  .topbar {
    padding: 12px 15px;
    gap: 9px;
  }
  .global-search {
    min-width: 100px;
    padding: 0 10px;
  }
  .global-search input {
    font-size: 12px;
    min-height: 40px;
  }
  .global-search > svg {
    width: 17px;
    flex-shrink: 0;
  }
  .dashboard-grid,
  .department-grid,
  .project-grid,
  .learning-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .panel {
    padding: 21px;
    border-radius: 23px;
  }
  .section-head h2 {
    font-size: 17px;
  }
  .section-head p {
    font-size: 11px;
  }
  .task-title,
  .focus-title {
    font-size: 14px;
    line-height: 1.7;
  }
  .task-main .meta,
  .focus-row .meta {
    font-size: 11px;
    line-height: 1.65;
  }
  .task-row {
    padding: 15px 0;
  }
  .text-button {
    min-height: 28px;
  }
  .capacity-strip {
    grid-template-columns: 1fr 1fr;
    padding: 17px 20px;
    gap: 10px;
  }
  .capacity-strip > a {
    grid-column: 2;
    grid-row: 3;
    text-align: right;
  }
  .capacity-strip > small {
    font-size: 10px;
  }
  .capacity-strip p {
    font-size: 10px;
  }
  .capacity-track {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .tabs {
    gap: 7px;
  }
  .tabs button {
    padding: 10px 14px;
    min-height: 42px;
    font-size: 12px;
  }
  .department-card > p {
    font-size: 14px;
  }
  .department-card .section-head button {
    min-height: 40px;
  }
  .candidate > button,
  .small-button,
  .issue > button {
    min-height: 40px;
    font-size: 12px;
  }
  .department-card .issue {
    padding: 15px;
  }
  .issue p {
    font-size: 12px;
  }
  .status-pair .badge {
    font-size: 11px;
  }
  .onboarding p,
  .onboarding strong {
    font-size: 12px;
  }
  .onboarding button {
    min-height: 42px;
    font-size: 12px;
  }
  .workspace-footer,
  .workspace-footer span {
    font-size: 10px;
  }
  .p0-banner .text-button {
    font-size: 13px;
  }
  .editor label {
    font-size: 13px;
  }
  .editor-footer .muted {
    font-size: 10px;
  }
  .form-grid input,
  .form-grid textarea,
  .form-grid select {
    font-size: 16px;
    min-height: 45px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Strategic work stays visible before routine work, including saved drafts. */
.strategy-reminder {
  position: sticky;
  top: 0;
  z-index: 18;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 30px;
  background: #fff3e5;
  border-block: 1px solid #edcfab;
  color: #2b2018;
}
.strategy-reminder-label {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 700;
}
.strategy-reminder-label span {
  background: #201b20;
  color: #fff;
  border-radius: 50%;
  padding: 2px 6px;
  margin-left: 4px;
  font-size: 11px;
}
.strategy-reminder-links {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  min-width: 0;
  padding: 2px;
}
.strategy-reminder-links > a {
  display: flex;
  gap: 8px;
  align-items: center;
  flex: 0 0 auto;
  padding: 7px 12px;
  border-radius: 20px;
  background: #fffdf9;
  border: 1px solid #ead8c2;
  font-size: 12px;
}
.strategy-reminder-links > a > span {
  max-width: 230px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.strategy-reminder-links small {
  white-space: nowrap;
  color: #766357;
  font-size: 10px;
}
.strategy-overview {
  margin-bottom: 20px;
  border: 1px solid #edcba7;
  border-top: 4px solid #ed8d3d;
  background: #fff9f1;
  scroll-margin-top: 78px;
}
.strategy-overview .section-head {
  margin-bottom: 16px;
}
.strategy-overview .eyebrow {
  color: #885423;
}
.strategy-overview-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 14px;
}
.strategy-overview-card {
  padding: 20px;
  background: #fff;
  border: 1px solid #eaded2;
  border-radius: 20px;
  min-width: 0;
}
.strategy-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.strategy-card-heading > button {
  font-size: 12px;
}
.strategy-active {
  background: #ffdfb6;
  color: #743d12;
}
.strategy-overview-card h3 {
  margin: 13px 0 9px;
  font-size: 20px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.strategy-objective {
  font-size: 14px;
  line-height: 1.7;
  color: #3e3430;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.strategy-owner {
  margin-block: 10px;
  font-size: 11px;
  color: #766b64;
}
.strategy-owner strong,
.strategy-next strong {
  color: #a44523;
}
.strategy-next {
  background: #faf4ec;
  border-radius: 12px;
  padding: 12px;
  margin-top: 13px;
}
.strategy-next > span {
  font-size: 11px;
  display: block;
  color: #8a654a;
  margin-bottom: 6px;
}
.strategy-next > .text-button {
  font-weight: 600;
  font-size: 14px;
}
.strategy-next p {
  font-size: 12px;
  margin: 5px 0;
  overflow-wrap: anywhere;
}
.strategy-focus-action {
  margin-top: 7px;
  font-size: 12px;
}
.strategy-overview-card details {
  margin-top: 12px;
  font-size: 12px;
}
.strategy-overview-card details p {
  font-size: 12px;
  margin-top: 8px;
}
.strategy-time {
  border-top: 1px solid #eee4da;
  margin-top: 12px;
  padding-top: 12px;
}
.strategy-time p {
  font-size: 11px;
  color: #7f6651;
  margin-bottom: 9px;
}
.strategy-time button {
  min-height: 40px;
  font-size: 12px;
}
@media (max-width: 620px) {
  .strategy-reminder {
    gap: 8px;
    padding: 7px 12px;
  }
  .strategy-reminder-label {
    font-size: 11px;
  }
  .strategy-reminder-links > a {
    padding: 7px 10px;
    font-size: 11px;
  }
  .strategy-reminder-links > a > span {
    max-width: 175px;
  }
  .strategy-overview-card {
    padding: 16px;
  }
  .strategy-overview-card h3 {
    font-size: 18px;
  }
  .strategy-overview > .section-head > div > p:not(.eyebrow) {
    display: none;
  }
}
/* Cloud and unified calendar/project additions, v1.5. */
.cloud-status{margin:12px 0;padding:12px 16px;background:#edf7ef;border:1px solid #cfe5d4;border-radius:14px;font-size:13px}.cloud-status-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cloud-status-line>span:not(.sync-indicator){color:#687469}.sync-indicator{width:8px;height:8px;background:#5a9c71;border-radius:50%;flex-shrink:0}.cloud-status.offline,.cloud-status.pending{background:#fff5dc;border-color:#f4dba8}.cloud-status.conflict,.cloud-status.auth,.cloud-status.error{background:#fff0e9;border-color:#efbaa7}.cloud-status.conflict .sync-indicator,.cloud-status.offline .sync-indicator{background:#e59d32}.sync-conflict{margin-top:16px}.sync-conflict pre{white-space:pre-wrap;max-height:280px;overflow:auto}.danger{color:#ae3f31!important}.quick-strategy{display:flex;flex-direction:column;gap:8px;grid-column:1/-1;max-width:560px}.quick-strategy select{width:100%;background:white;padding:12px;border:1px solid #cdd6cb;border-radius:10px}.strategy-schedule{margin:24px 0;padding:18px;background:#f4f8f1;border-radius:14px}.strategy-schedule-row,.recycle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #dfe5d9}.strategy-schedule-row>span,.recycle-row>span{display:grid;gap:6px;min-width:0;flex:1}.strategy-schedule-row strong{overflow-wrap:anywhere}.strategy-schedule-row small,.recycle-row small{color:#748071}.calendar-primary-actions{margin:10px 0}.calendar-strategy{color:#4c7759}.recycle{margin-bottom:18px}.recycle>summary{cursor:pointer;font-weight:650}.site-address{overflow-wrap:anywhere;font-family:monospace}.import-table{max-width:100%;overflow:auto;margin:20px 0}.import-table table{border-collapse:collapse;width:100%;min-width:660px}.import-table th,.import-table td{padding:12px;text-align:left;border-bottom:1px solid #e4e6df}.import-table small{display:block;color:#7b8277;margin-top:5px}.import-table select{max-width:260px}.form-grid{display:flex;flex-wrap:wrap;gap:18px}.form-grid label{display:grid;gap:8px}.button input[type=file]{display:block;margin-top:10px;max-width:100%}
@media(max-width:640px){.cloud-status{padding:10px;margin-top:4px}.cloud-status-line{gap:8px}.strategy-schedule{padding:14px}.strategy-schedule-row{align-items:flex-start;flex-direction:column}.strategy-schedule-row .actions{width:100%}.recycle-row{flex-wrap:wrap}.recycle-row>span{min-width:50%}.quick-strategy{max-width:none}.calendar-primary-actions button{min-height:40px}}
.auth-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#f8f5ef;padding:24px}.auth-card{width:min(100%,480px);background:white;border:1px solid #e4ded4;border-radius:24px;padding:32px;box-shadow:0 12px 55px #473c2810}.auth-card h1{font-size:26px;margin:12px 0}.auth-card p{color:#727469;line-height:1.75}.auth-card fieldset{border:0;padding:0;display:grid;gap:16px}.auth-card label{display:grid;gap:8px;font-weight:600}.auth-card input:not([type=checkbox]){width:100%;padding:12px;box-sizing:border-box;border:1px solid #d9d9ce;border-radius:10px}.auth-card .remember{display:flex;align-items:center;font-weight:400}.auth-card .primary{padding:14px}.auth-links{display:grid;gap:12px;margin-top:20px}.recovery-code{display:block;word-break:break-all;line-height:2;padding:16px;background:#fff4da;border-radius:10px;margin:20px 0}

/* The notebook is the first screen in the Android app. */
.notes-view .topbar .global-search,
.notes-view .topbar > .primary {
  display: none;
}
.notes-view .topbar .avatar { margin-left: auto; }
.quick-notebook { display: grid; gap: 16px; max-width: 760px; }
.quick-note-form { display: grid; gap: 10px; }
.quick-note-form > label,
.quick-note-controls > label { color: #66596c; font-size: 13px; font-weight: 650; }
.quick-note-form textarea {
  width: 100%;
  min-height: 124px;
  resize: vertical;
  font-size: 16px;
  line-height: 1.6;
  padding: 13px;
}
.quick-note-controls { display: flex; align-items: end; gap: 12px; }
.quick-note-controls label { display: grid; gap: 6px; flex: 1; min-width: 0; }
.quick-note-controls select { width: 100%; min-height: 44px; text-overflow: ellipsis; }
.quick-note-controls button { min-height: 44px; white-space: nowrap; }
.quick-note-message { margin: 0; color: #436c51; font-size: 13px; }
.quick-note-history .section-head { margin-bottom: 8px; }
.quick-note-history h2 small,
.quick-note-history .muted { color: #786a7a; font-size: 13px; }
.quick-note-list { list-style: none; margin: 0; padding: 0; }
.quick-note-row { padding: 12px 0 6px; }
.quick-note-row + .quick-note-row { border-top: 1px solid #e9e0d9; }
.quick-note-content { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.7; }
.quick-note-meta { display: flex; gap: 8px; justify-content: space-between; align-items: center; }
.quick-note-meta > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.quick-note-meta time { color: #756878; font-size: 12px; }
.quick-note-project { color: #486756; background: #edf3eb; border-radius: 7px; padding: 3px 7px; font-size: 12px; overflow-wrap: anywhere; }
.quick-note-meta button { flex-shrink: 0; min-height: 44px; }
@media (max-width: 850px) {
  .mobile-bottom > a, .mobile-bottom > button { flex: 1; min-width: 0; padding-inline: 3px; }
  .notes-view .topbar { height: 52px; }
  .notes-view .workspace { padding-top: 5px; }
  .notes-view .page-heading { margin-bottom: 14px; }
  .notes-view .page-heading .eyebrow { display: none; }
  .notes-view .page-heading h1 { margin: 6px 0; font-size: 27px; }
  .notes-view .page-heading .muted { display: block; margin: 0; font-size: 13px; }
  .quick-notebook { gap: 12px; }
  .quick-notebook .panel { padding: 15px; border-radius: 17px; }
}
