/* OpenDesk v2 facelift — loaded after desk/app.css. Scoped to body.od2. */
body.od2 {
  --od2-bg: #f3f6f9;
  --od2-paper: #ffffff;
  --od2-ink: #0f1d2a;
  --od2-mute: #5d6f7f;
  --od2-faint: #8a9aa8;
  --od2-line: #e2e8ee;
  --od2-line-2: #cfd9e2;
  --od2-go: #0b5f6e;
  --od2-go-2: #0d7385;
  --od2-go-soft: #e6f4f2;
  --od2-warn: #a2520e;
  --od2-warn-soft: #fff3e6;
  --od2-bad: #a3231f;
  --od2-bad-soft: #fdecea;
  --od2-gold: #8a6100;
  --od2-gold-soft: #fff6dc;
  --od2-r: 12px;
  --od2-shadow: 0 1px 2px rgba(15, 29, 42, 0.05), 0 4px 16px rgba(15, 29, 42, 0.05);
  background: var(--od2-bg);
}
body.od2 .od2-hide { display: none !important; }
body.od2.desk-open > .top { display: none; }
body.od2.desk-open > main.wrap { display: none; }

/* ---------- Shell ---------- */
body.od2 #app.app-root { min-height: 100vh; grid-template-columns: 220px minmax(0, 1fr); }
body.od2 .sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  padding: 18px 10px 16px;
  gap: 2px;
}
body.od2 .sidebar-brand { margin: 0 10px 14px; font-size: 1.25rem; }
body.od2 .sidebar .tab {
  font-size: 0.93rem;
  padding: 9px 12px;
  border-radius: 9px;
  border: 0;
}
body.od2 .od2-more-toggle {
  margin: 12px 0 2px;
  background: transparent;
  border: 0;
  color: var(--side-mute, #7f95a6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
  text-align: left;
  padding: 6px 12px;
  width: 100%;
}
body.od2 .od2-more-toggle span { display: inline-block; transition: transform 0.15s; }
body.od2 .od2-more-toggle[aria-expanded='false'] span { transform: rotate(-90deg); }
body.od2 .od2-more { display: flex; flex-direction: column; gap: 2px; }
body.od2 .od2-more.collapsed { display: none; }
body.od2 .od2-side-spacer { flex: 1 1 auto; min-height: 18px; }

body.od2 .app-main { padding: 0 28px 64px; }
body.od2 .od2-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 -28px 18px;
  padding: 12px 28px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--od2-line);
}
body.od2 .od2-search-wrap { position: relative; flex: 1 1 380px; max-width: 560px; }
body.od2 .od2-search-ico {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--od2-faint);
  font-size: 1.1rem;
  pointer-events: none;
}
body.od2 .od2-search-wrap #search {
  width: 100%;
  box-sizing: border-box;
  height: 40px;
  padding: 0 14px 0 34px;
  border-radius: 10px;
  border: 1px solid var(--od2-line-2);
  background: var(--od2-bg);
  font-size: 0.95rem;
}
body.od2 .od2-search-wrap #search:focus { outline: 2px solid var(--od2-go-2); outline-offset: 0; background: #fff; }
body.od2 .od2-add,
body.od2 .od2-primary {
  background: var(--od2-go);
  color: #fff;
  border: 1px solid var(--od2-go);
  border-radius: 10px;
  padding: 9px 16px;
  font-weight: 600;
  width: auto;
  margin: 0;
  cursor: pointer;
}
body.od2 .od2-add:hover,
body.od2 .od2-primary:hover { background: var(--od2-go-2); }
body.od2 .od2-new { position: relative; }
body.od2 .od2-new > button { width: auto; height: 40px; margin: 0; font-weight: 600; }
body.od2 .od2-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--od2-line);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 29, 42, 0.14);
  padding: 6px;
  z-index: 60;
  display: flex;
  flex-direction: column;
}
body.od2 .od2-menu.hidden { display: none; }
body.od2 .od2-menu button { border: 0; text-align: left; width: 100%; margin: 0; padding: 9px 12px; border-radius: 8px; }
body.od2 .od2-menu button:hover { background: var(--od2-bg); }
body.od2 .od2-spacer { flex: 1; }
body.od2 .od2-account .top-actions { gap: 8px; flex-wrap: nowrap; }
body.od2 .od2-account .who { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.82rem; }
body.od2 .od2-account button { padding: 7px 12px; font-size: 0.85rem; width: auto; margin: 0; }

