﻿:root {
  --cream-50: #fffdf9;
  --cream-100: #fbf6ef;
  --cream-200: #f3e9df;
  --blush-50: #fbf0ee;
  --blush-100: #f5dfdc;
  --blush-300: #daa9aa;
  --rose-500: #b76576;
  --rose-600: #9e5263;
  --rose-700: #7d3e4d;
  --charcoal-900: #292727;
  --charcoal-700: #575150;
  --charcoal-500: #7f7774;
  --sage-100: #e6eee5;
  --sage-500: #738a72;
  --gold-100: #f7ecd1;
  --gold-500: #b8893f;
  --blue-100: #e7eff2;
  --blue-500: #668490;
  --danger-100: #fae8e5;
  --danger-500: #b5574d;
  --white: #ffffff;
  --border: rgba(64, 53, 50, 0.1);
  --shadow-sm: 0 8px 24px rgba(69, 48, 43, 0.06);
  --shadow-md: 0 18px 50px rgba(69, 48, 43, 0.11);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --sidebar: 248px;
  --header: 76px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--charcoal-900);
  background: var(--cream-100);
  font-synthesis: none;
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--cream-100); }

body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--cream-100); }

button, input, select { font: inherit; }
button { color: inherit; }
a { color: inherit; }

.pwa-loading-screen,
.offline-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 28px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(218,169,170,.18), transparent 28%),
    radial-gradient(circle at 58% 38%, rgba(184,137,63,.12), transparent 22%),
    radial-gradient(circle at 20% 10%, rgba(218,169,170,.18), transparent 34%),
    linear-gradient(135deg, var(--cream-50), var(--cream-200));
}
.splash-logo-wrap {
  position: relative;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  animation: splashFadeUp .72s ease both;
}
.splash-logo-wrap::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(218,169,170,.28), rgba(184,137,63,.14) 42%, transparent 72%);
  filter: blur(18px);
  opacity: .9;
}
.pwa-loading-screen .splash-logo {
  position: relative;
  z-index: 1;
  width: 86px;
  height: 86px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
  transform: none;
  animation: splashLogoFloat 3.2s ease-in-out infinite;
}
.offline-shell img {
  width: 96px;
  height: 96px;
  border-radius: 25px;
  box-shadow: var(--shadow-sm);
}
.pwa-loading-screen h1,
.offline-shell h1 {
  margin: 8px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  letter-spacing: -.03em;
}
.pwa-loading-screen h1 {
  animation: splashFadeUp .72s ease .08s both;
}
.pwa-loading-screen p,
.offline-shell p {
  margin: 0;
  color: var(--charcoal-500);
  font-size: 13px;
}
.pwa-loading-screen p {
  animation: splashFadeUp .72s ease .16s both;
}
.pwa-loading-screen .splash-status {
  min-height: 18px;
  color: var(--rose-600);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: opacity .18s ease;
}
@keyframes splashFadeUp {
  from { opacity: 0; transform: translateY(8px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes splashLogoFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
.connection-status {
  position: fixed;
  z-index: 2000;
  top: max(10px, env(safe-area-inset-top));
  left: 50%;
  width: min(680px, calc(100vw - 24px));
  transform: translateX(-50%);
  padding: 12px 16px;
  border: 1px solid rgba(184,137,63,.28);
  border-radius: 999px;
  color: var(--charcoal-900);
  background: rgba(255, 248, 229, .96);
  box-shadow: var(--shadow-sm);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: -60px;
  z-index: 1000;
  padding: 10px 14px;
  border-radius: 10px;
  color: white;
  background: var(--charcoal-900);
  transition: top .2s;
}
.skip-link:focus { top: 12px; }

.app-shell {
  min-height: 100vh;
  animation: shellFadeIn .28s ease both;
}
@keyframes shellFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.theme-powder {
  --theme-sidebar-start: #eef3f6;
  --theme-sidebar-end: #dfe8ee;
  --theme-sidebar-border: rgba(139, 159, 171, .38);
  --theme-active-start: rgba(206, 220, 229, .92);
  --theme-active-end: rgba(244, 224, 229, .58);
  --theme-accent: #6f8797;
  --theme-accent-strong: #4e6677;
  --theme-accent-soft: rgba(206, 220, 229, .62);
}
.theme-blush {
  --theme-sidebar-start: #fff7f8;
  --theme-sidebar-end: #fff0f2;
  --theme-sidebar-border: rgba(234, 210, 208, .85);
  --theme-active-start: rgba(255,210,218,.88);
  --theme-active-end: rgba(255,234,236,.58);
  --theme-accent: #b76576;
  --theme-accent-strong: #9e5263;
  --theme-accent-soft: rgba(255,222,226,.42);
}
.theme-cream {
  --theme-sidebar-start: #fffdf9;
  --theme-sidebar-end: #fbf0e6;
  --theme-sidebar-border: rgba(232, 211, 185, .85);
  --theme-active-start: rgba(247,236,209,.92);
  --theme-active-end: rgba(255,247,235,.72);
  --theme-accent: #b8893f;
  --theme-accent-strong: #8f682d;
  --theme-accent-soft: rgba(247,236,209,.58);
}
.theme-sage {
  --theme-sidebar-start: #f7faf4;
  --theme-sidebar-end: #edf4ec;
  --theme-sidebar-border: rgba(210, 225, 207, .9);
  --theme-active-start: rgba(230,238,229,.94);
  --theme-active-end: rgba(255,247,242,.62);
  --theme-accent: #738a72;
  --theme-accent-strong: #557052;
  --theme-accent-soft: rgba(230,238,229,.62);
}
.theme-rose {
  --theme-sidebar-start: #fff4f5;
  --theme-sidebar-end: #f6dde2;
  --theme-sidebar-border: rgba(218, 169, 170, .9);
  --theme-active-start: rgba(245,203,211,.94);
  --theme-active-end: rgba(255,238,240,.66);
  --theme-accent: #9e5263;
  --theme-accent-strong: #7d3e4d;
  --theme-accent-soft: rgba(245,203,211,.56);
}
.workspace-shell { background:
  radial-gradient(circle at 18% 8%, rgba(255, 220, 226, .42), transparent 26%),
  radial-gradient(circle at 84% 92%, rgba(247, 222, 166, .22), transparent 28%),
  linear-gradient(135deg, #fffaf7 0%, #fff7f5 52%, #fbf1ee 100%);
}

.sidebar {
  position: fixed;
  z-index: 40;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--theme-sidebar-border, rgba(234, 210, 208, .85));
  background: linear-gradient(180deg, var(--theme-sidebar-start, rgba(255,250,247,.98)), var(--theme-sidebar-end, rgba(253,242,240,.95)));
  color: var(--charcoal-900);
  overflow-y: auto;
}

.brand {
  height: var(--header);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 22px;
  border-bottom: 1px solid var(--theme-sidebar-border, rgba(234, 210, 208, .75));
}

.compass {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: block;
  object-fit: contain;
  transform: translate(-1.5px, -1px);
}
.brand-wordmark { font-family: Georgia, "Times New Roman", serif; font-size: 21px; letter-spacing: .01em; }
.brand-company { margin-top: 1px; color: var(--theme-accent-strong, var(--rose-700)); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.brand-tagline { margin-top: 2px; color: var(--charcoal-500); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.nav-section-label {
  padding: 22px 23px 9px;
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.primary-nav { display: grid; gap: 3px; padding: 0 11px; }
.nav-button {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 12px;
  border: 0;
  border-radius: 11px;
  color: var(--charcoal-700);
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-size: 13px;
  transition: color .18s, background .18s, transform .18s;
}
.nav-button:hover { color: var(--theme-accent-strong, var(--rose-700)); background: var(--theme-accent-soft, rgba(255,222,226,.42)); }
.nav-button.active { color: var(--charcoal-900); background: linear-gradient(90deg, var(--theme-active-start, rgba(255,210,218,.88)), var(--theme-active-end, rgba(255,234,236,.58))); box-shadow: inset 0 0 0 1px rgba(150,120,125,.12); }
.nav-button.active::before { content: ""; width: 3px; height: 20px; margin-left: -12px; border-radius: 0 3px 3px 0; background: var(--theme-accent, #dda6aa); }
.nav-button.active .nav-icon { margin-left: -2px; }
.nav-icon { width: 18px; height: 18px; flex: 0 0 auto; }

.sidebar-footer { margin-top: auto; padding: 18px 16px; }
.theme-picker {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid var(--theme-sidebar-border, rgba(234, 210, 208, .75));
  border-radius: 13px;
  background: rgba(255,255,255,.62);
}
.theme-picker span {
  color: var(--charcoal-500);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.theme-picker select {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 8px 9px;
  color: var(--charcoal-800, var(--charcoal-900));
  background: rgba(255,255,255,.82);
  font-size: 11px;
  cursor: pointer;
}
.firm-pulse {
  padding: 13px;
  border: 1px solid var(--theme-sidebar-border, rgba(234, 210, 208, .75));
  border-radius: 13px;
  color: var(--charcoal-600);
  background: rgba(255,255,255,.7);
  font-size: 11px;
}
.firm-pulse-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: #98b795; box-shadow: 0 0 0 4px rgba(152,183,149,.12); }
.firm-pulse strong { color: var(--charcoal-900); font-weight: 600; }

.topbar {
  position: fixed;
  z-index: 30;
  top: 0;
  right: 0;
  left: var(--sidebar);
  height: var(--header);
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 34px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,253,249,.9);
  backdrop-filter: blur(18px);
}

.mobile-menu { display: none; border: 0; background: transparent; cursor: pointer; }
.breadcrumb { color: var(--charcoal-500); font-size: 12px; }
.breadcrumb strong { color: var(--charcoal-900); font-weight: 600; }
.topbar-spacer { flex: 1; }
.date-chip { display: flex; align-items: center; gap: 8px; color: var(--charcoal-500); font-size: 12px; }
.icon-button {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--white);
  cursor: pointer;
}
.notification-dot { position: absolute; top: 7px; right: 8px; width: 6px; height: 6px; border: 2px solid white; border-radius: 50%; background: var(--rose-500); }

.role-switcher {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 12px;
  border-left: 1px solid var(--border);
}
.avatar { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(135deg, #c37d89, #9a5262); font-size: 11px; font-weight: 700; letter-spacing: .04em; box-shadow: inset 0 0 0 2px rgba(255,255,255,.28); }
.role-select-wrap { display: grid; gap: 2px; }
.role-select-label { color: var(--charcoal-500); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.role-select { max-width: 168px; padding: 0 22px 0 0; border: 0; color: var(--charcoal-900); background: transparent; font-size: 12px; font-weight: 650; cursor: pointer; }

.main-content { margin-left: var(--sidebar); padding: calc(var(--header) + 34px) 36px 46px; }
.workspace-shell .main-content { padding-top: 30px; }
.content-wrap { max-width: 1480px; margin: 0 auto; }
.workspace-shell .content-wrap { max-width: 1690px; }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.eyebrow { margin: 0 0 8px; color: var(--rose-600); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(29px, 3vw, 40px); font-weight: 500; line-height: 1.1; letter-spacing: -.02em; }
h2 { margin-bottom: 6px; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 500; }
h3 { margin-bottom: 5px; font-size: 14px; font-weight: 700; }
.subtitle { margin-bottom: 0; color: var(--charcoal-500); font-size: 13px; line-height: 1.6; }
.weather { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.64); color: var(--charcoal-700); font-size: 12px; }
.weather-icon { color: var(--gold-500); font-size: 19px; }

.daily-dashboard { display: grid; gap: 18px; animation: workspace-rise .38s ease both; }
@keyframes workspace-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.daily-topline {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) auto minmax(320px, auto) auto;
  align-items: center;
  gap: 24px;
  margin: 0 0 4px;
}
.daily-mobile-menu { display: none; border: 0; background: transparent; cursor: pointer; }
.daily-topline h1 { margin: 0; font-size: clamp(28px, 2.9vw, 43px); }
.daily-topline h1 span { color: var(--rose-600); }
.daily-topline h1 small { font-size: .62em; vertical-align: middle; }
.sun-dot {
  width: .62em;
  height: .62em;
  display: inline-block;
  margin-left: 6px;
  border-radius: 999px;
  background: radial-gradient(circle, #f6c85f 0 42%, transparent 43%), conic-gradient(from 0deg, transparent 0 8%, #d9a33e 8% 12%, transparent 12% 20%, #d9a33e 20% 24%, transparent 24% 32%, #d9a33e 32% 36%, transparent 36% 44%, #d9a33e 44% 48%, transparent 48% 56%, #d9a33e 56% 60%, transparent 60% 68%, #d9a33e 68% 72%, transparent 72% 80%, #d9a33e 80% 84%, transparent 84% 92%, #d9a33e 92% 96%, transparent 96%);
}
.sun-dot.tiny { width: 12px; height: 12px; margin-left: 2px; vertical-align: -1px; }
.daily-topline p { margin: 4px 0 0; font-family: Georgia, "Times New Roman", serif; color: var(--charcoal-700); font-size: 16px; font-style: italic; }
.daily-weather { display: grid; gap: 2px; padding: 7px 18px; border-left: 1px solid var(--border); border-right: 1px solid var(--border); text-align: center; }
.daily-weather strong { font-size: 14px; font-weight: 600; }
.daily-weather span { color: var(--charcoal-500); font-size: 10px; }
.daily-profile { display: flex; align-items: center; gap: 10px; }
.daily-profile strong { display: block; font-size: 13px; }
.daily-profile span { color: var(--charcoal-500); font-size: 10px; }
.daily-role-select { display: block; max-width: 150px; margin-top: 3px; border: 0; color: var(--charcoal-700); background: transparent; font-size: 10px; cursor: pointer; }

.mood-check { text-align: center; }
.mood-check p { margin: 0 0 6px; color: var(--charcoal-600); font-size: 10px; font-style: normal; font-family: inherit; }
.mood-check > div { display: flex; gap: 10px; justify-content: center; align-items: flex-start; }
.mood-dot { min-width: 42px; display: grid; gap: 4px; place-items: center; border: 0; background: transparent; cursor: pointer; }
.mood-dot span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(196, 140, 146, .32); border-radius: 50%; color: var(--rose-700); background: rgba(255,255,255,.9); box-shadow: 0 5px 12px rgba(96, 50, 56, .05); }
.mood-icon { width: 17px; height: 17px; }
.mood-dot small { color: var(--charcoal-600); font-size: 8px; font-weight: 650; }
.mood-dot.selected span { border-color: rgba(183,101,118,.72); background: var(--blush-100); box-shadow: 0 0 0 4px rgba(233,154,170,.15); }
.mood-dot.selected small { color: var(--rose-700); }

.daily-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); gap: 18px; align-items: start; }
.daily-left { display: grid; gap: 16px; min-width: 0; }
.daily-right { display: grid; gap: 16px; min-width: 0; }
.daily-grid > *,
.daily-hero-row > *,
.daily-main-row > *,
.daily-small-row > * { min-width: 0; }
.daily-hero-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.08fr) minmax(0, .92fr); gap: 16px; }
.daily-main-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, .95fr); gap: 16px; }
.daily-small-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.daily-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 20px;
  border: 1px solid rgba(234, 210, 208, .8);
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 28px rgba(83, 56, 52, .07);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.daily-card:hover { transform: translateY(-2px); border-color: rgba(218, 156, 166, .46); box-shadow: 0 18px 36px rgba(83, 56, 52, .1); }
.daily-card h2 { margin: 0 0 5px; font-size: 17px; }
.daily-card p { color: var(--charcoal-600); font-size: 11px; line-height: 1.55; }
.daily-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.daily-card-head h2 { display: inline-flex; align-items: center; margin-left: 8px; vertical-align: middle; }
.daily-card-head p { margin: 2px 0 0 46px; }
.daily-card-head.compact { align-items: center; margin-bottom: 13px; }
.daily-card-head.compact h2 { margin-left: 8px; font-size: 15px; }
.round-icon {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  border-radius: 50%;
  color: white;
  background: linear-gradient(135deg, #e78fa2, #d76d83);
  box-shadow: 0 8px 18px rgba(194, 92, 112, .18);
  vertical-align: middle;
}
.round-icon-svg { width: 18px; height: 18px; }
.priority-badge { align-self: center; padding: 7px 10px; border-radius: 10px; color: var(--rose-700); background: var(--blush-100); font-size: 11px; font-weight: 800; white-space: nowrap; }

.morning-note { min-height: 165px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,243,241,.86)); }
.morning-note h2 { font-size: 18px; }
.morning-note em { display: block; margin-top: 14px; color: var(--rose-600); font-family: Georgia, serif; font-size: 17px; }
.mug-art {
  min-width: 98px;
  min-height: 104px;
  display: grid;
  place-items: center;
  padding: 16px 12px;
  border-radius: 20px 26px 24px 20px;
  color: white;
  background: radial-gradient(circle at 68% 23%, rgba(255,255,255,.38), transparent 24%), linear-gradient(145deg, #ed9fad, #c96478);
  box-shadow: inset -8px -9px 22px rgba(106, 45, 58, .18), 0 14px 24px rgba(178, 85, 101, .19);
  font-family: Georgia, serif;
  font-size: 15px;
  line-height: 1.1;
  text-align: center;
}
.mug-art span { font-size: 8px; letter-spacing: .08em; }
.mug-art.small { min-width: 74px; min-height: 82px; font-size: 12px; }

.scratch-large { color: #fff; background: radial-gradient(circle at 70% 10%, rgba(255,255,255,.34), transparent 23%), linear-gradient(135deg, #efa0b0, #d66f86); }
.scratch-large::before { content: "\2726  \2728  \2727"; position: absolute; inset: 14px 18px auto auto; color: rgba(255,255,255,.45); letter-spacing: .32em; animation: soft-twinkle 2.8s ease-in-out infinite; }
@keyframes soft-twinkle { 0%, 100% { opacity: .38; transform: translateY(0); } 50% { opacity: .88; transform: translateY(-2px); } }
.sparkle-head { margin-bottom: 12px; color: #fff; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.scratch-ticket { min-height: 92px; display: grid; place-items: center; border: 1px solid rgba(122, 72, 45, .28); border-radius: 14px; color: #5c3724; background: linear-gradient(135deg, #e7be63, #f8e3a2 45%, #c99844); box-shadow: inset 0 0 18px rgba(255,255,255,.45); font-weight: 750; }
.scratch-ticket button { border: 0; background: transparent; color: #5c3724; cursor: pointer; font-weight: 800; }
.scratch-large p { margin: 11px 0 0; color: rgba(255,255,255,.9); font-size: 10px; }

.encouragement-card { background: linear-gradient(180deg, rgba(255,245,246,.98), rgba(255,229,234,.84)); }
.encouragement-card blockquote { margin: 10px 0 8px; font-family: Georgia, serif; font-size: 19px; line-height: 1.38; text-align: center; }
.heart-divider { color: #d96e83; text-align: center; }
.prayer-box { display: flex; gap: 10px; align-items: center; margin-top: 14px; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.62); color: var(--charcoal-700); font-size: 12px; }
.prayer-box small { color: var(--charcoal-500); }

.pretty-task-list { display: grid; }
.needs-card { min-height: 360px; background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,246,247,.88)); }
.pretty-task { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 8px; margin: 0 -8px; border-top: 1px solid var(--border); border-radius: 13px; cursor: pointer; transition: background .18s ease, opacity .18s ease, transform .18s ease; }
.pretty-task:first-child { border-top: 0; }
.pretty-task:hover { background: rgba(255,247,248,.82); transform: translateX(2px); }
.pretty-task > button[data-action="complete-task"] { width: 24px; height: 24px; border: 0; border-radius: 50%; color: #d49a45; background: transparent; cursor: pointer; transition: transform .18s ease, color .18s ease; }
.pretty-task > button[data-action="complete-task"]:hover { transform: scale(1.18); color: var(--rose-600); }
.pretty-task.completed { opacity: .68; }
.pretty-task.completed .task-title, .task-item.completed .task-title { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: rgba(183,101,118,.55); }
.sparkle-complete::after { content: "\2728"; position: absolute; left: 7px; top: 6px; pointer-events: none; animation: sparkle-pop .8s ease-out both; }
@keyframes sparkle-pop { 0% { opacity: 0; transform: scale(.4) translateY(8px); } 45% { opacity: 1; transform: scale(1.2) translateY(-6px); } 100% { opacity: 0; transform: scale(.85) translateY(-14px); } }
.pretty-task strong { display: block; font-size: 11px; }
.pretty-task span { display: block; margin-top: 2px; color: var(--charcoal-600); font-size: 10px; }
.pretty-task em { display: grid; justify-items: end; gap: 3px; color: var(--rose-700); font-size: 9px; font-style: normal; font-weight: 750; text-align: right; }
.pretty-task em small { color: var(--charcoal-500); font-weight: 650; }
.pink-link { justify-self: center; margin-top: 10px; border: 0; color: var(--rose-600); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }

.schedule-list { display: grid; margin-top: 5px; }
.schedule-list div { display: grid; grid-template-columns: 62px 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 11px 0; border-top: 1px solid var(--border); }
.schedule-list div:first-child { border-top: 0; }
.schedule-list time { color: var(--charcoal-500); font-size: 10px; }
.schedule-list strong { font-size: 11px; }
.schedule-list .task-timer-mini {
  margin-top: 0;
  justify-content: end;
  flex-wrap: nowrap;
}
.schedule-list .mini-timer-button {
  min-width: 58px;
  min-height: 30px;
  padding: 6px 12px;
}
.schedule-list .mini-timer-button.stop:disabled {
  display: none;
}
.schedule-list .mini-timer-button.stop:not(:disabled) {
  background: linear-gradient(135deg, var(--rose-500), var(--blush-400));
  color: #fff;
}

.mini-dashboard-card { min-height: 190px; }
.mini-list { display: grid; gap: 9px; }
.mini-list div { position: relative; display: grid; gap: 2px; padding-left: 8px; }
.mini-list strong { font-size: 11px; }
.mini-list span { color: var(--charcoal-600); font-size: 10px; }
.mini-list em { position: absolute; right: 0; top: 0; color: var(--charcoal-500); font-size: 9px; font-style: normal; }
.quick-launch-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.quick-launch-row button { min-height: 60px; display: grid; place-items: center; gap: 5px; border: 1px solid var(--border); border-radius: 12px; background: white; cursor: pointer; color: var(--charcoal-700); font-size: 9px; }
.quick-launch-row span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: white; background: linear-gradient(135deg, #bf6477, #8f4b5d); font-weight: 850; }

.black-head { margin: -20px -20px 14px; padding: 15px 18px; display: flex; gap: 8px; align-items: center; color: white; background: #2c2929; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; font-weight: 850; }
.chat-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 9px 0; }
.chat-row .avatar { width: 32px; height: 32px; font-size: 9px; }
.chat-row strong { display: block; font-size: 10px; }
.chat-row span { color: var(--charcoal-600); font-size: 9px; }
.chat-row time { color: var(--charcoal-500); font-size: 8px; }
.soft-pink-button { width: 100%; margin-top: 10px; padding: 11px 13px; border: 0; border-radius: 12px; color: var(--rose-700); background: linear-gradient(90deg, #ffdce3, #fff0f2); cursor: pointer; font-size: 11px; font-weight: 850; }

.employee-profile-card { overflow: visible; }
.employee-profile-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.employee-profile-form label { display: grid; gap: 6px; }
.employee-profile-form label.wide { grid-column: 1 / -1; }
.employee-profile-form span {
  color: var(--charcoal-600);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.employee-profile-form input,
.employee-profile-form textarea {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 12px;
  outline: none;
  color: var(--charcoal-900);
  background: rgba(255,255,255,.86);
  font: inherit;
  font-size: 11px;
}
.employee-profile-form textarea { resize: vertical; }
.employee-profile-form input:focus,
.employee-profile-form textarea:focus {
  border-color: rgba(183,101,118,.55);
  box-shadow: 0 0 0 4px rgba(233,154,170,.12);
}

.ask-amanda-mini { min-height: 165px; background: radial-gradient(circle at 80% 25%, rgba(240,178,94,.3), transparent 30%), linear-gradient(135deg, #fff, #ffe2ea); }
.ask-amanda-art { position: absolute; right: 17px; top: 18px; color: #e8a64e; letter-spacing: .34em; }
.ask-amanda-mini .avatar { margin-bottom: 8px; }
.ask-amanda-mini p { margin-bottom: 12px; }
.training-mini .training-row { margin-top: 10px; }
.friday-mini { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: linear-gradient(135deg, #fff, #ffdfe8); }
.friday-mini h2 { text-transform: uppercase; letter-spacing: .08em; font-size: 14px; }
.dashboard-love-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(170px, auto) auto;
  align-items: center;
  gap: 18px;
  padding: 15px 22px;
  border: 1px solid rgba(234, 210, 208, .8);
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  color: var(--charcoal-600);
  box-shadow: 0 10px 24px rgba(83, 56, 52, .05);
}
.dashboard-love-note em { font-family: Georgia, serif; color: var(--charcoal-700); }
.dashboard-love-note strong { color: var(--rose-600); font-family: Georgia, serif; font-size: 16px; font-weight: 500; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(310px, .75fr); gap: 20px; }
.main-column, .side-column { display: grid; align-content: start; gap: 20px; min-width: 0; }
.card { border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(255,255,255,.9); box-shadow: var(--shadow-sm); }

.priority-card {
  position: relative;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 31px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(132deg, #9f5364 0%, #bd7582 72%, #d5a2a4 100%);
  box-shadow: 0 20px 42px rgba(132,67,81,.19);
}
.priority-card::after { content: ""; position: absolute; width: 220px; height: 220px; right: -38px; top: -65px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 58px rgba(255,255,255,.025); }
.priority-card > * { position: relative; z-index: 1; }
.priority-card .eyebrow { color: rgba(255,255,255,.72); }
.priority-card h2 { max-width: 540px; margin-bottom: 10px; font-size: clamp(23px, 2.4vw, 31px); }
.priority-card p { margin: 0; color: rgba(255,255,255,.74); font-size: 12px; }

.primary-button, .secondary-button, .text-button, .danger-button {
  border: 0;
  cursor: pointer;
  font-weight: 700;
  font-size: 12px;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.primary-button:hover, .secondary-button:hover, .danger-button:hover { transform: translateY(-1px); }
.primary-button { padding: 12px 17px; border-radius: 12px; color: var(--rose-700); background: #fff; box-shadow: 0 8px 25px rgba(67,34,41,.18); white-space: nowrap; }
.primary-button.dark { color: white; background: var(--charcoal-900); }
.secondary-button { padding: 10px 14px; border: 1px solid var(--border); border-radius: 11px; color: var(--charcoal-700); background: white; }
.text-button { padding: 5px; color: var(--rose-600); background: transparent; }
.danger-button { padding: 10px 14px; border-radius: 11px; color: #fff; background: var(--danger-500); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.metric-card { min-height: 121px; padding: 17px; box-shadow: none; }
.metric-top { display: flex; align-items: center; justify-content: space-between; }
.metric-dot { width: 8px; height: 8px; border-radius: 50%; }
.metric-dot.rose { background: var(--rose-500); }
.metric-dot.gold { background: var(--gold-500); }
.metric-dot.sage { background: var(--sage-500); }
.metric-dot.ink { background: var(--charcoal-700); }
.metric-label { color: var(--charcoal-500); font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.metric-value { margin: 11px 0 4px; font-family: Georgia, serif; font-size: 26px; line-height: 1; }
.metric-note { margin: 0; color: var(--charcoal-500); font-size: 10px; }

.section-card { padding: 22px; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.section-head h2 { margin-bottom: 0; font-size: 19px; }
.section-count { padding: 4px 8px; border-radius: 8px; color: var(--rose-700); background: var(--blush-50); font-size: 10px; font-weight: 700; }
.client-module-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  padding: 12px;
}
.client-module-tabs button {
  border: 1px solid rgba(205, 144, 153, .28);
  border-radius: 999px;
  padding: 8px 11px;
  color: var(--rose-700);
  background: rgba(255,255,255,.76);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}
.client-module-tabs button:hover { background: var(--blush-100); }

.task-list { display: grid; }
.task-item { display: grid; grid-template-columns: 37px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--border); }
.task-item:first-child { padding-top: 0; border-top: 0; }
.task-item.clickable-task { padding-inline: 9px; margin-inline: -9px; border-radius: 13px; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.task-item.clickable-task:hover { background: rgba(255,247,248,.82); transform: translateX(2px); }
.client-link,
.client-name-link,
.client-title-link {
  border: 0;
  padding: 0;
  color: var(--rose-700);
  background: transparent;
  font: inherit;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}
.client-link:hover,
.client-name-link:hover,
.client-title-link:hover {
  color: var(--rose-500);
  text-decoration: underline;
}
.openable-row {
  cursor: pointer;
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.daily-card[id],
.section-card[id],
.data-card[id] {
  scroll-margin-top: 22px;
}
.openable-row:hover {
  background: rgba(251, 240, 238, .62);
}
.pulse-highlight {
  animation: softWorkPulse .9s ease;
  outline: 2px solid rgba(223, 127, 154, .32);
  outline-offset: 4px;
}
@keyframes softWorkPulse {
  0% { box-shadow: 0 0 0 0 rgba(223, 127, 154, .24); }
  55% { box-shadow: 0 0 0 14px rgba(223, 127, 154, .06); }
  100% { box-shadow: var(--shadow-sm); }
}
.client-card.openable-row:hover,
.return-card.openable-row:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.row-open-button { margin-top: 12px; }
.client-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.client-detail-stats,
.account-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.account-detail-grid { margin: 14px 0; gap: 10px; }
.client-detail-stats div,
.account-detail-grid div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.65);
}
.client-detail-stats span,
.account-detail-grid span {
  display: block;
  margin-bottom: 5px;
  color: var(--charcoal-500);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.client-detail-stats strong,
.account-detail-grid strong {
  color: var(--charcoal-900);
  font-size: 12px;
}
.inline-link-button { display: inline-flex; margin-left: 8px; padding: 0; vertical-align: baseline; }
.client-profile-editor { grid-column: 1 / -1; }
.client-profile-form,
.client-profile-editor-grid,
.profile-editor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.client-profile-form label,
.client-profile-editor-grid label,
.profile-editor-grid label { display: grid; gap: 7px; }
.client-profile-form label.wide,
.client-profile-editor-grid .wide { grid-column: 1 / -1; }
.client-profile-form span,
.client-profile-editor-grid span,
.profile-editor-grid span {
  color: var(--charcoal-700);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.client-profile-form input,
.client-profile-form textarea,
.client-profile-editor-grid input,
.client-profile-editor-grid textarea,
.client-profile-editor-grid select,
.profile-editor-grid input,
.profile-editor-grid textarea,
.profile-editor-grid select {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid var(--border);
  border-radius: 14px;
  outline: none;
  color: var(--charcoal-900);
  background: rgba(255,255,255,.82);
  font: inherit;
  font-size: 12px;
}
.client-profile-form textarea { resize: vertical; }
.profile-editor-grid textarea { min-height: 82px; resize: vertical; }
.client-profile-form input:focus,
.client-profile-form textarea:focus,
.profile-editor-grid input:focus,
.profile-editor-grid textarea:focus,
.profile-editor-grid select:focus {
  border-color: rgba(183,101,118,.55);
  box-shadow: 0 0 0 4px rgba(233,154,170,.12);
}
.profile-editor-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.service-profile-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.service-profile-service-card {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
}
.service-profile-service-card.is-active {
  border-color: rgba(183,101,118,.32);
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,240,245,.72));
}
.drawer-actions.stacked {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.drawer-actions.stacked .primary-button { grid-column: 1 / -1; }
.task-check { width: 24px; height: 24px; flex: 0 0 24px; display: grid; place-items: center; border: 1px solid rgba(183,101,118,.35); border-radius: 8px; color: var(--rose-600); background: var(--blush-50); cursor: pointer; overflow: hidden; }
button.task-check,
.pretty-task > button[data-action="complete-task"] {
  font-size: 0;
  line-height: 0;
  position: relative;
}
button.task-check::before,
.pretty-task > button[data-action="complete-task"]::before {
  content: "";
  width: 9px;
  height: 9px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  display: block;
}
.task-item.completed > button.task-check::before,
.pretty-task.completed > button[data-action="complete-task"]::before {
  content: "✓";
  width: auto;
  height: auto;
  border: 0;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
}
.monthly-close-bucket-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.monthly-close-command-center .feature-grid,
.monthly-close-owner-panel .ops-card-grid,
.monthly-close-review-panel .ops-card-grid {
  margin-top: 14px;
}
.monthly-close-drawer-fields {
  margin: 12px 0;
}
@media (max-width: 980px) {
  .monthly-close-bucket-grid {
    grid-template-columns: 1fr;
  }
}
.task-title { margin-bottom: 4px; font-size: 12px; font-weight: 700; }
.task-meta { color: var(--charcoal-500); font-size: 10px; }
.task-due { text-align: right; }
.task-due time { display: block; margin-top: 4px; color: var(--charcoal-500); font-size: 9px; }

.tag, .status-pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; font-size: 9px; font-weight: 750; white-space: nowrap; }
.tag { padding: 4px 7px; color: var(--rose-700); background: var(--blush-50); }
.status-pill { padding: 5px 8px; }
.status-pill.success { color: #557052; background: var(--sage-100); }
.status-pill.warning { color: #8f682d; background: var(--gold-100); }
.status-pill.danger { color: #984840; background: var(--danger-100); }
.status-pill.info { color: #54717a; background: var(--blue-100); }
.status-pill.rose { color: var(--rose-700); background: var(--blush-100); }
.status-pill.gold { color: #8f682d; background: var(--gold-100); }

.ask-card { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px dashed rgba(183,101,118,.3); border-radius: var(--radius-md); background: var(--blush-50); }
.ask-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 12px; color: white; background: var(--rose-500); }
.ask-copy { flex: 1; }
.ask-copy h3 { margin-bottom: 3px; font-size: 12px; }
.ask-copy p { margin: 0; color: var(--charcoal-500); font-size: 10px; }

.scratch-card { position: relative; min-height: 190px; padding: 22px; overflow: hidden; background: linear-gradient(150deg, #f8e8df, #fbf6ef 60%, #f3e6c6); }
.scratch-card::before { content: "\2726"; position: absolute; right: 21px; top: 14px; color: rgba(184,137,63,.32); font-size: 50px; transform: rotate(14deg); }
.scratch-card h2 { font-size: 18px; }
.scratch-area { min-height: 92px; display: grid; place-items: center; margin-top: 14px; padding: 18px; border: 1px dashed rgba(93,73,68,.19); border-radius: 15px; text-align: center; background: repeating-linear-gradient(135deg, rgba(255,255,255,.56) 0, rgba(255,255,255,.56) 8px, rgba(220,187,170,.22) 8px, rgba(220,187,170,.22) 16px); }
.scratch-area button { border: 0; color: var(--rose-700); background: transparent; cursor: pointer; font-size: 11px; font-weight: 750; }
.scratch-reveal strong { display: block; margin-bottom: 6px; font-family: Georgia, serif; font-size: 17px; }
.scratch-reveal span { color: var(--charcoal-500); font-size: 10px; }

.training-row { margin-top: 15px; }
.training-label { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: 10px; font-weight: 700; }
.training-label span:last-child { color: var(--charcoal-500); }
.progress-track { height: 6px; overflow: hidden; border-radius: 99px; background: var(--cream-200); }
.progress-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--rose-500), var(--blush-300)); }

.health-strip { display: grid; grid-template-columns: repeat(8, minmax(70px, 1fr)); gap: 1px; overflow: hidden; padding: 1px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--border); box-shadow: var(--shadow-sm); }
.health-cell { min-height: 75px; padding: 14px 10px; background: rgba(255,255,255,.92); text-align: center; }
.health-cell strong { display: block; margin-top: 8px; font-family: Georgia, serif; font-size: 16px; font-weight: 500; }
.health-cell span { color: var(--charcoal-500); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.health-indicator { width: 7px; height: 7px; margin: 0 auto; border-radius: 50%; background: var(--sage-500); }
.health-indicator.warning { background: var(--gold-500); }
.health-indicator.danger { background: var(--danger-500); }

.toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.search-field { position: relative; flex: 1; max-width: 360px; }
.search-field input { width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--border); border-radius: 12px; outline: none; background: rgba(255,255,255,.82); font-size: 11px; }
.search-field input:focus { border-color: rgba(183,101,118,.5); box-shadow: 0 0 0 3px rgba(183,101,118,.08); }
.search-field svg { position: absolute; left: 13px; top: 12px; width: 16px; height: 16px; color: var(--charcoal-500); }
.filter-button { height: 40px; padding: 0 13px; border: 1px solid var(--border); border-radius: 12px; color: var(--charcoal-700); background: white; cursor: pointer; font-size: 11px; }

.client-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.client-card { padding: 18px; cursor: pointer; transition: transform .18s, box-shadow .18s; }
.client-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.client-top { display: flex; align-items: flex-start; gap: 11px; }
.client-initials { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: var(--rose-700); background: var(--blush-100); font-size: 11px; font-weight: 800; }
.client-name { flex: 1; }
.client-name h3 { margin-bottom: 3px; }
.client-name p { margin: 0; color: var(--charcoal-500); font-size: 9px; }
.client-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.client-stat span { display: block; margin-bottom: 4px; color: var(--charcoal-500); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.client-stat strong { font-size: 10px; }
.mini-progress { margin-top: 14px; }

.data-card { overflow: hidden; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: 12px 14px; color: var(--charcoal-500); background: var(--cream-50); font-size: 8px; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 14px; border-top: 1px solid var(--border); font-size: 10px; vertical-align: middle; }
.data-table td strong { font-size: 11px; }
.data-table .muted { display: block; margin-top: 3px; color: var(--charcoal-500); font-size: 9px; }
.data-table .table-group-row td { background: var(--rose-50); color: var(--rose-700); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.readiness { min-width: 100px; }
.readiness-head { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 9px; }

.lane-grid { display: grid; grid-template-columns: repeat(5, minmax(190px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 8px; }
.lane { min-height: 330px; padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: rgba(244,235,226,.55); }
.lane-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; padding: 3px 3px 7px; color: var(--charcoal-700); font-size: 10px; font-weight: 750; }
.lane-count { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; color: var(--rose-700); background: var(--blush-100); }
.return-card { margin-bottom: 9px; padding: 13px; border: 1px solid var(--border); border-radius: 13px; background: white; box-shadow: 0 5px 14px rgba(69,48,43,.04); }
.return-card h3 { font-size: 11px; }
.return-card p { margin-bottom: 11px; color: var(--charcoal-500); font-size: 9px; }
.return-footer { display: flex; align-items: center; justify-content: space-between; color: var(--charcoal-500); font-size: 8px; }

.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }
.feature-card { min-height: 152px; padding: 20px; }
.feature-icon { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 15px; border-radius: 12px; color: var(--rose-600); background: var(--blush-50); }
.feature-card p { color: var(--charcoal-500); font-size: 10px; line-height: 1.6; }
.feature-card .number { margin-top: 14px; font-family: Georgia, serif; font-size: 24px; }

.employee-directory-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-bottom: 18px;
}

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

.employee-directory-card {
  padding: 18px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,220,227,.45), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,250,245,.9));
}

.employee-directory-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.employee-directory-head h3 {
  margin: 0;
  font-size: 18px;
}

.employee-directory-head p {
  margin: 2px 0 0;
  color: var(--charcoal-500);
  font-size: 10px;
}

.employee-directory-head .status-pill {
  margin-left: auto;
}

.employee-directory-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 12px;
}

.employee-directory-meta div {
  padding: 10px;
  border: 1px solid rgba(183,101,118,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.72);
}

.employee-directory-meta span {
  display: block;
  margin-bottom: 4px;
  color: var(--charcoal-500);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.employee-directory-meta strong {
  color: var(--charcoal-900);
  font-size: 10px;
}

.employee-focus {
  min-height: 34px;
  margin: 0 0 12px;
  color: var(--charcoal-700);
  font-size: 11px;
  line-height: 1.45;
}

.employee-directory-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.employee-directory-tags span {
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--rose-700);
  background: rgba(255,220,227,.68);
  font-size: 9px;
  font-weight: 750;
}

.employee-directory-note {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding: 10px;
  border-radius: 12px;
  color: #526a73;
  background: var(--blue-100);
  font-size: 9px;
  line-height: 1.45;
}

.employee-directory-note svg {
  flex: 0 0 auto;
  width: 14px;
}

.employee-directory-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.employee-directory-card small {
  display: block;
  margin-top: 10px;
  color: var(--charcoal-500);
  font-size: 9px;
}

.vault-tabs { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 18px; padding: 4px; border-radius: 13px; background: var(--cream-200); }
.vault-tab { padding: 8px 13px; border: 0; border-radius: 10px; color: var(--charcoal-500); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; white-space: nowrap; }
.vault-tab.active { color: var(--charcoal-900); background: white; box-shadow: 0 3px 10px rgba(69,48,43,.07); }
.folder-list { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.folder-card { display: flex; align-items: center; gap: 12px; padding: 16px; }
.folder-card.openable-row:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.folder-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--gold-500); background: var(--gold-100); }
.folder-card h3 { margin: 0 0 3px; font-size: 11px; }
.folder-card p { margin: 0; color: var(--charcoal-500); font-size: 9px; }
.document-folder-detail { margin-top: 18px; }
.document-action-grid { display: flex; flex-wrap: wrap; gap: 10px; }

.annual-refresh-card { scroll-margin-top: 24px; }
.annual-refresh-grid,
.evidence-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.annual-refresh-section,
.evidence-item,
.nested-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background: rgba(255, 255, 255, .68);
}
.annual-refresh-section.is-expanded {
  background: linear-gradient(135deg, rgba(247, 213, 222, .38), rgba(255, 250, 245, .92));
}
.refresh-change-panel[hidden],
.new-entity-panel[hidden] {
  display: none;
}
.refresh-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.refresh-checkbox-grid label,
.evidence-item label {
  color: var(--charcoal);
}
.evidence-panel {
  margin: 18px 0;
}
.evidence-item.required {
  border-color: rgba(177, 73, 99, .25);
}
.evidence-item.optional {
  border-color: rgba(195, 151, 64, .25);
}

.launch-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.launch-tile { min-height: 110px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 17px; border: 1px solid var(--border); border-radius: 16px; background: white; cursor: pointer; box-shadow: var(--shadow-sm); }
.tool-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: white; background: linear-gradient(135deg, var(--charcoal-700), var(--charcoal-900)); font-family: Georgia, serif; }
.launch-tile:nth-child(3n+2) .tool-mark { background: linear-gradient(135deg, #bd7582, #965064); }
.launch-tile:nth-child(3n+3) .tool-mark { background: linear-gradient(135deg, #8aa188, #60775f); }
.launch-tile strong { font-size: 11px; }

.permission-note { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid rgba(102,132,144,.2); border-radius: 13px; color: #526a73; background: var(--blue-100); font-size: 10px; line-height: 1.5; }
.permission-note svg { flex: 0 0 auto; width: 16px; margin-top: 1px; }

.lockout-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.employee-access-list { display: grid; gap: 9px; margin-top: 15px; }
.employee-access { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--border); border-radius: 12px; }
.employee-access .avatar { width: 32px; height: 32px; }
.employee-info { flex: 1; }
.employee-info strong { display: block; font-size: 10px; }
.employee-info span { color: var(--charcoal-500); font-size: 8px; }

.empty-state { padding: 48px 20px; text-align: center; }
.empty-state .feature-icon { margin: 0 auto 15px; }

.toast { position: fixed; z-index: 100; right: 24px; bottom: 24px; max-width: 330px; padding: 14px 18px; border-radius: 13px; color: white; background: var(--charcoal-900); box-shadow: var(--shadow-md); font-size: 11px; animation: toast-in .25s ease; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

.work-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: flex;
  justify-content: flex-end;
  background: rgba(37, 40, 42, .22);
  backdrop-filter: blur(5px);
  animation: drawer-fade-in .16s ease-out;
}
.work-drawer {
  position: relative;
  width: min(440px, calc(100vw - 22px));
  height: calc(100vh - 24px);
  margin: 12px;
  padding: 26px;
  overflow-y: auto;
  border-radius: 26px;
  background: rgba(255, 250, 245, .98);
  box-shadow: 0 28px 70px rgba(37, 40, 42, .2);
  animation: drawer-slide-in .18s ease-out;
}
.drawer-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--charcoal-700);
  background: white;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.work-drawer h2 { max-width: 330px; margin: 8px 0 12px; font-size: 28px; }
.drawer-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.drawer-meta span { padding: 6px 9px; border-radius: 999px; color: var(--rose-700); background: var(--blush-50); font-size: 10px; font-weight: 750; }
.drawer-next-action { margin: 18px 0; padding: 16px; border: 1px solid rgba(233, 154, 170, .26); border-radius: 18px; background: linear-gradient(135deg, rgba(255,247,248,.95), rgba(255,255,255,.88)); }
.drawer-next-action strong { display: block; margin-bottom: 6px; }
.drawer-next-action p { margin: 0; color: var(--charcoal-600); font-size: 12px; line-height: 1.55; }
.drawer-routing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.drawer-field { display: grid; gap: 8px; margin-top: 18px; }
.drawer-field.compact { margin-top: 0; }
.drawer-field span { color: var(--charcoal-700); font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.drawer-field textarea,
.drawer-field input,
.drawer-field select { width: 100%; resize: vertical; padding: 13px; border: 1px solid var(--border); border-radius: 16px; outline: none; color: var(--charcoal-800); background: white; font: inherit; font-size: 12px; line-height: 1.45; }
.drawer-field select { cursor: pointer; }
.drawer-field textarea:focus,
.drawer-field input:focus,
.drawer-field select:focus { border-color: rgba(183,101,118,.55); box-shadow: 0 0 0 4px rgba(233,154,170,.12); }
.drawer-history { display: grid; gap: 4px; margin-top: 14px; padding: 12px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.72); }
.drawer-history strong { font-size: 11px; }
.drawer-history span { color: var(--charcoal-500); font-size: 10px; }

.operating-checking-panel {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid rgba(181, 92, 115, .24);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 247, 242, .96), rgba(252, 227, 234, .52));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.operating-checking-panel .section-head { margin-bottom: 16px; }
.readiness-checklist {
  display: grid;
  gap: 9px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(181, 92, 115, .18);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
}
.readiness-checklist label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--charcoal-800);
  font-size: 13px;
  line-height: 1.35;
}
.ai-guardrail-box,
.amanda-review-box {
  margin: 14px 0;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(181, 92, 115, .16);
}
.framework-specific-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.balance-sheet-clues {
  gap: 12px;
}
.balance-sheet-framework-panel.not-applicable-mode .bs-dependent-section {
  display: none;
}
.clue-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 150px minmax(180px, 1fr);
  gap: 8px;
  align-items: center;
}
.clue-row select,
.clue-row input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
  font: inherit;
  font-size: 12px;
}
.subsection-title {
  margin: 18px 0 10px;
  font-size: 15px;
  color: var(--charcoal-800);
}
.danger-text { color: #9b2f4a; }
.success-text { color: #4d7c55; }
.drawer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.drawer-footnote { display: block; margin-top: 16px; color: var(--charcoal-500); font-size: 10px; line-height: 1.4; }
.task-timer-mini { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.mini-timer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  min-height: 28px;
  border: 1px solid rgba(183,101,118,.22);
  border-radius: 999px;
  padding: 5px 10px;
  color: var(--rose-700);
  background: rgba(255,247,248,.92);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.mini-timer-button.running {
  color: #fff;
  border-color: rgba(199,142,44,.55);
  background: linear-gradient(135deg, #c58d30, #e4b657);
  box-shadow: 0 8px 18px rgba(199,142,44,.18);
}
.mini-timer-button.paused { background: rgba(247,232,190,.92); color: #8a5b12; }
.mini-timer-button.stop {
  color: var(--rose-700);
  border-color: rgba(183,101,118,.22);
  background: rgba(255,247,248,.92);
}
.mini-timer-button.stop:not(:disabled) {
  color: #fff;
  border-color: rgba(183,101,118,.5);
  background: linear-gradient(135deg, var(--rose-500), var(--blush-400));
  box-shadow: 0 8px 18px rgba(183,101,118,.16);
}
.mini-timer-button:disabled {
  opacity: .58;
  color: var(--rose-600);
  background: rgba(255,247,248,.72);
  cursor: not-allowed;
}
.drawer-timer-panel {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(233, 154, 170, .28);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,247,248,.96), rgba(255,255,255,.9));
}
.drawer-timer-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.drawer-timer-head h3 { margin: 2px 0 4px; font-size: 19px; }
.drawer-timer-head span:not(.status-pill) { color: var(--charcoal-500); font-size: 11px; }
.drawer-timer-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.drawer-timer-stats div { padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.78); }
.drawer-timer-stats span { display: block; color: var(--charcoal-500); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.drawer-timer-stats strong { display: block; margin-top: 5px; color: var(--charcoal-900); font-size: 18px; }
.timer-actions { margin-top: 14px; }
.current-user-static { display: grid; gap: 2px; }
.current-user-static strong { font-size: 11px; }
.current-user-static span { color: var(--charcoal-500); font-size: 10px; }
@keyframes drawer-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes drawer-slide-in { from { transform: translateX(24px); opacity: .6; } to { transform: translateX(0); opacity: 1; } }

.mobile-bottom-nav { display: none; }
.sidebar-backdrop { display: none; }

.masked-secret {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(120, 84, 56, .18);
  border-radius: 999px;
  background: rgba(120, 84, 56, .07);
  color: var(--charcoal-700);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
}

.vault-link-grid {
  align-items: stretch;
}

.vault-login-card {
  color: inherit;
  text-decoration: none;
}

.vault-login-card:hover {
  transform: translateY(-1px);
  border-color: rgba(120, 84, 56, .28);
}

.credential-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.credential-form-grid label { display: grid; gap: 7px; }
.credential-form-grid label.wide { grid-column: span 3; }
.credential-form-grid span {
  color: var(--charcoal-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.credential-form-grid input,
.credential-form-grid textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid var(--border);
  border-radius: 13px;
  outline: none;
  color: var(--charcoal-800);
  background: rgba(255,255,255,.9);
  font: inherit;
  font-size: 12px;
}
.credential-form-grid textarea { resize: vertical; }
.credential-form-grid input:focus,
.credential-form-grid textarea:focus {
  border-color: rgba(183,101,118,.55);
  box-shadow: 0 0 0 4px rgba(233,154,170,.12);
}
.revealed-secret-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.revealed-secret-grid > div {
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: white;
}
.revealed-secret-grid span {
  display: block;
  margin-bottom: 7px;
  color: var(--charcoal-500);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.revealed-secret-grid strong {
  display: block;
  overflow-wrap: anywhere;
  margin-bottom: 8px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 13px;
}

.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 34px;
  background:
    radial-gradient(circle at top left, rgba(221,166,170,.34), transparent 34%),
    radial-gradient(circle at bottom right, rgba(227,196,135,.32), transparent 30%),
    var(--cream-100);
}

.login-card { width: min(980px, 100%); padding: 34px; }
.login-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 28px; }
.login-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; align-items: start; }
.login-form { display: grid; gap: 11px; margin: 18px 0; }
.login-form label { display: grid; gap: 6px; color: var(--charcoal-600); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.login-form input { width: 100%; padding: 12px 13px; border: 1px solid var(--border); border-radius: 15px; background: rgba(255,255,255,.76); color: var(--charcoal-900); font-size: 13px; outline: none; }
.login-form input:focus { border-color: rgba(221,166,170,.85); box-shadow: 0 0 0 3px rgba(221,166,170,.18); }
.login-user-list { display: grid; gap: 10px; }
.login-user {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
  color: var(--charcoal-900);
  text-align: left;
  cursor: pointer;
}
.login-user:hover { border-color: rgba(221,166,170,.7); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.login-user small { display: block; margin-top: 3px; color: var(--charcoal-500); font-size: 10px; }
.topbar-signout { white-space: nowrap; }

.calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.calendar-panel { padding: 18px; }
.calendar-toolbar { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
.calendar-toolbar-actions { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.calendar-selected-summary { margin-top: 8px; }
.calendar-view-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.calendar-view-tabs button,
.calendar-toggles button {
  border: 1px solid rgba(183,101,118,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--charcoal-700);
  padding: 9px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 850;
}
.calendar-view-tabs button.active,
.calendar-toggles button.active { background: var(--rose-100); color: var(--rose-700); }
.calendar-date-picker { display: grid; gap: 5px; color: var(--charcoal-500); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.calendar-date-picker input { border: 1px solid var(--border); border-radius: 12px; padding: 8px 10px; background: white; color: var(--charcoal-900); }
.calendar-toggles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.calendar-dot { display: inline-block; width: 9px; height: 9px; border-radius: 999px; margin-right: 6px; background: var(--blue-500); }
.calendar-dot.bookkeeping { background: #4f7fa8; }
.calendar-dot.payroll { background: var(--sage-500); }
.calendar-dot.sales-tax { background: #d98a3f; }
.calendar-dot.income-tax { background: #8b6fb1; }
.calendar-dot.irs-notice { background: #c95555; }
.calendar-dot.amanda-review { background: var(--rose-500); }
.calendar-dot.compliance { background: #9b7441; }
.calendar-dot.internal-meeting { background: #767676; }
.calendar-dot.client-meeting { background: #e3bd53; }
.calendar-dot.meeting { background: #767676; }
.calendar-dot.personal { background: var(--blush-300); }
.calendar-filter-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; padding: 12px; border: 1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.56); }
.calendar-filter-panel label { display: grid; gap: 5px; color: var(--charcoal-500); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.calendar-filter-panel select { width: 100%; border: 1px solid var(--border); border-radius: 12px; padding: 8px 10px; background: white; color: var(--charcoal-800); font-size: 12px; }
.calendar-weekdays, .month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-weekdays span { padding: 0 8px 10px; color: var(--charcoal-500); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.month-grid { overflow: hidden; border: 1px solid var(--border); border-radius: 22px; background: rgba(255,255,255,.62); }
.calendar-day { position: relative; min-height: 170px; padding: 10px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: rgba(255,255,255,.46); cursor: text; }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day.empty { background: rgba(244,238,229,.45); }
.calendar-day.today { background: linear-gradient(180deg, rgba(221,166,170,.24), rgba(255,255,255,.78)); box-shadow: inset 0 0 0 2px rgba(183,101,118,.32); }
.calendar-day.selected { outline: 2px solid rgba(183,101,118,.22); outline-offset: -2px; }
.calendar-day-number { border: 0; background: transparent; color: var(--charcoal-800); font-size: 12px; font-weight: 850; cursor: pointer; }
.calendar-day-badges { display: grid; gap: 3px; margin-top: 5px; }
.calendar-day-badges span, .calendar-daily-summary span { display: inline-flex; align-items: center; gap: 4px; color: var(--charcoal-600); font-size: 9px; font-weight: 800; }
.calendar-workload { display: inline-block; margin-top: 5px; color: var(--rose-700); font-size: 9px; font-weight: 900; }
.calendar-daily-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.calendar-items { display: grid; gap: 5px; margin-top: 8px; }
.calendar-chip { width: 100%; display: grid; gap: 2px; padding: 7px 8px; border: 0; border-radius: 11px; color: var(--charcoal-800); text-align: left; font-size: 10px; line-height: 1.28; cursor: pointer; }
.calendar-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-chip span { color: rgba(44,41,41,.62); }
.calendar-chip small { color: var(--charcoal-500); }
.calendar-chip.rose { background: var(--rose-100); }
.calendar-chip.gold { background: var(--gold-100); }
.calendar-chip.sage { background: var(--sage-100); }
.calendar-chip.ink { background: rgba(44,41,41,.08); }
.calendar-chip.info { background: var(--blue-100); }
.calendar-chip.bookkeeping { background: #eaf3fb; box-shadow: inset 3px 0 0 #4f7fa8; }
.calendar-chip.payroll { background: var(--sage-100); box-shadow: inset 3px 0 0 var(--sage-500); }
.calendar-chip.sales-tax { background: #fff0dc; box-shadow: inset 3px 0 0 #d98a3f; }
.calendar-chip.income-tax { background: #f1eafa; box-shadow: inset 3px 0 0 #8b6fb1; }
.calendar-chip.irs-notice { background: #fde8e8; box-shadow: inset 3px 0 0 #c95555; }
.calendar-chip.amanda-review { background: var(--rose-100); box-shadow: inset 3px 0 0 var(--rose-500); }
.calendar-chip.compliance { background: #f8ead0; }
.calendar-chip.internal-meeting { background: rgba(44,41,41,.1); box-shadow: inset 3px 0 0 #767676; }
.calendar-chip.client-meeting { background: #fff6d7; box-shadow: inset 3px 0 0 #e3bd53; }
.calendar-chip.meeting { background: rgba(44,41,41,.1); }
.calendar-chip.personal { background: var(--blush-100); }
.calendar-chip.overdue { box-shadow: inset 3px 0 0 var(--danger-500); }
.calendar-more-link { margin-top: 6px; border: 0; background: transparent; color: var(--rose-700); font-size: 10px; font-weight: 900; cursor: pointer; }
.calendar-chip:focus-visible,
.calendar-view-tabs button:focus-visible,
.calendar-toggles button:focus-visible,
.calendar-column-head:focus-visible { outline: 3px solid rgba(194,151,74,.45); outline-offset: 3px; }
.calendar-drop-target { background: rgba(247,236,209,.5) !important; outline: 2px dashed var(--gold-500); outline-offset: -4px; }
.calendar-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.calendar-quick-entry { position: absolute; z-index: 8; right: 8px; bottom: 8px; left: 8px; display: grid; gap: 7px; padding: 10px; border: 1px solid rgba(183,101,118,.28); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 18px 40px rgba(44,41,41,.16); cursor: default; }
.calendar-time-slot .calendar-quick-entry { position: relative; right: auto; bottom: auto; left: auto; margin-top: 8px; }
.quick-entry-head, .quick-entry-actions { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.quick-entry-head button { border: 0; background: transparent; color: var(--rose-700); font-weight: 900; cursor: pointer; }
.calendar-quick-entry input, .calendar-quick-entry select, .calendar-quick-entry textarea { width: 100%; border: 1px solid var(--border); border-radius: 10px; padding: 7px 8px; background: white; color: var(--charcoal-900); font-size: 11px; }
.quick-entry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.quick-entry-grid label, .quick-check { display: grid; gap: 4px; color: var(--charcoal-500); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.quick-check { display: flex; align-items: center; }
.calendar-modal-backdrop { position: fixed; z-index: 70; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(44,41,41,.34); backdrop-filter: blur(4px); }
.calendar-modal { width: min(900px, 96vw); max-height: 90vh; overflow: auto; padding: 22px; }
.calendar-modal-form { margin-top: 12px; }
.calendar-time-grid { display: grid; gap: 12px; }
.calendar-time-grid.week-view { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-time-grid.day-view { grid-template-columns: 1fr; }
.calendar-time-column { min-height: 260px; border: 1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.54); padding: 10px; }
.calendar-column-head { width: 100%; border: 0; border-radius: 12px; background: rgba(255,248,250,.86); color: var(--rose-700); padding: 10px; font-weight: 900; cursor: pointer; }
.calendar-column-items { display: grid; gap: 8px; margin-top: 10px; }
.calendar-time-slots { display: grid; gap: 8px; margin-top: 10px; }
.calendar-time-slot { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 8px; min-height: 56px; padding: 8px; border: 1px dashed rgba(183,101,118,.22); border-radius: 14px; background: rgba(255,255,255,.5); }
.calendar-time-slot time { color: var(--charcoal-500); font-size: 10px; font-weight: 900; }
.slot-empty { color: var(--charcoal-400); font-size: 10px; }
.calendar-agenda { display: grid; gap: 10px; }
.calendar-agenda-row { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; align-items: start; padding: 10px; border: 1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.68); }
.calendar-agenda-row time { color: var(--charcoal-500); font-size: 11px; font-weight: 900; }

.firm-health-grid,
.capacity-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.firm-health-card,
.search-result-row,
.capacity-row,
.client-360-pill {
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  color: var(--charcoal-800);
  cursor: pointer;
  text-align: left;
}

.firm-health-card {
  display: grid;
  gap: 7px;
  padding: 16px;
}

.firm-health-card span,
.search-result-row span {
  color: var(--rose-700);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.firm-health-card strong {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1;
}

.firm-health-card small,
.capacity-row em,
.search-result-row small {
  color: var(--charcoal-500);
  font-style: normal;
}

.capacity-list,
.search-results {
  display: grid;
  gap: 10px;
}

.capacity-row,
.search-result-row {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
}

.activity-filters,
.global-search-box {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.activity-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  align-items: end;
}

.activity-filters label,
.global-search-box {
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.activity-filters select,
.activity-filters input,
.global-search-box input {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
  background: white;
  color: var(--charcoal-900);
}

.production-timeline .timeline-item {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.7);
  cursor: pointer;
}

.client-360-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.client-360-pill {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.client-360-pill span {
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 900;
}

.client-360-pill strong {
  color: var(--rose-700);
  font-size: 20px;
}

.photo-placeholder {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 14px;
  border: 1px dashed rgba(120, 84, 56, .32);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(221,166,170,.18), rgba(227,196,135,.18));
  color: var(--charcoal-700);
}

.role-ops-panel {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.rockinb-focus-card {
  background:
    radial-gradient(circle at top right, rgba(227,196,135,.18), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,248,248,.82));
}

.personal-assistant-card {
  background:
    radial-gradient(circle at top right, rgba(221,166,170,.24), transparent 34%),
    radial-gradient(circle at bottom left, rgba(227,196,135,.16), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,247,250,.82));
}

.timer-panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(247,250,251,.72));
}

.timer-switch-card {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
}

.timer-switch-card h3 {
  margin: 0 0 7px;
  color: var(--charcoal-900);
}

.timer-switch-card p {
  margin: 0;
  color: var(--charcoal-600);
  font-size: 12px;
  line-height: 1.5;
}

.timer-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.timer-flow > span {
  display: grid;
  gap: 4px;
  padding: 13px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(251,232,235,.68), rgba(255,255,255,.82));
  color: var(--charcoal-900);
  font-weight: 900;
}

.timer-flow small,
.timer-flow em {
  color: var(--charcoal-600);
  font-size: 10px;
  font-weight: 650;
  font-style: normal;
}

.timer-flow strong {
  color: var(--rose-700);
  font-size: 22px;
}

.timer-budget-table .data-table {
  min-width: 860px;
}

.compact-data {
  overflow-x: auto;
  margin-top: 12px;
}

.compact-data .data-table {
  min-width: 720px;
}

.career-path {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.career-path span {
  position: relative;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: var(--charcoal-600);
  font-size: 10px;
  font-weight: 850;
}

.career-path span.active {
  background: var(--rose-100);
  color: var(--rose-700);
}

.ops-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.ops-mini-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
}

.ops-mini-card h3 {
  margin: 0;
  color: var(--charcoal-900);
  font-size: 14px;
}

.ops-mini-card p,
.wayne-reminder p {
  margin: 0;
  color: var(--charcoal-600);
  font-size: 11px;
  line-height: 1.45;
}

.ops-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.workflow-steps {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.workflow-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: rgba(255,255,255,.74);
}

.workflow-step-number {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--rose-100);
  color: var(--rose-700);
  font-size: 11px;
  font-weight: 900;
}

.workflow-step strong {
  color: var(--charcoal-800);
  font-size: 12px;
}

.timeline-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.timeline-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--border);
}

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

.timeline-item time {
  color: var(--rose-700);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.timeline-item strong,
.timeline-item span {
  display: block;
}

.timeline-item strong {
  color: var(--charcoal-900);
  font-size: 12px;
}

.timeline-item span {
  margin-top: 3px;
  color: var(--charcoal-600);
  font-size: 11px;
}

.wayne-section-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.wayne-item-card {
  padding: 18px;
}

.wayne-reminder {
  display: grid;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid var(--border);
}

.wayne-reminder:first-of-type {
  border-top: 0;
}

.wayne-meta,
.wayne-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.wayne-meta span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(120,84,56,.08);
  color: var(--charcoal-600);
  font-size: 9px;
  font-weight: 800;
}

.mobile-companion-card { display: none; }
.mobile-companion-card .daily-card-head { align-items: flex-start; }
.mobile-companion-card .daily-card-head p {
  margin: 2px 0 0;
  color: var(--charcoal-600);
  font-size: 10px;
  line-height: 1.35;
}
.mobile-companion-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 10px;
}
.mobile-companion-actions button {
  min-height: 44px;
  border: 1px solid rgba(183,101,118,.14);
  border-radius: 14px;
  color: var(--rose-700);
  background: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.document-upload-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1.1fr) minmax(260px, .8fr) auto;
  align-items: end;
  gap: 16px;
  margin-bottom: 18px;
  padding: 20px;
}
.upload-meta-grid {
  display: grid;
  grid-template-columns: 1.1fr .6fr .8fr 1fr;
  gap: 10px;
}
.upload-meta-grid label {
  display: grid;
  gap: 6px;
  color: var(--charcoal-600);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.upload-meta-grid input,
.upload-meta-grid select {
  width: 100%;
  min-height: 40px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  outline: none;
  color: var(--charcoal-800);
  background: rgba(255,255,255,.82);
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
}
.upload-meta-grid input:focus,
.upload-meta-grid select:focus {
  border-color: rgba(183,101,118,.55);
  box-shadow: 0 0 0 4px rgba(233,154,170,.12);
}
.phone-scope-notice {
  display: none;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(184,137,63,.25);
  border-radius: 16px;
  color: var(--charcoal-700);
  background: rgba(255,248,229,.8);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 800;
}
.phone-scope-notice .nav-icon {
  width: 15px;
  height: 15px;
  margin-right: 6px;
  vertical-align: -3px;
  color: var(--gold-500);
}
.upload-drop-zone {
  display: grid;
  gap: 5px;
  padding: 18px;
  border: 1px dashed rgba(183,101,118,.42);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
  cursor: pointer;
}
.upload-drop-zone input {
  width: 100%;
  color: var(--charcoal-600);
  font-size: 10px;
}
.upload-drop-zone span {
  color: var(--charcoal-900);
  font-size: 12px;
  font-weight: 900;
}
.upload-drop-zone small {
  color: var(--charcoal-500);
  font-size: 10px;
  line-height: 1.35;
}

@media (max-width: 1560px) {
  .daily-grid { grid-template-columns: 1fr; }
  .daily-right { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1400px) {
  .daily-topline { grid-template-columns: minmax(280px, 1fr) auto; align-items: start; }
  .weather-pill { grid-column: 1; justify-self: start; }
  .mood-check { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .daily-profile { grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
}

@media (max-width: 1180px) {
  :root { --sidebar: 86px; }
  .brand { justify-content: center; padding: 0; }
  .brand-copy, .nav-button span, .nav-section-label, .sidebar-footer { display: none; }
  .primary-nav { padding: 16px 12px; }
  .nav-button { justify-content: center; padding: 10px; }
  .nav-button.active::before { display: none; }
  .nav-button.active .nav-icon { margin-left: 0; }
  .client-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .feature-grid, .employee-directory-summary, .employee-directory-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .firm-health-grid,
  .capacity-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-360-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-shell .main-content { padding-top: 26px; }
  .daily-topline { grid-template-columns: auto 1fr auto; }
  .daily-mobile-menu { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: rgba(255,255,255,.74); }
  .mood-check { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .daily-grid { grid-template-columns: 1fr; }
  .daily-right { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-hero-row { grid-template-columns: 1fr 1fr; }
  .encouragement-card { grid-column: 1 / -1; }
  .folder-list, .launch-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .health-strip { grid-template-columns: repeat(4, 1fr); }
  .ops-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wayne-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-upload-card { grid-template-columns: 1fr 1fr; }
  .upload-meta-grid { grid-template-columns: 1fr 1fr; }
  .document-upload-card .primary-button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 860px) {
  :root { --sidebar: 0px; --header: 68px; }
  .sidebar { width: 248px; transform: translateX(-100%); transition: transform .23s ease; box-shadow: var(--shadow-md); }
  .sidebar.open { transform: translateX(0); }
  .sidebar .brand { justify-content: flex-start; padding: 0 22px; }
  .sidebar .brand-copy, .sidebar .nav-button span, .sidebar .nav-section-label, .sidebar .sidebar-footer { display: block; }
  .sidebar .nav-button { justify-content: flex-start; padding: 9px 12px; }
  .sidebar .nav-button.active::before { display: block; }
  .sidebar .nav-button.active .nav-icon { margin-left: -2px; }
  .sidebar-backdrop { position: fixed; z-index: 35; inset: 0; display: block; opacity: 0; visibility: hidden; background: rgba(34,29,28,.34); transition: opacity .2s; }
  .sidebar-backdrop.open { opacity: 1; visibility: visible; }
  .topbar { left: 0; padding: 0 22px; }
  .mobile-menu { display: grid; place-items: center; width: 34px; height: 34px; }
  .main-content { margin-left: 0; padding: calc(var(--header) + 28px) 23px 96px; }
  .workspace-shell .main-content { padding-top: 22px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .daily-main-row, .daily-small-row { grid-template-columns: 1fr; }
  .daily-right { grid-template-columns: 1fr 1fr; }
  .side-column { grid-template-columns: 1fr 1fr; }
  .service-profile-service-grid { grid-template-columns: 1fr; }
  .lockout-panel { grid-template-columns: 1fr; }
  .ops-two-column { grid-template-columns: 1fr; }
  .date-chip { display: none; }
  .client-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .client-detail-grid { grid-template-columns: 1fr; }
  .profile-editor-grid.compact { grid-template-columns: 1fr; }
  .document-upload-card { grid-template-columns: 1fr; }
  .upload-meta-grid { grid-template-columns: 1fr; }
  .upload-drop-zone { min-height: 116px; }
}

@media (max-width: 760px) {
  .login-screen { padding: 18px; }
  .login-card { padding: 22px; }
  .login-grid { grid-template-columns: 1fr; }
  .login-user { grid-template-columns: 38px minmax(0, 1fr); }
  .login-user .status-pill { grid-column: 2; justify-self: start; }
}

@media (max-width: 600px) {
  .drawer-routing-grid { grid-template-columns: 1fr; }
  .topbar { padding: 0 14px; }
  .breadcrumb, .role-select-label { display: none; }
  .role-switcher { padding-left: 5px; }
  .role-select { max-width: 102px; font-size: 10px; }
  .avatar { width: 32px; height: 32px; }
  .main-content { padding: calc(var(--header) + 23px) 15px 94px; }
  .page-heading { align-items: flex-start; margin-bottom: 20px; }
  .weather { padding: 9px 10px; font-size: 0; }
  .weather-icon { font-size: 17px; }
  h1 { font-size: 29px; }
  .daily-topline { grid-template-columns: auto 1fr; align-items: start; gap: 12px; }
  .daily-topline > div:first-of-type { min-width: 0; }
  .daily-weather { justify-self: start; border: 0; padding: 0; text-align: left; }
  .daily-profile { display: none; }
  .mood-check { grid-column: 1 / -1; }
  .mood-check > div { flex-wrap: wrap; justify-content: flex-start; }
  .daily-hero-row, .daily-main-row, .daily-small-row, .daily-right { grid-template-columns: 1fr; }
  .mobile-companion-card { display: block; }
  .mobile-companion-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-card { padding: 17px; border-radius: 18px; }
  .morning-note { align-items: flex-start; }
  .mug-art { min-width: 78px; min-height: 84px; font-size: 12px; }
  .quick-launch-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-love-note { grid-template-columns: 1fr; gap: 8px; }
  .subtitle { font-size: 11px; }
  .priority-card { min-height: 225px; align-items: flex-start; flex-direction: column; padding: 24px; }
  .priority-card .primary-button { width: 100%; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .metric-card { min-height: 112px; padding: 14px; }
  .metric-value { font-size: 23px; }
  .side-column { grid-template-columns: 1fr; }
  .section-card { padding: 18px; }
  .task-item { grid-template-columns: 30px minmax(0,1fr); }
  .task-due { grid-column: 2; text-align: left; }
  .client-grid, .feature-grid, .employee-directory-summary, .employee-directory-grid, .folder-list, .launch-grid { grid-template-columns: 1fr; }
  .client-detail-stats, .account-detail-grid, .client-profile-form, .profile-editor-grid, .employee-profile-form, .drawer-actions.stacked, .framework-specific-grid, .clue-row { grid-template-columns: 1fr; }
  .drawer-timer-stats { grid-template-columns: 1fr; }
  .credential-form-grid, .revealed-secret-grid { grid-template-columns: 1fr; }
  .credential-form-grid label.wide { grid-column: span 1; }
  .employee-directory-meta { grid-template-columns: 1fr; }
  .ops-card-grid, .wayne-section-grid { grid-template-columns: 1fr; }
  .workflow-step { grid-template-columns: 30px minmax(0, 1fr); }
  .workflow-step .text-button { grid-column: 2; justify-self: start; }
  .timer-flow { grid-template-columns: 1fr; }
  .timer-flow strong { text-align: center; transform: rotate(90deg); }
  .calendar-weekdays { display: none; }
  .month-grid { grid-template-columns: 1fr; border-radius: 18px; }
  .calendar-day { min-height: auto; border-right: 0; }
  .calendar-day.empty { display: none; }
  .client-card { min-height: 178px; }
  .health-strip { grid-template-columns: repeat(2, 1fr); }
  .toolbar { align-items: stretch; flex-wrap: wrap; }
  .search-field { max-width: none; flex-basis: 100%; }
  .data-card { overflow-x: auto; }
  .data-table { min-width: 760px; }
  .phone-scope-notice { display: block; }
  .document-upload-card { padding: 17px; }
  .document-upload-card .primary-button { width: 100%; }
  .folder-list { gap: 8px; }
  .folder-card { padding: 13px; }
  .mobile-bottom-nav { position: fixed; z-index: 25; right: 10px; bottom: 9px; left: 10px; height: 66px; display: grid; grid-template-columns: repeat(5, 1fr); padding: 7px; border: 1px solid var(--border); border-radius: 20px; background: rgba(44,41,41,.96); box-shadow: 0 14px 35px rgba(44,41,41,.25); backdrop-filter: blur(14px); }
  .mobile-nav-button { display: grid; place-items: center; align-content: center; gap: 4px; border: 0; border-radius: 13px; color: rgba(255,255,255,.55); background: transparent; font-size: 7px; cursor: pointer; }
  .mobile-nav-button svg { width: 17px; height: 17px; }
  .mobile-nav-button.active { color: white; background: rgba(221,166,170,.15); }
  .toast { right: 14px; bottom: 86px; left: 14px; max-width: none; }
}

/* Reward sparkle and care-based capacity */
.scratch-large.scratch-ready { box-shadow: 0 18px 48px rgba(214,111,134,.24), inset 0 0 0 1px rgba(255,255,255,.2); }
.scratch-large.scratch-ready::after {
  content: "";
  position: absolute;
  inset: -40%;
  background:
    radial-gradient(circle, rgba(255,255,255,.82) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(248,227,162,.76) 0 1px, transparent 2px);
  background-size: 34px 34px, 52px 52px;
  animation: glitter-drift 5s linear infinite;
  opacity: .38;
  pointer-events: none;
}

@keyframes glitter-drift { from { transform: translate3d(0,0,0) rotate(0deg); } to { transform: translate3d(26px,38px,0) rotate(8deg); } }

.glitter-burst {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.48), transparent 20%),
    radial-gradient(circle at 18% 18%, rgba(221,166,170,.18), transparent 26%),
    radial-gradient(circle at 82% 72%, rgba(227,196,135,.22), transparent 28%);
  animation: glitter-screen-fade 3.4s ease-out both;
}

.glitter-burst.scratch-burst {
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.56), transparent 22%),
    radial-gradient(circle at 22% 26%, rgba(248,227,162,.38), transparent 30%),
    radial-gradient(circle at 76% 70%, rgba(221,166,170,.28), transparent 30%);
  animation-duration: 3.9s;
}

.glitter-burst i {
  position: absolute;
  left: 50vw;
  top: 43vh;
  width: var(--size);
  height: calc(var(--size) * 1.9);
  border-radius: 3px;
  background: #f8e3a2;
  box-shadow:
    0 0 14px rgba(255,255,255,.85),
    0 0 20px rgba(227,196,135,.3);
  transform: translate3d(-50%, -50%, 0) rotate(var(--spin)) scale(.18);
  animation: confetti-burst 3.1s cubic-bezier(.12,.78,.25,1) var(--delay) both;
}

.glitter-burst i:nth-of-type(3n) {
  background: #dda6aa;
}

.glitter-burst i:nth-of-type(4n) {
  background: #f4bfd0;
}

.glitter-burst i:nth-of-type(5n) {
  width: calc(var(--size) * 1.8);
  height: calc(var(--size) * 1.8);
  background: #e3c487;
  border-radius: 999px;
}

.glitter-burst i:nth-of-type(6n) {
  background: #f7d8df;
}

.glitter-burst i:nth-of-type(7n) {
  width: calc(var(--size) * 2.1);
  height: calc(var(--size) * .8);
  background: #ffd979;
}

.glitter-message {
  position: absolute;
  left: 50%;
  top: 42%;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 16px 22px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: var(--charcoal);
  box-shadow: 0 26px 80px rgba(137,65,78,.2);
  transform: translate(-50%, -50%) scale(.78);
  animation: glitter-message-pop 2.75s ease-out both;
  backdrop-filter: blur(10px);
}

.glitter-message span { font-size: 28px; }
.glitter-message strong { font-size: 15px; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
@keyframes confetti-burst {
  0% {
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) rotate(var(--spin)) scale(.18);
  }
  8% { opacity: 1; }
  38% {
    opacity: 1;
    transform: translate3d(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y)), 0) rotate(calc(var(--spin) + 260deg)) scale(1.1);
  }
  74% { opacity: 1; }
  100% {
    opacity: 0;
    transform: translate3d(calc(-50% + var(--burst-x) + var(--drift)), calc(-50% + var(--burst-y) + var(--fall)), 0) rotate(calc(var(--spin) + 820deg)) scale(.72);
  }
}
@keyframes glitter-message-pop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.68) rotate(-2deg); }
  18% { opacity: 1; transform: translate(-50%, -50%) scale(1.08) rotate(1deg); }
  70% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -62%) scale(.94) rotate(1deg); }
}
@keyframes glitter-screen-fade {
  0% { opacity: 0; }
  10% { opacity: 1; }
  82% { opacity: 1; }
  100% { opacity: 0; }
}

.employee-health-card p { margin: 0 0 12px; color: var(--charcoal-600); font-size: 11px; line-height: 1.45; }
.health-rating-list { display: grid; gap: 12px; }
.health-rating-row { display: grid; gap: 7px; padding: 11px; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.64); }
.health-rating-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.health-rating-top strong { font-size: 12px; }
.health-rating-row small { color: var(--charcoal-600); font-size: 10px; line-height: 1.35; }
.capacity-meter { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(93,73,68,.09); }
.capacity-meter.large { height: 10px; margin: 12px 0; }
.capacity-meter span { display: block; height: 100%; border-radius: inherit; background: var(--sage-500); }
.capacity-meter span.warning { background: linear-gradient(90deg, var(--gold-500), var(--rose-600)); }
.capacity-meter span.gold { background: linear-gradient(90deg, var(--gold-500), #e6b657); }
.capacity-meter span.info { background: linear-gradient(90deg, var(--blue-500), var(--sage-500)); }
.capacity-meter span.success { background: linear-gradient(90deg, var(--sage-500), #8fb788); }
.capacity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.capacity-card { padding: 15px; border: 1px solid var(--border); border-radius: 20px; background: rgba(255,255,255,.74); }
.capacity-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.capacity-card-head strong { display: block; color: var(--charcoal-900); font-size: 14px; }
.capacity-card-head span:not(.status-pill) { display: block; margin-top: 3px; color: var(--charcoal-500); font-size: 10px; }
.capacity-card p { margin: 0 0 8px; color: var(--charcoal-700); font-size: 11px; line-height: 1.45; }
.capacity-card small { color: var(--charcoal-500); font-size: 10px; line-height: 1.4; }

.task-command-center {
  margin: 18px 0;
  border-color: rgba(173, 71, 99, .18);
  background:
    radial-gradient(circle at top left, rgba(247, 216, 223, .58), transparent 30%),
    rgba(255, 255, 255, .86);
}

.bookkeeping-task-command {
  margin-bottom: 22px;
}

.task-command-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
  padding: 6px;
  border: 1px solid rgba(173, 71, 99, .12);
  border-radius: 18px;
  background: rgba(248, 239, 231, .75);
}

.task-command-tabs button {
  flex: 1 1 150px;
  display: flex;
  justify-content: center;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--charcoal-700);
  font-weight: 800;
  cursor: pointer;
}

.task-command-tabs button.active {
  background: linear-gradient(135deg, rgba(245, 199, 210, .95), rgba(255, 255, 255, .86));
  color: var(--rose-700);
  box-shadow: 0 12px 28px rgba(173, 71, 99, .14);
}

.task-command-tabs span {
  min-width: 24px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: var(--rose-700);
  font-size: 11px;
}

.task-command-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.task-command-summary button {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 4px;
  width: 100%;
  min-height: 82px;
  text-align: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.task-command-summary button:hover {
  transform: translateY(-1px);
  border-color: rgba(183,101,118,.28);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 28px rgba(57,48,45,.08);
}

.task-command-summary span,
.task-command-meta span,
.task-command-proof span {
  display: block;
  margin-bottom: 4px;
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.task-command-summary strong {
  display: block;
  color: var(--charcoal-900);
  font-size: 22px;
  line-height: 1.05;
}

.task-command-summary small {
  display: block;
  margin-top: 6px;
  color: var(--rose-700);
  font-size: 10px;
  font-weight: 850;
}

.active-filter-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(183, 101, 118, .22);
  border-radius: 16px;
  background: rgba(255, 244, 247, .86);
  color: var(--charcoal-700);
  font-size: 12px;
}

.active-filter-banner .nav-icon {
  width: 16px;
  height: 16px;
  color: var(--rose-700);
}

.active-filter-banner span {
  font-weight: 900;
  color: var(--rose-800);
}

.active-filter-banner .text-button {
  margin-left: auto;
  white-space: nowrap;
}

.task-command-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(112px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 12px 0 16px;
}

.task-command-filters label {
  display: grid;
  gap: 6px;
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.task-command-filters select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,.84);
  color: var(--charcoal-800);
  padding: 0 10px;
  font: inherit;
  text-transform: none;
  letter-spacing: 0;
}

.task-command-list {
  display: grid;
  gap: 10px;
}

.task-command-row {
  display: grid;
  grid-template-columns: 86px minmax(260px, 1.9fr) repeat(3, minmax(100px, .65fr)) minmax(130px, .75fr) minmax(150px, .75fr);
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(173, 71, 99, .13);
  border-radius: 18px;
  background: rgba(255,255,255,.8);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.task-command-row:hover {
  border-color: rgba(173, 71, 99, .26);
  box-shadow: 0 14px 34px rgba(93, 73, 68, .1);
  transform: translateY(-1px);
}

.task-command-row.completed {
  background: rgba(240, 247, 239, .78);
}

.task-command-row.overdue:not(.completed) {
  border-color: rgba(173, 71, 99, .28);
  background: linear-gradient(90deg, rgba(255, 244, 246, .95), rgba(255,255,255,.82));
}

.task-command-check {
  min-height: 40px;
  border: 1px solid rgba(173, 71, 99, .24);
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  color: var(--rose-700);
  font-weight: 900;
  cursor: pointer;
}

.passive-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(173, 71, 99, .24);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: var(--rose-700);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.simplified-task-card {
  cursor: pointer;
}

.compact-action {
  min-height: 34px;
  padding: 0 14px;
  white-space: nowrap;
}

.task-command-row.completed .task-command-check {
  background: var(--sage-100);
  color: var(--sage-700);
}

.task-command-main {
  display: grid;
  gap: 3px;
}

.task-command-main > strong,
.task-command-main .client-link {
  color: var(--gold-500);
  font-weight: 900;
}

.task-command-main .task-title {
  color: var(--charcoal-900);
  font-size: 13px;
  font-weight: 900;
}

.task-command-main small {
  color: var(--charcoal-500);
  font-size: 11px;
}

.task-command-meta strong,
.task-command-proof strong {
  color: var(--charcoal-800);
  font-size: 11px;
  line-height: 1.35;
}

.task-command-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.task-command-actions .task-timer-mini {
  width: 100%;
  justify-content: flex-end;
}

.task-workspace-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
}

.task-workspace-main,
.task-workspace-side {
  padding: 22px;
}

.task-workspace-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.task-workspace-hero h1 {
  margin: 0;
  color: var(--charcoal-900);
  font-family: var(--serif);
  font-size: clamp(28px, 4vw, 44px);
  line-height: .98;
}

.task-workspace-facts,
.task-workspace-time {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.task-workspace-facts > div,
.task-workspace-time > div {
  border: 1px solid rgba(55,49,50,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  padding: 12px;
}

.task-workspace-facts span,
.task-workspace-time span {
  display: block;
  margin-bottom: 5px;
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.task-workspace-facts strong,
.task-workspace-time strong {
  color: var(--charcoal-900);
}

.task-workspace-progress {
  margin: 18px 0;
}

.task-workspace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}

.large-action {
  min-height: 46px;
  padding-inline: 22px;
}

.task-workspace-docs,
.task-account-panel {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(55,49,50,.08);
}

.task-document-list {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.task-document-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(55,49,50,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.78);
}

.task-document-row span {
  display: block;
  color: var(--charcoal-500);
  font-size: 12px;
}

.task-drop-zone {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 16px;
  border: 1px dashed rgba(173, 71, 99, .32);
  border-radius: 18px;
  background: rgba(255, 244, 247, .5);
  color: var(--charcoal-600);
}

.task-workspace-side details {
  display: grid;
  gap: 10px;
}

.task-workspace-side summary {
  cursor: pointer;
  color: var(--rose-700);
  font-weight: 900;
}

.task-history-mini {
  margin-top: 16px;
}

.final-review-box {
  border: 1px solid rgba(173, 71, 99, .22);
  background: linear-gradient(135deg, rgba(255, 248, 246, .96), rgba(255, 236, 242, .68));
  border-radius: 22px;
  padding: 18px;
  display: grid;
  gap: 14px;
}

.final-review-order-panel {
  border: 1px solid rgba(194, 151, 74, .26);
  border-radius: 18px;
  background: rgba(255, 252, 246, .9);
  padding: 14px;
}

.final-review-order-panel ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  margin: 12px 0 0;
  padding-left: 22px;
}

.final-review-order-panel li span {
  color: var(--rose-700);
  font-weight: 900;
}

.final-review-order-panel li p {
  margin: 3px 0 0;
  color: var(--charcoal-600);
  font-size: 12px;
}

.final-review-fields {
  display: grid;
  gap: 12px;
}

.review-card-grid {
  display: grid;
  gap: 14px;
}

.review-card {
  border: 1px solid rgba(55, 49, 50, .1);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 45px rgba(55, 49, 50, .06);
  padding: 16px;
}

.review-card.urgent {
  border-color: rgba(173, 71, 99, .28);
  background: rgba(255, 238, 242, .9);
}

.review-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.review-card h3 {
  margin: 10px 0 6px;
}

.final-review-workspace-card {
  display: grid;
  gap: 14px;
}

.review-checklist {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(183,101,118,.16);
  border-radius: 16px;
  background: rgba(255,248,250,.72);
}

.checkline {
  display: flex;
  gap: 9px;
  align-items: center;
  color: var(--charcoal-800);
  font-size: 12px;
  font-weight: 750;
}

.review-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.template-stack {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.workflow-template-card .profile-editor-grid {
  margin-top: 14px;
}

.workflow-template-table select,
.workflow-template-table input {
  max-width: 150px;
}

.danger-button {
  border-color: rgba(150, 54, 64, .3) !important;
  color: #963640 !important;
  background: rgba(255, 236, 239, .9) !important;
}

.myday-dashboard {
  display: grid;
  gap: 22px;
}

.myday-topline {
  border: 1px solid rgba(183,101,118,.16);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,250,247,.96), rgba(255,239,245,.72));
  padding: 22px;
  box-shadow: 0 24px 60px rgba(93,73,68,.08);
}

.myday-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: 22px;
  align-items: start;
}

.myday-main,
.myday-aside,
.myday-side-stack {
  display: grid;
  gap: 18px;
}

.myday-panel {
  padding: 20px;
  border-radius: 26px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 22px 54px rgba(55,49,50,.07);
}

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

.myday-work-section {
  border: 1px solid rgba(183,101,118,.14);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,248,250,.92), rgba(255,255,255,.82));
  padding: 14px;
  display: grid;
  gap: 10px;
}

.myday-work-section h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 15px;
}

.myday-work-section h3 span {
  display: inline-grid;
  place-items: center;
  width: auto;
  min-width: 62px;
  height: 30px;
  padding: 0 8px;
  flex: 0 0 auto;
  border-radius: 12px;
  background: var(--rose-100);
  color: var(--rose-700);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.myday-work-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(55,49,50,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  transition: transform .16s ease, box-shadow .16s ease;
}

.myday-work-row:hover,
.myday-client-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(93,73,68,.1);
}

.myday-work-main {
  display: grid;
  gap: 3px;
}

.myday-work-main strong,
.myday-work-main .client-link {
  color: var(--gold-500);
  font-weight: 900;
}

.myday-work-main span {
  color: var(--charcoal-900);
  font-weight: 900;
}

.myday-work-main small {
  color: var(--charcoal-500);
  font-size: 11px;
}

.myday-work-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.myday-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.myday-stat-card {
  min-height: 118px;
  display: grid;
  align-content: center;
  gap: 8px;
}

.myday-stat-card span {
  color: var(--charcoal-500);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.myday-stat-card strong {
  color: var(--charcoal-900);
  font-family: var(--serif);
  font-size: 30px;
}

.myday-stat-card small {
  color: var(--charcoal-500);
}

.myday-stat-card.has-detail {
  grid-column: span 2;
  align-content: start;
}

.myday-stat-detail {
  display: grid;
  gap: 7px;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 4px;
}

.myday-stat-detail-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  padding: 9px 10px;
  border: 1px solid rgba(55,49,50,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  cursor: pointer;
}

.myday-stat-detail-item strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: inherit;
  font-size: 12px;
}

.myday-stat-detail-item span {
  color: var(--gold-500);
  font-size: 10px;
  text-align: right;
}

.myday-stat-detail-item small {
  grid-column: 1 / -1;
  font-size: 10px;
}

.client-operating-instructions {
  border-color: rgba(184,137,63,.26);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,236,209,.5));
}

.client-instruction-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 24px;
}

.client-instruction-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(55,49,50,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
}

.client-instruction-list strong,
.client-instruction-list p {
  margin: 0;
}

.client-instruction-list p {
  margin-top: 4px;
  color: var(--charcoal-500);
  font-size: 12px;
  line-height: 1.45;
}

.instruction-note {
  margin-top: 12px;
}

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

.myday-client-card {
  border: 1px solid rgba(183,101,118,.15);
  border-radius: 22px;
  padding: 15px;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,248,250,.82));
  display: grid;
  gap: 11px;
}

.myday-client-card h3 {
  margin: 0;
  font-size: 16px;
}

.myday-rewards-grid {
  display: grid;
  gap: 14px;
}

.myday-reward-card {
  display: grid;
  gap: 12px;
}

.myday-celebration-row {
  display: grid;
  gap: 10px;
}

.myday-celebration-row article {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 4px 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(194,151,74,.18);
  border-radius: 18px;
  background: rgba(255,252,246,.9);
}

.myday-celebration-row article.major {
  border-color: rgba(194,151,74,.34);
  background: linear-gradient(135deg, rgba(255,252,246,.95), rgba(255,236,242,.78));
}

.myday-celebration-row article span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background: var(--gold-100);
  color: var(--gold-700);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.myday-celebration-row article strong {
  color: var(--charcoal-900);
}

.myday-celebration-row article small {
  color: var(--charcoal-500);
}

.myday-celebration-row article button {
  grid-row: span 2;
}

.myday-owner-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.myday-owner-grid button {
  border: 1px solid rgba(183,101,118,.15);
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  padding: 14px;
  text-align: left;
  color: var(--charcoal-700);
  cursor: pointer;
}

.myday-owner-grid span {
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--charcoal-500);
}

.myday-owner-grid strong {
  display: block;
  margin-top: 6px;
  font-family: var(--serif);
  font-size: 26px;
  color: var(--charcoal-900);
}

.myday-owner-breakdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.myday-owner-breakdown article {
  border: 1px solid rgba(183,101,118,.13);
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.82);
}

.myday-owner-breakdown h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

.myday-work-row:focus-within,
.myday-client-card:focus-within,
.myday-owner-grid button:focus-visible,
.myday-celebration-row button:focus-visible {
  outline: 3px solid rgba(194,151,74,.45);
  outline-offset: 3px;
}

.empty-state.compact {
  padding: 14px;
  border-radius: 16px;
  font-size: 12px;
}

@media (max-width: 980px) {
  .myday-layout { grid-template-columns: 1fr; }
  .myday-stats-grid,
  .myday-client-grid,
  .myday-owner-grid,
  .myday-owner-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .myday-work-sections { grid-template-columns: 1fr; }
  .capacity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-command-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-command-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .final-review-order-panel ol { grid-template-columns: 1fr; }
  .task-workspace-layout { grid-template-columns: 1fr; }
  .task-command-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .task-command-actions,
  .task-command-actions .task-timer-mini {
    justify-content: flex-start;
  }
  .calendar-time-grid.week-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .myday-topline { padding: 16px; }
  .myday-stats-grid,
  .myday-client-grid,
  .myday-owner-grid,
  .myday-owner-breakdown { grid-template-columns: 1fr; }
  .myday-stat-card.has-detail { grid-column: span 1; }
  .client-instruction-list li { grid-template-columns: 1fr; }
  .myday-work-row { grid-template-columns: 58px minmax(0, 1fr); }
  .myday-work-actions { grid-column: 2; justify-content: flex-start; }
  .capacity-grid { grid-template-columns: 1fr; }
  .task-command-summary,
  .task-command-filters { grid-template-columns: 1fr; }
  .calendar-toolbar { align-items: stretch; }
  .calendar-view-tabs,
  .calendar-toggles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-workspace-facts,
  .task-workspace-time { grid-template-columns: 1fr; }
  .task-workspace-hero { display: grid; }
  .task-workspace-actions .large-action { width: 100%; }
  .calendar-filter-panel { grid-template-columns: 1fr; }
  .calendar-time-grid.week-view { grid-template-columns: 1fr; }
  .calendar-agenda-row { grid-template-columns: 1fr; }
  .firm-health-grid,
  .capacity-dashboard-grid,
  .activity-filters,
  .client-360-summary { grid-template-columns: 1fr; }
}

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