:root { --brand:#173c4e; --accent:#f8aa12; --bg:#f4f6f7; --text:#17242b; --muted:#66757c; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--bg); color:var(--text); }
.auth-page { min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth-card { width:min(420px,100%); background:#fff; border:1px solid #dce2e5; border-radius:14px; padding:32px; box-shadow:0 14px 40px rgba(23,60,78,.08); }
.brand-mark { font-weight:800; letter-spacing:.02em; color:var(--brand); }
.brand-mark span { color:var(--accent); }
h1 { margin:18px 0 8px; color:var(--brand); }
.muted { color:var(--muted); }
label { display:block; margin-top:18px; margin-bottom:6px; font-weight:650; }
input { width:100%; padding:12px 13px; border:1px solid #cbd5da; border-radius:8px; font:inherit; }
input:focus { outline:3px solid rgba(248,170,18,.22); border-color:var(--accent); }
button { margin-top:20px; width:100%; border:0; border-radius:8px; padding:12px 16px; background:var(--accent); color:var(--brand); font:inherit; font-weight:800; cursor:pointer; }
.alert { margin-top:16px; padding:10px 12px; border-radius:8px; background:#fff3f3; color:#8f2424; border:1px solid #f0c9c9; }
.topbar { min-height:64px; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 28px; }
.topbar .brand-mark { color:#fff; }
.topbar-user { display:flex; align-items:center; gap:18px; }
.topbar-user form { margin:0; }
.link-button { width:auto; margin:0; background:transparent; color:#fff; padding:8px; font-weight:650; }
.shell { max-width:1180px; margin:0 auto; padding:34px 24px; }
.panel { background:#fff; border:1px solid #dce2e5; border-radius:12px; padding:28px; }
.eyebrow { color:var(--accent); font-weight:800; text-transform:uppercase; font-size:12px; letter-spacing:.08em; }

.brand-link { color:inherit; text-decoration:none; }
.topnav { margin-left:auto; margin-right:24px; }
.topnav a { color:#fff; text-decoration:none; font-weight:650; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.button-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; background:var(--accent); color:var(--brand); padding:11px 16px; border-radius:8px; font-weight:800; }
.button-link.secondary { background:#e8eef1; }
.goal-grid { display:grid; gap:14px; }
.goal-card { display:block; text-decoration:none; color:inherit; padding:20px; border:1px solid #dce2e5; border-radius:10px; transition:.15s ease; }
.goal-card:hover { border-color:#aebbc1; box-shadow:0 7px 24px rgba(23,60,78,.07); transform:translateY(-1px); }
.goal-card h2 { margin:12px 0 18px; color:var(--brand); font-size:20px; }
.goal-card-top { display:flex; justify-content:space-between; gap:14px; align-items:center; }
.goal-period { color:var(--muted); font-size:13px; }
.status { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:12px; font-weight:750; }
.status-on_track { background:#e9f5ee; color:#24663f; }
.status-at_risk { background:#fff3d6; color:#8a5b00; }
.status-behind { background:#fde9e6; color:#9a3025; }
.status-done { background:#e4f4ea; color:#215c38; }
.metric-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.metric-row div, .kpi-strip div { display:flex; flex-direction:column; gap:5px; }
.metric-label, .kpi-strip span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.empty-state { padding:42px 12px; text-align:center; }
.kpi-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-bottom:22px; background:#dce2e5; border:1px solid #dce2e5; border-radius:12px; overflow:hidden; }
.kpi-strip div { background:#fff; padding:20px; }
.kpi-strip strong { font-size:22px; color:var(--brand); }
.details-grid { display:grid; grid-template-columns:2fr 1fr; gap:32px; }
.details-grid h2 { margin-top:0; color:var(--brand); font-size:16px; }
.details-grid h2:not(:first-child) { margin-top:24px; }
.narrow { max-width:860px; }
.goal-form { display:grid; gap:2px; }
.form-field { margin-bottom:12px; }
.form-field textarea, .form-field select, .form-field input { width:100%; padding:12px 13px; border:1px solid #cbd5da; border-radius:8px; font:inherit; background:#fff; }
.field-errors { margin-top:6px; color:#9a3025; font-size:14px; }
.field-errors ul { margin:0; padding-left:18px; }
.form-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; margin-top:16px; }
.form-actions button { width:auto; margin:0; min-width:150px; }
.text-link { color:var(--brand); }
.archive-form { display:flex; justify-content:flex-end; margin-top:20px; }
.danger-button { width:auto; margin:0; background:#fff; color:#9a3025; border:1px solid #e0b4ae; }
@media (max-width:760px) {
  .metric-row, .kpi-strip, .details-grid { grid-template-columns:1fr; }
  .page-heading { flex-direction:column; }
  .topnav { display:none; }
}

.period-tree-panel { margin-top:22px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.section-heading h2 { margin:4px 0 0; color:var(--brand); }
.period-node { border:1px solid #dce2e5; border-radius:10px; background:#fff; margin:10px 0; overflow:hidden; }
.period-node > summary { cursor:pointer; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:14px 16px; background:#f8fafb; }
.period-node > summary::marker { color:var(--accent); }
.period-type { color:var(--brand); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.period-dates { margin-left:auto; color:var(--muted); font-size:13px; }
.period-node-body { padding:14px 16px 16px; }
.period-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 18px; font-size:14px; }
.period-metrics span { color:var(--muted); }
.period-metrics strong { color:var(--text); }
.period-actions { display:flex; gap:14px; margin-top:12px; }
.period-actions a, .breadcrumbs a { color:var(--brand); font-weight:700; }
.period-children { margin-left:24px; padding-left:14px; border-left:2px solid #e6ecef; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); margin-bottom:18px; font-size:14px; }
.info-note { margin-bottom:18px; padding:12px 14px; border-radius:8px; background:#eef4f6; color:#40525b; border:1px solid #d7e1e5; }
.empty-state.compact { padding:22px 8px; }
.empty-state.compact h3 { margin:0 0 6px; color:var(--brand); }
@media (max-width:760px) {
  .section-heading { align-items:flex-start; flex-direction:column; }
  .period-metrics { grid-template-columns:1fr 1fr; }
  .period-dates { margin-left:0; width:100%; }
  .period-children { margin-left:8px; padding-left:8px; }
}

/* === Corporate login / АРМТЕХСТРОЙ Plan === */
.auth-page--brand {
  min-height:100vh;
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:0;
  background:#edf1f3;
}

.auth-shell {
  width:100%;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(420px, 1.05fr) minmax(430px, .95fr);
  background:#fff;
}

.auth-brand-panel {
  position:relative;
  overflow:hidden;
  min-height:100vh;
  padding:48px 56px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(23,60,78,.98), rgba(23,60,78,.93)),
    #173c4e;
}

.auth-brand-panel::before {
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-210px;
  top:9%;
  border:1px solid rgba(248,170,18,.26);
  border-radius:50%;
  box-shadow:
    0 0 0 72px rgba(255,255,255,.025),
    0 0 0 144px rgba(255,255,255,.018);
}

.auth-brand-panel::after {
  content:"";
  position:absolute;
  left:56px;
  right:56px;
  bottom:112px;
  height:1px;
  background:linear-gradient(90deg, #f8aa12 0 96px, rgba(255,255,255,.16) 96px 100%);
}

.auth-brand-top,
.auth-brand-content,
.auth-brand-footer {
  position:relative;
  z-index:1;
}

.auth-brand-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}

.auth-brand-lockup {
  display:flex;
  flex-direction:column;
  gap:3px;
}

.auth-brand-name {
  font-size:19px;
  line-height:1;
  font-weight:900;
  letter-spacing:.055em;
}

.auth-brand-product {
  color:#f8aa12;
  font-size:24px;
  font-weight:850;
  letter-spacing:-.02em;
}

.auth-env-badge {
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.auth-brand-content {
  max-width:650px;
  margin-top:auto;
  margin-bottom:auto;
  padding:48px 0 88px;
}

.auth-kicker {
  margin:0 0 18px;
  color:#f8aa12;
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.auth-brand-content h2 {
  margin:0;
  max-width:610px;
  color:#fff;
  font-size:clamp(42px, 5vw, 72px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:800;
}

.auth-brand-content > p:last-child {
  max-width:550px;
  margin:26px 0 0;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.6;
}

.auth-brand-footer {
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.5);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.auth-brand-line {
  width:22px;
  height:3px;
  background:#f8aa12;
  border-radius:2px;
}

.auth-form-panel {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:54px 64px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,251,.98));
}

.auth-form-wrap {
  width:min(460px, 100%);
}

.auth-mobile-brand {
  display:none;
}

.auth-form-panel .eyebrow {
  margin:0 0 14px;
}

.auth-form-panel h1 {
  margin:0;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.03em;
}

.auth-subtitle {
  margin:12px 0 30px;
  color:var(--muted);
  font-size:15px;
}

.auth-form {
  display:grid;
  gap:18px;
}

.auth-field label {
  margin:0 0 8px;
  color:#2b3d46;
  font-size:13px;
  font-weight:750;
}

.auth-field input {
  min-height:50px;
  padding:0 15px;
  border:1px solid #cbd6db;
  border-radius:9px;
  background:#fff;
  color:#17242b;
  font-size:15px;
  box-shadow:0 1px 0 rgba(23,60,78,.02);
}

.auth-field input::placeholder {
  color:#9aa8af;
}

.auth-field input:hover {
  border-color:#aebdc4;
}

.auth-field input:focus {
  outline:3px solid rgba(248,170,18,.18);
  border-color:#f8aa12;
  box-shadow:none;
}

.auth-submit {
  min-height:52px;
  margin-top:4px;
  border-radius:9px;
  background:#173c4e;
  color:#fff;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  box-shadow:0 10px 24px rgba(23,60,78,.14);
}

.auth-submit:hover {
  background:#204e63;
  transform:translateY(-1px);
}

.auth-submit:focus-visible {
  outline:3px solid rgba(248,170,18,.35);
  outline-offset:3px;
}

.auth-security-note {
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:24px;
  color:#7a888f;
  font-size:12px;
  line-height:1.45;
}

.auth-security-dot {
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#2c8c59;
  box-shadow:0 0 0 4px rgba(44,140,89,.10);
}

.auth-form-panel .alert {
  margin:0 0 20px;
}

@media (max-width:900px) {
  .auth-shell {
    grid-template-columns:1fr;
  }

  .auth-brand-panel {
    display:none;
  }

  .auth-form-panel {
    min-height:100vh;
    padding:36px 22px;
  }

  .auth-mobile-brand {
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:42px;
    color:#173c4e;
    font-size:16px;
    font-weight:900;
    letter-spacing:.045em;
  }

  .auth-mobile-brand strong {
    color:#f8aa12;
    font-size:22px;
    letter-spacing:-.02em;
  }
}

@media (max-width:520px) {
  .auth-form-panel {
    align-items:flex-start;
    padding-top:42px;
  }

  .auth-form-panel h1 {
    font-size:32px;
  }

  .auth-mobile-brand {
    margin-bottom:54px;
  }
}

/* === Main application shell === */
.app-page {
  min-height:100vh;
  background:#f3f6f8;
}

.app-layout {
  min-height:100vh;
  display:grid;
  grid-template-columns:252px minmax(0,1fr);
}

.sidebar {
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  padding:22px 16px 18px;
  background:linear-gradient(180deg,#173c4e 0%,#123342 100%);
  color:#fff;
  border-right:1px solid rgba(255,255,255,.08);
  overflow-y:auto;
}

.sidebar-brand {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:70px;
  padding:4px 8px 16px;
  text-decoration:none;
}

.sidebar-brand img {
  display:block;
  width:172px;
  max-width:100%;
  height:auto;
}

.sidebar-product {
  color:#f8aa12;
  font-size:13px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.sidebar-create {
  min-height:46px;
  margin:6px 4px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:9px;
  text-decoration:none;
  background:#f8aa12;
  color:#173c4e;
  font-weight:850;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}

.sidebar-create:hover {
  filter:brightness(1.03);
}

.sidebar-create-plus {
  font-size:22px;
  font-weight:500;
  line-height:1;
}

.sidebar-nav {
  display:flex;
  flex-direction:column;
  gap:18px;
}

.sidebar-section {
  display:flex;
  flex-direction:column;
  gap:4px;
}

.sidebar-section-title {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:0 12px;
  color:rgba(255,255,255,.46);
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.sidebar-soon {
  margin-left:auto;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:rgba(255,255,255,.52);
  font-size:9px;
  letter-spacing:.06em;
}

.sidebar-item {
  min-height:42px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 12px;
  border-radius:8px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:14px;
  font-weight:650;
  transition:background .15s ease,color .15s ease;
}

.sidebar-item:hover {
  background:rgba(255,255,255,.07);
  color:#fff;
}

.sidebar-item.is-active {
  background:rgba(255,255,255,.13);
  color:#fff;
  box-shadow:inset 3px 0 0 #f8aa12;
}

.sidebar-item.is-disabled {
  color:rgba(255,255,255,.28);
  cursor:default;
  user-select:none;
}

.sidebar-item.is-disabled:hover {
  background:transparent;
}

.nav-icon {
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:6px;
  font-size:12px;
  line-height:1;
}

.sidebar-bottom {
  margin-top:auto;
  padding-top:18px;
}

.sidebar-version {
  padding:10px 12px 0;
  color:rgba(255,255,255,.28);
  font-size:10px;
}

.app-main {
  min-width:0;
  display:flex;
  flex-direction:column;
}

.app-topbar {
  position:static;
  z-index:20;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 28px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #dde5e8;
  backdrop-filter:blur(12px);
}

.app-search {
  width:min(520px,48vw);
  position:relative;
}

.app-search input {
  width:100%;
  height:40px;
  margin:0;
  padding:0 14px 0 40px;
  border:1px solid #dbe3e7;
  border-radius:8px;
  background:#f8fafb;
  color:#77868d;
  font-size:13px;
}

.app-search input:disabled {
  opacity:1;
  cursor:not-allowed;
}

.search-icon {
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#75878f;
  font-size:19px;
  z-index:1;
}

.app-user {
  display:flex;
  align-items:center;
  gap:10px;
}

.user-avatar {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:50%;
  background:#e5eef2;
  color:#173c4e;
  font-weight:850;
}

.user-copy {
  display:flex;
  flex-direction:column;
  min-width:110px;
  line-height:1.25;
}

.user-copy strong {
  color:#17242b;
  font-size:13px;
}

.user-copy span {
  color:#77868d;
  font-size:11px;
}

.app-user form {
  margin:0;
}

.topbar-logout {
  width:auto;
  margin:0 0 0 6px;
  padding:8px 10px;
  background:transparent;
  color:#52656e;
  font-size:12px;
}

.topbar-logout:hover {
  background:#eef3f5;
}

.app-content {
  width:100%;
  max-width:1480px;
  margin:0 auto;
  padding:28px;
}

.app-content.content-narrow {
  max-width:980px;
}

.app-content .page-heading h1 {
  margin:3px 0 7px;
  color:#17242b;
  font-size:30px;
  letter-spacing:-.025em;
}

.app-content .panel {
  border-color:#dde5e8;
  box-shadow:0 1px 2px rgba(23,60,78,.025);
}

.dashboard-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}

.stat-card {
  min-height:108px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:20px;
  background:#fff;
  border:1px solid #dde5e8;
  border-radius:11px;
}

.stat-card > div {
  display:flex;
  flex-direction:column;
  gap:3px;
}

.stat-card strong {
  color:#17242b;
  font-size:30px;
  line-height:1;
}

.stat-card span:not(.stat-icon) {
  color:#66757c;
  font-size:13px;
}

.stat-icon {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  border-radius:50%;
  font-size:22px;
  font-weight:800;
}

.stat-icon--blue { background:#e8f2ff; color:#2684e8; }
.stat-icon--green { background:#e9f7ef; color:#2ea766; }
.stat-icon--orange { background:#fff3dc; color:#e68b00; }
.stat-icon--red { background:#fdebea; color:#e24a43; }

.dashboard-grid {
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(300px,.9fr);
  gap:16px;
}

.dashboard-main-panel,
.attention-panel {
  min-width:0;
}

.goal-grid--dashboard {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.goal-progress-row {
  display:grid;
  grid-template-columns:74px minmax(80px,1fr) 54px;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  color:#66757c;
  font-size:12px;
}

.goal-progress-row strong {
  color:#173c4e;
  text-align:right;
}

.progress-track {
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eff2;
}

.progress-track > span {
  display:block;
  height:100%;
  max-width:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#1c84d8,#27a4e4);
}

.attention-item {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:15px 0;
  border-bottom:1px solid #e6ecef;
  color:inherit;
  text-decoration:none;
}

.attention-item:first-of-type {
  padding-top:2px;
}

.attention-item:last-child {
  border-bottom:0;
  padding-bottom:0;
}

.attention-item > div {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.attention-item strong {
  color:#17242b;
  font-size:14px;
}

.attention-item span {
  color:#78868c;
  font-size:12px;
}

.attention-item b {
  color:#e26c1c;
  font-size:15px;
}

.planning-overview-list {
  display:grid;
  gap:14px;
}

.planning-overview-card {
  padding:20px;
  border:1px solid #dce4e8;
  border-radius:10px;
}

.planning-overview-card h2 {
  margin:8px 0 0;
  font-size:20px;
}

.planning-overview-card h2 a {
  color:#173c4e;
  text-decoration:none;
}

.planning-mini-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.planning-mini-stats > div {
  padding:12px 14px;
  border-radius:8px;
  background:#f6f8f9;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.planning-mini-stats span {
  color:#78868c;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.placeholder-panel {
  min-height:390px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.placeholder-panel h2 {
  margin:14px 0 7px;
  color:#173c4e;
}

.placeholder-panel p {
  max-width:620px;
  margin:0;
  color:#66757c;
  line-height:1.6;
}

.placeholder-icon {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#edf4f6;
  color:#173c4e;
  font-size:28px;
  font-weight:800;
}

.placeholder-status {
  margin-top:20px;
  padding:8px 11px;
  border-radius:999px;
  background:#fff3d9;
  color:#9a6200;
  font-size:12px;
  font-weight:750;
}

.goal-card--archived {
  opacity:.78;
}

@media (max-width:1180px) {
  .app-layout {
    grid-template-columns:220px minmax(0,1fr);
  }
  .dashboard-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dashboard-grid {
    grid-template-columns:1fr;
  }
  .goal-grid--dashboard {
    grid-template-columns:1fr;
  }
}

@media (max-width:820px) {
  .app-layout {
    display:block;
  }
  .sidebar {
    position:relative;
    height:auto;
    min-height:0;
  }
  .sidebar-nav,
  .sidebar-bottom {
    display:none;
  }
  .sidebar-brand {
    min-height:0;
    padding-bottom:6px;
  }
  .sidebar-create {
    margin-bottom:4px;
  }
  .app-topbar {
    position:relative;
    padding:10px 18px;
  }
  .app-search {
    display:none;
  }
  .app-content {
    padding:20px 16px;
  }
  .dashboard-stats {
    grid-template-columns:1fr 1fr;
  }
  .planning-mini-stats {
    grid-template-columns:1fr;
  }
}

@media (max-width:520px) {
  .dashboard-stats {
    grid-template-columns:1fr;
  }
  .user-copy {
    display:none;
  }
}

/* === Compact typography refinement === */
.app-page {
  font-size:14px;
}

.sidebar-product {
  font-size:12px;
  font-weight:700;
}

.sidebar-create {
  font-size:13px;
  font-weight:700;
}

.sidebar-section-title {
  font-weight:700;
}

.sidebar-item {
  font-size:13px;
  font-weight:520;
}

.sidebar-item.is-active {
  font-weight:650;
}

.user-avatar {
  font-size:13px;
  font-weight:700;
}

.user-copy strong {
  font-size:12.5px;
  font-weight:650;
}

.user-copy span {
  font-size:10.5px;
}

.app-content .eyebrow {
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.07em;
}

.app-content .page-heading h1 {
  font-size:26px;
  font-weight:650;
  letter-spacing:-.018em;
}

.app-content .page-heading .muted {
  font-size:13px;
}

.section-heading h2,
.details-grid h2,
.placeholder-panel h2 {
  font-size:17px;
  font-weight:650;
}

.goal-card h2 {
  font-size:17px;
  font-weight:650;
  line-height:1.3;
}

.goal-card-top,
.goal-period {
  font-size:12px;
}

.status {
  font-size:11px;
  font-weight:650;
}

.metric-label,
.kpi-strip span {
  font-size:10.5px;
  font-weight:500;
}

.metric-row strong {
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}

.kpi-strip strong {
  font-size:19px;
  font-weight:650;
}

.stat-card strong {
  font-size:26px;
  font-weight:650;
}

.stat-card span:not(.stat-icon) {
  font-size:12px;
}

.stat-icon {
  font-weight:650;
}

.goal-progress-row strong,
.attention-item strong,
.attention-item b {
  font-weight:650;
}

.planning-overview-card h2 {
  font-size:17px;
  font-weight:650;
}

.planning-mini-stats strong {
  font-size:13px;
  font-weight:600;
}

.period-type {
  font-size:11px;
  font-weight:650;
}

.period-metrics {
  font-size:13px;
}

.period-metrics strong {
  font-weight:600;
}

.button-link,
.form-actions button,
.danger-button {
  font-size:13px;
  font-weight:700;
}

.app-content p,
.app-content li {
  line-height:1.5;
}

/* Compact metric rows: keep values on one line */
.metric-row--compact {
  grid-template-columns:1fr;
  gap:6px;
}

.metric-row--compact > div {
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:baseline;
  gap:10px;
}

.metric-row--compact .metric-label {
  margin:0;
}

.metric-row--compact strong {
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:12px;
  font-weight:600;
}

.goal-grid--dashboard .goal-card {
  min-width:0;
}

.status-not_assessed,
.status-planned {
  background:#eef2f4;
  color:#607079;
}

.status-in_progress {
  background:#e8f2ff;
  color:#2473b9;
}

.status-needs_clarification {
  background:#fff2d9;
  color:#9a6200;
}

.initiative-filter {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
}

.initiative-filter label {
  color:#66757c;
  font-size:12px;
  font-weight:650;
}

.initiative-filter select {
  min-width:280px;
  max-width:520px;
  height:38px;
  padding:0 10px;
  border:1px solid #d5dfe3;
  border-radius:8px;
  background:#fff;
  color:#24343c;
  font:inherit;
}

.initiative-group + .initiative-group {
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid #e5ebee;
}

.initiative-group-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:10px;
}

.initiative-group-heading h2 {
  margin:4px 0 0;
  font-size:17px;
  font-weight:650;
}

.initiative-group-heading h2 a {
  color:#173c4e;
  text-decoration:none;
}

.initiative-count,
.section-count {
  color:#7b8a91;
  font-size:11px;
  font-weight:550;
}

.initiative-list {
  display:grid;
  gap:0;
  border-top:1px solid #edf1f3;
}

.initiative-row {
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 4px;
  border-bottom:1px solid #edf1f3;
  color:inherit;
  text-decoration:none;
}

.initiative-row:hover {
  background:#f8fafb;
}

.initiative-row-main {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.initiative-row-main strong {
  color:#1d3039;
  font-size:13px;
  font-weight:600;
}

.initiative-row-main span,
.initiative-row-meta > span:not(.status) {
  color:#79888f;
  font-size:11px;
}

.initiative-row-meta {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:0 0 auto;
}

.initiative-preview-panel {
  margin-top:22px;
}

@media (max-width:760px) {
  .initiative-group-heading,
  .initiative-row,
  .initiative-row-meta {
    align-items:flex-start;
    flex-direction:column;
  }

  .initiative-row-meta {
    gap:6px;
  }

  .initiative-filter {
    align-items:stretch;
    flex-direction:column;
  }

  .initiative-filter select {
    min-width:0;
    width:100%;
  }
}

/* === Goal priority / drag ordering === */
.goal-grid--three {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.goal-sort-item {
  position:relative;
  min-width:0;
}

.goal-sort-item > .goal-card {
  height:100%;
}

.goal-sort-item .goal-card-top {
  padding-right:32px;
}

.goal-drag-handle {
  position:absolute;
  z-index:4;
  top:12px;
  right:12px;
  width:28px;
  height:26px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #d8e1e5;
  border-radius:7px;
  background:rgba(255,255,255,.94);
  color:#71838b;
  font-size:15px;
  font-weight:650;
  line-height:1;
  cursor:grab;
  box-shadow:0 1px 3px rgba(23,60,78,.04);
}

.goal-drag-handle:hover {
  background:#f3f7f8;
  color:#173c4e;
  border-color:#bccbd2;
}

.goal-drag-handle:active {
  cursor:grabbing;
}

.goal-drag-handle:focus-visible {
  outline:2px solid rgba(248,170,18,.55);
  outline-offset:2px;
}

.goal-sort-item.is-dragging {
  opacity:.42;
}

[data-goal-sortable].is-saving {
  cursor:progress;
}

.sort-hint {
  margin:6px 0 0;
  color:#829097;
  font-size:11px;
  line-height:1.4;
}

.goal-sort-item--planning .planning-overview-card {
  margin:0;
  padding-left:56px;
}

.goal-drag-handle--planning {
  left:14px;
  right:auto;
  top:16px;
}

.sort-toast {
  position:fixed;
  z-index:9999;
  right:22px;
  bottom:22px;
  max-width:360px;
  padding:10px 14px;
  border-radius:9px;
  background:#173c4e;
  color:#fff;
  font-size:12px;
  font-weight:600;
  box-shadow:0 10px 30px rgba(23,60,78,.22);
}

.sort-toast.is-error {
  background:#9a3025;
}

@media (max-width:980px) {
  .goal-grid--three {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:820px) {
  .goal-grid--three {
    grid-template-columns:1fr;
  }
}

/* === Overview key goals: list variant 2 === */
.overview-goal-list {
  display:grid;
  gap:0;
  border:1px solid #e1e8eb;
  border-radius:11px;
  overflow:hidden;
  background:#fff;
}

.overview-goal-row {
  position:relative;
  min-width:0;
  border-bottom:1px solid #edf1f3;
  background:#fff;
  transition:background .15s ease, opacity .15s ease;
}

.overview-goal-row:last-child {
  border-bottom:0;
}

.overview-goal-row:hover {
  background:#f9fbfc;
}

.overview-goal-link {
  min-height:76px;
  display:grid;
  grid-template-columns:minmax(250px,1.65fr) minmax(150px,.95fr) minmax(105px,.65fr) minmax(105px,.65fr) minmax(170px,.95fr) minmax(120px,.7fr);
  align-items:center;
  gap:18px;
  padding:12px 16px 12px 44px;
  color:inherit;
  text-decoration:none;
}

.overview-goal-identity {
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}

.overview-goal-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:10px;
  background:#e9f3ff;
  color:#2684e8;
  font-size:15px;
  font-weight:750;
}

.overview-goal-icon.is-green {
  background:#e8f7ef;
  color:#2ea766;
}

.overview-goal-icon.is-orange {
  background:#fff2dc;
  color:#dd8b12;
}

.overview-goal-icon.is-red {
  background:#fdebea;
  color:#e24a43;
}

.overview-goal-copy {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.overview-goal-copy strong {
  overflow:hidden;
  color:#1e323b;
  font-size:13px;
  font-weight:650;
  line-height:1.28;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.overview-goal-copy span {
  overflow:hidden;
  color:#849198;
  font-size:10.5px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.overview-goal-progress {
  min-width:0;
}

.overview-progress-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}

.overview-progress-head span,
.overview-goal-metric span,
.overview-goal-period span {
  color:#85939a;
  font-size:10px;
  font-weight:500;
}

.overview-progress-head strong {
  color:#183d4f;
  font-size:12px;
  font-weight:650;
}

.overview-goal-metric,
.overview-goal-period {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.overview-goal-metric strong,
.overview-goal-period strong {
  overflow:hidden;
  color:#263943;
  font-size:11.5px;
  font-weight:600;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.overview-goal-status {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.overview-row-arrow {
  color:#809099;
  font-size:20px;
  font-weight:400;
  line-height:1;
}

.goal-drag-handle--row {
  top:50%;
  right:auto;
  left:8px;
  width:26px;
  height:28px;
  transform:translateY(-50%);
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}

.goal-drag-handle--row:hover {
  background:#eef3f5;
  border-color:#d8e1e5;
}

.overview-goal-row.is-dragging {
  background:#eef4f6;
}

@media (max-width:1350px) {
  .overview-goal-link {
    grid-template-columns:minmax(230px,1.5fr) minmax(140px,.9fr) minmax(100px,.6fr) minmax(100px,.6fr) minmax(120px,.75fr);
  }

  .overview-goal-period {
    display:none;
  }
}

@media (max-width:1100px) {
  .overview-goal-link {
    grid-template-columns:minmax(220px,1.4fr) minmax(140px,.9fr) minmax(100px,.65fr) minmax(110px,.7fr);
  }

  .overview-goal-metric:nth-of-type(4) {
    display:none;
  }
}

@media (max-width:760px) {
  .overview-goal-link {
    grid-template-columns:1fr;
    gap:10px;
    padding:13px 14px 13px 44px;
  }

  .overview-goal-progress,
  .overview-goal-metric,
  .overview-goal-period {
    display:block;
  }

  .overview-goal-period span,
  .overview-goal-metric span {
    margin-right:8px;
  }

  .overview-goal-status {
    justify-content:flex-start;
  }
}

/* === Overview key goals — compact list matching approved mockup === */
.compact-goals-panel {
  padding:14px 14px 10px;
}

.compact-goals-heading {
  margin-bottom:8px;
}

.compact-goals-title {
  display:flex;
  align-items:center;
  gap:8px;
}

.compact-goals-title h2 {
  margin:0;
  font-size:16px;
  font-weight:650;
}

.compact-goals-count {
  padding:3px 7px;
  border-radius:999px;
  background:#eef3f5;
  color:#65777f;
  font-size:10px;
  font-weight:600;
}

.compact-goals-list {
  display:grid;
  gap:0;
  overflow:hidden;
  border:1px solid #e2e9ec;
  border-radius:10px;
  background:#fff;
}

.compact-goal-row {
  position:relative;
  min-width:0;
  border-bottom:1px solid #edf1f3;
  background:#fff;
}

.compact-goal-row:last-child {
  border-bottom:0;
}

.compact-goal-row:hover {
  background:#f9fbfc;
}

.compact-goal-link {
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(250px,1.8fr) minmax(120px,.85fr) minmax(86px,.55fr) minmax(86px,.55fr) minmax(95px,.62fr) minmax(105px,.72fr) 14px;
  align-items:center;
  gap:12px;
  padding:7px 10px 7px 34px;
  color:inherit;
  text-decoration:none;
}

.compact-goal-main {
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}

.compact-goal-icon {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 30px;
  border-radius:8px;
  background:#e9f3ff;
  color:#2684e8;
  font-size:12px;
  font-weight:750;
}

.compact-goal-icon.status-icon-on_track,
.compact-goal-icon.status-icon-done {
  background:#e9f8f0;
  color:#2ca668;
}

.compact-goal-icon.status-icon-at_risk {
  background:#fff4df;
  color:#df8a10;
}

.compact-goal-icon.status-icon-behind {
  background:#fdeceb;
  color:#df4b43;
}

.compact-goal-copy {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.compact-goal-copy strong {
  overflow:hidden;
  color:#20343e;
  font-size:11.5px;
  font-weight:650;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.compact-goal-copy span {
  overflow:hidden;
  color:#819097;
  font-size:9.5px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.compact-goal-progress {
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(55px,1fr);
  align-items:center;
  gap:7px;
}

.compact-goal-progress > strong {
  color:#263c46;
  font-size:11px;
  font-weight:650;
}

.compact-progress-track {
  height:6px;
}

.compact-progress-track .progress-fill {
  background:#278bd8;
}

.compact-progress-track .status-fill-on_track,
.compact-progress-track .status-fill-done {
  background:#2db875;
}

.compact-progress-track .status-fill-at_risk {
  background:#f1ab22;
}

.compact-progress-track .status-fill-behind {
  background:#ef5450;
}

.compact-goal-metric,
.compact-goal-dynamics {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.compact-goal-metric span,
.compact-goal-dynamics span {
  color:#8a989f;
  font-size:8.5px;
  font-weight:500;
  line-height:1.15;
}

.compact-goal-metric strong,
.compact-goal-dynamics strong {
  overflow:hidden;
  color:#263b45;
  font-size:10.5px;
  font-weight:620;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.compact-goal-dynamics strong {
  color:#839198;
}

.compact-goal-status {
  display:flex;
  justify-content:flex-end;
}

.compact-goal-status .status {
  white-space:nowrap;
  font-size:9.5px;
}

.compact-goal-arrow {
  color:#788a92;
  font-size:17px;
  line-height:1;
  text-align:right;
}

.compact-goal-drag {
  position:absolute;
  z-index:3;
  top:50%;
  left:6px;
  width:23px;
  height:25px;
  margin:0;
  padding:0;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#a2afb5;
  font-size:13px;
  cursor:grab;
}

.compact-goal-drag:hover {
  background:#eef3f5;
  color:#56707b;
}

.compact-goal-drag:active {
  cursor:grabbing;
}

.compact-goal-row.is-dragging {
  opacity:.45;
  background:#eef4f6;
}

@media (max-width:1350px) {
  .compact-goal-link {
    grid-template-columns:minmax(220px,1.6fr) minmax(110px,.8fr) minmax(82px,.55fr) minmax(82px,.55fr) minmax(100px,.65fr) 14px;
  }

  .compact-goal-dynamics {
    display:none;
  }
}

@media (max-width:1080px) {
  .compact-goal-link {
    grid-template-columns:minmax(210px,1.5fr) minmax(105px,.8fr) minmax(82px,.55fr) minmax(100px,.65fr) 14px;
  }

  .compact-goal-metric:nth-of-type(4) {
    display:none;
  }
}

@media (max-width:760px) {
  .compact-goal-link {
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 12px 10px 36px;
  }

  .compact-goal-progress {
    grid-template-columns:36px 1fr;
  }

  .compact-goal-metric,
  .compact-goal-dynamics {
    display:flex;
  }

  .compact-goal-status {
    justify-content:flex-start;
  }

  .compact-goal-arrow {
    display:none;
  }
}

/* === Overview average progress card === */
.dashboard-stats {
  grid-template-columns:repeat(4,minmax(0,1fr)) minmax(250px,1.25fr);
}

.average-progress-card {
  gap:16px;
  padding:16px 18px;
}

.average-progress-card > .average-progress-ring {
  position:relative;
  width:70px;
  height:70px;
  flex:0 0 70px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    conic-gradient(
      from 225deg,
      #173c4e 0deg,
      #2f95c3 calc(var(--progress) * 3.6deg),
      #dfe7eb calc(var(--progress) * 3.6deg),
      #dfe7eb 360deg
    );
}

.average-progress-card > .average-progress-ring::after {
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:#fff;
}

.average-progress-ring span {
  position:relative;
  z-index:1;
  color:#173c4e !important;
  font-size:21px !important;
  font-weight:700;
  line-height:1;
}

.average-progress-card > .average-progress-copy {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.average-progress-copy > strong {
  color:#17242b;
  font-size:15px;
  font-weight:650;
  line-height:1.2;
}

.average-progress-copy > span {
  color:#7c8b92 !important;
  font-size:11px !important;
}

.average-progress-delta {
  display:grid !important;
  grid-template-columns:auto 1fr;
  align-items:baseline;
  gap:6px !important;
  margin-top:5px;
}

.average-progress-delta b {
  color:#9aa8ae;
  font-size:15px;
  font-weight:650;
}

.average-progress-delta small {
  color:#94a0a6;
  font-size:9.5px;
  line-height:1.2;
}

@media (max-width:1380px) {
  .dashboard-stats {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .average-progress-card {
    grid-column:span 2;
  }
}

@media (max-width:1180px) {
  .dashboard-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .average-progress-card {
    grid-column:auto;
  }
}

@media (max-width:520px) {
  .dashboard-stats {
    grid-template-columns:1fr;
  }
}

/* === Overview shipment plan/fact block === */
.shipment-overview {
  margin-top:16px;
  display:grid;
  grid-template-columns:minmax(0,2.15fr) minmax(300px,.85fr);
  gap:18px;
  padding:18px;
}

.shipment-chart-pane {
  min-width:0;
}

.shipment-chart-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}

.shipment-chart-header h2 {
  margin:0;
  color:#1c313b;
  font-size:17px;
  font-weight:650;
  line-height:1.25;
}

.shipment-chart-header h2 span {
  color:#52666f;
  font-weight:500;
}

.shipment-chart-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}

.shipment-year-select {
  min-width:150px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 12px;
  border:1px solid #d9e3e7;
  border-radius:8px;
  background:#fff;
  color:#2b404a;
  font-size:12px;
  font-weight:600;
}

.shipment-legend {
  display:flex;
  align-items:center;
  gap:14px;
  color:#687a82;
  font-size:10.5px;
}

.shipment-legend > span {
  display:flex;
  align-items:center;
  gap:5px;
}

.shipment-legend .is-muted {
  color:#9aa7ad;
}

.legend-dot {
  width:9px;
  height:9px;
  display:inline-block;
  border-radius:50%;
}

.legend-plan {
  background:#94c9f5;
}

.legend-fact {
  background:#2f8fe6;
}

.legend-line {
  width:20px;
  height:0;
  display:inline-block;
  border-top:2px dashed #9fcaf2;
}

.quarter-chart {
  min-height:270px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
}

.chart-y-axis {
  height:210px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding-top:1px;
  color:#86959c;
  font-size:9.5px;
  text-align:right;
}

.chart-plot {
  position:relative;
  min-width:0;
  height:270px;
}

.chart-grid-line {
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background:#e7edf0;
}

.chart-grid-line.line-100 { top:0; }
.chart-grid-line.line-75 { top:52.5px; }
.chart-grid-line.line-50 { top:105px; }
.chart-grid-line.line-25 { top:157.5px; }
.chart-grid-line.line-0 { top:210px; }

.quarter-columns {
  position:absolute;
  inset:0 0 0 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.quarter-group {
  min-width:0;
  display:grid;
  grid-template-rows:210px auto auto auto;
  align-items:end;
  justify-items:center;
}

.quarter-bars {
  width:100%;
  height:210px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:5px;
  padding:0 8%;
}

.bar-wrap {
  position:relative;
  width:34%;
  max-width:54px;
  height:100%;
  display:flex;
  align-items:flex-end;
}

.quarter-bar {
  width:100%;
  min-height:0;
  border-radius:5px 5px 1px 1px;
}

.bar-plan {
  background:linear-gradient(180deg,#b8daf7,#83bde9);
}

.bar-fact {
  background:linear-gradient(180deg,#4aa3f0,#287fd6);
  box-shadow:inset 0 0 0 1px rgba(18,90,162,.08);
}

.bar-empty {
  height:2px;
  background:#dfe7ea;
}

.bar-value {
  position:absolute;
  left:50%;
  bottom:calc(var(--bar-height, 0%) + 6px);
  transform:translateX(-50%);
  color:#2a414c;
  font-size:10px;
  font-weight:650;
  white-space:nowrap;
}

.bar-wrap .bar-value {
  bottom:auto;
  top:auto;
  margin-bottom:calc(100% + 4px);
}

.bar-wrap {
  flex-direction:column;
  justify-content:flex-end;
}

.bar-wrap .bar-value {
  position:static;
  margin:0 0 4px;
  transform:none;
  align-self:center;
}

.bar-value.is-empty {
  color:#a7b3b8;
}

.quarter-label {
  margin-top:8px;
  color:#263b45;
  font-size:11.5px;
  font-weight:650;
  line-height:1;
}

.quarter-name {
  margin-top:4px;
  color:#87959b;
  font-size:9.5px;
  text-align:center;
  white-space:nowrap;
}

.quarter-warning {
  margin-top:4px;
  color:#b27618;
  font-size:8.5px;
  line-height:1.1;
  text-align:center;
}

.shipment-summary {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  border-radius:10px;
  background:linear-gradient(180deg,#f7fbfd,#f2f7f9);
  border:1px solid #e3ecef;
}

.shipment-summary-top h3 {
  margin:0 0 16px;
  color:#1b303a;
  font-size:16px;
  font-weight:650;
}

.summary-line {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:10px 0;
}

.summary-line span {
  color:#71828a;
  font-size:11px;
}

.summary-line strong {
  color:#173c4e;
  font-size:12.5px;
  font-weight:650;
  text-align:right;
}

.summary-line strong.is-green {
  color:#23a764;
}

.summary-progress-row {
  margin:12px 0;
}

.summary-progress-track {
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#dfeee6;
}

.summary-progress-track > span {
  display:block;
  height:100%;
  max-width:100%;
  border-radius:inherit;
  background:#24b46d;
}

.shipment-forecast-card {
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border-radius:9px;
  background:linear-gradient(135deg,#f1faf4,#eef8f2);
  border:1px solid #dfeee5;
}

.forecast-icon {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  border-radius:50%;
  background:#e1f5e8;
  color:#27a864;
  font-size:17px;
  font-weight:700;
}

.shipment-forecast-card > div:last-child {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.shipment-forecast-card span {
  color:#708189;
  font-size:10.5px;
}

.shipment-forecast-card strong {
  color:#173c4e;
  font-size:19px;
  font-weight:650;
  line-height:1;
}

.shipment-forecast-card small {
  color:#8a999f;
  font-size:9px;
  line-height:1.25;
}

@media (max-width:1180px) {
  .shipment-overview {
    grid-template-columns:1fr;
  }

  .shipment-summary {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
  }
}

@media (max-width:760px) {
  .shipment-overview {
    padding:14px;
  }

  .shipment-chart-header {
    flex-direction:column;
  }

  .shipment-chart-actions {
    align-items:flex-start;
  }

  .shipment-legend {
    flex-wrap:wrap;
  }

  .quarter-columns {
    gap:8px;
  }

  .quarter-bars {
    padding:0 3%;
  }

  .quarter-name {
    white-space:normal;
  }

  .shipment-summary {
    grid-template-columns:1fr;
  }
}

/* === Dashboard attention block === */
.risk-watch-panel {
  min-width:0;
  padding:14px 14px 10px;
}

.risk-watch-heading {
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #e8eef1;
}

.risk-watch-title {
  display:flex;
  align-items:center;
  gap:8px;
}

.risk-watch-title h2 {
  margin:0;
  color:#1d313b;
  font-size:16px;
  font-weight:650;
}

.risk-watch-title > span {
  min-width:27px;
  height:24px;
  padding:0 8px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#edf2f4;
  color:#60717a;
  font-size:11px;
  font-weight:650;
}

.risk-watch-list {
  display:grid;
}

.risk-watch-item {
  min-height:112px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 14px;
  align-items:center;
  gap:10px;
  padding:13px 2px;
  border-bottom:1px solid #edf1f3;
  color:inherit;
  text-decoration:none;
}

.risk-watch-item:last-child {
  border-bottom:0;
}

.risk-watch-item:hover {
  background:#fafcfd;
}

.risk-watch-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff1df;
  color:#e38b12;
  font-size:15px;
  font-weight:750;
}

.risk-watch-icon--behind {
  background:#fdeceb;
  color:#e24a43;
}

.risk-watch-icon--at_risk {
  background:#fff2df;
  color:#e29017;
}

.risk-watch-content {
  min-width:0;
}

.risk-watch-name-row {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.risk-watch-name-row > strong {
  min-width:0;
  flex:1;
  overflow:hidden;
  color:#21343e;
  font-size:12.5px;
  font-weight:650;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.risk-watch-name-row .status {
  flex:0 0 auto;
  font-size:9.5px;
}

.risk-watch-progress-row {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:7px;
  margin-top:7px;
}

.risk-watch-progress-row > strong {
  color:#233842;
  font-size:11px;
  font-weight:650;
}

.risk-watch-track {
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eff2;
}

.risk-watch-fill {
  display:block;
  height:100%;
  border-radius:inherit;
  background:#f0a825;
}

.risk-watch-fill--behind {
  background:#ef5150;
}

.risk-watch-fill--at_risk {
  background:#f1a820;
}

.risk-watch-content p {
  margin:6px 0 0;
  color:#849198;
  font-size:10.5px;
  line-height:1.35;
}

.risk-watch-arrow {
  color:#607681;
  font-size:21px;
  font-weight:400;
  line-height:1;
}

.risk-watch-empty {
  min-height:120px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#7e8d94;
  text-align:center;
}

.risk-watch-empty span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf7ef;
  color:#2ca469;
  font-weight:700;
}

.risk-watch-empty p {
  margin:0;
  font-size:11px;
}

@media (max-width:1180px) {
  .risk-watch-item {
    min-height:96px;
  }
}

/* Strategic year selector (year stored in user session). */
.strategy-year-form {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 12px 0 0 !important;
}
.strategy-year-form label { margin:0; color:#66757c; font-size:12px; font-weight:750; }
.strategy-year-form select {
  width:auto;
  min-width:90px;
  height:36px;
  border:1px solid #ccd9df;
  border-radius:7px;
  padding:0 9px;
  color:#173c4e;
  background:#fff;
  font:inherit;
  font-weight:750;
}
.strategy-year-form button {
  width:auto;
  height:36px;
  margin:0;
  padding:0 11px;
  border-radius:7px;
  background:#f8aa12;
  color:#173c4e;
  font-size:12px;
  font-weight:800;
}
@media (max-width:520px) {
  .strategy-year-form { margin-right:4px !important; }
  .strategy-year-form label { display:none; }
  .strategy-year-form select { min-width:75px; }
  .strategy-year-form button { padding:0 7px; font-size:11px; }
}

/* Temporary document-faithful 11-step planning register. */
.document-plans-panel { margin-bottom:24px; }
.document-plan-list { display:grid; grid-template-columns:1fr; gap:0; }
.document-plan-item {
  display:flex; align-items:center; gap:16px; padding:15px 12px;
  color:inherit; text-decoration:none; border-top:1px solid #e5ebee;
  transition:background .15s ease;
}
.document-plan-item:hover { background:#f5f8f9; }
.document-plan-number {
  flex:0 0 42px; width:42px; height:42px; border-radius:10px;
  background:#eaf0f3; color:#173c4e; font-size:16px; font-weight:850;
  display:grid; place-items:center;
}
.document-plan-copy { flex:1; display:flex; flex-direction:column; gap:5px; }
.document-plan-copy strong { color:#173c4e; font-size:15px; }
.document-plan-copy span { color:#71818a; font-size:12px; }
.document-plan-arrow { color:#a2b0b8; font-size:24px; }
.strategy-mission { margin-bottom:20px; padding:18px 24px; border-left:4px solid #f8aa12; }
.strategy-mission .eyebrow { margin:0 0 8px; }
.strategy-mission strong { color:#173c4e; font-size:19px; }
@media (max-width:520px) {
  .document-plan-item { gap:10px; padding:12px 2px; }
  .document-plan-number { flex-basis:34px; width:34px; height:34px; }
  .document-plan-copy strong { font-size:13px; }
}


/* Goal detail: execution volumes are separate from outcome KPI cards. */
.goal-execution-summary {
  margin:8px 0 20px;
}
.goal-execution-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:12px;
}
.goal-execution-heading .eyebrow {
  margin:0 0 4px;
}
.goal-execution-heading h2 {
  margin:0;
  font-size:17px;
  line-height:1.25;
  color:#173c4e;
  font-weight:780;
}
.goal-execution-heading .button-link {
  min-height:36px;
  padding:9px 13px;
  font-size:12px;
}
.goal-execution-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.goal-execution-link {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:14px;
  padding:15px 17px 14px;
  border:1px solid #dfe7ea;
  border-left:3px solid #f8aa12;
  border-radius:11px;
  background:#fff;
  color:#173c4e;
  text-decoration:none;
  box-shadow:0 2px 10px rgba(23,60,78,.025);
  transition:background .15s, border-color .15s, box-shadow .15s;
}
.goal-execution-link:hover,
.goal-execution-link:focus-visible {
  background:#f8fafb;
  border-color:#d1dee4;
  border-left-color:#ed9e10;
  box-shadow:0 5px 16px rgba(23,60,78,.075);
}
.goal-execution-link__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.goal-execution-link__name {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  font-size:13px;
  font-weight:780;
}
.goal-execution-link__symbol {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:8px;
  background:#eaf1f4;
  font-size:17px;
  color:#173c4e;
}
.goal-execution-link__arrow {
  font-size:17px;
  color:#8ea3ae;
}
.goal-execution-link__numbers {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.goal-execution-link__numbers > span {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.goal-execution-link__numbers strong {
  font-size:clamp(22px,2vw,27px);
  line-height:1.1;
  font-weight:810;
  font-variant-numeric:tabular-nums;
  color:#173c4e;
}
.goal-execution-link__numbers strong.goal-execution-link__done { color:#2b8261; }
.goal-execution-link__numbers small {
  font-size:10px;
  color:#81939b;
}
@media(max-width:800px) {
  .goal-execution-grid { gap:8px; }
  .goal-execution-link { padding:12px; gap:11px; }
  .goal-execution-link__name { font-size:12px; }
  .goal-execution-link__numbers strong { font-size:22px; }
}
@media(max-width:620px) {
  .goal-execution-heading h2 { font-size:15px; }
  .goal-execution-grid { grid-template-columns:1fr; }
  .goal-execution-link { padding:11px 14px; gap:10px; }
  .goal-execution-link__numbers { display:flex; gap:30px; }
}
/* Goal detail: four independent, responsive KPI cards (2026 redesign). */
.goal-metrics-cards {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:8px 0 22px;
}
.goal-metric-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  min-height:154px;
  padding:18px 19px 16px;
  background:#fff;
  border:1px solid #dee6e9;
  border-radius:15px;
  box-shadow:0 3px 13px rgba(23,60,78,.035);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.goal-metric-card:hover {
  transform:translateY(-2px);
  box-shadow:0 9px 23px rgba(23,60,78,.085);
  border-color:#cbd9df;
}
.goal-metric-card__top {
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
}
.goal-metric-card__icon {
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#ecf3fb;
  color:#3578c8;
}
.goal-metric-card__icon svg {
  display:block;
  width:22px;
  height:22px;
}
.goal-metric-card--fact .goal-metric-card__icon {
  background:#e8f6ee;
  color:#279267;
}
.goal-metric-card--progress .goal-metric-card__icon {
  background:#fff4db;
  color:#b67710;
}
.goal-metric-card--status .goal-metric-card__icon {
  background:#edf1f4;
  color:#61717b;
}
.goal-metric-card--status-at_risk .goal-metric-card__icon {
  background:#fff3dc;
  color:#ac7619;
}
.goal-metric-card--status-behind .goal-metric-card__icon {
  background:#ffedea;
  color:#c94b3b;
}
.goal-metric-card--status-on_track .goal-metric-card__icon,
.goal-metric-card--status-done .goal-metric-card__icon {
  background:#e8f6ee;
  color:#2e8f63;
}
.goal-metric-card__label {
  color:#788993;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:750;
}
.goal-metric-card__value {
  display:block;
  min-width:0;
  margin-top:1px;
  color:#173c4e;
  font-size:clamp(17px,1.48vw,23px);
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.22;
  overflow-wrap:anywhere;
  font-variant-numeric:tabular-nums;
}
.goal-metric-card__unit {
  font-size:.75em;
  font-weight:650;
  color:#536972;
  letter-spacing:0;
  white-space:nowrap;
}
.goal-metric-card__footnote {
  display:block;
  margin-top:auto;
  color:#86959d;
  font-size:11px;
  line-height:1.35;
}
.goal-metric-card__progress {
  width:100%;
  height:7px;
  flex:0 0 7px;
  overflow:hidden;
  border-radius:999px;
  background:#edf1f3;
}
.goal-metric-card__progress > span {
  display:block;
  height:100%;
  border-radius:inherit;
  background:#efa626;
}
.goal-metric-card__status-value {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  max-width:100%;
  border-radius:9px;
  padding:6px 11px;
  font-size:clamp(13px,1.15vw,16px);
  line-height:1.2;
  letter-spacing:0;
  background:#edf1f4;
  color:#536873;
}
.goal-metric-card--status-at_risk .goal-metric-card__status-value {
  background:#fff3dc;
  color:#8f640b;
}
.goal-metric-card--status-behind .goal-metric-card__status-value {
  background:#ffedea;
  color:#b63f32;
}
.goal-metric-card--status-on_track .goal-metric-card__status-value,
.goal-metric-card--status-done .goal-metric-card__status-value {
  background:#e8f6ee;
  color:#247650;
}
@media (max-width:1140px) {
  .goal-metrics-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .goal-metric-card__value { font-size:21px; }
}
@media (max-width:600px) {
  .goal-metrics-cards { grid-template-columns:minmax(0,1fr); gap:11px; }
  .goal-metric-card { min-height:128px; padding:16px; gap:10px; }
  .goal-metric-card__value { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .goal-metric-card { transition:none; }
  .goal-metric-card:hover { transform:none; }
}

/* Compact goal description: height follows the actual text, footer stays below it. */
.goal-description-panel {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  min-height:0;
  padding:17px 22px 13px;
}
.goal-description-panel h2 {
  margin:0 0 10px;
  color:var(--brand);
  font-size:16px;
  font-weight:750;
  line-height:1.3;
}
.goal-description-text {
  font-size:14px;
  line-height:1.55;
  color:#283b45;
  white-space:normal;
  overflow-wrap:anywhere;
}
.goal-description-footer {
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
  margin-top:15px;
  padding-top:10px;
  border-top:1px solid #eef1f3;
  text-align:right;
  line-height:1.35;
  font-size:11px;
  color:#80919a;
}
.goal-description-footer strong {
  color:#536a76;
  font-size:11px;
  font-weight:700;
}
@media (max-width:600px) {
  .goal-description-panel { padding:15px 16px 12px; }
  .goal-description-footer { justify-content:flex-start; text-align:left; }
}

/* Sidebar future action: keep position and button form without enabling task creation. */
.sidebar-create.sidebar-create--disabled {
  width:calc(100% - 8px);
  background:#d9b86e;
  color:#4f5660;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:none;
  cursor:not-allowed;
  opacity:.76;
  font-family:inherit;
  font-size:13px;
  font-weight:700;
}
.sidebar-create.sidebar-create--disabled:hover {
  filter:none;
  transform:none;
}
.sidebar-create.sidebar-create--disabled:focus-visible {
  outline:2px solid rgba(255,255,255,.85);
  outline-offset:2px;
}

/* Goal header actions: compact primary button and reversible archiving. */
.goal-create-action {
  min-width:148px;
  min-height:45px;
  padding:11px 18px;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}
.goal-detail-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
}
.goal-detail-actions form { margin:0; }
.goal-detail-actions .button-link.secondary {
  min-height:36px;
  padding:8px 12px;
  font-size:12.5px;
}
.goal-archive-action,
.archive-goal-restore button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:36px;
  margin:0;
  padding:7px 12px;
  border:1px solid #d5e0e5;
  border-radius:8px;
  background:#f6f8f9;
  color:#596e79;
  font-size:12.5px;
  font-weight:650;
  box-shadow:none;
}
.goal-archive-action:hover,
.archive-goal-restore button:hover {
  background:#e8eff2;
  color:#173c4e;
}
.goal-archive-indicator {
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:8px;
  color:#60717a;
  background:#eef2f4;
  font-size:12px;
  font-weight:700;
}
.archive-goal-item {
  display:flex;
  min-width:0;
  flex-direction:column;
  border:1px solid #dce2e5;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.archive-goal-item .goal-card {
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.archive-goal-restore {
  display:flex;
  justify-content:flex-end;
  margin:0;
  padding:0 16px 14px;
}
/* The year choice is a utility action, not a primary CTA. */
.strategy-year-form button {
  background:#e9eef1;
  color:#556a76;
  border:1px solid #d4dee3;
  box-shadow:none;
  font-size:12px;
  font-weight:650;
}
.strategy-year-form button:hover {
  background:#dfe7eb;
  color:#173c4e;
}
.strategy-year-form button:focus-visible {
  outline:2px solid #9cb2bd;
  outline-offset:2px;
}
@media (max-width:760px) {
  .goal-detail-actions { justify-content:flex-start; }
  .goal-create-action { min-height:45px; }
}


/* Goal editor / desktop CRM workspace. Changes only this form, not other forms. */
.app-content.content-goal-editor {
  max-width:1420px;
  padding-top:22px;
}
.goal-editor-heading {
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}
.goal-editor-heading h1 { margin:2px 0 3px; }
.goal-editor-heading .muted {
  margin:3px 0 0;
  color:#7a8992;
  font-size:12px;
}
.goal-editor-back {
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #d9e3e7;
  border-radius:9px;
  background:#fff;
  color:#536d7a;
  text-decoration:none;
  font-size:12px;
  font-weight:650;
}
.goal-editor-back:hover { background:#f8fafb; border-color:#bbcdd5; }
.app-content .goal-editor-panel {
  padding:22px 26px 16px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 9px 30px rgba(23,60,78,.045);
}
.goal-form.goal-editor-form {
  display:block;
}
.goal-editor-section-label {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  color:#60747e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.goal-editor-section-label--second {
  margin-top:19px;
  padding-top:15px;
  border-top:1px solid #edf0f2;
}
.goal-editor-section-dot {
  display:inline-block;
  flex:0 0 7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f8aa12;
}
.goal-editor-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:16px;
  row-gap:13px;
  align-items:start;
}
.goal-editor-grid .goal-editor-field {
  min-width:0;
  margin:0;
}
.goal-editor-title,
.goal-editor-description { grid-column:span 8; }
.goal-editor-owner,
.goal-editor-comment { grid-column:span 4; }
.goal-editor-quarter { grid-column:span 3; }
.goal-editor-third { grid-column:span 4; }
.goal-editor-field label {
  display:block;
  margin:0 0 6px;
  color:#334853;
  font-size:12px;
  font-weight:690;
  line-height:1.3;
}
.goal-field-required { color:#d4940c; font-weight:800; }
.goal-editor-form .goal-editor-field :is(input,select,textarea) {
  width:100%;
  min-width:0;
  height:39px;
  margin:0;
  padding:8px 11px;
  border:1px solid #d5e0e5;
  border-radius:9px;
  background:#fbfcfd;
  color:#213742;
  font:inherit;
  font-size:13px;
  line-height:1.4;
  box-shadow:0 1px 0 rgba(20,57,75,.025);
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.goal-editor-form .goal-editor-field select { padding-right:26px; cursor:pointer; }
.goal-editor-form .goal-editor-field textarea {
  min-height:70px;
  height:70px;
  max-height:260px;
  resize:vertical;
  padding-top:9px;
}
.goal-editor-form .goal-editor-field :is(input,select,textarea):focus {
  outline:none;
  border-color:#d99b1b;
  background:#fff;
  box-shadow:0 0 0 3px rgba(248,170,18,.13);
}
.goal-editor-help {
  display:block;
  margin-top:4px;
  color:#819098;
  font-size:11px;
}
.goal-editor-form .field-errors { margin:5px 0 0; font-size:11px; }
.goal-editor-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:19px;
  padding-top:14px;
  border-top:1px solid #edf0f2;
}
.goal-editor-required-note {
  color:#8c9aa2;
  font-size:11px;
}
.goal-editor-actions { display:flex; align-items:center; gap:10px; }
.goal-editor-cancel {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:39px;
  padding:8px 15px;
  border:1px solid #dce5e9;
  border-radius:9px;
  color:#556d78;
  background:#f7f9fa;
  text-decoration:none;
  font-size:12.5px;
  font-weight:650;
}
.goal-editor-cancel:hover { background:#ebf0f3; }
.goal-editor-actions button {
  width:auto;
  min-width:143px;
  min-height:39px;
  margin:0;
  padding:8px 16px;
  border-radius:9px;
  font-size:12.5px;
  font-weight:750;
}
@media (max-width:1180px) {
  .goal-editor-grid { column-gap:12px; }
  .goal-editor-quarter { grid-column:span 6; }
  .goal-editor-third { grid-column:span 4; }
}
@media (max-width:700px) {
  .app-content.content-goal-editor { padding-top:17px; }
  .goal-editor-heading { align-items:flex-start; }
  .app-content .goal-editor-panel { padding:18px 16px; }
  .goal-editor-grid { column-gap:12px; row-gap:13px; }
  .goal-editor-title,
  .goal-editor-owner,
  .goal-editor-description,
  .goal-editor-comment,
  .goal-editor-quarter,
  .goal-editor-third { grid-column:span 12; }
  .goal-editor-section-label--second { margin-top:18px; }
  .goal-editor-footer { flex-wrap:wrap; }
  .goal-editor-required-note { flex-basis:100%; }
  .goal-editor-actions { width:100%; justify-content:flex-end; }
}
@media (prefers-reduced-motion:reduce) {
  .goal-editor-form .goal-editor-field :is(input,select,textarea) { transition:none; }
}

/* KPI history: explicit column labels, compact actions and mobile overflow. */
 .goal-facts-scroll {
  overflow:visible;
  margin-top:2px;
  border:1px solid #e4ebee;
  border-radius:10px;
}
 .goal-facts-table {
  width:100%;
  min-width:0;
  border-collapse:collapse;
  table-layout:fixed;
  color:#293d48;
  font-size:12.5px;
}
.goal-facts-table th,
.goal-facts-table td {
  padding:11px 13px;
  border-bottom:1px solid #e8edef;
  text-align:left;
  vertical-align:middle;
}
.goal-facts-table tr:last-child td { border-bottom:0; }
.goal-facts-table th {
  background:#f8fafb;
  color:#748691;
  font-size:10.5px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.goal-facts-table th:nth-child(1) { width:110px; }
.goal-facts-table th:nth-child(2) { width:195px; }
.goal-facts-table th:nth-child(3) { width:145px; }
.goal-facts-table th:last-child.goal-facts-actions-title { width:205px; text-align:right; padding-right:23px; }
.goal-facts-date, .goal-facts-value {
  font-weight:700;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.goal-facts-value { color:#173c4e; }
.goal-facts-comment { color:#61717b; overflow-wrap:anywhere; }
.goal-facts-table td.goal-facts-actions { white-space:nowrap; text-align:right; padding-right:23px; }
.goal-facts-actions a {
  display:inline-flex;
  padding:6px 6px;
  border-radius:7px;
  color:#345f73;
  text-decoration:none;
  font-size:11.5px;
  font-weight:650;
}
.goal-facts-actions a:hover { background:#edf3f5; }
.goal-facts-actions a.goal-facts-delete { color:#b4554b; }
.goal-facts-actions a.goal-facts-delete:hover { background:#fff0ee; }
.goal-fact-delete-panel { padding:22px; }
.goal-fact-delete-summary {
  display:grid;
  grid-template-columns:1fr 1fr 1.4fr;
  gap:12px;
  margin-bottom:17px;
}
.goal-fact-delete-summary > div {
  display:flex;
  flex-direction:column;
  gap:6px;
  border:1px solid #e3eaed;
  border-radius:9px;
  padding:12px;
  min-width:0;
  overflow-wrap:anywhere;
}
.goal-fact-delete-summary span { font-size:11px; color:#81919b; }
.goal-fact-delete-summary strong { font-size:13px; color:#173c4e; }
.goal-fact-delete-warning {
  border:1px solid #efc9a6;
  border-radius:9px;
  padding:12px 14px;
  background:#fff5e9;
  color:#8b5421;
  line-height:1.55;
}
.goal-fact-delete-actions {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:16px;
  margin-top:18px;
}
.goal-fact-delete-actions > a {
  font-size:13px;
  color:#526c77;
}
.goal-fact-delete-actions button {
  width:auto;
  margin:0;
  background:#c34e40;
  color:#fff;
  font-size:13px;
  padding:10px 16px;
}
@media (max-width:670px) {
  .goal-fact-delete-summary { grid-template-columns:1fr; }
}


/* KPI fact history: no horizontal overflow. Narrow layouts become stacked rows. */
@media (max-width:1100px) {
  .goal-facts-scroll {
    overflow:visible;
    border:0;
    border-radius:0;
  }
  .goal-facts-table,
  .goal-facts-table tbody {
    display:block;
    width:100%;
    min-width:0;
  }
  .goal-facts-table thead { display:none; }
  .goal-facts-table tbody {
    display:grid;
    gap:10px;
  }
  .goal-facts-table tbody tr {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:0 12px;
    width:100%;
    padding:9px 12px;
    border:1px solid #e3eaee;
    border-radius:10px;
    background:#fff;
  }
  .goal-facts-table tbody td {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
    padding:7px 0;
    border:0;
    white-space:normal;
    font-size:12px;
    overflow-wrap:anywhere;
  }
  .goal-facts-table tbody td::before {
    content:attr(data-label);
    margin-bottom:3px;
    color:#788a94;
    font-size:10px;
    font-weight:700;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .goal-facts-table tbody td.goal-facts-comment {
    grid-column:1/-1;
  }
  .goal-facts-table tbody td.goal-facts-actions {
    grid-column:1/-1;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    margin-top:4px;
    padding:8px 0 1px;
    border-top:1px solid #e8edef;
    text-align:right;
  }
  .goal-facts-table tbody td.goal-facts-actions::before {
    display:none;
  }
  .goal-facts-table tbody td.goal-facts-actions a {
    padding:7px 9px;
    font-size:12px;
  }
}


/* Strategy decomposition: inline goal subgoals and transferable plan rows. */
.subgoal-panel { margin-top:20px; padding:22px 24px; min-width:0; }
.subgoal-heading { margin-bottom:14px; align-items:center; flex-wrap:wrap; }
.subgoal-heading > div:first-child { flex:1; }
.subgoal-heading h2 { margin:2px 0 0; font-size:18px; }
.subgoal-hint { margin:5px 0 0; font-size:11px; color:#82929a; }
.subgoal-quick-add { position:relative; flex-shrink:0; }
.subgoal-quick-add > summary {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:38px; padding:9px 14px; border-radius:9px;
  background:#f8aa12; color:#173c4e; font-size:12px;
  font-weight:750; list-style:none; cursor:pointer; user-select:none;
}
.subgoal-quick-add > summary::-webkit-details-marker { display:none; }
.subgoal-quick-add[open] { position:static; flex-basis:100%; width:100%; }
.subgoal-quick-add[open] > summary { margin-left:auto; width:max-content; }
.subgoal-quick-form {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(130px,1fr) 158px 100px;
  align-items:end; gap:11px; padding:14px 0 2px; width:100%;
}
.subgoal-quick-form .subgoal-quick-field { min-width:0; }
.subgoal-quick-field label {
  display:block; margin:0 0 5px; color:#687b85;
  font-size:11px; font-weight:650;
}
.subgoal-quick-field :is(input,select) {
  display:block; width:100%; min-width:0; height:38px;
  border:1px solid #d5e0e5; border-radius:8px;
  padding:7px 10px; background:#fff; font-size:12px;
}
.subgoal-quick-form button {
  width:auto; height:38px; min-height:38px; margin:0; padding:6px 10px; font-size:12px;
}
.subgoal-list { border:1px solid #e3e9ec; border-radius:11px; overflow:hidden; }
.subgoal-row {
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 92px 96px 65px minmax(116px,145px);
  align-items:center; gap:12px; padding:12px 14px;
  background:#fff; border-bottom:1px solid #e9eef0;
}
.subgoal-row:last-child { border-bottom:0; }
.subgoal-row:hover { background:#fafcfd; }
.subgoal-row.is-dragging { opacity:.42; }
.subgoal-grip { cursor:grab; color:#91a2ab; font-size:18px; user-select:none; }
.subgoal-row-title { display:flex; flex-direction:column; gap:4px; min-width:0; text-decoration:none; }
.subgoal-row-title strong { color:#173c4e; font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.subgoal-row-title span { color:#84939b; font-size:10.5px; line-height:1.4; }
.subgoal-stage {
  display:inline-flex; justify-content:center; padding:5px 8px;
  border-radius:999px; background:#eef2f5; color:#5b737e; font-size:10.5px;
  font-weight:700; white-space:nowrap;
}
.subgoal-stage--planned { background:#e7f5ed; color:#23784f; }
.subgoal-progress { text-align:right; color:#526c77; font-size:11px; font-weight:700; }
.subgoal-progress--empty { color:#b3bdc2; }
.subgoal-row form { margin:0; }
.subgoal-row button.subgoal-transfer,
.goal-detail-actions button.subgoal-transfer {
  width:100%; min-height:31px; margin:0; padding:7px 8px;
  background:#edf3f6; border:1px solid #d9e3e8; border-radius:7px;
  color:#31596e; font-size:10.5px; font-weight:750;
}
.goal-detail-actions button.subgoal-transfer { width:auto; min-height:36px; padding:8px 12px; font-size:12px; }
.subgoal-row button.subgoal-transfer:hover { background:#e3edf2; }
.subgoal-open { justify-self:end; color:#647f8b; font-size:22px; text-decoration:none; }
.subgoal-empty {
  padding:19px; border:1px dashed #d5e0e5; border-radius:11px;
  text-align:center; color:#84939b; font-size:12px;
}
.subgoal-archived { margin-top:13px; color:#657983; font-size:12px; }
.subgoal-archived > summary { padding:7px 2px; cursor:pointer; }
.subgoal-archived-row { display:flex; align-items:center; justify-content:space-between; padding:7px 9px; border-bottom:1px solid #e9eef1; }
.subgoal-archived-row a { color:#365e71; }
.subgoal-archived-row form { margin:0; }
.subgoal-archived-row button { margin:0; width:auto; padding:7px 10px; background:#edf3f6; color:#415c69; font-size:11px; }

.strategic-plan-panel { margin-bottom:22px; padding:22px; }
.strategic-plan-groups { display:grid; gap:10px; }
.strategic-plan-group {
  border:1px solid #dce5e9; border-radius:11px; background:#fff; overflow:hidden;
}
.strategic-plan-group > summary {
  display:flex; align-items:center; gap:12px; min-height:60px;
  padding:13px 17px; background:#fafcfd; list-style:none;
  cursor:pointer; user-select:none;
}
.strategic-plan-group > summary::-webkit-details-marker { display:none; }
.strategic-plan-group > summary strong { flex:1; color:#173c4e; font-size:13px; line-height:1.4; }
.strategic-plan-group-icon { color:#83949b; font-size:18px; transition:transform .16s; }
.strategic-plan-group:not([open]) .strategic-plan-group-icon { transform:rotate(-90deg); }
.strategic-plan-group-count { font-size:11px; font-weight:700; border-radius:999px; padding:5px 9px; background:#edf2f4; color:#657b85; white-space:nowrap; }
.strategic-plan-children { background:#fff; border-top:1px solid #e8eef1; }
.strategic-plan-child {
  display:flex; align-items:center; gap:13px; padding:13px 19px;
  border-bottom:1px solid #eef1f3; color:inherit; text-decoration:none;
}
.strategic-plan-child:last-child { border-bottom:0; }
.strategic-plan-child:hover { background:#f7fafb; }
.strategic-plan-child-icon { color:#a0afb7; font-size:19px; }
.strategic-plan-child-copy { display:flex; min-width:0; flex:1; flex-direction:column; gap:4px; }
.strategic-plan-child-copy strong { color:#244655; font-size:12.5px; }
.strategic-plan-child-copy small { color:#85939b; font-size:10.5px; }
.strategic-plan-child-arrow { color:#8194a0; font-size:22px; }
.strategic-plan-empty { padding:18px 26px; color:#8a9ba2; font-size:11.5px; margin:0; }
.strategic-plan-legacy-caption { margin:25px 3px 14px; }
.strategic-plan-legacy-caption h2 { margin:4px 0; color:#173c4e; font-size:19px; }
.strategic-plan-legacy-caption p.muted { margin:5px 0; font-size:11.5px; }

.subgoal-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:18px; }
.subgoal-stat { display:flex; flex-direction:column; gap:12px; min-width:0; padding:18px; border:1px solid #dce6e9; border-radius:12px; background:#fff; }
.subgoal-stat span { color:#809099; text-transform:uppercase; font-size:10px; letter-spacing:.05em; }
.subgoal-stat strong { color:#173c4e; font-size:19px; overflow-wrap:anywhere; }
.subgoal-description { margin-bottom:18px; }
.subgoal-description .section-heading h2 { margin:0; }
.subgoal-detail-text { font-size:13px; line-height:1.6; }
.subgoal-detail-meta { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:18px; padding-top:13px; border-top:1px solid #e8eef0; color:#84939b; font-size:11.5px; }
.subgoal-detail-meta strong { color:#3f5e6c; }
.subgoal-facts-panel { margin-bottom:20px; }
.subgoal-edit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px 16px; }
.subgoal-edit-grid .form-field { margin:0; min-width:0; }
.subgoal-edit-grid .form-field label { margin-top:0; font-size:12px; }
.subgoal-edit-grid .form-field :is(input,select,textarea) { width:100%; min-width:0; border:1px solid #d5e0e5; border-radius:8px; padding:9px; background:#fff; font-size:13px; }
.subgoal-edit-grid .form-field.subgoal-edit-wide { grid-column:span 3; }
.subgoal-edit-grid textarea { min-height:66px; resize:vertical; }

@media (max-width:1200px) {
  .subgoal-row { grid-template-columns:15px minmax(0,1fr) 86px 91px minmax(110px,135px); gap:9px; }
  .subgoal-progress { display:none; }
}
@media (max-width:850px) {
  .subgoal-quick-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subgoal-quick-form > :first-child { grid-column:span 2; }
  .subgoal-row { grid-template-columns:15px minmax(0,1fr) auto; }
  .subgoal-row > .status, .subgoal-row > .subgoal-progress { display:none; }
  .subgoal-row form { grid-column:2/-1; }
  .subgoal-row form button.subgoal-transfer { width:auto; }
  .subgoal-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subgoal-edit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subgoal-edit-grid .form-field.subgoal-edit-wide { grid-column:span 2; }
}
@media (max-width:560px) {
  .subgoal-panel, .strategic-plan-panel { padding:16px; }
  .subgoal-heading { align-items:flex-start; flex-direction:column; }
  .subgoal-quick-add { width:100%; }
  .subgoal-quick-add > summary { width:100%; }
  .subgoal-quick-form { grid-template-columns:1fr; }
  .subgoal-quick-form > :first-child { grid-column:auto; }
  .subgoal-stat-grid, .subgoal-edit-grid { grid-template-columns:1fr; }
  .subgoal-edit-grid .form-field.subgoal-edit-wide { grid-column:auto; }
  .strategic-plan-child { flex-wrap:wrap; }
  .strategic-plan-child .status { margin-left:26px; }
}

/* Goal list: keep the task author label and name on a single line. */
.metric-row--compact > .goal-metric-author {
  grid-template-columns:max-content minmax(0,1fr);
  column-gap:10px;
}
.goal-metric-author .metric-label {
  white-space:nowrap;
}

/* A subgoal is created through its full CRM card, not an inline quick form. */
.subgoal-heading .subgoal-create-action {
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:9px;
  background:#f8aa12;
  color:#173c4e;
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
}
.subgoal-form-breadcrumbs { margin-bottom:12px; }
.subgoal-editor-panel .goal-editor-section-label { margin-bottom:12px; }
.subgoal-form-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;
  gap:12px 16px;
}
.subgoal-form-grid .form-field { min-width:0; margin:0; }
.subgoal-form-title { grid-column:span 8; }
.subgoal-form-assignee { grid-column:span 4; }
.subgoal-form-description { grid-column:span 12; }
.subgoal-form-quarter { grid-column:span 3; }
.subgoal-form-third { grid-column:span 4; }
.subgoal-editor-panel .subgoal-form-description textarea {
  height:66px;
  min-height:66px;
}
@media(max-width:1000px) {
  .subgoal-form-quarter { grid-column:span 6; }
}
@media(max-width:700px) {
  .subgoal-form-grid { gap:13px; }
  .subgoal-form-title,.subgoal-form-assignee,.subgoal-form-description,
  .subgoal-form-quarter,.subgoal-form-third { grid-column:span 12; }
  .subgoal-heading .subgoal-create-action { width:100%; }
}


/* Safe subgoal removal: explicit plan reassignment or archival. */
.subgoal-remove-panel { max-width:980px; padding:24px; }
.subgoal-remove-panel > p:first-child { color:#516773; font-size:13px; line-height:1.6; margin:0 0 18px; }
.subgoal-remove-related {
  border:1px solid #e1e9ec; border-radius:10px; overflow:hidden; margin:0 0 19px;
}
.subgoal-remove-related > strong {
  display:block; padding:12px 15px; background:#f7f9fa;
  color:#2b4958; font-size:12px;
}
.subgoal-remove-linked {
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; padding:11px 15px; border-top:1px solid #e8eef0;
  color:#344f5e; font-size:13px;
}
.subgoal-remove-option {
  display:flex; align-items:flex-start; gap:12px; cursor:pointer;
  padding:15px; border:1px solid #dbe6e9; border-radius:10px;
  background:#fff; margin:10px 0;
}
.subgoal-remove-option:hover { background:#f9fbfc; }
.subgoal-remove-option input[type=radio] {
  flex:0 0 16px; width:16px; height:16px; margin-top:2px; accent-color:#d89a11;
}
.subgoal-remove-option span { display:flex; flex-direction:column; gap:5px; }
.subgoal-remove-option strong { color:#244757; font-size:13px; }
.subgoal-remove-option small { color:#748792; font-size:11.5px; line-height:1.5; }
.subgoal-remove-destination { margin:8px 0 15px 44px; max-width:600px; }
.subgoal-remove-destination label {
  display:block; margin:0 0 7px; color:#566e7a; font-size:12px; font-weight:700;
}
.subgoal-remove-destination select {
  width:100%; max-width:100%; padding:10px; border:1px solid #d3e0e4;
  border-radius:8px; background:#fff; font-size:12px;
}
.subgoal-remove-actions {
  display:flex; align-items:center; justify-content:flex-end; gap:11px;
  margin-top:22px; padding-top:18px; border-top:1px solid #e7edf0;
}
.subgoal-remove-actions button.subgoal-remove-confirm {
  width:auto; min-height:39px; margin:0; padding:9px 15px;
  background:#ba5d4d; border-radius:8px; color:#fff;
  font-size:12px; font-weight:750;
}
.subgoal-remove-actions button.subgoal-remove-confirm:hover { background:#9f493d; }
.subgoal-move-note {
  margin:0 0 16px; padding:11px 14px;
  border:1px solid #dbe7e6; border-radius:10px;
  background:#f1f8f5; color:#355b50; font-size:12px;
}
@media(max-width:560px) {
  .subgoal-remove-panel { padding:17px; }
  .subgoal-remove-destination { margin-left:0; }
  .subgoal-remove-actions { flex-wrap:wrap; }
}


/* 2026 mobile usability: full navigation drawer, readable two-column KPIs. */
.mobile-topbar-brand,
.mobile-sidebar-close,
.mobile-nav-backdrop,
.mobile-sidebar-logout { display:none; }

@media (max-width:820px) {
  .app-layout { display:block; min-height:100vh; }
  .app-main { min-width:0; width:100%; }
  .mobile-topbar-brand {
    display:flex; align-items:center; min-width:0;
    gap:9px; flex:0 1 auto;
  }
  .mobile-topbar-name {
    display:inline-block; min-width:0; overflow:hidden;
    color:#173c4e; text-decoration:none;
    white-space:nowrap; font-weight:800;
    letter-spacing:-.02em; font-size:12px;
  }
  .mobile-topbar-name b { color:#c88910; font-weight:800; }
  .mobile-menu-toggle {
    width:40px; height:40px; min-width:40px;
    padding:10px; margin:0;
    display:flex; flex-direction:column; align-items:center;
    justify-content:center; gap:4px;
    border-radius:9px; border:1px solid #d8e2e6;
    background:#f6f9fa; color:#173c4e;
    box-shadow:none; cursor:pointer;
  }
  .mobile-menu-toggle span {
    display:block; width:18px; height:2px; flex:0 0 2px;
    border-radius:2px; background:currentColor;
  }
  .mobile-menu-toggle:focus-visible,
  .mobile-sidebar-close:focus-visible {
    outline:2px solid #f8aa12; outline-offset:2px;
  }
  .sidebar {
    position:fixed; z-index:105; inset:0 auto 0 0;
    width:min(320px,88vw); max-width:100%;
    height:100vh; height:100dvh;
    min-height:0; padding:17px 15px 20px;
    transform:translateX(-104%);
    visibility:hidden;
    box-shadow:12px 0 40px rgba(6,23,33,.24);
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    transition:transform .22s ease,visibility .22s;
  }
  .mobile-nav-open .sidebar {
    transform:translateX(0); visibility:visible;
  }
  .mobile-sidebar-close {
    display:grid; place-items:center;
    position:absolute; right:15px; top:15px;
    width:36px; height:36px; padding:0; margin:0;
    border:1px solid rgba(255,255,255,.22);
    border-radius:9px; background:rgba(255,255,255,.1);
    color:#fff; font-size:25px; font-weight:400;
    line-height:1; cursor:pointer;
  }
  .sidebar-brand { padding-right:44px; min-height:68px; padding-bottom:12px; }
  .sidebar-brand img { width:167px; }
  .sidebar-nav { display:flex; flex-direction:column; gap:15px; }
  .sidebar-bottom { display:block; }
  .sidebar-create { margin:5px 4px 17px; }
  .sidebar-item { min-height:45px; }
  .mobile-nav-backdrop {
    display:block; position:fixed; z-index:104; inset:0;
    width:100%; height:100%; border:0; border-radius:0;
    margin:0; padding:0;
    background:rgba(8,25,34,.56);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .22s ease,visibility .22s;
  }
  .mobile-nav-open .mobile-nav-backdrop {
    opacity:1; visibility:visible; pointer-events:auto;
  }
  body.mobile-nav-open { overflow:hidden; }
  .app-topbar {
    position:sticky; top:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:nowrap; gap:9px; min-height:58px;
    padding:8px 14px; background:rgba(255,255,255,.97);
  }
  .app-user { gap:7px; margin-left:auto; min-width:0; }
  .app-search { display:none; }
  .user-avatar { width:32px; height:32px; flex-basis:32px; }
  .topbar-logout { padding:7px 6px; margin-left:0; }
  .strategy-year-form { gap:5px; margin:0!important; }
  .strategy-year-form select { min-width:76px; height:34px; padding:0 7px; }
  .strategy-year-form button { height:34px; padding:0 8px; }
  .app-content,
  .app-content.content-goal-editor {
    padding:18px 15px 26px; max-width:100%;
  }
  .app-content .page-heading {
    gap:9px; margin-bottom:15px;
    flex-direction:row; flex-wrap:wrap; align-items:center;
  }
  .app-content .page-heading h1 { font-size:24px; margin:3px 0 3px; }
  .app-content .page-heading .muted { font-size:11px; }
  .app-content .panel { min-width:0; }
  .dashboard-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px; margin-bottom:12px;
  }
  .stat-card { min-width:0; min-height:88px; padding:13px 12px; gap:9px; border-radius:11px; }
  .stat-icon { width:35px; height:35px; flex-basis:35px; font-size:17px; }
  .stat-card > div { min-width:0; }
  .stat-card strong { font-size:24px; }
  .stat-card span:not(.stat-icon) { font-size:11px; line-height:1.3; }
  .dashboard-stats .average-progress-card {
    grid-column:1/-1; min-height:88px; padding:12px 15px;
  }
  .average-progress-card > .average-progress-ring {
    width:62px; height:62px; flex-basis:62px;
  }
  .average-progress-card .average-progress-copy > strong { font-size:14px; }
  .dashboard-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .compact-goals-panel { padding:13px 12px 10px; }
  .compact-goals-heading { gap:8px; flex-wrap:wrap; }
  .compact-goals-title h2 { font-size:15px; }
  .compact-goal-link {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 12px; padding:12px 12px 12px 35px; align-items:start;
  }
  .compact-goal-main { grid-column:1/-1; align-items:flex-start; }
  .compact-goal-copy strong {
    font-size:12.5px; line-height:1.38; white-space:normal;
    overflow-wrap:anywhere;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  }
  .compact-goal-copy span {
    max-width:100%; line-height:1.35;
    white-space:normal; font-size:10px;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  }
  .compact-goal-progress {
    grid-column:1/-1; display:grid;
    grid-template-columns:36px minmax(0,1fr); gap:10px;
    align-items:center;
  }
  .compact-goal-link > .compact-goal-metric {
    grid-column:auto; display:flex!important; gap:4px;
    padding:8px 10px; background:#f6f9fa; border-radius:8px;
  }
  .compact-goal-metric span { font-size:10px; }
  .compact-goal-metric strong {
    font-size:11px; overflow:visible; text-overflow:clip;
    white-space:normal; overflow-wrap:anywhere;
  }
  .compact-goal-dynamics { display:none!important; }
  .compact-goal-status { grid-column:1/-1; justify-content:flex-start; }
  .compact-goal-status .status { font-size:10px; }
  .compact-goal-arrow { display:none; }
  .risk-watch-panel { padding:15px 13px; }
  .risk-watch-item { min-height:70px; padding:10px 0; gap:10px; }
  .risk-watch-item .risk-watch-content { min-width:0; }
  .shipment-overview { gap:13px; margin-top:13px; padding:13px; }
  .shipment-chart-header { gap:9px; }
  .shipment-chart-header h2 { font-size:14px; line-height:1.4; }
  .shipment-chart-actions { flex-wrap:wrap; gap:9px; }
  .shipment-legend { gap:10px; }
  .shipment-summary { padding:13px; }
  .goal-grid--three { grid-template-columns:minmax(0,1fr); gap:10px; }
  .goal-grid--three .goal-card { min-width:0; padding:15px; }
  .goal-grid--three .goal-card h2 { font-size:16px; margin:11px 0 14px; }
  .goal-grid--three .goal-card-top { flex-wrap:wrap; gap:8px; }
  .goal-grid--three .goal-period { font-size:11px; }
  .goal-grid--three .metric-row--compact { gap:8px; }
  .goal-grid--three .metric-row--compact > div {
    grid-template-columns:max-content minmax(0,1fr);
    gap:10px;
  }
  .goal-grid--three .metric-label { white-space:nowrap; font-size:10px; }
  .goal-grid--three .metric-row--compact strong {
    font-size:12px; min-width:0;
  }
  .goal-progress-row { gap:8px; grid-template-columns:64px minmax(0,1fr) 42px; }
  .goal-metrics-cards, .subgoal-stat-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px; margin-bottom:14px;
  }
  .goal-metric-card, .subgoal-stat {
    min-height:112px; padding:13px; gap:8px; border-radius:11px;
  }
  .goal-metric-card__value { font-size:19px; overflow-wrap:anywhere; }
  .subgoal-stat strong { font-size:17px; line-height:1.3; }
  .subgoal-panel { padding:15px; }
  .subgoal-row { padding:10px; gap:8px; }
  .strategic-plan-panel { padding:15px; }
  .strategic-plan-groups { gap:9px; }
  .strategic-plan-group > summary {
    display:grid; grid-template-columns:17px minmax(0,1fr) auto;
    min-height:58px; padding:12px; gap:8px;
  }
  .strategic-plan-group > summary strong { font-size:12.5px; min-width:0; overflow-wrap:anywhere; }
  .strategic-plan-group-count { font-size:10px; padding:5px 7px; }
  .strategic-plan-child {
    display:grid; grid-template-columns:14px minmax(0,1fr) 15px;
    gap:5px 9px; align-items:center;
    padding:11px 12px;
  }
  .strategic-plan-child-icon { grid-column:1; grid-row:1 / 3; }
  .strategic-plan-child-copy { grid-column:2; grid-row:1; }
  .strategic-plan-child-copy strong { overflow-wrap:anywhere; font-size:12px; line-height:1.4; }
  .strategic-plan-child-copy small { font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
  .strategic-plan-child .status {
    grid-column:2; grid-row:2; justify-self:start;
    margin-left:0; font-size:10px;
  }
  .strategic-plan-child-arrow { grid-column:3; grid-row:1/3; }
  .strategic-plan-empty { padding:13px; line-height:1.5; }
}

@media (min-width:660px) and (max-width:820px) {
  .goal-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:560px) {
  .mobile-sidebar-logout {
    display:block; margin:15px 4px 0;
    padding-top:14px; border-top:1px solid rgba(255,255,255,.14);
  }
  .mobile-sidebar-logout button {
    width:100%; min-height:43px; padding:10px 14px; margin:0;
    border:1px solid rgba(255,255,255,.2); border-radius:9px;
    text-align:left; background:rgba(255,255,255,.06);
    color:#eaf1f4; font-size:12px; font-weight:700;
  }
  .app-topbar .topbar-logout,
  .app-topbar .user-avatar,
  .app-topbar .user-copy { display:none; }
  .app-topbar .app-user > form:last-child { display:none; }
  .app-topbar { gap:7px; padding:8px 11px; }
  .mobile-topbar-brand { gap:6px; }
  .mobile-topbar-name { font-size:11px; letter-spacing:-.025em; }
  .strategy-year-form select { min-width:70px; padding:0 5px; }
  .strategy-year-form button { font-size:11px; padding:0 7px; }
  .app-content,
  .app-content.content-goal-editor { padding:14px 11px 23px; }
  .dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .stat-card { padding:11px 10px; min-height:78px; gap:7px; }
  .stat-icon { width:30px; height:30px; flex-basis:30px; font-size:15px; }
  .stat-card strong { font-size:22px; }
  .stat-card span:not(.stat-icon) { font-size:10.5px; }
  .app-content .page-heading h1 { font-size:23px; }
  .app-content .page-heading .eyebrow { font-size:10px; }
  .app-content .panel { padding:14px 12px; }
  .compact-goals-panel { padding:12px 10px 9px!important; }
  .goal-metrics-cards,.subgoal-stat-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .goal-metric-card,.subgoal-stat { min-height:103px; padding:11px; }
  .goal-metric-card__value { font-size:17px; }
  .subgoal-stat strong { font-size:15px; }
  .goal-create-action { min-height:38px; min-width:auto; padding:9px 13px; }
  .strategic-plan-panel { padding:12px!important; }
  .strategic-plan-panel .section-heading { gap:6px; }
  .strategic-plan-panel .section-heading h2 { font-size:16px; }
  .shipment-overview { padding:12px!important; }
  .quarter-chart { grid-template-columns:25px minmax(0,1fr); gap:5px; }
  .chart-y-axis { font-size:8.5px; }
  .quarter-columns { gap:6px; }
  .quarter-bars { gap:3px; padding:0 1%; }
  .quarter-name { font-size:8.5px; }
  .quarter-label { font-size:10px; }
  .bar-value { font-size:9px; }
}

@media (max-width:355px) {
  .mobile-topbar-name { font-size:10px; }
  .mobile-menu-toggle { width:36px; height:36px; min-width:36px; }
  .strategy-year-form button { font-size:10px; padding:0 6px; }
  .stat-card { flex-direction:column; align-items:flex-start; gap:5px; }
  .stat-card > div { gap:2px; }
}
@media (prefers-reduced-motion:reduce) {
  .sidebar,.mobile-nav-backdrop { transition:none; }
}


/* Achievements: a simple in-page registry, no separate editor or modal. */
.achievements-heading { align-items:center; flex-wrap:wrap; gap:14px; }
.achievements-heading > div:first-child { flex:1 1 260px; min-width:0; }
.achievement-create-panel { flex:0 0 auto; min-width:0; }
.achievement-create-toggle {
  display:inline-flex; justify-content:center; align-items:center;
  min-height:42px; padding:10px 15px; border-radius:9px;
  border:0; background:#f8aa12; color:#173c4e;
  font-size:12.5px; font-weight:750; cursor:pointer; list-style:none;
  white-space:nowrap; user-select:none;
}
.achievement-create-toggle::-webkit-details-marker { display:none; }
.achievement-create-toggle::marker { content:""; }
.achievement-create-toggle:hover { background:#f5a214; }
.achievement-create-toggle:focus-visible { outline:2px solid #173c4e; outline-offset:3px; }
.achievement-create-panel[open] {
  flex:0 0 100%; width:100%;
  border:1px solid #dce6e9; border-radius:12px;
  background:#fff; padding:16px 18px 17px;
  box-shadow:0 3px 15px rgba(20,58,77,.05);
}
.achievement-create-panel[open] > summary { margin-bottom:16px; background:#edf3f6; }
.achievement-create-form {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(170px,1fr) 170px;
  gap:13px; align-items:start;
}
.achievement-form-field { min-width:0; }
.achievement-form-field label {
  display:block; margin-bottom:7px;
  color:#3e535e; font-size:12px; font-weight:750;
}
.achievement-required { color:#c98412; }
.achievement-form-field .achievement-input {
  display:block; width:100%; min-width:0; min-height:42px;
  margin:0; padding:9px 11px; border:1px solid #d3dfe4;
  border-radius:9px; background:#fbfcfd;
  color:#233b47; font-family:inherit; font-size:13px;
  box-shadow:none;
}
.achievement-form-field textarea.achievement-input {
  height:72px; min-height:72px; max-height:240px; resize:vertical;
}
.achievement-form-field select.achievement-input { padding-right:25px; }
.achievement-form-field .achievement-input:focus {
  outline:none; background:#fff; border-color:#d4a02a;
  box-shadow:0 0 0 3px rgba(248,170,18,.14);
}
.achievement-form-field .field-errors {
  margin:6px 0 0; font-size:11px; color:#b3483f;
}
.achievement-form-actions {
  grid-column:1/-1;
  display:flex; justify-content:flex-end; align-items:center;
  gap:10px; padding-top:12px; border-top:1px solid #edf1f3;
}
.achievement-cancel {
  display:inline-flex; justify-content:center; align-items:center;
  min-height:38px; border-radius:8px; padding:9px 12px;
  background:#f1f4f6; color:#576e79; font-weight:650;
  font-size:12px; text-decoration:none;
}
.achievement-create-form button.achievement-save {
  width:auto; min-height:38px; padding:9px 15px; margin:0;
  border-radius:8px; font-size:12px; font-weight:750;
}
.achievements-panel { padding:20px 22px; }
.achievements-list-heading { margin-bottom:12px; }
.achievements-list-heading h2 { margin:3px 0 0; font-size:17px; }
.achievement-table-wrap { width:100%; overflow:hidden; border:1px solid #e2e9ec; border-radius:10px; }
.achievement-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12.5px; }
.achievement-table thead { background:#f6f9fa; }
.achievement-table th {
  padding:12px 14px; text-align:left; font-size:10.5px;
  font-weight:800; text-transform:uppercase; letter-spacing:.035em;
  color:#748590;
}
.achievement-table th:first-child { width:150px; }
.achievement-table th:last-child { width:220px; }
.achievement-table td {
  padding:14px; border-top:1px solid #e9eef0;
  color:#29414d; vertical-align:top; overflow-wrap:anywhere; line-height:1.55;
}
.achievement-table tr:nth-child(even) td { background:#fcfdfd; }
.achievement-date { white-space:nowrap; font-weight:750; color:#1e3f50!important; }
.achievement-description { font-weight:570; }
.achievement-performer { color:#5d7280!important; }
.achievement-empty {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:9px; min-height:190px; padding:25px 15px; text-align:center;
  border:1px dashed #d7e2e6; border-radius:11px; background:#fafcfd;
}
.achievement-empty-icon {
  display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  background:#fff3d5; color:#bb8814; font-size:19px;
}
.achievement-empty strong { font-size:13px; color:#294858; }
.achievement-empty p { margin:0; font-size:12px; color:#87979e; line-height:1.5; }
@media (max-width:890px) {
  .achievement-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .achievement-form-field--description { grid-column:1/-1; }
  .achievement-table th:last-child { width:170px; }
}
@media (max-width:600px) {
  .achievements-heading { align-items:flex-start; }
  .achievement-create-panel { width:100%; flex:1 0 100%; }
  .achievement-create-toggle { width:100%; min-height:41px; }
  .achievement-create-panel[open] { padding:13px; }
  .achievement-create-form { grid-template-columns:1fr; gap:12px; }
  .achievement-form-field--description { grid-column:auto; }
  .achievement-form-actions { flex-wrap:wrap; gap:8px; padding-top:12px; }
  .achievement-create-form button.achievement-save { flex:1; }
  .achievements-panel { padding:14px 12px!important; }
  .achievements-list-heading { align-items:center; flex-direction:row; }
  .achievement-table-wrap { border:0; border-radius:0; overflow:visible; }
  .achievement-table, .achievement-table tbody { display:block; width:100%; }
  .achievement-table thead { display:none; }
  .achievement-table tbody { display:grid; gap:10px; }
  .achievement-table tbody tr {
    display:grid; grid-template-columns:minmax(0,1fr) auto;
    gap:8px 13px; align-items:start;
    padding:12px; border:1px solid #e1e9ec; border-radius:9px;
    background:#fff;
  }
  .achievement-table td {
    border:0; padding:0; min-width:0; font-size:12px;
  }
  .achievement-table td.achievement-description {
    grid-column:1/-1; grid-row:1; font-size:13px;
  }
  .achievement-table td.achievement-date { grid-column:2; grid-row:2; text-align:right; font-size:11px; }
  .achievement-table td.achievement-performer { grid-column:1; grid-row:2; font-size:11px; }
  .achievement-table td.achievement-performer::before { content:"Исполнитель: "; color:#8b9aa1; font-weight:450; }
}


/* Achievement registry: direct edit/delete in a row, no modal. */
.achievement-table th:nth-child(3) { width:190px; }
.achievement-table th:last-child { width:165px; }
.achievement-table td.achievement-actions {
  white-space:nowrap;
  padding-right:17px;
  text-align:right;
}
.achievement-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 8px;
  border-radius:7px;
  color:#355f73;
  font-size:11.5px;
  font-weight:700;
  text-decoration:none;
}
.achievement-actions a:hover { background:#edf3f5; }
.achievement-actions a.achievement-remove-link { color:#b25148; }
.achievement-actions a.achievement-remove-link:hover { background:#fff0ed; }
.achievement-table .achievement-inline-row > .achievement-inline-cell {
  padding:0;
  background:#f8fafb;
  border-top:1px solid #dfe9ec;
}
.achievement-inline-panel {
  padding:17px 19px 18px;
  background:#f8fafb;
}
.achievement-inline-heading {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px 13px;
  margin-bottom:15px;
}
.achievement-inline-heading strong {
  color:#284653;
  font-size:13px;
}
.achievement-inline-heading span {
  color:#81939b;
  font-size:11px;
}
.achievement-inline-panel--delete {
  background:#fff9f5;
  border-left:3px solid #cb725b;
}
.achievement-inline-panel--delete > strong {
  color:#873b32;
  font-size:13px;
}
.achievement-inline-panel--delete > p {
  color:#795951;
  margin:8px 0 12px;
  font-size:12px;
  line-height:1.55;
}
.achievement-confirm-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
.achievement-confirm-actions button.achievement-confirm-delete {
  width:auto;
  min-height:38px;
  padding:9px 14px;
  margin:0;
  background:var(--brand);
  border-radius:8px;
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.achievement-confirm-actions button.achievement-confirm-delete:hover {
  background:#25536a;
}
@media (max-width:890px) and (min-width:601px) {
  .achievement-table th:first-child { width:124px; }
  .achievement-table th:nth-child(3) { width:150px; }
  .achievement-table th:last-child { width:146px; }
  .achievement-table th, .achievement-table td { padding:10px; }
  .achievement-table td.achievement-actions { padding-right:8px; }
  .achievement-actions a { padding:7px 5px; }
}
@media (max-width:600px) {
  .achievement-table tbody tr.achievement-inline-row {
    display:block;
    padding:0;
    border-color:#dbe7eb;
    overflow:hidden;
    background:#f8fafb;
  }
  .achievement-table tr.achievement-inline-row td.achievement-inline-cell {
    display:block;
    width:100%;
    padding:0;
  }
  .achievement-inline-panel { padding:14px 12px; }
  .achievement-table td.achievement-actions {
    grid-column:1/-1;
    grid-row:3;
    display:flex;
    flex-direction:row;
    justify-content:flex-end;
    gap:7px;
    padding:7px 0 0;
    border-top:1px solid #e8edf0;
    text-align:right;
  }
  .achievement-actions a { font-size:12px; }
}


/* Achievements: director-defined order; desktop drag, mobile up/down controls. */
.achievement-table tbody tr[data-achievement-id] {
  transition:background .14s ease,box-shadow .14s ease;
}
.achievement-table tbody tr.achievement-is-dragging td {
  background:#fff8e8;
  box-shadow:inset 0 0 0 1px #eec878;
}
.achievement-sort-grip {
  display:inline-grid;
  place-items:center;
  width:26px;
  min-width:26px;
  height:30px;
  padding:0;
  margin:0 7px 0 -5px;
  border:0;
  border-radius:7px;
  box-shadow:none;
  background:transparent;
  color:#8ea2ac;
  vertical-align:middle;
  font-size:19px;
  line-height:1;
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.achievement-sort-grip:active { cursor:grabbing; }
.achievement-sort-grip:hover,
.achievement-sort-grip:focus-visible {
  background:#eaf1f4;
  color:#315b6d;
}
.achievement-order-saving { opacity:.7; }
.achievement-sort-status { margin:0; }
.achievement-sort-status:not(:empty) {
  margin:0 0 10px;
  color:#3b7b63;
  font-size:11px;
  font-weight:650;
}
.achievement-sort-status[data-state="error"] { color:#ad514a; }
.achievement-order-move { display:none; }
@media(max-width:600px) {
  .achievement-sort-grip { display:none; }
  .achievement-order-move {
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-right:auto;
  }
  .achievement-order-move button {
    display:inline-grid;
    place-items:center;
    width:31px;
    height:31px;
    min-height:31px;
    padding:0;
    margin:0;
    border:1px solid #d9e3e8;
    border-radius:7px;
    background:#f5f8fa;
    color:#406273;
    box-shadow:none;
    font-size:17px;
    font-weight:650;
    cursor:pointer;
  }
  .achievement-order-move button:hover,
  .achievement-order-move button:focus-visible {
    background:#e7eff3;
  }
  .achievement-table td.achievement-actions {
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:5px;
  }
  .achievement-table td.achievement-date {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .achievement-table tbody tr[data-achievement-id] { transition:none; }
}


/* Work management: tasks, user administration and achievement review. */
.work-heading { align-items:center; flex-wrap:wrap; }
.work-panel { padding:20px 22px; }
.work-tabs { display:flex; align-items:center; gap:9px; margin-bottom:14px; }
.work-tabs a {
  padding:9px 14px; border:1px solid #dee8ed; border-radius:8px;
  color:#587382; text-decoration:none; font-size:12px; font-weight:700;
}
.work-tabs a.is-active { background:#183c4e; border-color:#183c4e; color:#fff; }
.work-task-row {
  display:flex; flex-wrap:wrap; align-items:center; gap:15px;
  min-height:75px; padding:14px 10px;
  border-bottom:1px solid #e7edf0;
  text-decoration:none; color:#183a4b;
}
.work-task-row:hover { background:#f6f9fa; }
.initiative-task-panel .section-heading { margin-bottom:14px; }
.initiative-task-list { border:1px solid #e3e9ec; border-radius:11px; overflow:hidden; }
.initiative-task-list .work-task-row { padding:14px 16px; }
.initiative-task-list .work-task-row:last-child { border-bottom:0; }
.initiative-task-list .subgoal-empty { border:0; }
.work-task-content { flex:1 1 280px; min-width:0; display:flex; flex-direction:column; gap:6px; }
.work-task-content strong { font-size:13px; line-height:1.35; color:#203e4a; }
.work-task-content span { font-size:11px; color:#7c919b; overflow-wrap:anywhere; }
.work-task-meta { display:flex; gap:10px; flex-direction:column; min-width:108px; color:#667c86; font-size:11px; }
.work-status { padding:6px 10px; border-radius:7px; background:#ebf3f6; color:#3e6675; font-size:11px; font-weight:700; }
.work-status--done { background:#e6f4e8; color:#297146; }
.work-status--cancelled { background:#f4f0ee; color:#997a6f; }
.work-status--in_progress { background:#fff3d8; color:#926811; }
.work-chevron { color:#8599a3; font-size:12px; }
.work-form-panel, .work-detail-panel { padding:22px; }
.work-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.work-form-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.work-form-field label { color:#3d5965; font-size:12px; font-weight:750; }
.work-form-field .task-field {
  width:100%; min-height:42px; padding:9px 11px; border-radius:8px;
  border:1px solid #d7e2e6; background:#fff; color:#233d4a;
  font-size:13px; box-shadow:none;
}
.work-form-field textarea.task-field { resize:vertical; min-height:78px; }
.work-form-field:nth-child(1), .work-form-field:nth-child(2) { grid-column:1/-1; }
.work-form-field input[type="checkbox"] { width:19px; min-height:19px; align-self:flex-start; }
.work-form .field-errors { color:#b7463d; font-size:11px; }
.work-form-actions {
  display:flex; justify-content:flex-end; align-items:center; gap:13px;
  grid-column:1/-1; padding-top:16px; border-top:1px solid #edf2f4;
}
.work-form-actions a { color:#768e99; text-decoration:none; font-size:12px; }
.work-form-actions button { width:auto; padding:10px 17px; margin:0; font-size:12px; }
.work-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.work-detail-grid > div { min-width:0; display:flex; flex-direction:column; gap:6px; }
.work-detail-grid > div > span { color:#80939c; font-size:11px; }
.work-detail-grid > div > strong, .work-detail-grid a { color:#2c4a5b; font-size:13px; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.work-task-description { padding:18px 0 12px; margin-top:18px; border-top:1px solid #edf1f3; color:#425f6c; line-height:1.5; font-size:13px; }
.work-status-form { display:flex; align-items:center; flex-wrap:wrap; gap:10px; border-top:1px solid #edf2f3; margin-top:16px; padding-top:17px; }
.work-status-form label { color:#506f7e; font-size:12px; font-weight:700; }
.work-status-form select { min-width:165px; min-height:39px; padding:8px; border:1px solid #d9e4e8; border-radius:8px; }
.work-status-form button { width:auto; margin:0; padding:9px 15px; min-height:39px; font-size:12px; }
.work-archive-form { margin-top:25px; padding-top:13px; border-top:1px solid #edf1f3; }
.work-archive-form button { width:auto; min-height:36px; margin:0; padding:8px 12px; background:#f4f6f7; color:#657c87; border:1px solid #d9e3e7; border-radius:8px; font-size:11px; }
.work-goal-summary { padding:17px 20px; margin-bottom:16px; }
.work-goal-summary .section-heading { margin-bottom:12px; }
.work-goal-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:12px; align-items:center; }
.work-goal-counts > div { display:flex; flex-direction:column; gap:4px; background:#f6f9fa; padding:12px; border-radius:9px; }
.work-goal-counts span { font-size:11px; color:#8a9ca5; }
.work-goal-counts strong { font-size:24px; color:#183c4f; }
.work-goal-counts a { color:#375f70; font-weight:750; text-decoration:none; font-size:12px; }
.achievement-offer {
  position:fixed; inset:0; margin:auto; padding:0;
  max-width:min(430px,92vw); width:100%; border:0;
  border-radius:13px; background:#fff; color:#234454;
  box-shadow:0 20px 65px rgba(8,26,35,.25);
}
.achievement-offer::backdrop { background:rgba(8,27,35,.6); }
.achievement-offer-content { padding:28px 24px; text-align:center; }
.achievement-offer-icon { display:grid; place-items:center; margin:0 auto 14px; width:50px; height:50px; border-radius:50%; background:#fff3db; color:#c49120; font-size:24px; }
.achievement-offer h2 { margin:0 0 10px; font-size:19px; }
.achievement-offer p { margin:0; color:#6e818a; font-size:13px; line-height:1.55; }
.achievement-offer-actions { display:flex; justify-content:center; align-items:center; gap:13px; flex-wrap:wrap; margin-top:23px; }
.achievement-offer-skip { color:#6f818a; font-size:12px; text-decoration:none; }
.achievement-review-panel { padding:17px 20px; margin-bottom:16px; }
.achievement-review-row { display:flex; flex-wrap:wrap; align-items:center; gap:15px; padding:13px 0; border-bottom:1px solid #e8eef0; }
.achievement-review-copy { display:flex; flex:1 1 250px; flex-direction:column; gap:5px; min-width:0; }
.achievement-review-copy strong { font-size:12px; color:#244454; overflow-wrap:anywhere; }
.achievement-review-copy span { font-size:11px; color:#81949e; }
.achievement-review-actions { display:flex; flex-wrap:wrap; gap:7px; }
.achievement-review-actions button { width:auto; margin:0; padding:8px 12px; min-height:34px; font-size:11px; }
.achievement-review-actions .achievement-reject { background:#e8eef1; color:var(--brand); border:1px solid #dce2e5; }
.achievement-goal-link { display:block; font-weight:500; margin-top:4px; font-size:10.5px; color:#8b9ba3; }
@media(max-width:820px) {
  .work-panel,.work-form-panel,.work-detail-panel,.achievement-review-panel { padding:14px!important; }
  .work-form { grid-template-columns:1fr; gap:12px; }
  .work-form-field:nth-child(1),.work-form-field:nth-child(2) { grid-column:auto; }
  .work-task-row { gap:9px; padding:12px 0; }
  .work-task-meta { flex-direction:row; min-width:0; }
  .work-detail-grid { gap:14px; }
  .work-goal-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-goal-counts a { grid-column:1/-1; }
  .achievement-review-actions { width:100%; }
  .achievement-offer-content { padding:23px 17px; }
}


/* Milestone 2: numbered achievements, event editors, personal work and monthly calendar. */
.achievement-table th.achievement-number-heading {
  width:50px;
  min-width:50px;
  text-align:center;
}
.achievement-table th:nth-child(2) { width:152px; }
.achievement-table th:nth-child(4) { width:180px; }
.achievement-table td.achievement-row-number {
  text-align:center;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  color:#426979;
  white-space:nowrap;
  background:#f8fafb;
}
.work-today-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin-bottom:16px;
}
.work-today-panel,.work-today-milestones {
  padding:18px 20px;
  min-width:0;
}
.work-today-panel .section-heading,.work-today-milestones .section-heading {
  margin-bottom:9px;
}
.work-today-panel .section-heading h2,.work-today-milestones .section-heading h2 {
  font-size:15px;
}
.work-today-milestones .section-heading a {
  font-size:11px;
  text-decoration:none;
  color:#436c80;
  font-weight:750;
}
.work-agenda-row {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 2px;
  min-height:51px;
  border-bottom:1px solid #edf1f2;
  text-decoration:none;
  color:#1e4352;
}
.work-agenda-row:hover {background:#f7fafb}
.work-agenda-info {
  min-width:0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  gap:5px;
}
.work-agenda-info strong {
  font-size:12px;
  font-weight:700;
  overflow-wrap:anywhere;
  line-height:1.4;
}
.work-agenda-info small {
  font-size:10.5px;
  color:#8398a0;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.work-agenda-mark {
  width:27px;
  min-width:27px;
  height:27px;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:850;
  color:#486c7b;
  background:#ebf3f6;
}
.work-agenda-mark--overdue {color:#b25e4b;background:#fff0eb}
.work-agenda-mark--upcoming {color:#926e1b;background:#fff4d9}
.work-agenda-mark--completed {color:#337b50;background:#e5f5ea}
.work-agenda-date {
  font-variant-numeric:tabular-nums;
  color:#8b9ea7;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.work-agenda-tag {
  min-width:74px;
  max-width:91px;
  padding:6px 7px;
  border-radius:6px;
  background:#ebf4f7;
  font-size:10px;
  color:#426a7b;
  font-weight:700;
  text-align:center;
}
.work-agenda-tag--event {background:#fff2dc;color:#8d6424}
.work-agenda-empty {
  font-size:12px;
  color:#92a2aa;
  padding:18px 3px;
  margin:0;
}
.work-calendar-panel {padding:19px}
.work-calendar-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.work-calendar-month-nav {display:flex;align-items:center;gap:14px}
.work-calendar-month-nav h2 {
  margin:0;
  min-width:150px;
  text-transform:capitalize;
  color:#294956;
  font-size:18px;
  font-weight:800;
}
.work-calendar-month-nav a {
  width:33px;
  height:33px;
  display:grid;
  place-items:center;
  text-decoration:none;
  border-radius:8px;
  border:1px solid #d8e4e9;
  color:#355f70;
  background:#fff;
  font-size:17px;
}
.work-calendar-month-nav a:hover {background:#eff5f7}
.work-calendar-legend {display:flex;flex-wrap:wrap;gap:9px}
.work-calendar-legend span {
  padding:6px 9px;
  border-radius:7px;
  background:#f3f7f8;
  color:#627f8c;
  font-size:10.5px;
  font-weight:700;
}
.work-calendar-scroll {width:100%;overflow-x:auto}
.work-calendar-grid {min-width:700px}
.work-calendar-weeknames,
.work-calendar-week {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.work-calendar-weeknames span {
  display:block;
  padding:10px 8px;
  background:#f3f7f8;
  color:#6b858e;
  border:1px solid #e4ecef;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.work-calendar-day {
  min-height:112px;
  min-width:0;
  padding:6px;
  border:1px solid #e5ecee;
  background:#fff;
}
.work-calendar-day.is-adjacent {background:#f8fafb}
.work-calendar-day.is-today {background:#fffbf2}
.work-calendar-day-number {
  display:inline-grid;
  place-items:center;
  width:25px;
  height:25px;
  margin-bottom:5px;
  border-radius:50%;
  font-size:11px;
  font-weight:750;
  color:#527180;
  font-variant-numeric:tabular-nums;
}
.work-calendar-day.is-today .work-calendar-day-number {
  background:#efa923;
  color:#2b4653;
}
.work-calendar-entry {
  display:block;
  padding:5px 7px;
  border-radius:6px;
  margin-bottom:4px;
  background:#eff6f9;
  text-decoration:none;
  color:#2b5870;
  overflow:hidden;
}
.work-calendar-entry--план {background:#eef0fc;color:#4b5884}
.work-calendar-entry--мероприятие {background:#fff3e3;color:#89642d}
.work-calendar-entry.is-done, .work-calendar-entry--done {background:#e7f5e9;color:#317248}
.work-calendar-entry small {
  display:block;
  font-size:9px;
  margin-bottom:2px;
  opacity:.85;
}
.work-calendar-entry strong {
  display:block;
  font-size:10px;
  font-weight:700;
  overflow-wrap:anywhere;
  line-height:1.3;
}
.work-calendar-entry:hover {filter:brightness(.97)}
.work-calendar-note {
  color:#8ba0a9;
  margin:12px 0 0;
  font-size:11px;
}
@media(max-width:900px) {
  .work-today-panel,.work-today-milestones {padding:14px!important}
}
@media(max-width:600px) {
  .work-today-grid {grid-template-columns:1fr;gap:10px}
  .work-calendar-panel {padding:12px!important}
  .work-calendar-grid {min-width:660px}
  .achievement-table tbody tr[data-achievement-id] {
    grid-template-columns:29px minmax(0,1fr) auto;
    gap:8px 10px;
  }
  .achievement-table tbody tr[data-achievement-id] td.achievement-row-number {
    grid-column:1;
    grid-row:1;
    display:grid;
    place-items:center;
    width:28px;
    min-height:25px;
    border-radius:6px;
    padding:2px 0;
    font-size:12px;
  }
  .achievement-table tbody tr[data-achievement-id] td.achievement-description {
    grid-column:2/4;
    grid-row:1;
  }
  .achievement-table tbody tr[data-achievement-id] td.achievement-date {
    grid-column:3;
    grid-row:2;
  }
  .achievement-table tbody tr[data-achievement-id] td.achievement-performer {
    grid-column:1/3;
    grid-row:2;
  }
  .achievement-table tbody tr[data-achievement-id] td.achievement-actions {
    grid-column:1/4;
    grid-row:3;
  }
}


/* Initiative register: plan-first hierarchy, empty plans and reversible archive. */
.initiative-plans-panel { padding:20px 22px; }
.initiative-plan-collection { display:grid; gap:11px; }
.initiative-plan-card {
  border:1px solid #e0e9ed; border-radius:11px;
  background:#fff; overflow:hidden;
}
.initiative-plan-card[hidden] { display:none; }
.initiative-plan-summary {
  display:flex; align-items:center; gap:12px; padding:16px 18px;
  cursor:pointer; list-style:none; user-select:none;
}
.initiative-plan-summary::-webkit-details-marker {display:none}
.initiative-plan-summary:hover {background:#f7fafb}
.initiative-plan-card details[open] > .initiative-plan-summary {
  background:#f7fafb; border-bottom:1px solid #e8eef1;
}
.initiative-plan-chevron {
  display:grid; place-items:center; flex:0 0 24px;
  color:#6b8794; font-size:16px; transition:transform .16s ease;
}
.initiative-plan-card details:not([open]) .initiative-plan-chevron {transform:rotate(-90deg)}
.initiative-plan-heading {
  display:flex; flex-direction:column; flex:1 1 auto;
  min-width:0; gap:5px;
}
.initiative-plan-heading small {font-size:10px;color:#8ba0a9;line-height:1.35}
.initiative-plan-heading strong {
  font-size:14px; line-height:1.35; color:#203e50;
  overflow-wrap:anywhere; font-weight:750;
}
.initiative-plan-heading > span {
  font-size:10.5px; color:#8a9da6; line-height:1.4;
}
.initiative-plan-stat {
  display:block; flex:0 0 auto;
  padding:8px 10px; border-radius:7px;
  background:#eaf1f4; color:#426575;
  font-size:10.5px; font-weight:750; white-space:nowrap;
}
.initiative-plan-contents {padding:0 16px 12px 55px}
.initiative-plan-toolbar {
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; padding:10px 0 12px;
}
.initiative-plan-toolbar > a:not(.button-link) {
  font-size:11px; font-weight:700; color:#466a7c;
  text-decoration:none;
}
.initiative-plan-toolbar .button-link {font-size:11px;padding:9px 11px}
.initiative-plan-empty {
  color:#8196a0; margin:0; font-size:12px;
  line-height:1.5; padding:13px 0 16px;
}
.initiative-legacy-section {margin-top:22px;border-top:1px solid #e3ebef;padding-top:18px}
.initiative-legacy-section > details > summary {
  cursor:pointer;color:#4b6977;font-size:12px;font-weight:700;
  display:flex;align-items:center;gap:12px;
}
.initiative-legacy-section .muted {padding:6px 0;line-height:1.5;font-size:11px}
@media (max-width:760px) {
  .initiative-plans-panel {padding:14px!important}
  .initiative-plan-summary {flex-wrap:wrap;padding:13px 12px;gap:8px}
  .initiative-plan-heading {flex-basis:calc(100% - 42px)}
  .initiative-plan-stat {margin-left:32px}
  .initiative-plan-contents {padding:0 10px 10px}
  .initiative-plan-toolbar {align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce) {
  .initiative-plan-chevron {transition:none}
}


/* Unified app navigation: visible, consistent Back links on every editor. */
.app-content a.app-back-link,
.app-content a.goal-editor-back.app-back-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  box-sizing:border-box;
  min-height:40px;
  padding:9px 15px;
  margin:0;
  border:1px solid var(--brand);
  border-left:4px solid var(--accent);
  border-radius:9px;
  background:var(--brand);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
  line-height:1.25;
  letter-spacing:.01em;
  white-space:nowrap;
  box-shadow:0 2px 6px rgba(23,60,78,.09);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.app-content a.app-back-link:hover,
.app-content a.goal-editor-back.app-back-link:hover {
  background:#25536a;
  border-color:#25536a;
  border-left-color:var(--accent);
  color:#fff;
}
.app-content a.app-back-link:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px;
}
.strategic-plan-child[id^="plan-"] {
  scroll-margin-top:110px;
}
.strategic-plan-child[id^="plan-"]:target {
  outline:2px solid var(--accent);
  outline-offset:-2px;
  background:#fff9e9;
}
@media(max-width:700px) {
  .app-content a.app-back-link { min-height:38px; padding:8px 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .app-content a.app-back-link { transition:none; }
}

/* Achievement detail and full-row drill-down (October 2026). */
[data-row-href] { cursor:pointer; }
[data-row-href]:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:-2px;
}
.achievement-table tbody tr[data-row-href]:hover td,
.achievement-table tbody tr[data-row-href]:focus-visible td { background:#f1f7f9; }
.achievement-review-row[data-row-href]:hover { background:#f4f8fa; }
.achievement-table { table-layout:fixed; }
.achievement-table th.achievement-number-heading { width:48px; }
.achievement-table th:nth-child(2) { width:144px; }
.achievement-table th:nth-child(3) { width:auto; }
.achievement-table th:nth-child(4) { width:21%; }
.achievement-table th:nth-child(5) { width:15%; }
.achievement-table th:last-child { width:76px; }
.achievement-goal-cell { color:#536b78; font-size:11.5px; }
.achievement-goal-anchor { color:#316176; text-decoration:none; font-weight:650; }
.achievement-goal-anchor:hover { text-decoration:underline; }
.achievement-goal-empty { color:#91a0a7; font-size:11px; }
.achievement-table td.achievement-actions { text-align:center; padding-right:6px; }
.achievement-actions a.achievement-pencil-link {
  display:inline-grid; place-items:center;
  width:35px; height:35px; min-height:35px; padding:0;
  color:#284e60; border:1px solid #dfe7ea; background:#f8fafb;
}
.achievement-pencil-link:hover { background:#e9f2f6!important; border-color:#c9dce5; }
.achievement-pencil-link svg { display:block; pointer-events:none; }
.achievement-detail-panel h2 { margin:0 0 10px; font-size:16px; color:#173c4e; }
.achievement-detail-panel .goal-description-text { margin-bottom:23px; }
.achievement-detail-metadata { padding-top:19px; border-top:1px solid #e8eef1; }
.app-content .achievement-detail-delete-link {
  display:inline-flex; align-items:center; min-height:38px;
  padding:9px 13px; border:1px solid #dce2e5; border-radius:8px;
  color:var(--brand); background:#f1f4f6;
  font-weight:700; text-decoration:none; font-size:12px;
}
.achievement-detail-delete-link:hover { background:#e8eef1; }
.achievement-delete-confirmation {
  margin-top:15px; border:1px solid #dce2e5;
}
.achievement-delete-confirmation h2 { margin:0 0 9px; color:var(--brand); font-size:16px; }
.achievement-delete-confirmation p { font-size:12px; color:#647d88; }
@media(max-width:900px) and (min-width:601px) {
  .achievement-table th.achievement-number-heading {width:43px;}
  .achievement-table th:nth-child(2) {width:129px;}
  .achievement-table th:nth-child(4) {width:23%;}
  .achievement-table th:nth-child(5) {width:15%;}
  .achievement-table th:last-child {width:62px;}
  .achievement-table th,.achievement-table td {padding:10px 8px;}
}
@media(max-width:600px) {
  .achievement-table th {width:auto;}
  .achievement-table tbody tr[data-row-href] {
    position:relative;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .achievement-table td.achievement-row-number {
    grid-column:1; grid-row:4; text-align:left; font-size:10px;
    background:transparent; color:#8a9ca5;
  }
  .achievement-table td.achievement-description {grid-column:1/-1;grid-row:1;}
  .achievement-table td.achievement-goal-cell {grid-column:1/-1;grid-row:2;font-size:11px;}
  .achievement-goal-cell:before {content:"Цель: ";color:#8b9aa1;}
  .achievement-table td.achievement-performer {grid-column:1;grid-row:3;}
  .achievement-table td.achievement-date {grid-column:2;grid-row:3;}
  .achievement-table td.achievement-actions {
    grid-column:2;grid-row:4;align-self:center;
    border-top:0; padding:0; justify-content:flex-end;
  }
  .achievement-detail-metadata {grid-template-columns:1fr;}
}

/* Achievement registry has no edit/actions column: the entire row
   opens its detail. Keep mobile reorder controls inside the date field. */
@media(min-width:601px) {
  .achievement-table-wrap {
    width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;
  }
  .achievement-table {width:100%;min-width:720px;table-layout:fixed;}
  .achievement-table th.achievement-number-heading {width:48px;}
  .achievement-table th:nth-child(2) {width:148px;}
  .achievement-table th:nth-child(3) {width:auto;}
  .achievement-table th:nth-child(4) {width:22%;}
  .achievement-table th:nth-child(5),
  .achievement-table th:last-child {width:17%;}
}
@media(max-width:600px) {
  .achievement-table-wrap {width:100%;max-width:100%;overflow:visible;}
  .achievement-table {width:100%;min-width:0;max-width:100%;}
  .achievement-table tbody tr[data-achievement-id] td.achievement-date {
    grid-column:1/4;grid-row:4;
    display:flex;align-items:center;justify-content:flex-start;
    flex-wrap:wrap;gap:9px;
    border-top:1px solid #edf1f3;padding-top:9px;
  }
  .achievement-table tbody tr[data-achievement-id] td.achievement-performer {
    grid-column:1/4;grid-row:3;
  }
  .achievement-order-move {margin-right:0;}
}
/* Achievement controls use only the established navy/yellow/neutral palette. */
.achievements-panel .achievement-order-move button,
.achievements-panel .achievement-sort-grip {
  color:var(--brand);border-color:#dce2e5;background:#f1f4f6;
}
.achievement-review-actions .achievement-reject {
  background:#e8eef1;color:var(--brand);border:1px solid #dce2e5;
}
.achievement-confirm-actions button.achievement-confirm-delete {
  background:var(--brand);color:#fff;
}
.achievement-confirm-actions button.achievement-confirm-delete:hover {
  background:#25536a;
}

.subgoal-remove-counts {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;margin:13px 0;
}
.subgoal-remove-counts > div {
  display:flex;flex-direction:column;gap:5px;min-width:0;
  border:1px solid #e0e9ed;border-radius:9px;
  background:#f8fafb;padding:12px 14px;
}
.subgoal-remove-counts span {font-size:11px;color:#718693;}
.subgoal-remove-counts strong {font-size:22px;color:#173c4e;line-height:1.15;}
.subgoal-remove-options select#id_destination {display:block;width:100%;max-width:600px;margin:9px 0 14px;}
@media(max-width:600px) {
  .subgoal-remove-counts {gap:6px;}
  .subgoal-remove-counts > div {padding:9px 8px;}
  .subgoal-remove-counts span {font-size:10px;}
  .subgoal-remove-counts strong {font-size:18px;}
}

/* Year planning: matching existing corporate cards. */
.year-copy-panel { margin-bottom:16px; }
.year-copy-panel h2 { margin:8px 0 16px;color:var(--brand);font-size:18px; }
.year-copy-panel h3 { margin:20px 0 12px;color:var(--brand);font-size:14px; }
.year-copy-controls {display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.year-copy-controls label {margin:0;white-space:nowrap;}
.year-copy-controls input {width:110px;}
.year-copy-controls button {width:auto;margin:0;min-height:43px;}
.year-copy-stats {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:15px 0 20px;}
.year-copy-stats>div {padding:16px;border:1px solid #dce6ea;border-radius:10px;background:#f7f9fa;display:flex;flex-direction:column;gap:5px;}
.year-copy-stats span {font-size:11px;color:#657e8a;}
.year-copy-stats strong {font-size:26px;color:var(--brand);}
.year-copy-goal-list {margin:0;padding:0;list-style:none;}
.year-copy-goal-list li,.year-copy-goal {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e7edef;}
.year-copy-goal-list small,.year-copy-goal small {color:#6d818b;display:block;font-size:11px;margin-top:5px;}
.year-copy-goal>div {min-width:0;}
.year-copy-goal>a {white-space:nowrap;}
.year-copy-notices {background:#f1f4f6;padding:12px 16px;border-left:3px solid var(--accent);margin:14px 0;}
.year-copy-errors {background:#f1f4f6;padding:12px 16px;border-left:3px solid var(--brand);margin:14px 0;}
.year-copy-submit,.year-copy-approve {border-top:1px solid #e4ecef;padding-top:18px;margin-top:20px;}
.year-copy-submit button,.year-copy-approve button {width:auto;margin:10px 0 0;}
.year-copy-confirm {display:flex;align-items:center;gap:9px;font-weight:500;}
.year-copy-confirm input {width:auto;}
.year-copy-existing {margin-top:15px;}
.year-copy-existing h2 {font-size:17px;color:var(--brand);}
.year-copy-existing-row {display:block;padding:12px 0;border-bottom:1px solid #ebf0f2;color:var(--brand);text-decoration:none;}
@media(max-width:700px) {
  .year-copy-stats {grid-template-columns:repeat(2,minmax(0,1fr));}
  .year-copy-controls {align-items:stretch;}
  .year-copy-controls button {width:100%;}
  .year-copy-goal {flex-direction:column;align-items:stretch;}
}

.year-copy-plan-list {
  width:100%; display:flex; flex-wrap:wrap; gap:7px;
  margin:11px 0 3px; padding-top:10px;
  border-top:1px solid #e8eef1;
}
.year-copy-plan-list a {
  display:inline-flex; gap:6px; align-items:center;
  max-width:100%; padding:7px 10px;
  border-radius:7px; border:1px solid #dce6ea;
  background:#f7f9fa; color:var(--brand);
  text-decoration:none; font-size:11px; font-weight:600;
}
.year-copy-plan-list a:hover {border-color:var(--brand);}

.year-copy-discard-prompt {
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  margin-top:17px;padding-top:14px;border-top:1px solid #e0e8ec;
  font-size:12px;color:#637782;
}
.year-copy-discard-prompt a {
  color:var(--brand);font-weight:650;text-decoration:underline;
  text-underline-offset:3px;
}
.year-copy-discard-input {display:block;max-width:330px;margin-top:10px;}
.year-copy-delete-actions {
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;
}
.year-copy-delete-actions .button-link {margin:0;}
.year-copy-delete-confirm {
  width:auto;padding:11px 16px;margin:0;
  background:var(--brand);color:#fff;border-radius:8px;border:1px solid var(--brand);
}
.year-copy-delete-confirm:hover {background:#245167;}

/* Administrative annual planning: navy/yellow/neutral palette only. */
.settings-home-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1000px;}
.settings-feature {display:flex;align-items:flex-start;gap:15px;padding:23px!important;
  text-decoration:none;color:inherit;min-width:0;}
.settings-feature:hover {border-color:var(--brand);background:#f8fafb;}
.settings-feature-icon {width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;
  border:1px solid #e1e9ec;border-radius:10px;background:#edf2f4;
  color:var(--brand);font-size:23px;}
.settings-feature-text {display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;}
.settings-feature-text strong {color:var(--brand);font-size:18px;}
.settings-feature-text small {font-size:12px;color:#536d79;line-height:1.6;}
.settings-feature-meta {font-size:11px;color:#607986;}
.settings-feature-arrow {font-size:20px;color:var(--brand);margin-left:auto;}
.settings-years-heading .button-link {white-space:nowrap;}
.settings-years-scroll {width:100%;overflow-x:auto;max-width:100%;}
.settings-years-table {border-collapse:collapse;width:100%;min-width:930px;font-size:12px;}
.settings-years-table th {text-align:left;white-space:nowrap;padding:13px 12px;
  background:#f2f6f7;color:var(--brand);font-weight:700;border-bottom:1px solid #dce6ea;}
.settings-years-table td {padding:14px 12px;border-bottom:1px solid #e5ecef;vertical-align:middle;}
.settings-years-table tbody tr[data-row-href] {cursor:pointer;}
.settings-years-table tbody tr[data-row-href]:hover td,
.settings-years-table tbody tr[data-row-href]:focus-visible td {background:#f7fafb;}
.settings-years-table .settings-years-year {font-size:17px;font-weight:750;white-space:nowrap;}
.settings-years-year a {color:var(--brand);text-decoration:none;}
.settings-years-year span {color:var(--accent);font-size:23px;vertical-align:middle;}
.settings-year-state {display:inline-flex;align-items:center;padding:6px 9px;border-radius:6px;
  border:1px solid #dce6e9;background:#f3f6f8;color:var(--brand);font-size:11px;white-space:nowrap;}
.settings-year-state--draft {border-color:#e8dfc2;background:#fbf6e9;color:#655529;}
.settings-year-state--approved {background:#e8eef2;border-color:#d8e4e8;}
.settings-year-state--empty {background:#f5f6f7;color:#6e858d;}
.settings-years-actions {min-width:220px;}
.settings-years-actions a {display:inline-block;color:var(--brand);font-size:11px;
  font-weight:600;text-decoration:underline;text-underline-offset:2px;margin:3px 10px 3px 0;}
.settings-years-footnote {margin:15px 0 0;font-size:11px;}
.settings-year-heading-actions {display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.settings-year-summary {margin-bottom:16px;}
.settings-year-open-work {display:flex;gap:8px;flex-wrap:wrap;}
.settings-year-open-work form {margin:0;}
.settings-year-open-work button {width:auto;margin:0;cursor:pointer;font-size:11px;}
.settings-year-sections {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;margin:16px 0;}
.settings-year-sections a {display:flex;justify-content:space-between;align-items:center;
  gap:6px;border:1px solid #dce5e9;border-radius:8px;background:#f8fafb;
  padding:12px 13px;color:var(--brand);text-decoration:none;font-weight:600;font-size:12px;}
.settings-year-sections strong {font-size:14px;}
.settings-year-sections a:hover {background:#eef3f5;}
.settings-year-section {margin-top:14px;scroll-margin-top:20px;}
.settings-year-section .section-heading {margin-bottom:11px;}
.settings-year-record {display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-bottom:1px solid #e5ebed;padding:12px 4px;text-decoration:none;color:var(--brand);}
.settings-year-record:hover {background:#f6f9fa;}
.settings-year-record-main {display:flex;flex-direction:column;gap:6px;min-width:0;}
.settings-year-record-main strong {font-size:13px;color:var(--brand);}
.settings-year-record-main small {font-size:11px;color:#637984;}
.settings-year-record-arrow {font-size:19px;color:var(--brand);}
.settings-year-group {border-bottom:1px solid #e3eaee;}
.settings-year-group summary {list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:15px;padding:15px 5px;cursor:pointer;}
.settings-year-group summary::-webkit-details-marker {display:none;}
.settings-year-group summary:hover {background:#f8fafb;}
.settings-year-expand {font-size:17px;color:var(--brand);transition:transform .15s;}
.settings-year-group[open] .settings-year-expand {transform:rotate(180deg);}
.settings-year-group-body {padding:0 0 12px 18px;}
.settings-year-group-body .muted {font-size:11px;}
.settings-year-group-primary {font-size:11px;font-weight:700;color:var(--brand);
  display:inline-block;padding:9px 0;text-decoration:underline;text-underline-offset:3px;}
.settings-year-record--sub {font-size:12px;padding:9px 4px;}
@media(max-width:800px) {
  .settings-home-grid {grid-template-columns:1fr;}
  .settings-year-sections {grid-template-columns:repeat(2,minmax(0,1fr));}
  .settings-years-heading {align-items:stretch;}
}
@media(max-width:500px) {
  .settings-feature {padding:16px!important;}
  .settings-years-heading .button-link {width:100%;text-align:center;}
  .settings-year-sections {gap:6px;}
  .settings-year-sections a {padding:10px;font-size:11px;}
}

/* Settings / Staff access: same brand navy, gold and neutral palette. */
.settings-access-tabs{display:flex;gap:7px;padding:0 8px;margin-top:5px;flex-wrap:wrap}
.settings-access-tabs a{padding:14px 19px;border:1px solid #dbe6ea;border-bottom:0;border-radius:12px 12px 0 0;background:#edf2f4;color:var(--brand);font-weight:700;text-decoration:none;font-size:13px}
.settings-access-tabs a.is-active{background:#fff;position:relative;z-index:1}
.settings-access-tabs a.is-active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#fff}
.staff-panel{margin-top:0;border-top-left-radius:0!important;padding:24px!important}
.staff-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}
.staff-heading h1{margin:5px 0 4px}
.staff-heading .muted{margin:5px 0 0}
.staff-add{white-space:nowrap;flex-shrink:0}
.staff-filters{display:grid;grid-template-columns:minmax(150px,2fr) repeat(2,minmax(130px,1fr)) auto auto;align-items:center;gap:10px;margin-bottom:16px}
.staff-filters input,.staff-filters select,.staff-form-field input:not([type=checkbox]),.staff-form-field select{width:100%;min-width:0;border:1px solid #d7e1e5;border-radius:8px;background:#fff;color:#193b4d;padding:10px 12px;min-height:42px;font:inherit}
.staff-filters .button-link{font-size:12px;white-space:nowrap;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.staff-reset{font-size:12px;text-decoration:none;color:var(--brand);white-space:nowrap}
.staff-reset:hover{text-decoration:underline}
.staff-table-wrap{max-width:100%;overflow-x:auto}
.staff-table{width:100%;border-collapse:collapse;min-width:890px;font-size:12px}
.staff-table thead th{padding:13px 11px;text-align:left;white-space:nowrap;background:#f1f5f7;color:var(--brand);border-bottom:1px solid #dae5e8;font-size:11px}
.staff-table tbody td{padding:12px 11px;border-bottom:1px solid #e5eaed;vertical-align:middle}
.staff-table tbody tr[data-row-href]{cursor:pointer}
.staff-table tbody tr[data-row-href]:hover td,.staff-table tbody tr[data-row-href]:focus-visible td{background:#f5f8f9}
.staff-table tbody td strong{color:var(--brand);font-size:12px}
.staff-role{padding:5px 10px;border:1px solid #dee8ed;border-radius:999px;background:#edf2f4;color:var(--brand);display:inline-block;white-space:nowrap;font-size:11px;font-weight:700}
.staff-status{padding:6px 10px;border-radius:999px;background:#edf3f5;color:var(--brand);display:inline-block;font-size:11px;white-space:nowrap;font-weight:700}
.staff-status>span{color:var(--accent)}
.staff-status--disabled{background:#f2f3f3;color:#64777f}
.staff-edit{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);border:1px solid #d8e4e9;background:#f8fafb;border-radius:8px}
.staff-edit:hover{background:#e9f0f3;border-color:var(--brand)}
.staff-empty{padding:24px!important;text-align:center;color:#6a7a84}
.staff-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0;color:#607882;font-size:11px}
.staff-page-links{display:flex;align-items:center;gap:7px}
.staff-page-links>a,.staff-page-links>span{padding:7px 12px;min-width:32px;border:1px solid #e0e8ec;border-radius:7px;text-decoration:none;color:var(--brand);text-align:center}
.staff-page-links .is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.staff-page-size{display:flex;gap:7px;align-items:center}
.staff-page-size select{border:1px solid #dce6ea;border-radius:7px;background:#fff;padding:7px;color:var(--brand)}
.staff-note{margin-top:14px;border-left:3px solid var(--accent);background:#f5f7f8;padding:12px 16px;border-radius:6px;color:var(--brand);font-size:12px}
.staff-note p{margin:5px 0 0;color:#617781;line-height:1.6}
.staff-modal-backdrop{position:fixed;inset:0;background:rgba(10,28,37,.54);display:flex;align-items:center;justify-content:center;padding:14px;z-index:1300;overflow-y:auto}
.staff-modal{width:min(650px,100%);max-height:calc(100vh - 30px);display:flex;flex-direction:column;border-radius:15px;background:#fff;box-shadow:0 20px 55px rgba(8,32,46,.22);overflow:hidden}
.staff-modal-top{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ecee}
.staff-modal-top h2{margin:0;font-size:18px;color:var(--brand)}
.staff-modal-close{font-size:25px;line-height:1;display:grid;place-items:center;width:30px;height:30px;color:var(--brand);text-decoration:none}
.staff-modal-form{overflow-y:auto;display:flex;flex-direction:column;min-height:0}
.staff-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:13px;padding:20px 22px 8px}
.staff-form-field label{display:block;font-size:11px;color:#526c78;font-weight:700;margin-bottom:6px}
.staff-form-field--wide{grid-column:1/-1}
.staff-form-field input:not([type=checkbox]),.staff-form-field select{font-size:12px}
.staff-form-field .field-errors{color:#995644;font-size:11px;margin-top:4px}
.staff-form-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer}
.staff-form-toggle input{width:16px;height:16px;accent-color:var(--brand)}
.staff-form-hint{font-size:11px;color:#667f88;line-height:1.6;padding:0 22px;margin:5px 0 15px}
.staff-modal-actions{display:flex;justify-content:flex-end;gap:9px;align-items:center;padding:14px 22px;border-top:1px solid #e3eaed}
.staff-modal-actions .button-link{margin:0;min-height:40px;display:inline-flex;align-items:center}
.staff-form-page{max-width:700px;margin-top:0}
.staff-form-page .staff-form-grid{padding:15px 0}
.staff-form-page .staff-form-hint{padding:0}
.staff-form-page .staff-modal-actions{padding-right:0}
.staff-role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:10px 0 24px}
.staff-role-card{border:1px solid #dce6e9;border-radius:10px;display:flex;align-items:flex-start;gap:11px;padding:15px;text-decoration:none;color:var(--brand);background:#f8fafb;min-width:0}
.staff-role-card.is-active{border-color:var(--brand);background:#edf3f6;box-shadow:inset 0 0 0 1px var(--brand)}
.staff-role-icon{width:37px;height:37px;flex-shrink:0;display:grid;place-items:center;background:#e2eaee;border-radius:9px;color:var(--brand);font-size:20px}
.staff-role-card-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.staff-role-card-text strong{font-size:13px}
.staff-role-card-text small{font-size:11px;line-height:1.5;color:#637983}
.staff-role-card-text em{font-size:11px;color:var(--brand);font-style:normal;font-weight:650}
.staff-role-arrow{font-size:19px}
.staff-role-permission-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:17px}
.staff-role-table-heading h2{font-size:17px;margin:0;color:var(--brand)}
.staff-role-table-heading p{font-size:11px;margin:6px 0 12px}
.staff-permission-scroll{overflow-x:auto;border:1px solid #dfe8eb;border-radius:9px}
.staff-permission-table{width:100%;border-collapse:collapse;min-width:600px;font-size:11px}
.staff-permission-table thead th{background:#e9f0f3;color:var(--brand);text-align:center;padding:12px 10px;font-weight:700}
.staff-permission-table thead th:first-child{text-align:left;width:46%}
.staff-permission-table tbody th{text-align:left;padding:10px 12px;border-bottom:1px solid #e9eef0;font-weight:550}
.staff-permission-table tbody td{text-align:center;border-bottom:1px solid #e9eef0;padding:9px}
.staff-permission-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand);opacity:1;cursor:not-allowed}
.staff-permission-section th{background:#f3f6f7;color:#70848d;font-size:10px;text-transform:uppercase;font-weight:750!important}
.staff-role-aside{display:flex;flex-direction:column;gap:12px}
.staff-role-info,.staff-role-warning{border:1px solid #dbe5e9;background:#f9fbfb;border-radius:9px;padding:16px;font-size:12px}
.staff-role-info h3{margin:0 0 15px;font-size:14px;color:var(--brand)}
.staff-role-info strong{font-size:14px;color:var(--brand)}
.staff-role-info p,.staff-role-warning p{line-height:1.65;color:#516b77;margin:8px 0}
.staff-role-info a{display:block;margin-top:16px;color:var(--brand);font-weight:700;text-decoration:underline}
.staff-role-warning{border-left:3px solid var(--accent)}
.staff-role-warning strong{color:var(--brand)}
@media(max-width:900px){.staff-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-filters input[type=search]{grid-column:1/-1}.staff-role-permission-layout{grid-template-columns:1fr}}
@media(max-width:650px){.staff-panel{padding:16px!important}.staff-heading{align-items:flex-start;flex-direction:column}.staff-add{width:100%;text-align:center}.staff-role-cards{grid-template-columns:1fr}.staff-form-grid{grid-template-columns:1fr}.staff-modal-top{padding:15px}.staff-form-grid{padding:16px}.staff-form-hint{padding:0 16px}.staff-modal-actions{padding:13px 16px}.staff-pagination{align-items:flex-start}.staff-filters{gap:8px}}

.staff-page-apply{padding:7px 11px;min-height:32px;background:#edf3f6;border:1px solid #dce6ea;border-radius:7px;color:var(--brand);font-size:11px;font-weight:700;cursor:pointer}
.staff-page-apply:hover{background:#e1eaee}

/* Directory selection inside employee editor */
.staff-department-helper {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px}
.staff-department-helper a,.staff-department-add-link {color:var(--brand);font-size:11px;font-weight:650}
.staff-department-helper a {text-decoration:underline;text-underline-offset:2px}
.staff-department-add-link {cursor:pointer;border:0;background:transparent;padding:3px 0;text-decoration:underline;text-underline-offset:2px}
.staff-quick-department {background:#f5f8fa;border:1px solid #dce6ea;border-radius:9px;padding:11px;margin-top:8px}
.staff-quick-department[hidden]{display:none!important}
.staff-quick-department label{display:block;font-size:11px;font-weight:700;color:var(--brand);margin-bottom:7px}
.staff-department-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.staff-department-error{color:#9b4a3a;font-size:11px;margin:7px 0 0}
.staff-department-error[hidden]{display:none!important}

/* Explicit, audited role permissions. Only supported cells can be changed. */
.staff-rbac-form{display:block}
.staff-rbac-actions{border-top:1px solid #dfe8ec;margin-top:18px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.staff-rbac-actions p{color:#607681;font-size:12px;margin:0}
.staff-rbac-actions button{flex-shrink:0;min-height:42px}
.staff-permission-table input[type=checkbox]:not(:disabled){cursor:pointer;opacity:1}
.staff-permission-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.36}
.staff-permission-saved{padding:11px 14px;background:#f1f5f7;color:var(--brand);border-left:3px solid var(--accent);border-radius:7px}

/* Autosave form feedback; existing site's navy/gold palette only. */
.smart-save-indicator {
  display:inline-flex;align-items:center;gap:7px;
  min-height:30px;margin:6px 0 12px;padding:6px 11px;
  border:1px solid #dce6e9;border-radius:8px;
  color:var(--brand);background:#f7fafb;font-size:12px;font-weight:650;
}
.smart-save-indicator::before {
  content:"";width:7px;height:7px;flex:0 0 7px;
  background:#8ba0a9;border-radius:50%;
}
.smart-save-indicator[data-state="pending"]::before,
.smart-save-indicator[data-state="saving"]::before {background:var(--accent);}
.smart-save-indicator[data-state="saved"]::before {background:var(--brand);}
.smart-save-indicator[data-state="error"] {
  border-color:#d4a6a0;color:#90473d;background:#fff8f6;max-width:100%;
  white-space:normal;
}
.smart-save-indicator[data-state="error"]::before{background:#a14b3d;}
.smart-save-field-error{color:#9b4639;font-size:11px;line-height:1.45;margin:6px 0;}
[data-smart-fallback][hidden]{display:none!important}

/* Initiative form: compact autosave state, aligned fields and growing text. */
.initiative-editor {
  align-items: start;
  column-gap: 18px;
  row-gap: 18px;
}
.initiative-editor > .smart-save-indicator {
  grid-column: 1 / -1;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
  margin: 0;
}
.initiative-editor > .work-form-field {
  min-width: 0;
  align-self: start;
}
.initiative-editor > .work-form-field label {
  line-height: 1.4;
  min-height: 18px;
}
.initiative-editor .work-form-field .task-field {
  box-sizing: border-box;
  width: 100%;
  min-height: 43px;
}
.initiative-editor .work-form-field textarea.task-field {
  min-height: 92px;
  height: 92px;
  max-height: 420px;
  overflow-y: auto;
  resize: vertical;
  line-height: 1.55;
}
.initiative-editor .work-form-actions button {
  min-width: 138px;
  min-height: 42px;
  background: #f8aa12;
  color: #173c4e;
  border-color: #f8aa12;
  font-weight: 750;
  opacity: 1;
}
.initiative-editor .work-form-actions button:disabled {
  opacity: .7;
  cursor: wait;
}
@media (max-width: 700px) {
  .initiative-editor { grid-template-columns: minmax(0,1fr); }
  .initiative-editor > .work-form-field,
  .initiative-editor > .smart-save-indicator { grid-column: 1 / -1; }
  .initiative-editor .work-form-actions { gap: 11px; }
}

/* Consistent drag ordering for published plan and initiative registries. */
.manual-order-status {
  margin: 8px 0 9px;
  padding: 0 4px;
  color: #728892;
  font-size: 11px;
  line-height: 1.4;
  min-height: 15px;
}
.manual-order-status[data-state="saved"] { color: #173c4e; }
.manual-order-status[data-state="error"] { color: #a14b3d; }
.manual-order-controls {
  display: flex;
  align-items: center;
  flex: 0 0 64px;
  justify-content: center;
  gap: 2px;
  margin: 0 7px 0 2px;
}
.manual-order-grip {
  border: 1px solid #d6e1e6;
  border-radius: 7px;
  background: #f5f8f9;
  color: #315161;
  cursor: grab;
  width: 30px;
  min-height: 36px;
  font-size: 21px;
  line-height: 1;
  touch-action: none;
}
.manual-order-grip:active { cursor: grabbing; }
.manual-order-grip:focus-visible,
.manual-order-arrows button:focus-visible {
  outline: 2px solid #f8aa12;
  outline-offset: 2px;
}
.manual-order-arrows {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.manual-order-arrows button {
  cursor: pointer;
  border: 1px solid #dde5e9;
  background: #f8fafb;
  color: #38596a;
  width: 24px;
  height: 18px;
  padding: 0;
  line-height: 15px;
  border-radius: 4px;
  font-size: 12px;
}
.manual-is-dragging { opacity: .44; }
[data-manual-sort][aria-busy="true"] { cursor: progress; }
.strategic-plan-sort-row,
.initiative-sort-row {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 0;
}
.strategic-plan-sort-row > .strategic-plan-child,
.initiative-sort-row > .initiative-row {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}
.initiative-sort-list { display: flex; flex-direction: column; }
.initiative-sort-row { margin: 0; }
.strategic-plan-sort-row > .manual-order-controls,
.initiative-sort-row > .manual-order-controls { align-self: center; }
@media(max-width:700px) {
  .manual-order-controls { flex-basis: 54px; margin-right: 5px; }
  .manual-order-grip { width: 27px; }
  .manual-order-arrows button { width: 20px; }
}

/* Initiative registry: visually quiet drag grip, no arrow-button column. */
.initiative-sort-row > .manual-order-controls {
  flex: 0 0 24px;
  justify-content: center;
  margin: 0 6px 0 0;
}
.initiative-sort-row .manual-order-grip {
  width: 22px;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #a8bac4;
  opacity: .38;
  font-size: 19px;
  transition: opacity .15s ease, color .15s ease;
}
.initiative-sort-row:hover .manual-order-grip,
.initiative-sort-row .manual-order-grip:focus-visible {
  color: #49697a;
  opacity: .95;
}
@media (max-width: 700px) {
  .initiative-sort-row > .manual-order-controls {
    flex-basis: 24px;
    margin-right: 6px;
  }
  .initiative-sort-row .manual-order-grip { width: 22px; }
}

/* Task editor: responsive field widths and text that grows with content. */
.task-editor { align-items: start; gap: 17px 18px; }
.task-editor > .smart-save-indicator {
  grid-column: 1 / -1;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
  margin: 0;
}
.task-editor > .work-form-field { min-width: 0; align-self: start; }
.task-editor > .work-form-field--title,
.task-editor > .work-form-field--description { grid-column: 1 / -1; }
.task-editor .work-form-field label { min-height: 18px; line-height: 1.45; }
.task-editor .work-form-field .task-field {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  min-height: 43px;
}
.task-editor .work-form-field--description textarea.task-field {
  height: 92px;
  min-height: 92px;
  max-height: 420px;
  line-height: 1.55;
  resize: vertical;
  overflow-y: auto;
}
.task-editor .work-form-actions button {
  min-height: 42px;
  background: #f8aa12;
  color: #173c4e;
  border-color: #f8aa12;
  font-weight: 750;
}
@media (max-width: 820px) {
  .task-editor { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .task-editor > .smart-save-indicator,
  .task-editor > .work-form-field { grid-column: 1 / -1; }
}

/* Initiatives: linked goal/plan filters and an assignee selector. */
.initiative-filter {
  display: grid;
  grid-template-columns: minmax(195px, 1.1fr) minmax(195px, 1.1fr)
                         minmax(190px, 1fr) auto;
  align-items: end;
  column-gap: 14px;
  row-gap: 12px;
  margin-bottom: 22px;
}
.initiative-filter-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.initiative-filter-field label {
  color: #496372;
  font-size: 12px;
  font-weight: 700;
}
.initiative-filter-field select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 41px;
  font-size: 13px;
}
.initiative-filter-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 41px;
  white-space: nowrap;
}
.initiative-filter .initiative-filter-apply {
  margin: 0;
  width: auto;
  height: 41px;
  padding: 0 14px;
  border: 1px solid #d5e0e5;
  border-radius: 8px;
  background: #f4f7f8;
  color: #173c4e;
  font-size: 12px;
  font-weight: 700;
}
.initiative-filter-reset {
  color: #557280;
  font-size: 12px;
  text-decoration: none;
}
.initiative-filter-reset:hover { text-decoration: underline; }
@media (max-width: 1170px) {
  .initiative-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .initiative-filter-actions { grid-column: 1 / -1; min-height: 38px; }
}
@media (max-width: 700px) {
  .initiative-filter { grid-template-columns: minmax(0, 1fr); }
  .initiative-filter-actions { grid-column: 1; flex-wrap: wrap; }
}

/* Recurring task fields: compact weekday choices and time slots. */
.task-editor > .work-form-field--weekdays,
.task-editor > .work-form-field--is_recurring { grid-column: 1 / -1; }
.task-editor .work-form-field--weekdays > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.task-editor .work-form-field--weekdays > div > div {
  flex: 0 0 auto;
}
.task-editor .work-form-field--weekdays > div label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 56px;
  min-height: 38px;
  padding: 7px 11px;
  background: #f7fafb;
  border: 1px solid #d7e2e6;
  border-radius: 9px;
  color: #294958;
  cursor: pointer;
}
.task-editor input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: #173c4e;
}
.task-editor .work-form-field--is_recurring {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px 10px;
  align-items: center;
  background: #f8fafb;
  border: 1px solid #e0e8eb;
  padding: 13px 15px;
  border-radius: 10px;
}
.task-editor .work-form-field--is_recurring > label {
  grid-column: 2;
  grid-row: 1;
  font-size: 13px;
}
.task-editor .work-form-field--is_recurring > input {
  grid-column: 1;
  grid-row: 1;
}
.task-editor .work-form-field--is_recurring .task-field-help,
.task-editor .work-form-field--is_recurring .field-errors {
  grid-column: 1 / -1;
}
.task-field-help, .task-schedule-metadata {
  display: block;
  color: #6c8390;
  font-size: 11px;
  line-height: 1.5;
}

/* Task register: dedicated schedule column. Affects only /tasks/. */
.work-task-register .work-task-register-heading,
.work-task-register .work-task-row {
  display: grid;
  grid-template-columns: minmax(210px,1fr) minmax(135px,160px) minmax(185px,225px) minmax(78px,98px) 16px;
  column-gap: 16px;
  align-items: center;
}
.work-task-register .work-task-register-heading {
  padding: 11px 10px;
  background: #f4f8fa;
  border-bottom: 1px solid #dce6eb;
  border-radius: 8px 8px 0 0;
  color: #647e8b;
  font-size: 11px;
  font-weight: 750;
}
.work-task-register .work-task-row {
  min-height: 80px;
  padding: 15px 10px;
  gap: 12px 16px;
}
.work-task-register .work-task-content { min-width: 0; }
.work-task-register .work-task-meta {
  min-width: 0;
  overflow-wrap: anywhere;
}
.work-task-register .work-task-schedule {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 3px;
  line-height: 1.42;
  color: #647d89;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.work-task-register .work-task-schedule-date {
  font-size: 12px;
  color: #244556;
  font-weight: 750;
}
.work-task-register .work-task-schedule-repeat {
  font-size: 11px;
  font-weight: 750;
  color: #2d677c;
}
.work-task-register .work-task-schedule-days { color: #718793; }
.work-task-register .work-task-schedule-time { color: #365c6e; }
.work-task-register .work-status { justify-self: start; white-space: nowrap; }
.work-task-register .work-chevron { justify-self: end; }
@media(max-width: 1050px) {
  .work-task-register .work-task-register-heading { display: none; }
  .work-task-register .work-task-row {
    grid-template-columns: minmax(0,1fr) minmax(185px,230px) auto 13px;
    grid-template-areas: "task schedule status arrow" "person schedule status arrow";
    align-items: start;
  }
  .work-task-register .work-task-content { grid-area: task; }
  .work-task-register .work-task-meta { grid-area: person; }
  .work-task-register .work-task-schedule { grid-area: schedule; }
  .work-task-register .work-status { grid-area: status; }
  .work-task-register .work-chevron { grid-area: arrow; }
}
@media(max-width: 670px) {
  .work-task-register .work-task-row {
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: "task status" "person person" "schedule arrow";
    gap: 9px 12px;
  }
  .work-task-register .work-task-meta { flex-direction: column; }
  .work-task-register .work-task-schedule {
    border-top: 1px solid #e6edf0;
    padding-top: 10px;
  }
}

/* Global low-contrast drag indicators: plans, events, goals, subgoals, achievements.
   Keep focus visible for keyboard navigation; do not modify drag behavior. */
.strategic-plan-sort-row > .manual-order-controls,
.initiative-sort-row > .manual-order-controls {
  flex: 0 0 24px;
  width: 24px;
  justify-content: center;
  gap: 0;
  margin: 0 6px 0 0;
}
.strategic-plan-sort-row .manual-order-grip,
.initiative-sort-row .manual-order-grip {
  width: 22px;
  min-width: 22px;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  color: #a8bac4;
  opacity: .32;
  font-size: 19px;
}
.goal-drag-handle,
.compact-goal-drag,
.subgoal-grip,
.achievements-panel .achievement-sort-grip {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: #a8bac4;
  opacity: .32;
}
.goal-drag-handle,
.compact-goal-drag,
.strategic-plan-sort-row .manual-order-grip,
.initiative-sort-row .manual-order-grip,
.subgoal-grip,
.achievements-panel .achievement-sort-grip {
  transition: color .15s ease, opacity .15s ease, background-color .15s ease;
}
.goal-drag-handle:hover,
.goal-sort-item:hover .goal-drag-handle,
.goal-drag-handle:focus-visible,
.compact-goal-drag:hover,
.compact-goal-row:hover .compact-goal-drag,
.compact-goal-drag:focus-visible,
.strategic-plan-sort-row:hover .manual-order-grip,
.strategic-plan-sort-row .manual-order-grip:focus-visible,
.initiative-sort-row:hover .manual-order-grip,
.initiative-sort-row .manual-order-grip:focus-visible,
.subgoal-row:hover .subgoal-grip,
.achievements-panel .achievement-sort-grip:hover,
.achievements-panel .achievement-sort-grip:focus-visible,
.achievements-panel tr:hover .achievement-sort-grip {
  opacity: .92;
  color: #49697a;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.goal-drag-handle:focus-visible,
.compact-goal-drag:focus-visible,
.strategic-plan-sort-row .manual-order-grip:focus-visible,
.initiative-sort-row .manual-order-grip:focus-visible,
.achievements-panel .achievement-sort-grip:focus-visible {
  outline: 2px solid #f8aa12;
  outline-offset: 2px;
}
@media(max-width:700px) {
  .strategic-plan-sort-row > .manual-order-controls,
  .initiative-sort-row > .manual-order-controls {
    flex-basis: 24px;
    margin-right: 6px;
  }
  .strategic-plan-sort-row .manual-order-grip,
  .initiative-sort-row .manual-order-grip { width: 22px; }
}

/* Task workflow: quiet drag handle, completion check, reviewer and dialog. */
.work-task-register .work-task-register-heading,
.work-task-register .work-task-row {
  display: grid;
  grid-template-columns: 24px minmax(220px,1fr) minmax(120px,155px)
    minmax(165px,215px) minmax(93px,115px) 86px;
  gap: 14px;
  align-items: center;
}
.work-task-register .work-task-register-heading { padding: 11px 8px; }
.work-task-register .work-task-row { min-height: 78px; padding: 14px 8px; }
.work-task-register .work-task-content { display: flex; flex-direction:column; gap:5px; text-decoration:none; }
.work-task-register .work-task-content:hover strong { text-decoration: underline; }
.work-task-register .task-order-handle { display: flex; align-items: center; }
.work-task-register .manual-order-grip {
  width: 22px; min-width:22px; min-height:30px; padding:0; border:0;
  border-radius:4px; background:transparent; box-shadow:none;
  color:#a8bac4; opacity:.32; font-size:19px; cursor:grab;
}
.work-task-register .work-task-row:hover .manual-order-grip,
.work-task-register .manual-order-grip:focus-visible { opacity:.92; color:#49697a; }
.task-row-actions { display:flex; justify-content:flex-end; align-items:center; gap:11px; }
.task-row-actions a { text-decoration:none; }
.task-quick-complete {
  display: grid; place-items:center; width:30px; height:30px; border:1px solid #bdd7cc;
  border-radius:8px; background:#f0f8f4; color:#327853;
  font-size:17px; font-weight:800; transition:background .15s ease;
}
.task-quick-complete:hover, .task-quick-complete:focus-visible {
  background:#d8f1e3; border-color:#7fb69b;
}
.task-review-link { font-size:11px; font-weight:700; color:#285771; }
.task-review-link:hover { text-decoration:underline; }
.work-status--pending_review { background:#fff0d3; color:#855c11; }
.work-status--rework { background:#fbe7e3; color:#a14c42; }
.task-complete-dialog {
  width:min(560px, 95vw); max-height:min(90vh,850px); padding:0;
  border:1px solid #dae5ea; border-radius:16px; background:#fff;
  color:#173c4e; box-shadow:0 22px 70px rgba(15,40,55,.28);
}
.task-complete-dialog::backdrop { background:rgba(15,35,48,.47); }
.task-complete-dialog form { padding:26px; display:flex; flex-direction:column; gap:10px; }
.task-complete-dialog-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-right: 46px;
  min-height: 32px;
}
.task-complete-dialog h2 { margin:4px 0 0; font-size:21px; }
.task-complete-dialog .task-complete-dialog-head > .task-complete-dismiss {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  flex: none;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  border: 0;
  border-radius: 8px;
  background: #f2f6f7;
  color: #526e7d;
  cursor: pointer;
}
.task-complete-dialog label, .task-completion-page-form label, .task-review-panel label {
  font-size:12px; font-weight:750; color:#385769;
}
.task-complete-dialog textarea, .task-complete-dialog input[type=file],
.task-completion-page-form :is(textarea,input), .task-review-panel textarea,
.task-delete-form input {
  width:100%; box-sizing:border-box; border:1px solid #d6e1e5;
  border-radius:8px; padding:11px; background:#fff; color:#173c4e; font-size:13px;
}
.task-complete-dialog textarea, .task-review-panel textarea { resize:vertical; min-height:98px; }
.task-complete-dialog .muted { margin:0 0 10px; }
.task-complete-actions,.task-review-actions {display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:10px;}
.task-complete-actions button, .task-review-actions button {
  width:auto; min-height:40px; padding:9px 16px; margin:0; font-size:12px; font-weight:750;
}
.task-complete-actions .task-submit-button, .task-review-actions button:first-child {
  background:#f8aa12; border-color:#f8aa12; color:#173c4e;
}
.task-secondary-button { background:#f0f4f6!important; border:1px solid #d8e3e7!important; color:#355b6d!important; }
.task-detail-complete { margin-top:20px; }
.task-report-history { margin-top:25px; padding-top:17px; border-top:1px solid #e2e9ed; }
.task-report-history h2,.task-review-panel h2 { font-size:16px; margin:0 0 13px; }
.task-report-item { padding:13px 0; border-bottom:1px solid #e8eff1; font-size:12px; line-height:1.55; }
.task-report-item p { margin:8px 0; white-space:normal; overflow-wrap:anywhere; }
.task-report-item a { color:#23566b; }
.task-report-meta,.task-report-review-note { color:#667e8c; font-size:11px; }
.task-review-panel { margin-top:23px; padding:18px; border:1px solid #dae5ea; border-radius:10px; background:#fafcfd; }
.task-review-panel form { display:flex; flex-direction:column; gap:9px; }
.task-review-panel .muted { font-size:12px; }
.task-manage-actions { display:flex; gap:20px; align-items:center; margin-top:22px; padding-top:17px; border-top:1px solid #e6edef; }
.task-manage-actions .work-archive-form { margin:0; padding:0; border:0; }
.task-delete-link {color:#a34c46; font-size:11px;}
.task-delete-form { margin-top:18px; display:flex; flex-direction:column; gap:12px; max-width:570px; }
.task-delete-form label { font-size:12px; }
.task-danger-button { width:auto; background:#b9534d!important; color:#fff!important; }
.task-completion-page-form {display:flex; flex-direction:column; gap:14px; margin-top:14px;}
@media(max-width:1150px) {
  .work-task-register .work-task-register-heading { display:none; }
  .work-task-register .work-task-row {
    grid-template-columns:24px minmax(0,1fr) minmax(155px,210px) auto;
    grid-template-areas: "handle task schedule status" "handle person schedule actions";
    align-items:start;
  }
  .work-task-register .task-order-handle {grid-area:handle;}
  .work-task-register .work-task-content {grid-area:task;}
  .work-task-register .work-task-meta {grid-area:person;}
  .work-task-register .work-task-schedule {grid-area:schedule;}
  .work-task-register .work-status {grid-area:status;}
  .work-task-register .task-row-actions {grid-area:actions;}
}
@media(max-width:700px) {
  .work-task-register .work-task-row {
    grid-template-columns:24px minmax(0,1fr) auto;
    grid-template-areas: "handle task status" "handle person actions" "handle schedule schedule";
    gap:10px;
  }
  .work-task-register .work-task-schedule {padding-top:8px; border-top:1px solid #e5ebef;}
  .task-complete-dialog form {padding:17px;}
  .task-manage-actions {flex-wrap:wrap;}
}

/* Task reviewer checkbox + selector. */
.task-editor .work-form-field--requires_review {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  padding: 13px 15px;
  border: 1px solid #dce7eb;
  border-radius: 9px;
  background: #f8fafb;
}
.task-editor .work-form-field--requires_review > label {
  grid-column: 2; grid-row: 1; font-size: 13px; color: #173c4e;
}
.task-editor .work-form-field--requires_review > input {
  grid-column: 1; grid-row: 1;
  width: 17px; min-height: 17px; margin: 0; accent-color: #173c4e;
}
.task-editor .work-form-field--reviewer { grid-column: 1 / -1; }
.task-editor .work-form-field--reviewer[hidden] { display: none; }


/* Work / Today: two clear views and a read-only weekly task schedule. */
.work-today-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: min(630px, 100%);
  margin: 5px 0 20px;
}
.work-today-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
  color: #466575;
  background: #fff;
  border: 1px solid #d7e3e8;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.work-today-tab:hover, .work-today-tab:focus-visible {
  border-color: #a9c1cb;
  color: #173c4e;
  background: #f4f8fa;
}
.work-today-tab.is-active {
  color: #fff;
  background: #173c4e;
  border-color: #173c4e;
}
.work-week-schedule {
  min-width: 0;
  padding: 24px;
}
.work-week-heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  margin-bottom: 22px;
}
.work-week-heading .eyebrow { margin-bottom: 7px; }
.work-week-heading h2 {
  margin: 0 0 8px;
  font-size: 21px;
  color: #173c4e;
}
.work-week-heading .muted { margin: 0; max-width: 580px; }
.work-week-heading > a {
  flex-shrink: 0;
  color: #436c80;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.work-week-heading > a:hover { text-decoration: underline; }
.work-week-days {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 15px;
}
.work-week-day {
  min-width: 0;
  background: #fff;
  border: 1px solid #dfe8ec;
  border-radius: 11px;
  padding: 16px;
}
.work-week-day.is-today {
  border-color: #efc46b;
  box-shadow: inset 3px 0 0 #f8aa12;
}
.work-week-day-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}
.work-week-day-header h3 {
  font-size: 14px;
  font-weight: 750;
  color: #173c4e;
  text-transform: capitalize;
  margin: 0 0 4px;
}
.work-week-day-header > div > span {
  font-size: 11px;
  color: #8097a2;
}
.work-week-day-count {
  color: #78909b;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.work-week-entry {
  display: grid;
  grid-template-columns: 67px minmax(0, 1fr) auto 12px;
  align-items: center;
  gap: 11px;
  padding: 12px 0;
  border-top: 1px solid #e8eef1;
  color: #173c4e;
  text-decoration: none;
}
.work-week-entry:hover .work-week-entry-copy strong { text-decoration: underline; }
.work-week-time {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-variant-numeric: tabular-nums;
  color: #78919e;
  font-size: 10px;
}
.work-week-time strong { font-size: 12px; color: #173c4e; font-weight: 750; }
.work-week-entry-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.work-week-entry-copy strong {
  font-size: 12px;
  line-height: 1.45;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.work-week-entry-copy small {
  font-size: 10px;
  line-height: 1.4;
  color: #78909e;
  overflow-wrap: anywhere;
}
.work-week-status {
  font-size: 10px;
  font-weight: 700;
  color: #466b7b;
  background: #edf4f7;
  border-radius: 7px;
  padding: 6px 7px;
  white-space: nowrap;
}
.work-week-status.is-projected {
  color: #946b23;
  background: #fff4dc;
}
.work-week-entry.is-done .work-week-status {
  color: #367456;
  background: #e6f5eb;
}
.work-week-entry.is-projected { background: #fffef9; }
.work-week-arrow { font-size: 12px; color: #98aeb8; }
.work-week-empty {
  padding: 16px 0 5px;
  margin: 0;
  border-top: 1px solid #e8eef1;
  color: #879ba5;
  font-size: 12px;
}
.work-week-note {
  margin: 16px 0 0;
  font-size: 11px;
  line-height: 1.6;
  color: #8295a0;
}
@media (max-width: 1050px) {
  .work-week-days { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .work-today-tabs { gap: 9px; }
  .work-today-tab { min-height: 44px; }
  .work-week-schedule { padding: 15px; }
  .work-week-heading { flex-wrap: wrap; gap: 10px; }
  .work-week-heading h2 { font-size: 18px; }
  .work-week-day { padding: 12px; }
  .work-week-entry { grid-template-columns: 54px minmax(0, 1fr) 12px; gap: 7px; }
  .work-week-status { grid-column: 2; justify-self: start; }
  .work-week-arrow { grid-column: 3; grid-row: 1; }
}

/* Today's completion controls align to the right. */
.work-today-panel .work-agenda-info { color: inherit; text-decoration: none; }
.work-today-panel .work-agenda-info:hover strong { text-decoration: underline; }
.work-today-panel .work-agenda-complete,
.work-today-panel .work-agenda-completed { flex-shrink: 0; margin-left: auto; }
.work-today-panel .work-agenda-date { margin-left: auto; }
.work-today-panel .work-agenda-date + .work-agenda-complete { margin-left: 3px; }

/* Today: one visual style for actionable and completed checkmarks. */
.work-today-panel .work-agenda-complete,
.work-today-panel .work-agenda-completed {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  margin-left: auto;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #e5f5ea;
  color: #337b50;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}
.work-today-panel .work-agenda-complete:hover,
.work-today-panel .work-agenda-complete:focus-visible {
  background: #d8f1e3;
  border-color: transparent;
  color: #286a44;
  text-decoration: none;
}
.work-today-panel .work-agenda-complete:focus-visible {
  outline: 2px solid #327853;
  outline-offset: 2px;
}
.work-today-panel .work-agenda-completed { cursor: default; }