body.od2 .app-head { margin: 4px 0 14px; align-items: center; }
body.od2 .app-head h1 { font-size: 1.6rem; }
body.od2 .app-head .sub { font-size: 0.9rem; color: var(--od2-mute); }
body.od2 #peopleHeadActions .primary { width: auto; margin: 0; }

/* Flash / toast */
body.od2 #flash {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 90;
  max-width: min(640px, calc(100vw - 32px));
  margin: 0;
  padding: 11px 18px;
  border-radius: 12px;
  background: #0f1d2a;
  color: #f1f6fa;
  font-size: 0.9rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  animation: od2toast 6s forwards;
}
body.od2 #flash:empty { display: none; }
@keyframes od2toast {
  0% { opacity: 0; transform: translate(-50%, 8px); }
  4% { opacity: 1; transform: translate(-50%, 0); }
  88% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

/* Generic */
body.od2 .card { border-radius: var(--od2-r); border-color: var(--od2-line); box-shadow: var(--od2-shadow); }
body.od2 .od2-muted { color: var(--od2-mute); font-size: 0.86rem; margin: 4px 0; }
body.od2 .od2-card {
  background: var(--od2-paper);
  border: 1px solid var(--od2-line);
  border-radius: var(--od2-r);
  box-shadow: var(--od2-shadow);
  padding: 16px 18px;
  margin-bottom: 14px;
}
body.od2 .od2-card h3 { margin: 0 0 8px; font-size: 1rem; font-family: var(--font); font-weight: 650; }
body.od2 .od2-card h3 small { color: var(--od2-mute); font-weight: 500; margin-left: 6px; font-size: 0.82rem; }
body.od2 .od2-quick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
body.od2 .od2-quick button { width: auto; margin: 0; }
body.od2 .od2-danger { color: var(--od2-bad); }
body.od2 .od2-danger:hover { background: var(--od2-bad-soft); border-color: #f2c4c0; }
body.od2 .od2-icon { width: 36px; height: 36px; padding: 0; border-radius: 10px; margin: 0; font-size: 1rem; }
body.od2 .od2-chip {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--od2-bg);
  border: 1px solid var(--od2-line);
  font-size: 0.78rem;
  color: var(--od2-mute);
}
body.od2 .od2-chip-gold { background: var(--od2-gold-soft); color: var(--od2-gold); border-color: #f1dea3; }

/* ---------- Today ---------- */
body.od2 .od2-today { margin-bottom: 8px; }
body.od2 .od2-hello h2 { margin: 0; font-family: var(--display); font-size: 1.7rem; letter-spacing: -0.02em; }
body.od2 .od2-hello p { margin: 2px 0 14px; color: var(--od2-mute); }
body.od2 #paneToday ~ * {}
body.od2.desk-open .app-head:has(#heroTitle) {}
body.od2 .od2-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
body.od2 .od2-kpi {
  text-align: left;
  background: var(--od2-paper);
  border: 1px solid var(--od2-line);
  border-radius: var(--od2-r);
  padding: 14px 16px;
  margin: 0;
  width: auto;
  box-shadow: var(--od2-shadow);
}
body.od2 .od2-kpi:hover { border-color: var(--od2-line-2); }
body.od2 .od2-kpi b { display: block; font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
body.od2 .od2-kpi span { color: var(--od2-mute); font-size: 0.82rem; }
body.od2 .od2-drop {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
  border: 2px dashed #b9d6d8;
  background: linear-gradient(180deg, #f6fbfb, #eef7f6);
  border-radius: 14px;
  padding: 16px 20px;
  margin-bottom: 14px;
  cursor: pointer;
}
body.od2 .od2-drop:hover,
body.od2 .od2-drop.over { border-color: var(--od2-go); background: var(--od2-go-soft); }
body.od2 .od2-drop strong { display: block; font-size: 1.02rem; }
body.od2 .od2-drop span { color: var(--od2-mute); font-size: 0.88rem; }
body.od2 .od2-drop .od2-primary { flex: 0 0 auto; }
body.od2 .od2-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.od2 .od2-list { list-style: none; margin: 0; padding: 0; }
body.od2 .od2-list li { border-top: 1px solid var(--od2-line); }
body.od2 .od2-list li:first-child { border-top: 0; }
body.od2 .od2-link {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 9px 4px;
  border-radius: 8px;
}
body.od2 .od2-link:hover { background: var(--od2-bg); }
body.od2 .od2-link b { font-weight: 600; }
body.od2 .od2-link span { grid-column: 1; color: var(--od2-mute); font-size: 0.84rem; }
body.od2 .od2-link em { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-style: normal; font-size: 0.8rem; color: var(--od2-mute); }
body.od2 .od2-link em.soon { color: var(--od2-warn); font-weight: 600; }
body.od2 .od2-fold { margin-top: 18px; }
body.od2 .od2-fold > summary { cursor: pointer; color: var(--od2-mute); font-weight: 600; padding: 8px 0; }
body.od2 .od2-fold-body { margin-top: 8px; }
body.od2 .od2-today-keep { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
body.od2 .od2-today-keep > .card { margin: 0 !important; }

/* Finish these */
body.od2 .od2-finish-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 2px; }
body.od2 .od2-finish-row b { display: block; }
body.od2 .od2-finish-row span { color: var(--od2-mute); font-size: 0.86rem; }
body.od2 .od2-row-actions { display: flex; gap: 6px; flex: 0 0 auto; }
body.od2 .od2-row-actions button { width: auto; margin: 0; padding: 7px 12px; font-size: 0.85rem; }
body.od2 .od2-gaps { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; align-items: center; }
body.od2 .od2-gaps i {
  font-style: normal;
  font-size: 0.74rem;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--od2-warn-soft);
  color: var(--od2-warn);
  border: 1px solid #f5d6b5;
}
body.od2 .od2-gaps-inline { margin: 8px 0; }
body.od2 .od2-gaps-inline > span { font-size: 0.8rem; color: var(--od2-warn); font-weight: 600; margin-right: 2px; }
body.od2 .od2-mini { width: auto; margin: 0 0 0 6px; padding: 3px 10px; font-size: 0.78rem; border-radius: 8px; }
body.od2 .od2-map { list-style: none; padding: 0; margin: 8px 0; }
body.od2 .od2-map li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-top: 1px solid var(--od2-line); font-size: 0.9rem; }
body.od2 .od2-map li:first-child { border-top: 0; }

/* ---------- Clients ---------- */
body.od2 .grid.people-grid { grid-template-columns: 300px minmax(0, 1fr); gap: 18px; }
body.od2 .people-rail { top: 78px; max-height: calc(100vh - 96px); }
body.od2 #peopleListHint { font-size: 0.8rem; margin: 0 2px 8px; }
body.od2 #peopleList { padding: 6px; }
body.od2 #peopleList .row {
  display: grid;
  grid-template-columns: 36px 1fr;
  column-gap: 10px;
  align-items: center;
  padding: 9px 10px;
  margin: 0;
  border-radius: 10px;
  border-bottom: 0;
  cursor: pointer;
}
body.od2 #peopleList .row:hover { background: var(--od2-bg); margin: 0; padding: 9px 10px; }
body.od2 #peopleList .row.on { background: var(--od2-go-soft); box-shadow: inset 3px 0 0 var(--od2-go); }
body.od2 #peopleList .row > strong,
body.od2 #peopleList .row > .meta,
body.od2 #peopleList .row > .od2-row-sub { grid-column: 2; }
body.od2 #peopleList .row > .meta { display: none; }
body.od2 #peopleList .row > .actions { display: none; }
body.od2 .od2-row-avatar {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #dbe9ee;
  color: var(--od2-go);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.8rem;
}
body.od2 #peopleList .row.on .od2-row-avatar { background: var(--od2-go); color: #fff; }
body.od2 .od2-row-sub { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 0.78rem; color: var(--od2-mute); }
body.od2 .od2-due.soon { color: var(--od2-warn); font-weight: 600; }

/* Forms live in the drawer now */
body.od2 .people-compose > .client-sheet,
body.od2 .people-compose > #alsoAddCard { display: none !important; }

body.od2 .od2-profile {
  background: var(--od2-paper);
  border: 1px solid var(--od2-line);
  border-radius: 16px;
  box-shadow: var(--od2-shadow);
  padding: 20px 22px;
  margin-bottom: 14px;
}
body.od2 .od2-profile-top { display: flex; gap: 16px; align-items: flex-start; }
body.od2 .od2-avatar {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: linear-gradient(135deg, #0b5f6e, #2a8f8a);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 1.2rem;
}
body.od2 .od2-profile-id { flex: 1 1 auto; min-width: 0; }
body.od2 .od2-profile-id h2 { margin: 0; font-family: var(--display); font-size: 1.6rem; letter-spacing: -0.02em; }
body.od2 .od2-chips { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0; }
body.od2 .od2-contact { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--od2-mute); font-size: 0.9rem; }
body.od2 .od2-profile-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
body.od2 .od2-profile-actions button { width: auto; margin: 0; padding: 8px 13px; }
body.od2 .od2-profile-actions button[disabled] { opacity: 0.45; cursor: not-allowed; }
body.od2 .od2-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 16px 0 4px; }
body.od2 .od2-stat {
  background: var(--od2-bg);
  border: 1px solid var(--od2-line);
  border-radius: 10px;
  padding: 10px 12px;
  text-align: left;
  margin: 0;
  width: auto;
}
body.od2 .od2-stat span { display: block; font-size: 0.74rem; color: var(--od2-mute); text-transform: uppercase; letter-spacing: 0.04em; }
body.od2 .od2-stat b { display: block; font-size: 1.12rem; margin-top: 2px; }
body.od2 .od2-stat small { color: var(--od2-mute); font-size: 0.78rem; }
body.od2 .od2-stat-warn { background: var(--od2-warn-soft); border-color: #f5d6b5; cursor: pointer; }
body.od2 .od2-stat-warn b,
body.od2 .od2-stat-warn small { color: var(--od2-warn); }
body.od2 #detail > .card { border-radius: 16px; }
body.od2 #detail .subtabs { gap: 2px; border-bottom: 1px solid var(--od2-line); padding-bottom: 0; margin-bottom: 14px; }
body.od2 #detail .subtabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--od2-mute);
  padding: 9px 12px;
  font-size: 0.9rem;
  font-weight: 600;
}
body.od2 #detail .subtabs button.on { color: var(--od2-go); border-bottom-color: var(--od2-go); background: transparent; }
body.od2 .od2-empty-hero {
  background: var(--od2-paper);
  border: 1px solid var(--od2-line);
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 14px;
  text-align: left;
}
body.od2 .od2-empty-hero h2 { margin: 0 0 4px; font-family: var(--display); }
body.od2 .od2-empty-hero p { margin: 0; color: var(--od2-mute); }

/* ---------- Drawer ---------- */
body.od2 .od2-backdrop { position: fixed; inset: 0; background: rgba(15, 29, 42, 0.32); z-index: 70; }
body.od2 .od2-backdrop.hidden { display: none; }
body.od2 .od2-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(620px, 100vw);
  background: #fff;
  z-index: 80;
  box-shadow: -18px 0 48px rgba(15, 29, 42, 0.18);
  transform: translateX(105%);
  transition: transform 0.2s ease;
  display: flex;
  flex-direction: column;
}
body.od2.od2-drawer-open .od2-drawer { transform: translateX(0); }
body.od2.od2-drawer-open { overflow: hidden; }
body.od2 .od2-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--od2-line);
}
body.od2 .od2-drawer-head strong { font-size: 1.08rem; }
body.od2 .od2-drawer-body { overflow-y: auto; padding: 4px 18px 28px; flex: 1; }
body.od2 .od2-drawer-body .card { box-shadow: none; border: 0; padding: 8px 0; margin: 0; }
body.od2 .od2-drawer-body .client-sheet-top-actions,
body.od2 .od2-drawer-body #hPeople,
body.od2 .od2-drawer-body .sheet-hint { display: none; }
body.od2 .od2-drawer-body .sticky-actions { position: sticky; bottom: -28px; background: #fff; padding: 12px 0; margin: 0; border-top: 1px solid var(--od2-line); }
body.od2 .od2-drawer-body .also-add-card > strong { display: none; }
body.od2 .od2-drawer-body .also-panel > summary { font-weight: 650; padding: 8px 0; }

/* ---------- Add anything modal ---------- */
body.od2.od2-modal-open { overflow: hidden; }
.od2-modal {
  position: fixed;
  inset: 0;
  z-index: 85;
  background: rgba(15, 29, 42, 0.42);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 4vh 16px;
  overflow-y: auto;
}
.od2-modal.hidden { display: none; }
body.od2 .od2-modal-card {
  width: min(820px, 100%);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
  padding: 20px 22px 24px;
}
body.od2 .od2-modal-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
body.od2 .od2-modal-head h2 { margin: 0; font-family: var(--display); font-size: 1.5rem; }
body.od2 .od2-modal-head p { margin: 4px 0 0; color: var(--od2-mute); font-size: 0.9rem; }
body.od2 .od2-drop-big { padding: 26px 22px; }
body.od2 .od2-paste > summary { cursor: pointer; color: var(--od2-go); font-weight: 600; font-size: 0.9rem; margin: 2px 0 8px; }
body.od2 .od2-paste textarea { width: 100%; box-sizing: border-box; border-radius: 10px; border: 1px solid var(--od2-line-2); padding: 10px; }
body.od2 .od2-ai-note { font-size: 0.82rem; color: var(--od2-mute); background: var(--od2-bg); border-radius: 10px; padding: 8px 12px; margin: 10px 0; }
body.od2 .od2-ai-note.hidden { display: none; }
body.od2 .od2-items { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
body.od2 .od2-item { border: 1px solid var(--od2-line); border-radius: 14px; padding: 14px 16px; background: #fff; }
body.od2 .od2-item-ok { background: var(--od2-go-soft); border-color: #bfe0dc; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
body.od2 .od2-item-ok > button { width: auto; margin: 0; }
body.od2 .od2-item-err { background: var(--od2-bad-soft); border-color: #f2c4c0; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
body.od2 .od2-item-err > button { width: auto; margin: 0; }
body.od2 .od2-item-head { display: flex; gap: 12px; align-items: center; }
body.od2 .od2-item-head b { display: block; word-break: break-all; }
body.od2 .od2-item-head span { font-size: 0.86rem; color: var(--od2-mute); }
body.od2 .od2-fileico {
  flex: 0 0 auto;
  width: 40px;
  height: 46px;
  border-radius: 6px;
  background: #eef3f6;
  color: var(--od2-go);
  font-size: 0.66rem;
  font-weight: 800;
  display: grid;
  place-items: center;
  border: 1px solid var(--od2-line);
}
body.od2 .od2-doc-type em { font-style: normal; color: var(--od2-go); font-weight: 600; }
body.od2 .od2-summary { margin: 10px 0 2px; font-size: 0.98rem; }
body.od2 .od2-progress { height: 3px; border-radius: 3px; margin-top: 12px; background: linear-gradient(90deg, var(--od2-go) 0 30%, #d5e6e8 30%); background-size: 200% 100%; animation: od2bar 1.1s linear infinite; }
@keyframes od2bar { from { background-position: 100% 0; } to { background-position: -100% 0; } }
body.od2 .od2-sec { border-top: 1px solid var(--od2-line); margin-top: 12px; padding-top: 12px; }
body.od2 .od2-sec.off .od2-grid,
body.od2 .od2-sec.off p { opacity: 0.4; }
body.od2 .od2-sec h4 { margin: 0; font-size: 0.95rem; display: inline; }
body.od2 .od2-sec-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; }
body.od2 .od2-badge { font-size: 0.76rem; padding: 3px 10px; border-radius: 999px; font-weight: 600; }
body.od2 .od2-badge.ok { background: var(--od2-go-soft); color: var(--od2-go); }
body.od2 .od2-badge.new { background: var(--od2-gold-soft); color: var(--od2-gold); }
body.od2 .od2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 10px; }
body.od2 .od2-f { display: flex; flex-direction: column; gap: 3px; margin: 0; }
body.od2 .od2-f span { font-size: 0.74rem; color: var(--od2-mute); font-weight: 600; }
body.od2 .od2-f input,
body.od2 .od2-f select { margin: 0; padding: 7px 9px; border-radius: 8px; border: 1px solid var(--od2-line-2); font-size: 0.9rem; width: 100%; box-sizing: border-box; }
body.od2 .od2-f-wide { margin-bottom: 8px; max-width: 360px; }
body.od2 .od2-check { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; margin: 6px 0; cursor: pointer; }
body.od2 .od2-check input { width: auto; margin: 0; }
body.od2 .od2-keep { margin-top: 12px; }
body.od2 .od2-item-foot { align-items: center; }
body.od2 .od2-raw { flex-basis: 100%; }
body.od2 .od2-raw summary { cursor: pointer; color: var(--od2-mute); font-size: 0.8rem; }
body.od2 .od2-raw pre { white-space: pre-wrap; font-size: 0.75rem; max-height: 220px; overflow: auto; background: var(--od2-bg); padding: 10px; border-radius: 8px; }

/* Settings cards */
body.od2 .od2-tool-row #exportToolbar { display: flex; flex-wrap: wrap; gap: 8px; }
body.od2 .od2-tool-row button,
body.od2 .od2-tool-row label.tab { width: auto; margin: 0; }
body.od2 .od2-autopilot .od2-check { margin: 8px 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  body.od2 .od2-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.od2 .od2-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.od2 .od2-account .who { display: none; }
}
@media (max-width: 960px) {
  body.od2 #app.app-root { grid-template-columns: 1fr; }
  body.od2 .sidebar { position: static; height: auto; flex-direction: row; flex-wrap: wrap; }
  body.od2 .od2-more-toggle,
  body.od2 .od2-side-spacer { display: none; }
  body.od2 .od2-more.collapsed { display: contents; }
  body.od2 .od2-more { display: contents; }
  body.od2 .app-main { padding: 0 16px 48px; }
  body.od2 .od2-topbar { margin: 0 -16px 14px; padding: 10px 16px; flex-wrap: wrap; }
  body.od2 .od2-search-wrap { flex-basis: 100%; max-width: none; order: 5; }
  body.od2 .od2-two,
  body.od2 .od2-today-keep { grid-template-columns: 1fr; }
  body.od2 .grid.people-grid { grid-template-columns: 1fr; }
  body.od2 .od2-grid { grid-template-columns: 1fr 1fr; }
  body.od2 .od2-profile-top { flex-wrap: wrap; }
  body.od2 .od2-profile-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
  body.od2 .od2-kpis,
  body.od2 .od2-stats { grid-template-columns: 1fr 1fr; }
  body.od2 .od2-grid { grid-template-columns: 1fr; }
  body.od2 .od2-drop { flex-direction: column; align-items: flex-start; }
  body.od2 .od2-finish-row { flex-direction: column; align-items: flex-start; }
}

/* --- polish pass 1 --- */
body.od2 .od2-topbar button { white-space: nowrap; }
body.od2 .od2-add { height: 40px; }
body.od2.od2-on-today .app-head { display: none; }
body.od2 .app-head .sub { display: none; }
body.od2 #od2Profile + .card > strong:first-child { display: none; }
body.od2 #btnPeopleCollapse, body.od2 #btnPeopleShowAll { display: none; }
body.od2 .od2-profile-actions button { white-space: nowrap; }
body.od2 #flash.od2-flash-hide { display: none; }
body.od2 .od2-task-li { display: flex; align-items: center; gap: 6px; }
body.od2 .od2-done {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--od2-line-2);
  background: #fff;
  padding: 0;
  margin: 0 2px 0 0;
}
body.od2 .od2-done:hover { border-color: var(--od2-go); background: var(--od2-go-soft); }
body.od2 .od2-urgent { font-style: normal; color: var(--od2-bad); font-weight: 600; }
body.od2 .od2-more-fields > summary { cursor: pointer; color: var(--od2-mute); font-size: 0.84rem; margin: 4px 0 8px; }
/* Profile column scrolls with the page (not inside a box) */
body.od2 .people-compose { position: static; max-height: none; overflow: visible; }
body.od2 #od2Profile + .card.detail > h2:first-child { display: none; }
body.od2 #detail .card.detail { padding-top: 6px; }

/* --- polish pass 2: calmer controls everywhere --- */
body.od2 .app-main button,
body.od2 .app-main .tab,
body.od2 .od2-drawer button { font-size: 0.9rem; padding: 7px 12px; border-radius: 9px; }
body.od2 .app-main .od2-add,
body.od2 .app-main .od2-primary { padding: 9px 16px; }
body.od2 .app-main input,
body.od2 .app-main select,
body.od2 .app-main textarea,
body.od2 .od2-drawer input,
body.od2 .od2-drawer select,
body.od2 .od2-drawer textarea { font-size: 0.93rem; }
body.od2 #paneAgency > .card,
body.od2 #paneMoney .card,
body.od2 #paneReports > .card { margin-bottom: 14px; }
body.od2 .od2-tool-row label.tab { font-weight: 500; font-size: 0.9rem; }
body.od2 #board {
  display: grid;
  grid-template-columns: repeat(5, minmax(210px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 8px;
}
body.od2 #board > * { min-width: 0; margin: 0; }
body.od2 #board .actions button { padding: 5px 10px; font-size: 0.82rem; }

/* Team & permissions */
body.od2 .od2-team-person { border-top: 1px solid var(--od2-line); padding: 14px 0 6px; }
body.od2 .od2-team-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
body.od2 .od2-team-head b { display: block; }
body.od2 .od2-team-head span { color: var(--od2-mute); font-size: 0.85rem; }
body.od2 .od2-team-head .od2-f { min-width: 200px; }
body.od2 .od2-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; margin-top: 8px; }
body.od2 .od2-team-grid h5 { margin: 6px 0 2px; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--od2-mute); }
body.od2 .od2-fine { font-size: 0.78rem; margin-top: 12px; }
body.od2.od2-no-import #od2AddAnything,
body.od2.od2-no-import .od2-drop,
body.od2.od2-no-import [data-od2="intake"],
body.od2.od2-no-import [data-od2-finish-drop] { display: none !important; }
body.od2.od2-no-delete [data-od2="delete-client"],
body.od2.od2-no-delete #peopleList [data-del] { display: none !important; }
@media (max-width: 700px) { body.od2 .od2-team-grid { grid-template-columns: 1fr; } }

/* E-sign */
body.od2 .od2-esign-card { width: min(620px, 100%); }
body.od2 .od2-grid-2 { grid-template-columns: 1fr 1fr; }
body.od2 .od2-link-box { width: 100%; box-sizing: border-box; margin-top: 8px; padding: 8px 10px; border-radius: 8px; border: 1px solid var(--od2-line-2); font-size: 0.85rem; background: #fff; }
body.od2 .od2-btn-link { display: inline-flex; align-items: center; padding: 7px 12px; border-radius: 9px; border: 1px solid var(--od2-line-2); text-decoration: none; color: var(--od2-ink); font-size: 0.9rem; }
body.od2 .od2-esign-slot { display: inline-flex; gap: 6px; align-items: center; margin-right: 6px; }
body.od2 .od2-chip-ok { background: var(--od2-go-soft); color: var(--od2-go); border-color: #bfe0dc; }
body.od2 .od2-chip-wait { background: var(--od2-gold-soft); color: var(--od2-gold); border-color: #f1dea3; }
body.od2 #paneMail .od2-mail-add { width: auto; margin: 0 0 0 6px; padding: 6px 12px; }
