:root {
  --ink: #202923;
  --forest: #233128;
  --forest-deep: #17221b;
  --sand: #dbc19e;
  --cream: #f5f1e9;
  --paper: #fbfaf7;
  --red: #a24b3d;
  --terracotta: #a16b59;
  --line: #e3e4df;
  --muted: #777f79;
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --shadow: 0 20px 60px rgba(25, 37, 29, 0.09);
}

.finance-reminder-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-reminder-grid > .full { grid-column: 1 / -1; }

.automation-schedule-card {
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .45);
}

.automation-schedule-card .switch-field { margin-bottom: 4px; }

.input-suffix {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid var(--line);
  background: #fff;
}

.input-suffix input { border: 0; }
.input-suffix span { padding: 0 14px; color: var(--muted); font-size: 12px; }

.automation-run-row,
.automation-cron-row {
  display: flex;
  align-items: end;
  gap: 12px;
  margin-top: 22px;
  padding: 18px;
  border: 1px solid var(--line);
}

.automation-run-row > div { display: grid; gap: 5px; margin-right: auto; }
.automation-run-row small { color: var(--muted); }
.automation-run-row select { min-width: 210px; }
.automation-cron-row .field { flex: 1; min-width: 0; }
.automation-cron-row button { flex: 0 0 auto; }

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

@media (max-width: 640px) {
  .automation-run-row,
  .automation-cron-row { align-items: stretch; flex-direction: column; }
  .automation-run-row select,
  .automation-run-row button,
  .automation-cron-row button { width: 100%; min-width: 0; }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  margin: 0;
  background: #f1f2ee;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

.admin-loading {
  min-height: 100vh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 18px;
  background: var(--forest);
  color: rgba(255,255,255,.65);
}

.admin-loading img { width: min(230px,55vw); filter: brightness(1.25) saturate(.75); }
.admin-loading span { font-size: 8px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

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

input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  max-width: 100%;
  min-width: 0;
}

button,
a { -webkit-tap-highlight-color: transparent; }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }

.admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
}

.sidebar {
  height: 100vh;
  padding: 34px 24px 25px;
  position: sticky;
  top: 0;
  z-index: 120;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  overscroll-behavior: contain;
  background: var(--forest-deep);
  color: white;
}

.sidebar-close,
.sidebar-backdrop {
  display: none;
}

.admin-brand {
  width: 100%;
  padding: 0 8px 35px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255,255,255,.12);
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.admin-brand img {
  width: 152px;
  filter: brightness(1.25) saturate(.75);
}

.admin-brand span {
  margin-top: 5px;
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.admin-nav {
  margin-top: 30px;
  min-height: 0;
  padding-right: 4px;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 7px;
  overflow-y: auto;
}

.admin-nav button,
.sidebar-bottom button,
.sidebar-bottom a {
  width: 100%;
  min-height: 45px;
  padding: 0 13px;
  display: grid;
  grid-template-columns: 24px 1fr auto;
  align-items: center;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.62);
  cursor: pointer;
  font-size: 11px;
  text-align: left;
}

.admin-nav button:hover,
.admin-nav button.active {
  background: rgba(255,255,255,.08);
  color: white;
}

.admin-nav button > span,
.sidebar-bottom span {
  color: var(--sand);
  font-family: var(--serif);
  font-size: 18px;
}

.admin-nav .nav-icon,
.sidebar-bottom .nav-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sand);
  font-family: inherit;
}

.nav-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.admin-nav button b {
  min-width: 20px;
  padding: 2px 6px;
  border-radius: 20px;
  background: var(--red);
  color: white;
  font-size: 8px;
  text-align: center;
}

.nav-flyout-group,
.system-nav-group,
.franchise-nav-group,
.branch-management-nav-group {
  position: relative;
}

.branch-manager .branch-management-nav-group {
  order: 90;
}

.admin-nav .system-nav-toggle,
.admin-nav .franchise-nav-toggle {
  grid-template-columns: 24px 1fr auto;
}

.admin-nav .system-nav-toggle .system-nav-label,
.admin-nav .franchise-nav-toggle .franchise-nav-label {
  color: inherit;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}

.admin-nav .system-nav-toggle .system-menu-arrow,
.admin-nav .franchise-nav-toggle .franchise-menu-arrow {
  color: rgba(255,255,255,.5);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1;
  transition: transform .18s ease;
}

.system-nav-group:has(.system-nav-flyout button.active) > .system-nav-toggle,
.franchise-nav-group:has(.franchise-nav-flyout button.active) > .franchise-nav-toggle,
.system-nav-group.open > .system-nav-toggle,
.franchise-nav-group.open > .franchise-nav-toggle {
  background: rgba(255,255,255,.08);
  color: white;
}

.system-nav-flyout,
.franchise-nav-flyout {
  width: 236px;
  padding: 12px;
  position: fixed;
  left: 248px;
  z-index: 240;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 18px 22px 55px rgba(11,18,14,.26);
  background: #202d25;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-7px);
  transition: opacity .16s ease, transform .16s ease;
}

.system-nav-flyout::before,
.franchise-nav-flyout::before {
  width: 36px;
  position: absolute;
  inset: 0 auto 0 -36px;
  content: "";
}

.system-nav-flyout p,
.franchise-nav-flyout p {
  margin: 0 8px 7px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.4);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.admin-nav .system-nav-flyout button,
.admin-nav .franchise-nav-flyout button {
  min-height: 42px;
}

.system-nav-group:hover .system-nav-flyout,
.franchise-nav-group:hover .franchise-nav-flyout,
.system-nav-group.hover-open .system-nav-flyout,
.franchise-nav-group.hover-open .franchise-nav-flyout,
.system-nav-group.open .system-nav-flyout,
.franchise-nav-group.open .franchise-nav-flyout {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.sidebar-branch {
  margin-top: 14px;
  flex: 0 0 auto;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.12);
}

.sidebar-branch span {
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sidebar-branch select {
  width: 100%;
  margin-top: 7px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  outline: 0;
  background: transparent;
  color: white;
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 500;
}

.sidebar-branch option { color: var(--ink); }

.sidebar-branch small {
  margin-top: 4px;
  color: #a9bf8c;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sidebar-branch small::before {
  width: 6px;
  height: 6px;
  margin-right: 6px;
  display: inline-block;
  border-radius: 50%;
  background: #9fba7d;
  content: "";
}

.sidebar-bottom {
  margin-top: 18px;
  padding-top: 12px;
  flex: 0 0 auto;
  border-top: 1px solid rgba(255,255,255,.1);
}

.app-version {
  padding: 8px 13px 0;
  display: block;
  color: rgba(255,255,255,.35);
  font-size: 8px;
  letter-spacing: .08em;
}

.admin-error-banner,
.intelligence-warning {
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid #dcb7ae;
  border-left: 3px solid var(--red);
  background: #fff7f4;
  color: #78463d;
  font-size: 10px;
  line-height: 1.55;
}

.admin-error-banner {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-error-banner[hidden],
.intelligence-warning[hidden] { display: none; }
.admin-error-banner span { margin-right: auto; }
.admin-error-banner button {
  padding: 8px 11px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-nav::-webkit-scrollbar { width: 5px; }
.admin-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); }
.panel-intro { margin: -5px 0 25px; color: var(--muted); font-family: var(--serif); font-size: 15px; }
.form-panel > .panel-heading + .panel-intro {
  margin: 0;
  padding: 20px 24px 0;
  line-height: 1.65;
}
.private-company-panel { border-left: 3px solid var(--sand); }
.contract-time-settings {
  margin: 24px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.contract-time-settings fieldset {
  min-width: 0;
  margin: 0;
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  border: 1px solid var(--line);
  background: #faf9f5;
}
.contract-time-settings legend {
  padding: 0 8px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 17px;
}
.settings-subheading { margin-top: 34px; }
.settings-accordion-form { padding: 0; overflow: visible; }
.settings-accordion { border-bottom: 1px solid var(--line); background: white; }
.settings-accordion summary { padding: 24px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; cursor: pointer; list-style: none; }
.settings-accordion summary::-webkit-details-marker { display: none; }
.settings-accordion summary::after { color: var(--terracotta); content: "+"; font-family: var(--serif); font-size: 24px; }
.settings-accordion[open] summary::after { content: "−"; }
.settings-accordion summary span { font-family: var(--serif); font-size: 22px; }
.settings-accordion summary small { grid-column: 1; color: var(--muted); font-size: 9px; }
.settings-accordion-body { padding: 0 24px 28px; }
.settings-accordion-body.form-grid { padding-top: 0; }
.upload-field small,.settings-accordion .field small { margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.upload-field small[data-upload-status="loading"] { color: #8b6d5d; font-weight: 800; }
.upload-field small[data-upload-status="success"] { color: #387149; font-weight: 800; }
.upload-field small[data-upload-status="error"] { color: var(--red); font-weight: 800; }
.upload-preview {
  margin-top: 8px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  border: 1px solid var(--line);
  background: #fffdf8;
  color: #387149;
  font-size: 9px;
  font-weight: 800;
}
.upload-preview img {
  width: 46px;
  height: 46px;
  object-fit: cover;
  background: #eee7dc;
}
.settings-accordion-form > .sticky-actions {
  margin: 0;
  position: static;
  bottom: auto;
  box-shadow: none;
}
.event-types-panel { margin-bottom: 20px; }
.event-types-intro { margin: 0; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.content-dialog { width: min(980px,calc(100vw - 30px)); }
.rich-editor-field > span { margin-bottom: 8px; display: block; }
.rich-editor-field > small { margin-top: 8px; display: block; color: var(--muted); line-height: 1.55; }
.editor-toolbar { padding: 8px; display: flex; flex-wrap: wrap; gap: 5px; border: 1px solid var(--line); border-bottom: 0; background: #f4f1ea; }
.editor-toolbar button { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); background: white; color: var(--ink); cursor: pointer; font-size: 10px; }
.editor-toolbar button:hover,.editor-toolbar button:focus-visible { border-color: var(--forest); background: var(--forest); color: white; }
.rich-editor { width: 100%; min-height: 260px; padding: 20px; border: 1px solid var(--line); outline: 0; overflow-wrap: anywhere; background: white; font-family: var(--serif); font-size: 17px; line-height: 1.65; }
.rich-editor:focus { border-color: var(--forest); }
.rich-editor:empty::before { content: attr(data-placeholder); color: #9a9e99; pointer-events: none; }
.rich-editor h2 { margin: 20px 0 10px; font-size: 30px; font-weight: 500; }
.rich-editor h3 { margin: 18px 0 8px; font-size: 23px; font-weight: 500; }
.rich-editor p { margin: 0 0 12px; }
.rich-editor ul,.rich-editor ol { margin: 12px 0; padding-left: 24px; }
.rich-editor a { color: var(--terracotta); text-decoration: underline; }
.seo-tools { margin-top: 20px; display: flex; align-items: center; gap: 15px; }
.seo-tools span { color: var(--muted); font-size: 10px; }
.email-status { padding: 6px 10px; background: #eee9df; color: #755e4c !important; font-size: 8px !important; }
.email-status.active { background: #e3ebdb; color: #567148 !important; }
.email-test-row { margin: 25px 24px 0; padding: 20px; display: flex; align-items: end; gap: 12px; background: #f4f1ea; }
.email-test-row .field { margin: 0; flex: 1; }
.email-log-status { display: inline-block; padding: 5px 8px; background: #eee9df; color: #755e4c; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.email-log-status.sent { background: #e3ebdb; color: #567148; }
.email-log-status.failed { background: #f1dfdb; color: #94483e; }
.email-log-error { max-width: 260px; margin-top: 5px; display: block; color: var(--red); white-space: normal; }
.oauth-provider-grid { padding: 0 24px 24px; display: grid; gap: 18px; }
.oauth-provider-card { padding: 22px; border: 1px solid var(--line); background: #fbfaf6; }
.oauth-provider-head { margin-bottom: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.oauth-provider-head strong { display: block; font-family: var(--serif); font-size: 24px; font-weight: 500; }
.oauth-provider-head small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.oauth-provider-card .field small { margin-top: 6px; display: block; color: var(--muted); font-size: 8px; line-height: 1.5; text-transform: none; letter-spacing: .02em; }
.oauth-provider-card textarea { min-height: 120px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; line-height: 1.45; }
.oauth-provider-card .form-grid { margin: 0; }
.calendar-integration-panel { overflow: hidden; }
.calendar-connection-badge {
  min-width: 96px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8d3c8;
  background: #f4f1e9;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.calendar-connection-badge.connected {
  border-color: rgba(40, 96, 64, .25);
  background: #e9f1ea;
  color: #285f40;
}
.calendar-connection-badge.error {
  border-color: rgba(165, 72, 54, .25);
  background: #f8e9e5;
  color: #9b4335;
}
.calendar-integration-intro {
  margin: 0 24px 22px;
  padding: 18px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  border: 1px solid var(--line);
  background: #f7f5ef;
}
.calendar-provider-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--forest);
  color: white;
}
.calendar-provider-mark svg {
  width: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.calendar-integration-intro strong { font-family: var(--serif); font-size: 20px; font-weight: 500; }
.calendar-integration-intro p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.calendar-connect-actions {
  padding: 0 24px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.calendar-create-field { align-self: end; }
.calendar-create-field .secondary-button { width: 100%; min-height: 50px; }
.calendar-sync-summary {
  margin: 0 24px 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--line);
}
.calendar-sync-summary div { padding: 18px; border-right: 1px solid var(--line); background: #fbfaf6; }
.calendar-sync-summary div:last-child { border-right: 0; }
.calendar-sync-summary span { display: block; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.calendar-sync-summary strong { display: block; margin-top: 8px; font-family: var(--serif); font-size: 28px; font-weight: 500; }
.calendar-integration-actions > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.calendar-sync-error { max-width: 330px; display: block; margin-top: 4px; color: #9b4335; font-size: 8px; line-height: 1.4; }

.admin-main { min-width: 0; }

.admin-header {
  height: 72px;
  padding: 0 36px;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(280px, 620px) minmax(180px, 1fr);
  align-items: center;
  gap: clamp(18px, 3vw, 44px);
  background: rgba(251,250,247,.94);
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 45;
}

.admin-header-location { min-width: 0; display: flex; align-items: center; gap: 14px; }

.header-location {
  color: #9a9f9a;
  font-size: 10px;
  letter-spacing: .08em;
}

.header-location b {
  color: var(--ink);
  font-weight: 600;
}

.sidebar-toggle {
  display: none;
}

.sidebar-toggle span {
  width: 17px;
  height: 1px;
  display: block;
  background: currentColor;
}

.admin-profile {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-profile > span {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--forest);
  color: white;
  font-family: var(--serif);
}

.admin-profile div {
  display: flex;
  flex-direction: column;
}

.admin-profile strong {
  font-size: 10px;
}

.admin-profile small {
  color: var(--muted);
  font-size: 8px;
}

.admin-header-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.admin-global-search { width: 100%; position: relative; }
.admin-global-search-form {
  height: 42px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  padding: 0 10px 0 14px;
  border: 1px solid var(--line);
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.admin-global-search.open .admin-global-search-form,
.admin-global-search-form:focus-within { border-color: #8b9a8d; box-shadow: 0 10px 30px rgba(25,43,32,.08); }
.admin-global-search-icon { width: 18px; height: 18px; color: #6e776f; }
.admin-global-search-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.6; }
.admin-global-search-form input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}
.admin-global-search-form input::-webkit-search-cancel-button { display: none; }
.admin-global-search-shortcut { padding: 4px 7px; border: 1px solid var(--line); background: #f7f5ef; color: var(--muted); font-family: inherit; font-size: 8px; letter-spacing: .08em; }
.admin-global-search-clear { width: 26px; height: 26px; padding: 0; border: 0; background: transparent; color: #747b76; font-size: 20px; line-height: 1; cursor: pointer; }
.admin-global-search-panel {
  width: min(680px, calc(100vw - 32px));
  max-height: min(620px, calc(100vh - 100px));
  overflow: hidden;
  position: absolute;
  top: calc(100% + 9px);
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid #d8dad4;
  background: #fff;
  box-shadow: 0 28px 70px rgba(24,39,29,.18);
}
.admin-global-search-status { padding: 13px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; letter-spacing: .04em; }
.admin-global-search-results { max-height: min(510px, calc(100vh - 190px)); overflow: auto; overscroll-behavior: contain; }
.admin-global-search-group-title { padding: 10px 16px 7px; background: #f7f6f1; color: #8c7467; font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.admin-global-search-result {
  width: 100%;
  min-height: 62px;
  padding: 12px 16px;
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 0;
  border-bottom: 1px solid #ecece7;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.admin-global-search-result:hover,
.admin-global-search-result.active { background: #f3f5f1; }
.admin-global-search-result-mark { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #d7dcd6; background: #fbfaf7; color: var(--forest); font-family: var(--serif); font-size: 13px; }
.admin-global-search-result-copy { min-width: 0; }
.admin-global-search-result-copy strong,
.admin-global-search-result-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-global-search-result-copy strong { font-size: 11px; }
.admin-global-search-result-copy small { margin-top: 5px; color: var(--muted); font-size: 9px; }
.admin-global-search-result-branch { max-width: 145px; color: #8a908b; font-size: 8px; letter-spacing: .06em; text-align: right; text-transform: uppercase; }
.admin-global-search-empty { padding: 42px 18px; color: var(--muted); font-size: 11px; text-align: center; }
.admin-global-search-panel footer { padding: 9px 16px; display: flex; gap: 16px; border-top: 1px solid var(--line); background: #fbfaf7; color: #929792; font-size: 8px; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.notification-button,
.cache-clear-button { width: 40px; height: 40px; display: grid; place-items: center; position: relative; border: 1px solid var(--line); background: white; color: var(--forest); cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.notification-button:hover,
.cache-clear-button:hover { border-color: var(--forest); background: #f7f4ed; }
.cache-clear-button:disabled { opacity: .55; cursor: wait; }
.notification-button .nav-icon,
.cache-clear-button .nav-icon { width: 19px; height: 19px; }
.notification-button b { min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; position: absolute; top: -5px; right: -5px; border-radius: 20px; background: var(--red); color: white; font-size: 7px; }
.admin-action-center { position: relative; }
.admin-action-center-panel {
  width: min(440px, calc(100vw - 28px));
  max-height: min(680px, calc(100vh - 94px));
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  overflow: hidden;
  border: 1px solid #d9ddd7;
  background: #fff;
  box-shadow: 0 28px 70px rgba(24,39,29,.2);
  z-index: 180;
}
.admin-action-center-panel > header { min-height: 72px; padding: 17px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); background: #faf9f5; }
.admin-action-center-panel > header small,
.admin-action-center-panel > header strong { display: block; }
.admin-action-center-panel > header small { margin-bottom: 4px; color: var(--red); font-size: 7px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.admin-action-center-panel > header strong { color: var(--ink); font-family: var(--serif); font-size: 22px; font-weight: 500; }
.admin-action-center-panel > header button { width: 32px; height: 32px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 20px; cursor: pointer; }
.admin-action-center-summary { padding: 12px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; border-bottom: 1px solid var(--line); background: #f5f3ed; }
.admin-action-center-summary button { min-width: 0; padding: 11px 5px; border: 1px solid #dedfd9; background: #fff; color: var(--ink); cursor: pointer; }
.admin-action-center-summary strong,
.admin-action-center-summary span { display: block; }
.admin-action-center-summary strong { font-family: var(--serif); font-size: 20px; font-weight: 500; }
.admin-action-center-summary span { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.admin-action-center-summary button:hover { border-color: #9eaa9f; background: #f2f5f1; }
.admin-action-center-list { max-height: min(480px, calc(100vh - 270px)); overflow: auto; overscroll-behavior: contain; }
.admin-action-center-item { width: 100%; min-height: 76px; padding: 13px 16px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid #ecece7; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.admin-action-center-item:hover { background: #f5f7f3; }
.admin-action-center-icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #d8ded8; background: #f5f7f3; color: var(--forest); font-family: var(--serif); font-size: 13px; }
.admin-action-center-item.urgent .admin-action-center-icon { border-color: #e5beb5; background: #fff0ed; color: #9b493d; }
.admin-action-center-item.attention .admin-action-center-icon { border-color: #e5d2a6; background: #fff7e5; color: #8b642d; }
.admin-action-center-item > span:nth-child(2) { min-width: 0; }
.admin-action-center-item strong,
.admin-action-center-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-action-center-item strong { font-size: 10px; }
.admin-action-center-item small { margin-top: 5px; color: var(--muted); font-size: 8px; }
.admin-action-center-item time { color: #8a908b; font-size: 7px; white-space: nowrap; }
.admin-action-center-empty { padding: 42px 24px; text-align: center; }
.admin-action-center-empty strong,
.admin-action-center-empty span { display: block; }
.admin-action-center-empty strong { font-family: var(--serif); font-size: 18px; font-weight: 500; }
.admin-action-center-empty span { max-width: 310px; margin: 8px auto 0; color: var(--muted); font-size: 9px; line-height: 1.6; }

.admin-content {
  padding: 48px clamp(24px, 4vw, 64px) 80px;
}

.admin-view { display: none; }
.admin-view.active { display: block; }

.page-heading {
  margin-bottom: 36px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

.page-heading.compact { align-items: center; }

.heading-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.eyebrow {
  margin: 0 0 8px;
  color: #a36a56;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.page-heading h1,
.login-form-wrap h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1;
}

.page-heading > div > p:last-child {
  margin: 12px 0 0;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 16px;
}

.primary-button,
.secondary-button {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 1px solid transparent;
  background: var(--forest);
  color: white;
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.primary-button:hover { background: var(--forest-deep); }
.primary-button.full,
.secondary-button.full { width: 100%; }

.secondary-button {
  border-color: var(--line);
  background: white;
  color: var(--ink);
}

.whatsapp-link {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #cfdccc;
  background: #f4fbf2;
  color: #1d6b3a;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.whatsapp-link svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.contact-phone-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lead-detail-contact .whatsapp-link {
  width: 28px;
  min-height: 28px;
  padding: 0;
  border-radius: 50%;
  text-decoration: none;
}

.lead-detail-contact .whatsapp-link svg {
  width: 15px;
  height: 15px;
}

.stat-grid {
  margin-bottom: 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.dashboard-command-center {
  margin-bottom: 20px;
  padding: 24px;
  border: 1px solid var(--line);
  background: #f3f1eb;
}

.dashboard-section-heading {
  margin-bottom: 18px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.dashboard-section-heading h2 {
  margin: 3px 0 0;
  font-family: var(--serif);
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 400;
  line-height: 1;
}

.dashboard-section-heading > p {
  max-width: 420px;
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}

.dashboard-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-priority-card {
  min-width: 0;
  min-height: 98px;
  padding: 15px 16px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #d8d8d2;
  border-left: 3px solid #bea27a;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.dashboard-priority-card:hover { border-color: #aeb9af; }
.dashboard-priority-card.urgent { border-left-color: #a65245; background: #fff9f6; }
.dashboard-priority-card.attention { border-left-color: #b9893d; }
.dashboard-priority-card.good { border-left-color: #4e7656; background: #f4f8f3; cursor: default; }

.dashboard-priority-card > b {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9e5dc;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 500;
}

.dashboard-priority-card.urgent > b { background: #f3ded8; color: #96483d; }
.dashboard-priority-card.good > b { background: #dfeadf; color: #3f6747; }
.dashboard-priority-card span { min-width: 0; display: grid; gap: 4px; }
.dashboard-priority-card strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-priority-card small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.dashboard-priority-card i { color: var(--terracotta); font-style: normal; font-size: 16px; }

.dashboard-planning-grid {
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 20px;
  align-items: stretch;
}

.dashboard-agenda-panel,
.dashboard-week-panel { min-width: 0; }

.dashboard-agenda-list,
.dashboard-upcoming-list { display: grid; }

.dashboard-agenda-item,
.dashboard-upcoming-item {
  width: 100%;
  min-width: 0;
  padding: 14px 18px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.dashboard-agenda-item:last-child,
.dashboard-upcoming-item:last-child { border-bottom: 0; }
.dashboard-agenda-item:hover,
.dashboard-upcoming-item:hover { background: #f7f5ef; }

.dashboard-agenda-time,
.dashboard-upcoming-date {
  color: var(--terracotta);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.dashboard-agenda-copy,
.dashboard-upcoming-copy { min-width: 0; display: grid; gap: 3px; }
.dashboard-agenda-copy strong,
.dashboard-upcoming-copy strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-agenda-copy small,
.dashboard-upcoming-copy small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-agenda-kind,
.dashboard-upcoming-kind { color: #7f877f; font-size: 8px; white-space: nowrap; }

.dashboard-empty {
  padding: 26px 20px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.dashboard-week-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.dashboard-week-metrics > button {
  min-width: 0;
  padding: 15px 10px;
  border: 0;
  border-right: 1px solid var(--line);
  background: #f6f4ee;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.dashboard-week-metrics > button:last-child { border-right: 0; }
.dashboard-week-metrics > button:hover { background: #efede6; }
.dashboard-week-metrics strong { display: block; overflow-wrap: anywhere; font-family: var(--serif); font-size: clamp(16px, 2vw, 21px); font-weight: 400; line-height: 1; }
.dashboard-week-metrics span { margin-top: 6px; display: block; color: var(--muted); font-size: 7px; line-height: 1.35; text-transform: uppercase; }

.contract-list-heading {
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f8f6f0;
}

.contract-list-heading span {
  color: var(--terracotta);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contract-list-heading h2 { margin: 3px 0 0; font-family: var(--serif); font-size: 21px; font-weight: 400; }
.contract-list-heading > strong { color: var(--muted); font-size: 9px; white-space: nowrap; }
.contract-archive-body { padding: 0; }
.contract-archive-note { margin: 0; padding: 15px 22px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.stat-card {
  width: 100%;
  min-height: 156px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 0;
  font: inherit;
  appearance: none;
  transition: border-color .18s ease, transform .18s ease;
}

.stat-card:hover { border-color: #aeb9af; transform: translateY(-2px); }
.stat-card.accent {
  background: var(--forest);
  color: white;
}

.stat-card.cashbox-card { min-height: 128px; }
.stat-card.cashbox-card.warning {
  border-color: rgba(179, 80, 67, .35);
  background: #fff7f3;
}

.stat-card > span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.stat-card.accent > span,
.stat-card.accent small { color: rgba(255,255,255,.56); }

.stat-card strong {
  margin: auto 0 2px;
  font-family: var(--serif);
  font-size: 36px;
  font-weight: 400;
  line-height: 1;
}

.stat-card small {
  color: #949994;
  font-size: 8px;
}

.stat-card .stat-total {
  margin-top: 5px;
  color: var(--forest);
  font-size: 9px;
  font-weight: 700;
}

.finance-overview {
  margin-bottom: 24px;
  padding: 24px 24px 0;
  border: 1px solid var(--line);
  background: #f8f6f0;
}

.finance-overview-head {
  margin-bottom: 22px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.finance-overview-head h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 400;
  letter-spacing: -.025em;
}

.finance-overview-head small,
.finance-list-heading small {
  margin-top: 7px;
  display: block;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.finance-date-filter {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.finance-date-filter label {
  min-width: 142px;
  display: grid;
  gap: 6px;
}

.finance-date-filter label span {
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.finance-date-filter input {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: white;
  color: var(--ink);
  font: inherit;
  font-size: 9px;
}

.finance-date-filter .secondary-button {
  min-height: 40px;
  white-space: nowrap;
}

.finance-stats {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.finance-summary-card {
  position: relative;
}

.finance-summary-card::after,
.finance-cashbox-stats .cashbox-card::after {
  content: "Aşağıda göster";
  margin-top: 12px;
  color: var(--forest);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .16s ease, transform .16s ease;
}

.finance-summary-card:hover::after,
.finance-summary-card:focus-visible::after,
.finance-cashbox-stats .cashbox-card:hover::after,
.finance-cashbox-stats .cashbox-card:focus-visible::after,
.finance-summary-card.is-active::after,
.finance-cashbox-stats .cashbox-card.is-active::after {
  opacity: 1;
  transform: none;
}

.finance-summary-card.accent::after { color: rgba(255,255,255,.8); }

.finance-summary-card.is-active,
.finance-cashbox-stats .cashbox-card.is-active {
  border-color: var(--forest);
  box-shadow: inset 0 0 0 2px var(--forest);
  transform: translateY(-2px);
}

.finance-summary-card.accent.is-active {
  box-shadow: inset 0 0 0 2px #d8bf98;
}

.finance-summary-card:focus-visible,
.finance-cashbox-stats .cashbox-card:focus-visible {
  outline: 3px solid rgba(163,106,86,.24);
  outline-offset: 2px;
}

.finance-cashbox-stats {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.finance-list-heading {
  align-items: flex-end;
}

.finance-list-heading > div {
  min-width: 0;
}

.finance-report-page-heading {
  align-items: flex-end;
}

.finance-report-filter-panel {
  margin-bottom: 22px;
  padding: 18px 20px;
  display: grid;
  grid-template-columns: auto minmax(420px, 1fr);
  gap: 16px 22px;
  align-items: end;
}

.finance-report-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.finance-report-presets button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--forest);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.finance-report-presets button:hover,
.finance-report-presets button:focus-visible,
.finance-report-presets button.active {
  border-color: var(--forest);
  background: var(--forest);
  color: #fff;
}

.finance-report-custom-range {
  display: grid;
  grid-template-columns: minmax(132px, 1fr) minmax(132px, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.finance-report-custom-range label {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.finance-report-custom-range label span {
  color: var(--muted);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.finance-report-custom-range input {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 9px;
}

.finance-report-period-copy {
  grid-column: 1 / -1;
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--line);
}

.finance-report-period-copy strong {
  color: var(--forest);
  font-size: 10px;
}

.finance-report-period-copy small,
.finance-report-contract-heading small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.55;
}

.finance-report-kpis {
  margin-bottom: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-report-kpis .stat-card {
  min-width: 0;
}

.finance-report-kpis .stat-card strong {
  max-width: 100%;
  font-size: clamp(27px, 3vw, 40px);
  overflow-wrap: anywhere;
}

.finance-report-overview-grid {
  margin-bottom: 22px;
  grid-template-columns: minmax(0, 1.7fr) minmax(310px, .8fr);
}

.finance-report-category-grid,
.finance-report-detail-grid {
  margin-bottom: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-report-trend-panel,
.finance-report-balance-panel,
.finance-report-category-grid > .panel,
.finance-report-detail-grid > .panel,
.finance-report-contract-panel {
  min-width: 0;
}

.finance-report-trend {
  min-height: 260px;
  padding: 18px 4px 4px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(58px, 1fr);
  gap: 8px;
  align-items: end;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
}

.finance-report-trend-column {
  min-width: 0;
  height: 230px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 8px;
  text-align: center;
}

.finance-report-bar-area {
  min-height: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
}

.finance-report-bar {
  width: min(16px, 38%);
  min-height: 2px;
  transition: height .2s ease;
}

.finance-report-bar.income { background: #314b3b; }
.finance-report-bar.expense { background: #a96855; }

.finance-report-trend-column strong {
  color: var(--forest);
  font-size: 7px;
  line-height: 1.3;
  white-space: nowrap;
}

.finance-report-trend-column small {
  color: var(--muted);
  font-size: 7px;
  white-space: nowrap;
}

.finance-report-chart-key {
  margin-top: 14px;
  display: flex;
  justify-content: center;
  gap: 22px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

.finance-report-chart-key span,
.finance-report-legend span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.finance-report-chart-key span::before,
.finance-report-legend span::before {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  background: var(--legend-color, #314b3b);
  content: "";
}

.finance-report-chart-key .income::before { background: #314b3b; }
.finance-report-chart-key .expense::before { background: #a96855; }

.finance-report-donut-wrap {
  min-height: 220px;
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.finance-report-donut {
  width: min(100%, 190px);
  aspect-ratio: 1;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--donut-background, #eceae4);
}

.finance-report-donut::after {
  width: 58%;
  aspect-ratio: 1;
  position: absolute;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.finance-report-donut-center {
  max-width: 76%;
  position: relative;
  z-index: 1;
  display: grid;
  gap: 3px;
  text-align: center;
}

.finance-report-donut-center strong {
  color: var(--forest);
  font-family: var(--serif);
  font-size: clamp(13px, 1.4vw, 20px);
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.finance-report-donut-center small {
  color: var(--muted);
  font-size: 7px;
}

.finance-report-legend {
  min-width: 0;
  display: grid;
  gap: 9px;
}

.finance-report-legend span {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  color: var(--muted);
  font-size: 8px;
}

.finance-report-legend span::before { background: var(--legend-color); }
.finance-report-legend b { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.finance-report-legend strong { color: var(--forest); font-size: 8px; white-space: nowrap; }

.finance-report-empty-chart {
  grid-column: 1 / -1;
  min-height: 160px;
  display: grid;
  place-items: center;
  border: 1px dashed var(--line);
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.finance-report-contract-panel { margin-bottom: 22px; }

.finance-report-contract-heading {
  gap: 20px;
  align-items: flex-end;
}

.finance-report-contract-heading > div { min-width: 0; }
.finance-report-contract-heading .search-field { width: min(360px, 42%); flex: 0 0 auto; }

.finance-report-contract-table td,
.finance-report-contract-table th {
  white-space: nowrap;
}

.finance-report-event-cell {
  min-width: 230px;
  display: grid;
  gap: 4px;
}

.finance-report-event-cell strong { color: var(--forest); }
.finance-report-event-cell small { color: var(--muted); font-size: 8px; }

.finance-report-value {
  display: grid;
  gap: 4px;
}

.finance-report-value strong { color: var(--forest); }
.finance-report-value small { color: var(--muted); font-size: 7px; }
.finance-report-value.positive strong { color: #2f6848; }
.finance-report-value.negative strong { color: #a24d40; }

.finance-report-insights {
  display: grid;
  gap: 10px;
}

.finance-report-insight {
  padding: 14px 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  border: 1px solid var(--line);
  background: #fbfaf7;
}

.finance-report-insight > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(35, 55, 43, .18);
  color: var(--forest);
  font-size: 11px;
  font-weight: 800;
}

.finance-report-insight div { min-width: 0; }
.finance-report-insight strong { display: block; color: var(--forest); font-size: 10px; }
.finance-report-insight small { margin-top: 4px; display: block; color: var(--muted); font-size: 8px; line-height: 1.55; }
.finance-report-insight.warning { border-color: rgba(169, 104, 85, .35); background: #fbf2ef; }
.finance-report-insight.warning > span { color: #a96855; }

.payment-card {
  min-height: 0;
  grid-column: 1 / -1;
}

.payment-card strong { margin: 18px 0 14px; }

.payment-schedule {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}

.payment-schedule span {
  min-width: 0;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  background: #f3f1eb;
  color: #626a63;
  font-size: 9px;
}

.payment-schedule span b { color: var(--forest); white-space: nowrap; }
.payment-schedule span em { overflow: hidden; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.payment-schedule span strong { margin: 0; font-family: inherit; font-size: 10px; font-weight: 700; white-space: nowrap; }
.payment-schedule .empty-payment { display: block; color: var(--muted); }

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

.panel {
  background: var(--paper);
  border: 1px solid var(--line);
}

.panel-heading {
  min-height: 82px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}

.panel-heading span {
  color: #a16b59;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.panel-heading h2 {
  margin: 4px 0 0;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
}

.panel-heading button {
  padding: 0;
  border: 0;
  border-bottom: 1px solid;
  background: transparent;
  cursor: pointer;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.panel-heading-note {
  color: var(--muted);
  font-size: 8px;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}

th {
  padding: 13px 18px;
  background: #f5f4f0;
  color: #8b918c;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: left;
  text-transform: uppercase;
}

td {
  padding: 17px 18px;
  border-top: 1px solid var(--line);
  color: #626a63;
  font-size: 10px;
}

tbody tr:hover { background: #f7f4ef; }

.customer-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.customer-cell > span {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e6ded1;
  color: #795f50;
  font-family: var(--serif);
  font-size: 13px;
}

.customer-cell div {
  display: flex;
  flex-direction: column;
}

.customer-cell strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 500;
}

.customer-cell small {
  color: #949994;
  font-size: 7px;
}

.table-email {
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: #c4cbc5;
  text-underline-offset: 3px;
}

.table-email:hover { text-decoration-color: currentColor; }

.status-badge {
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eee9df;
  color: #715e50;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.status-badge::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.status-badge.qualified { background: #e3ebdb; color: #567148; }
.status-badge.contacted { background: #dde8ec; color: #436c78; }
.status-badge.won { background: #d9eadc; color: #387149; }
.status-badge.lost { background: #efe0dd; color: #914b40; }
.status-badge.draft { background: #eee9df; color: #806d5b; }
.status-badge.submitted { background: #dde8ec; color: #436c78; }
.status-badge.visited { background: #eee4d1; color: #856329; }
.status-badge.contracted { background: #d9eadc; color: #387149; }
.status-badge.declined { background: #f0ddda; color: #98483e; }

.quote-status-control {
  min-width: 180px;
  display: grid;
  gap: 6px;
}

.quote-status-control span {
  color: #7b817b;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.quote-status-control select {
  min-height: 43px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
}
.status-badge.contract-prepared { background: #e5e8ee; color: #3e516e; }
.status-badge.contract-printed { background: #f2e8d3; color: #89671f; }
.status-badge.contract-signed { background: #e1ebdf; color: #34613a; }
.status-badge.contract-cancelled { background: #f1dfdb; color: #94483e; }
.status-badge.empty { background: #eef0ea; color: #687368; }
.status-badge.open,
.status-badge.ordering,
.status-badge.preparing,
.status-badge.serving { background: #eee4d1; color: #856329; }
.status-badge.bill_requested,
.status-badge.payment_waiting { background: #dde8ec; color: #436c78; }
.status-badge.closed { background: #d9eadc; color: #387149; }
.status-badge.cancelled,
.status-badge.passive { background: #f0ddda; color: #98483e; }
.status-badge.reserved { background: #e5e8ee; color: #3e516e; }

.row-action {
  width: 30px;
  height: 30px;
  border: 1px solid var(--line);
  background: white;
  cursor: pointer;
}

.row-action.row-action-text {
  width: auto;
  min-width: 92px;
  min-height: 38px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--forest);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.row-action.row-action-text:hover {
  border-color: var(--forest);
  background: var(--forest);
  color: white;
}

.row-action.row-action-text > span { font-size: 14px; line-height: 1; }

.event-table-date strong,
.event-table-date small { display: block; white-space: nowrap; }
.event-table-date small { margin-top: 5px; color: var(--muted); font-size: 9px; }

.event-datetime-settings {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--line);
  background: #f8f5ee;
}
.event-datetime-settings legend {
  padding: 0 8px;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 21px;
}
.event-datetime-settings > p { margin: 0 0 16px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.event-datetime-settings .field { margin: 0; }

.row-action.danger {
  width: auto;
  min-width: 48px;
  padding: 0 10px;
  border-color: #d9b9b1;
  background: #fff7f5;
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.row-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.table-link {
  color: var(--forest);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.row-action svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.empty-state {
  padding: 55px 20px;
  color: var(--muted);
  text-align: center;
}

.empty-state strong {
  display: block;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
}

.empty-state p {
  margin: 6px 0 0;
  font-size: 10px;
}

.compact-empty {
  padding: 28px 18px;
}

.snapshot-image {
  height: 190px;
  position: relative;
  overflow: hidden;
}

.snapshot-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.snapshot-image > span {
  padding: 6px 9px;
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--forest);
  color: white;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.snapshot-body { padding: 24px; }

.snapshot-body h2 {
  margin: 0 0 24px;
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 400;
}

.snapshot-body > div {
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line);
}

.snapshot-body > div span {
  color: var(--muted);
  font-size: 8px;
  text-transform: uppercase;
}

.snapshot-body > div strong {
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 500;
}

.snapshot-body .secondary-button {
  width: 100%;
  margin-top: 18px;
}

.toolbar {
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--line);
}

.search-field {
  width: min(390px, 100%);
  height: 40px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  background: white;
}

.search-field span {
  color: #8b918c;
  font-size: 17px;
}

.search-field input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 10px;
}

.toolbar select {
  height: 40px;
  margin-left: auto;
  padding: 0 30px 0 12px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: white;
  color: var(--ink);
  font-size: 9px;
}

.toolbar select + select { margin-left: 0; }
.date-filter {
  min-width: 0;
  height: 40px;
  padding: 5px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--line);
  background: white;
}
.date-filter span {
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.date-filter input {
  min-width: 135px;
  max-width: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: 9px;
}
.spaced-panel { margin-top: 18px; }
.archive-panel > summary {
  min-height: 82px;
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 18px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}
.archive-panel > summary::-webkit-details-marker { display: none; }
.archive-panel > summary::after {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--terracotta);
  content: "+";
  font-family: var(--serif);
  font-size: 24px;
}
.archive-panel[open] > summary::after { content: "−"; }
.archive-panel > summary > div { min-width: 0; }
.archive-panel > summary span {
  color: #a16b59;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.archive-panel > summary h2 {
  margin: 4px 0 0;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
}
.archive-panel > summary small {
  grid-column: 1;
  color: var(--muted);
  font-size: 9px;
}
.archive-body {
  padding: 0 24px 24px;
  border-top: 1px solid var(--line);
}
.archive-filters {
  padding: 18px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.table-actions { display: flex; gap: 5px; }
.table-sub { margin-top: 3px; display: block; color: var(--muted); font-size: 8px; }
.inline-status { min-width: 120px; padding: 8px; border: 1px solid var(--line); background: white; font-size: 9px; }
.finance-type { padding: 5px 7px; display: inline-block; background: #eee; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.finance-type.income { background: #d9eadc; color: #387149; }
.finance-type.expense { background: #efe0dd; color: #914b40; }
.finance-type.receivable { background: #dde8ec; color: #436c78; }
.finance-type.payable { background: #eee9df; color: #806d5b; }

.intelligence-summary { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.intelligence-summary div { padding: 20px; border: 1px solid var(--line); background: white; }
.intelligence-summary span { display: block; color: var(--muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.intelligence-summary strong { margin-top: 9px; display: block; font-family: var(--serif); font-size: 31px; font-weight: 400; }

/* Web analytics */
.analytics-page-heading { margin-bottom: 18px; }
.analytics-live-panel {
  margin-bottom: 18px;
  min-height: 170px;
  padding: 30px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: white;
  background: var(--forest);
}
.analytics-live-count { display: flex; align-items: flex-start; gap: 18px; }
.analytics-live-dot { width: 12px; height: 12px; margin-top: 9px; border-radius: 50%; background: #8fc49b; box-shadow: 0 0 0 8px rgba(143,196,155,.12); animation: analytics-pulse 1.8s ease-in-out infinite; }
.analytics-live-count small,
.analytics-live-meta span { display: block; color: rgba(255,255,255,.64); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.analytics-live-count strong { display: block; margin: 3px 0 0; font-family: var(--serif); font-size: clamp(50px, 6vw, 82px); font-weight: 400; line-height: .95; }
.analytics-live-count p { margin: 11px 0 0; color: rgba(255,255,255,.72); font-size: 11px; }
.analytics-live-meta { min-width: 240px; padding-left: 28px; border-left: 1px solid rgba(255,255,255,.17); }
.analytics-live-meta strong { display: block; margin-top: 8px; font-size: 15px; }
.analytics-live-meta small { display: block; margin-top: 8px; color: rgba(255,255,255,.6); line-height: 1.55; }
@keyframes analytics-pulse { 50% { opacity: .45; transform: scale(.82); } }

.analytics-active-panel { margin-bottom: 18px; }
.analytics-active-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.analytics-active-card { padding: 18px; border: 1px solid var(--line); background: #fbfaf7; }
.analytics-active-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.analytics-active-card-head strong { color: var(--forest); font-size: 12px; }
.analytics-active-card-head span { color: #477455; font-size: 9px; font-weight: 700; }
.analytics-active-card h3 { margin: 14px 0 4px; font-family: var(--serif); font-size: 21px; font-weight: 400; }
.analytics-active-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.analytics-active-card-meta { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.analytics-active-card-meta span { padding: 6px 8px; border: 1px solid var(--line); color: var(--muted); background: white; font-size: 8px; }

.analytics-filter-panel { margin-bottom: 14px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.analytics-presets { display: flex; flex-wrap: wrap; gap: 7px; }
.analytics-presets button { min-height: 42px; padding: 0 15px; border: 1px solid var(--line); color: var(--forest); background: white; font: inherit; font-size: 9px; font-weight: 700; cursor: pointer; }
.analytics-presets button:hover,
.analytics-presets button.active { color: white; border-color: var(--forest); background: var(--forest); }
.analytics-custom-range { display: grid; grid-template-columns: repeat(2, minmax(135px, 1fr)) auto; align-items: end; gap: 8px; }
.analytics-custom-range .date-filter { min-width: 0; }

.analytics-kpi-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.analytics-kpi-grid article { min-height: 138px; padding: 21px; border: 1px solid var(--line); background: white; }
.analytics-kpi-grid span { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.analytics-kpi-grid strong { display: block; margin: 12px 0 9px; overflow-wrap: anywhere; color: var(--forest); font-family: var(--serif); font-size: clamp(27px, 3vw, 40px); font-weight: 400; }
.analytics-kpi-grid small { color: var(--muted); font-size: 9px; }
.analytics-kpi-grid small.positive { color: #37734c; }
.analytics-kpi-grid small.negative { color: #a34f42; }

.analytics-trend-panel { margin-bottom: 18px; }
.analytics-trend { min-height: 230px; padding-top: 20px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(42px, 1fr); align-items: end; gap: 10px; overflow-x: auto; }
.analytics-trend-item { min-width: 42px; display: grid; grid-template-rows: 165px auto auto; align-items: end; gap: 7px; text-align: center; }
.analytics-trend-bars { height: 165px; display: flex; align-items: end; justify-content: center; gap: 3px; }
.analytics-trend-bars i { width: min(16px, 42%); min-height: 3px; display: block; background: #c79b70; height: var(--height); }
.analytics-trend-bars i:last-child { background: var(--forest); }
.analytics-trend-item strong { color: var(--forest); font-size: 8px; }
.analytics-trend-item small { color: var(--muted); font-size: 7px; white-space: nowrap; }
.analytics-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.analytics-report-grid .panel { min-width: 0; }
.analytics-report-grid td:first-child { max-width: 310px; overflow-wrap: anywhere; }
.analytics-path-cell strong { display: block; color: var(--forest); }
.analytics-path-cell small { display: block; margin-top: 4px; color: var(--muted); }
.analytics-activity-panel { margin-top: 18px; }
.analytics-activity-panel td { vertical-align: top; }
.analytics-privacy { margin: 12px 0 0; color: var(--muted); font-size: 9px; text-align: right; }

@media (max-width: 980px) {
  .analytics-filter-panel { align-items: stretch; flex-direction: column; }
  .analytics-custom-range { width: 100%; }
  .analytics-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analytics-report-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .analytics-live-panel { padding: 24px 20px; align-items: stretch; flex-direction: column; }
  .analytics-live-meta { min-width: 0; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.17); border-left: 0; }
  .analytics-active-list,
  .analytics-kpi-grid { grid-template-columns: 1fr; }
  .analytics-custom-range { grid-template-columns: 1fr; }
  .analytics-presets { display: grid; grid-template-columns: repeat(2, 1fr); }
}
.system-section { margin-top: 12px; border: 1px solid var(--line); background: white; }
.system-section > summary { padding: 22px 24px; display: grid; grid-template-columns: 1fr auto; gap: 5px 18px; cursor: pointer; list-style: none; }
.system-section > summary::-webkit-details-marker { display: none; }
.system-section > summary::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--terracotta); content: "+"; font-family: var(--serif); font-size: 24px; }
.system-section[open] > summary::after { content: "−"; }
.system-section > summary span { font-family: var(--serif); font-size: 23px; }
.system-section > summary small { color: var(--muted); font-size: 9px; }
.system-section-body { padding: 0 24px 26px; }
.system-subtitle { margin: 28px 0 12px; font-family: var(--serif); font-size: 22px; font-weight: 500; }
.notification-center-list { display: grid; gap: 8px; }
.notification-center-item { width: 100%; padding: 16px; display: grid; grid-template-columns: 1fr auto; gap: 7px 18px; border: 1px solid var(--line); background: #faf9f5; color: inherit; cursor: pointer; text-align: left; }
.notification-center-item.unread { border-left: 3px solid var(--terracotta); background: #fffdf7; }
.notification-center-item strong { font-family: var(--serif); font-size: 17px; font-weight: 500; }
.notification-center-item p { grid-column: 1; margin: 0; color: var(--muted); font-size: 10px; }
.notification-center-item time { grid-column: 2; grid-row: 1; color: var(--muted); font-size: 8px; white-space: nowrap; }
.export-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.export-grid > div { padding: 18px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: #faf9f5; }
.export-grid strong { margin-right: auto; font-family: var(--serif); font-size: 18px; font-weight: 500; }
.backup-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.file-button { position: relative; overflow: hidden; cursor: pointer; }
.file-button input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.system-status { padding: 5px 8px; display: inline-block; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.system-status.open { background: #f1dfdb; color: #94483e; }
.system-status.resolved { background: #e3ebdb; color: #567148; }
.sequence-prefix { width: 125px; padding: 8px; border: 1px solid var(--line); background: white; text-transform: uppercase; }
.quote-version-list { margin-top: 14px; display: grid; gap: 8px; }
.quote-version-row { padding: 13px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); background: #faf9f5; }
.quote-version-row > span { margin-right: auto; display: grid; gap: 3px; }
.quote-version-row small { color: var(--muted); font-size: 8px; }

.price-name strong {
  display: block;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 500;
}

.price-name small {
  color: #969b96;
  font-size: 7px;
}

.publish-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4f754d;
  font-size: 8px;
  font-weight: 700;
}

.publish-dot::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.publish-dot.off { color: #aaa; }

.cafe-management-grid { align-items: stretch; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cafe-stat-grid .stat-card { min-height: 128px; }
.cafe-stat-grid .stat-card strong { font-size: clamp(32px, 4vw, 48px); }
#cafe-settings-form .sticky-actions {
  margin-top: 4px;
  position: static;
  bottom: auto;
  z-index: auto;
}
.cafe-subnav {
  margin: -4px 0 22px;
  padding: 8px;
  display: flex;
  gap: 7px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 35px rgba(23,34,27,.05);
}
.cafe-subnav button {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  flex: 0 0 auto;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.cafe-subnav button:hover {
  border-color: rgba(31,41,34,.16);
  color: var(--forest);
}
.cafe-subnav button.active {
  border-color: var(--forest);
  background: var(--forest);
  color: white;
}
.cafe-tab-panel { display: none !important; }
.cafe-tab-panel.active { display: block !important; }
.cafe-tab-panel.dashboard-grid.active { display: grid !important; }
.cafe-overview-panel { margin-top: 18px; }
.cafe-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.cafe-quick-grid button {
  min-height: 118px;
  padding: 18px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  background: #fbfaf7;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.cafe-quick-grid button:hover {
  border-color: var(--forest);
  box-shadow: 0 14px 28px rgba(23,34,27,.08);
  transform: translateY(-1px);
}
.cafe-quick-grid strong {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
}
.cafe-quick-grid small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}
.cafe-report-toolbar { margin: 0; }
.cafe-report-stat-grid { margin: 16px 0 18px; }
.cafe-report-grid {
  margin-bottom: 18px;
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cafe-hour-chart {
  display: grid;
  gap: 10px;
}
.cafe-hour-row {
  min-height: 44px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 96px;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  background: #fbfaf7;
  box-shadow: 0 12px 26px rgba(23,34,27,.04);
  color: var(--muted);
}
.cafe-hour-row span {
  color: #9b5b4e;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cafe-hour-row i {
  height: 8px;
  position: relative;
  overflow: hidden;
  background: #eee8dd;
}
.cafe-hour-row i::before {
  width: var(--bar);
  position: absolute;
  inset: 0 auto 0 0;
  background: var(--forest);
  content: "";
}
.cafe-hour-row strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 500;
  text-align: right;
}

.cafe-manager .sidebar-branch { display: none !important; }
.cafe-manager .sidebar-bottom { margin-top: auto; }

.branch-form {
  display: grid;
  gap: 16px;
}

.form-panel { padding-bottom: 28px; }

.form-grid {
  padding: 25px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-grid.four {
  grid-template-columns: repeat(4, 1fr);
}

.form-divider {
  grid-column: 1 / -1;
  margin: 2px 0 -4px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.form-divider span {
  color: #9b5b4e;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.field.full { grid-column: 1 / -1; }

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

.checkbox-grid label {
  min-height: 48px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 11px;
}

.checkbox-grid input { accent-color: var(--forest); }
.checkbox-grid small { display: block; color: var(--muted); font-size: 9px; line-height: 1.3; }
.checkbox-grid .muted-option { color: var(--muted); background: #f3f1ec; }

.branch-checks,
.quote-item-checks {
  grid-column: 1 / -1;
  padding: 15px;
  border: 1px solid var(--line);
}

.branch-checks legend,
.quote-item-checks legend {
  padding: 0 6px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.branch-checks div,
.quote-item-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
}

.branch-checks label,
.quote-item-checks label {
  font-size: 10px;
}

.field > span {
  color: #707771;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.finance-category-field > label {
  color: #707771;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.finance-category-combobox {
  position: relative;
}

.finance-category-combobox #finance-category-input {
  padding-right: 42px;
}

.finance-category-toggle {
  position: absolute;
  z-index: 2;
  top: 1px;
  right: 1px;
  width: 39px;
  height: 41px;
  border: 0;
  border-left: 1px solid var(--line);
  background: #f7f5ef;
  color: var(--forest);
  cursor: pointer;
}

.finance-category-toggle::before {
  display: block;
  width: 8px;
  height: 8px;
  margin: -4px auto 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: rotate(45deg);
}

.finance-category-toggle:hover,
.finance-category-toggle:focus-visible {
  background: #edf1eb;
  outline: 0;
}

.finance-category-menu {
  position: absolute;
  z-index: 520;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: 250px;
  overflow-y: auto;
  border: 1px solid #cfcbbf;
  background: #fff;
  box-shadow: 0 14px 32px rgba(28, 39, 32, .16);
}

.finance-category-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  border-bottom: 1px solid #ece9e1;
}

.finance-category-option:last-child {
  border-bottom: 0;
}

.finance-category-select,
.finance-category-remove {
  border: 0;
  background: #fff;
  cursor: pointer;
}

.finance-category-select {
  min-width: 0;
  padding: 10px 12px;
  text-align: left;
}

.finance-category-select strong,
.finance-category-select small {
  display: block;
}

.finance-category-select strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-category-select small {
  margin-top: 3px;
  color: #848a84;
  font-size: 8px;
}

.finance-category-select:hover,
.finance-category-select:focus-visible {
  background: #f5f6f2;
  outline: 0;
}

.finance-category-remove {
  border-left: 1px solid #ece9e1;
  color: #a45349;
  font-size: 18px;
}

.finance-category-remove:hover,
.finance-category-remove:focus-visible {
  background: #fbefed;
  color: #7e2923;
  outline: 0;
}

.finance-category-empty {
  padding: 12px;
  color: #747b75;
  font-size: 9px;
  line-height: 1.5;
}

.field input,
.field textarea,
.field select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 0;
  outline: 0;
  background: white;
  color: var(--ink);
  font-size: 11px;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: #778278;
  box-shadow: 0 0 0 3px rgba(35,49,40,.06);
}

.field select[multiple] {
  min-height: 142px;
  padding: 10px;
}

.field small {
  color: var(--muted);
  font-size: 8px;
}

.branch-management-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.branch-management-card {
  overflow: hidden;
  background: var(--paper);
  border: 1px solid var(--line);
}

.branch-management-card img,
.branch-management-placeholder {
  width: 100%;
  height: 180px;
  object-fit: cover;
  background: var(--forest);
}

.branch-management-placeholder {
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.55);
  font-family: var(--serif);
  font-size: 40px;
}

.branch-management-body { padding: 22px; }

.branch-management-body h2 {
  margin: 8px 0 5px;
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 400;
}

.branch-management-body > p {
  min-height: 38px;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.branch-management-meta {
  margin-bottom: 18px;
  display: flex;
  gap: 12px;
  color: var(--muted);
  font-size: 8px;
}

.branch-management-body button { width: 100%; }

.media-panel { margin-top: 16px; }

.media-grid {
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
}

.media-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: white;
  cursor: pointer;
  text-align: left;
}

.media-preview {
  height: 130px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #e8e7e2;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 26px;
}

.media-preview img,
.media-preview video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.missing-media-preview {
  color: #9a5145;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
}

.media-card-copy {
  padding: 13px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.media-card-copy span {
  color: var(--red);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.media-card-copy strong {
  overflow: hidden;
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

.danger-button {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #d9b9b1;
  background: #fff7f5;
  color: var(--red);
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sticky-actions {
  padding: 16px 20px;
  position: static;
  bottom: auto;
  z-index: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  background: rgba(251,250,247,.96);
  border: 1px solid var(--line);
  box-shadow: none;
}

.sticky-actions span {
  color: var(--muted);
  font-size: 8px;
}

.table-pagination {
  min-height: 62px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 18px;
  border-top: 1px solid var(--line);
  background: #faf9f5;
  color: var(--muted);
  font-size: 9px;
}

.pagination-summary { margin-right: auto; }
.table-pagination label { display: inline-flex; align-items: center; gap: 8px; }
.table-pagination select {
  min-width: 68px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
}
.pagination-pages { display: flex; align-items: center; gap: 4px; }
.pagination-pages button {
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  cursor: pointer;
}
.pagination-pages button.active {
  border-color: var(--forest);
  background: var(--forest);
  color: white;
}
.pagination-pages button:disabled { opacity: .35; cursor: default; }
.pagination-pages span { padding: 0 4px; }

.login-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, .9fr) 1.1fr;
  background: var(--paper);
}

.login-art {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  background: var(--forest);
}

.login-art > img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
}

.login-art::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(18,29,21,.85), rgba(18,29,21,.05) 70%);
  content: "";
}

.login-art-copy {
  position: absolute;
  right: 50px;
  bottom: 55px;
  left: 50px;
  z-index: 1;
  color: white;
}

.login-art-copy img {
  width: 220px;
  filter: brightness(1.25) saturate(.7);
}

.login-art-copy p {
  max-width: 380px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.72);
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.4;
}

.login-form-wrap {
  padding: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

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

.login-intro {
  margin: 16px 0 34px;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 16px;
}

.login-form-wrap .field { margin-bottom: 17px; }

.login-error {
  min-height: 20px;
  color: var(--red);
  font-size: 10px;
}

.login-form-wrap form > small {
  margin-top: 16px;
  display: block;
  color: #969b96;
  font-size: 8px;
  text-align: center;
}

.detail-dialog {
  width: min(650px, calc(100vw - 30px));
  max-height: calc(100vh - 30px);
  padding: 42px;
  border: 0;
  overflow: auto;
  background: var(--paper);
  box-shadow: 0 32px 100px rgba(15,24,18,.32);
}

.detail-dialog::backdrop {
  background: rgba(17,27,20,.65);
  backdrop-filter: blur(5px);
}

.dialog-close {
  width: 38px;
  height: 38px;
  position: absolute;
  top: 12px;
  right: 12px;
  border: 0;
  background: var(--forest);
  color: white;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 22px;
}

.detail-dialog h2 {
  margin: 0 0 25px;
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 400;
}

.dialog-intro {
  margin: -15px 0 22px;
  color: var(--muted);
  line-height: 1.6;
}

.detail-dialog .form-grid { padding: 0; }
.wide-dialog { width: min(900px, calc(100vw - 30px)); }

.admin-session-dialog {
  width: min(560px, calc(100vw - 30px));
  z-index: 1000;
}

.admin-session-dialog .dialog-message {
  margin-top: 16px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.admin-session-dialog .dialog-actions { margin-top: 18px; }

.quote-editor {
  margin: 25px 0;
  padding: 18px;
  border: 1px solid var(--line);
  background: #f5f3ed;
}

.lead-profile-editor {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--line);
  background: #f5f3ed;
}

.lead-profile-editor summary {
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lead-profile-editor form { margin-top: 18px; }

.quote-editor summary {
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.quote-editor form { margin-top: 20px; }
.quote-expiry { color: var(--muted); font-size: 9px; }

.timeline-edit-row {
  margin-bottom: 8px;
  display: grid;
  grid-template-columns: 38px 110px 1fr 1fr 34px;
  gap: 8px;
  align-items: stretch;
}

.timeline-edit-row input {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
}

.timeline-edit-row button {
  border: 1px solid #d9b9b1;
  background: #fff7f5;
  color: var(--red);
  cursor: pointer;
}

.timeline-drag-handle {
  display: grid;
  place-items: center;
  border-color: var(--line) !important;
  background: #f8f5ee !important;
  color: var(--forest) !important;
  cursor: grab !important;
  touch-action: none;
  user-select: none;
}

.timeline-drag-handle:active { cursor: grabbing !important; }
.timeline-drag-handle svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2.4; fill: none; stroke-linecap: round; }
.timeline-edit-row.dragging {
  position: relative;
  z-index: 2;
  opacity: .65;
  background: #fff;
  box-shadow: 0 10px 30px rgba(27, 45, 34, .12);
}
.timeline-is-dragging,
.timeline-is-dragging * { cursor: grabbing !important; }
.timeline-is-dragging { user-select: none; }
.timeline-notes-grid { margin-top: 18px; }

.form-hint {
  margin: -10px 0 16px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.switch-field {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.switch-field input {
  position: absolute;
  opacity: 0;
}

.switch-field span {
  width: 38px;
  height: 22px;
  padding: 3px;
  display: flex;
  border-radius: 20px;
  background: #c7cbc7;
}

.switch-field span::after {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: white;
  content: "";
  transition: transform .18s ease;
}

.switch-field input:checked + span { background: var(--forest); }
.switch-field input:checked + span::after { transform: translateX(16px); }

.switch-field b {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dialog-message {
  min-height: 18px;
  color: var(--red);
  font-size: 9px;
}

.checkbox-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  background: #fbfaf7;
}

.checkbox-row label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}

.generated-link-box {
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  background: #f7f2e8;
  color: var(--green);
  overflow-wrap: anywhere;
  font-size: 12px;
}

.managed-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  padding: 24px;
  display: grid;
  place-items: center;
  background: rgba(20, 30, 23, .62);
  backdrop-filter: blur(6px);
}

.managed-popup-card {
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  padding: 42px;
  position: relative;
  overflow: auto;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: 0 30px 90px rgba(15, 24, 18, .28);
}

.managed-popup-card h2 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: clamp(34px, 6vw, 54px);
  font-weight: 400;
  line-height: .95;
}

.managed-popup-subtitle {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.managed-popup-content {
  color: var(--green);
  font-size: 15px;
  line-height: 1.7;
}

.managed-popup-content :first-child { margin-top: 0; }
.managed-popup-content :last-child { margin-bottom: 0; }

.managed-popup-card .primary-button {
  margin-top: 24px;
  display: inline-flex;
}

.managed-popup-close {
  width: 38px;
  height: 38px;
  position: absolute;
  top: 12px;
  right: 12px;
  border: 0;
  background: var(--forest);
  color: #fff;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 22px;
}

.lead-detail-head {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}

.lead-detail-head h2 { margin-bottom: 6px; }
.lead-detail-head > p { margin: 0; color: var(--muted); }

.lead-detail-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  color: var(--muted);
  font-size: 10px;
}

.lead-detail-contact a {
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: #c4cbc5;
  text-underline-offset: 3px;
}

.lead-detail-grid {
  margin: 22px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.lead-detail-grid div {
  padding: 14px;
  background: #f2f0ea;
}

.lead-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.lead-detail-grid strong {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
}

.quote-lines {
  margin: 20px 0;
  border-top: 1px solid var(--line);
}

.quote-line {
  padding: 11px 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
}

.quote-line span { font-family: var(--serif); }
.quote-line strong { font-family: var(--serif); font-weight: 500; }

.quote-total {
  margin: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.quote-total span {
  color: var(--muted);
  font-size: 8px;
  text-transform: uppercase;
}

.quote-total strong {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
}

.lead-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.lead-status-select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: white;
  font-size: 10px;
}

.customer-quote-history {
  margin: 18px 0 24px;
  display: grid;
  gap: 8px;
}

.customer-quote-row {
  width: 100%;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--line);
  background: white;
  cursor: pointer;
  text-align: left;
}

.customer-quote-row:hover {
  background: #f4f1eb;
}

.customer-quote-row > span:first-child {
  display: flex;
  flex-direction: column;
}

.customer-quote-row b {
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 500;
}

.customer-quote-row small {
  color: var(--muted);
  font-size: 8px;
}

.customer-quote-row > strong {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
}

.admin-quote-customer {
  margin: -8px 0 24px;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 16px;
}

.admin-quote-builder {
  margin-top: 24px;
  display: grid;
  gap: 16px;
}

.admin-quote-category {
  margin: 0;
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  border: 1px solid var(--line);
}

.admin-quote-category legend {
  padding: 0 8px;
  color: var(--terracotta);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-quote-option {
  min-height: 70px;
  padding: 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 10px;
  border: 1px solid var(--line);
  background: #faf9f5;
  cursor: pointer;
}

.admin-quote-option:has(input:checked) {
  border-color: var(--forest);
  background: #eef1ec;
}

.admin-quote-option input { margin-top: 3px; }
.admin-quote-option span { display: grid; gap: 4px; }
.admin-quote-option strong { font-family: var(--serif); font-size: 14px; font-weight: 500; }
.admin-quote-option small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.admin-quote-option > b { font-size: 9px; white-space: nowrap; }

.custom-quote-section {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  background: #f8f6f0;
}

.custom-quote-section.full {
  grid-column: 1 / -1;
  margin-top: 0;
}

.custom-quote-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.custom-quote-section-head span {
  color: var(--terracotta);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.custom-quote-section-head h3 {
  margin: 4px 0 5px;
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 400;
}

.custom-quote-section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.custom-quote-lines {
  margin-top: 14px;
  display: grid;
  gap: 9px;
}

.custom-quote-lines:empty {
  display: none;
}

.custom-quote-line {
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(130px, .32fr) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid var(--line);
  background: #fff;
}

.custom-quote-line .field input {
  font-size: 14px;
}

.custom-menu-section {
  background: #f3f0e7;
  border-color: #cfc7b5;
}

.custom-quote-menu-line {
  grid-template-columns: minmax(0, 1fr) minmax(160px, .38fr);
}

.custom-quote-remove {
  min-height: 43px;
  padding: 0 12px;
  border: 1px solid #d9b9b1;
  background: #fff7f5;
  color: var(--red);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-quote-create-summary {
  margin: 18px 0;
  padding: 18px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  background: var(--forest);
  color: white;
}

.admin-quote-create-summary div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-size: 9px;
}

.admin-quote-create-summary div:last-child {
  margin-top: 5px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.2);
  font-family: var(--serif);
  font-size: 18px;
}

.quote-dialog-actions {
  margin-top: 25px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.contract-help {
  padding: 12px;
  background: #f2f0ea;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.contract-preparation-dialog {
  width: min(980px, calc(100vw - 32px));
}

.contract-review-dialog {
  width: min(1280px, calc(100vw - 28px));
  max-width: none;
  height: min(94vh, 1040px);
  padding: 22px;
  overflow: hidden;
}

.contract-review-dialog[open] {
  display: flex;
  flex-direction: column;
}

.contract-review-header {
  padding-right: 42px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  flex: 0 0 auto;
}

.contract-review-header h2 {
  margin: 2px 0 6px;
}

.contract-review-header p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

.contract-review-header > span {
  padding: 9px 12px;
  border: 1px solid #c88e7c;
  background: #f7ebe7;
  color: var(--terracotta);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}

.contract-review-frame-wrap {
  min-height: 0;
  margin-top: 16px;
  flex: 1 1 auto;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #deded8;
}

.contract-review-frame-wrap iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: #e9e8e3;
}

.contract-review-dialog .dialog-message {
  margin: 10px 0 0;
  flex: 0 0 auto;
}

.contract-review-actions {
  margin-top: 12px;
  flex: 0 0 auto;
}

.contract-preparation-section {
  margin-top: 22px;
  padding: 22px;
  border: 1px solid var(--line);
  background: #faf8f3;
}

.contract-preparation-heading {
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.contract-preparation-heading > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #cdb89b;
  color: var(--terracotta);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}

.contract-preparation-heading h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 400;
}

.contract-preparation-heading p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.contract-payment-summary {
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: white;
}

.contract-payment-summary > div {
  min-width: 0;
  padding: 16px;
  border-right: 1px solid var(--line);
}

.contract-payment-summary > div:last-child { border-right: 0; }

.contract-payment-summary span {
  display: block;
  color: var(--muted);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.contract-payment-summary strong {
  max-width: 100%;
  margin-top: 7px;
  display: block;
  font-family: var(--serif);
  font-size: clamp(21px, 2.4vw, 30px);
  font-weight: 400;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.contract-installment-heading {
  margin: 20px 0 10px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.contract-installment-heading > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.contract-installment-heading span,
.contract-plan-note > span {
  display: block;
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contract-installment-heading small {
  margin-top: 4px;
  display: block;
  color: var(--muted);
  font-size: 9px;
}

.compact-button {
  min-height: 34px;
  padding: 8px 11px;
  font-size: 7px;
}

.contract-installment-rows {
  display: grid;
  gap: 8px;
}

.contract-installment-row {
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(125px, .45fr) minmax(140px, .5fr) 34px;
  gap: 8px;
  align-items: end;
  border: 1px solid var(--line);
  background: white;
}

.contract-installment-row .field { gap: 5px; }
.contract-installment-row .field span { font-size: 7px; }
.contract-installment-remove {
  width: 34px;
  height: 40px;
  border: 1px solid #e1c4bc;
  background: #fff6f3;
  color: #a34f43;
  cursor: pointer;
  font-size: 16px;
}

.contract-plan-note { margin-top: 14px; }
.contract-plan-balance {
  min-height: 20px;
  margin: 10px 0 0;
  padding: 9px 11px;
  color: #805c20;
  background: #fbf2df;
  font-size: 9px;
  line-height: 1.45;
}
.contract-plan-balance.is-balanced { color: #35613d; background: #e7f1e8; }
.contract-plan-balance.is-error { color: #98483e; background: #f7e6e2; }

.finance-summary-card strong,
.finance-cashbox-stats .stat-card strong,
.finance-balance strong,
#finance-table-body td > strong {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.finance-summary-card strong,
.finance-cashbox-stats .stat-card strong {
  font-size: clamp(22px, 2.15vw, 34px);
  letter-spacing: -.025em;
}

.availability-warning {
  margin: 18px 0;
  padding: 16px 18px;
  border-left: 3px solid #b66e3c;
  background: #f5e9dc;
  color: #765033;
  font-size: 10px;
  line-height: 1.6;
}

.availability-warning strong {
  display: block;
  margin-bottom: 3px;
  color: #64391f;
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 500;
}

.calendar-heading-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.calendar-heading-actions > strong {
  min-width: 150px;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}

.calendar-arrow {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  background: white;
  cursor: pointer;
}

.calendar-legend {
  min-height: 58px;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  gap: 22px;
  border-bottom: 1px solid var(--line);
}

.calendar-legend span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
}

.calendar-legend i {
  width: 10px;
  height: 10px;
  display: inline-block;
}

.calendar-legend i.day { background: #c78a5c; }
.calendar-legend i.evening { background: var(--forest); }
.calendar-legend i.appointment.first { background: #526f87; }
.calendar-legend i.appointment.repeat { background: #7b6797; }
.calendar-legend i.appointment.planning { background: #c59a3e; }
.calendar-legend i.other { background: #687068; }
.calendar-legend small { margin-left: auto; color: var(--muted); font-size: 8px; }

.event-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(110px, 1fr));
  overflow-x: auto;
}

.calendar-weekday {
  min-width: 110px;
  padding: 11px;
  background: #f5f4f0;
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

.calendar-day {
  min-width: 110px;
  min-height: 125px;
  padding: 10px;
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  background: white;
  cursor: pointer;
}

.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day.outside { background: #f7f6f2; color: #a5aaa5; }
.calendar-day.today { box-shadow: inset 0 0 0 2px var(--sand); }

.calendar-day-number {
  margin-bottom: 9px;
  display: block;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 14px;
}
.calendar-day-number:hover { color: var(--terracotta); }
.calendar-day-number.static { cursor: default; }
.calendar-day-number.static:hover { color: inherit; }

.calendar-day:has(.calendar-event:hover),
.calendar-day:has(.calendar-day-number:hover) {
  cursor: default;
}

.calendar-event {
  width: 100%;
  margin-top: 5px;
  padding: 7px 8px;
  display: block;
  border: 0;
  color: white;
  cursor: pointer;
  font-size: 8px;
  line-height: 1.35;
  text-align: left;
}

.calendar-event.day { background: #b9784d; }
.calendar-event.evening { background: var(--forest); }
.calendar-event.appointment.first { background: #526f87; }
.calendar-event.appointment.repeat { background: #7b6797; }
.calendar-event.appointment.planning { background: #c59a3e; }
.calendar-event.other { background: #687068; }
.calendar-event b,
.calendar-event small { display: block; }
.calendar-event b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event small { margin-top: 2px; color: rgba(255,255,255,.72); font-size: 7px; }

.monthly-planning-panel .calendar-day { cursor: default; }
.monthly-summary-grid {
  margin: 20px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.monthly-summary-grid > div {
  min-height: 86px;
  padding: 16px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.monthly-summary-grid span,
.monthly-summary-grid strong { display: block; }
.monthly-summary-grid span {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.monthly-summary-grid strong { font-family: var(--serif); font-size: 19px; font-weight: 500; }
.monthly-detail-section { margin-top: 26px; }
.monthly-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.monthly-service-card {
  padding: 16px;
  border: 1px solid var(--line);
  background: #faf9f6;
}
.monthly-service-card strong,
.monthly-service-card span { display: block; }
.monthly-service-card span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.monthly-service-card ul { margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.monthly-timeline { border-top: 1px solid var(--line); }
.monthly-timeline > div {
  padding: 12px 4px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 4px 12px;
  border-bottom: 1px solid var(--line);
}
.monthly-timeline time { color: var(--terracotta); font-weight: 700; }
.monthly-timeline small { grid-column: 2; color: var(--muted); }
.monthly-customer-note { padding: 14px; background: #f2eee5; white-space: pre-line; }
.monthly-staffing-cards,
.staffing-result-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 10px;
}
.monthly-staffing-cards article,
.staffing-result-cards article {
  min-height: 112px;
  padding: 16px;
  border: 1px solid var(--line);
  background: #faf9f6;
}
.monthly-staffing-cards span,
.monthly-staffing-cards strong,
.monthly-staffing-cards small,
.staffing-result-cards span,
.staffing-result-cards strong,
.staffing-result-cards small { display: block; }
.monthly-staffing-cards span,
.staffing-result-cards span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.monthly-staffing-cards strong,
.staffing-result-cards strong {
  margin: 8px 0 4px;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 500;
}
.monthly-staffing-cards small,
.staffing-result-cards small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.monthly-staffing-cards .staffing-total-card,
.staffing-result-cards .staffing-total-card { border-color: var(--forest); background: var(--forest); color: #fff; }
.monthly-staffing-cards .staffing-total-card span,
.monthly-staffing-cards .staffing-total-card small,
.staffing-result-cards .staffing-total-card span,
.staffing-result-cards .staffing-total-card small { color: rgba(255,255,255,.7); }
.staffing-matched-menu { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.monthly-planning-notes { margin-top: 26px; }
.monthly-planning-notes textarea[readonly] { background: #f1f1ed; color: #6f756f; cursor: default; }
.monthly-planning-print-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.empty-copy { color: var(--muted); font-size: 11px; }

.staffing-settings-panel {
  min-width: 0;
  overflow: hidden;
}
.staffing-settings-panel .panel-heading { align-items: center; }
.staffing-settings-panel > .form-hint {
  max-width: none;
  margin: 0;
  padding: 16px 24px;
  border-bottom: 1px solid var(--line);
  background: #f8f7f3;
}
.compact-switch { min-width: 115px; }
.staffing-editor-heading {
  margin: 0;
  padding: 24px 24px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.staffing-editor-heading strong,
.staffing-editor-heading small { display: block; }
.staffing-editor-heading strong { font-family: var(--serif); font-size: 20px; font-weight: 500; }
.staffing-editor-heading small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.staffing-role-list,
.staffing-menu-list {
  min-width: 0;
  padding: 0 24px 24px;
  display: grid;
  gap: 8px;
}
.staffing-role-row {
  min-width: 0;
  position: relative;
  display: grid;
  grid-template-columns: minmax(160px, 1.35fr) repeat(5, minmax(0, .8fr));
  gap: 10px;
  align-items: end;
  padding: 15px 55px 15px 15px;
  border: 1px solid var(--line);
  background: #faf9f6;
}
.staffing-role-row label,
.staffing-menu-additions label { min-width: 0; }
.staffing-role-row label span,
.staffing-menu-additions label span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.staffing-role-row input,
.staffing-menu-additions input {
  width: 100%;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  background: #fff;
}
.staffing-role-row .row-action {
  width: 34px;
  height: 34px;
  position: absolute;
  top: 15px;
  right: 12px;
}
.staffing-menu-group {
  min-width: 0;
  border: 1px solid var(--line);
  background: #faf9f6;
}
.staffing-menu-group > summary {
  min-height: 62px;
  padding: 14px 48px 14px 16px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.staffing-menu-group > summary::-webkit-details-marker { display: none; }
.staffing-menu-group > summary::after {
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  right: 14px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--forest);
  content: "+";
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1;
  transform: translateY(-50%);
}
.staffing-menu-group[open] > summary::after { content: "−"; }
.staffing-menu-group > summary div,
.staffing-menu-group > summary strong,
.staffing-menu-group > summary small { min-width: 0; display: block; }
.staffing-menu-group > summary strong { font-size: 12px; }
.staffing-menu-group > summary small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.staffing-menu-group > summary > span {
  flex: 0 0 auto;
  color: var(--terracotta);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.staffing-menu-group-body { border-top: 1px solid var(--line); }
.staffing-menu-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(190px, .9fr) minmax(0, 2.1fr);
  align-items: stretch;
  border-top: 1px solid var(--line);
  background: #fff;
}
.staffing-menu-row:first-child { border-top: 0; }
.staffing-menu-name {
  min-width: 0;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--line);
}
.staffing-menu-name strong,
.staffing-menu-name small { display: block; }
.staffing-menu-name strong { overflow-wrap: anywhere; }
.staffing-menu-name small { margin-top: 5px; color: var(--muted); font-size: 9px; }
.staffing-menu-additions {
  min-width: 0;
  padding: 11px 14px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
  gap: 8px;
  align-items: end;
}
.staffing-settings-panel > .field.full {
  margin: 0 24px 24px;
}
.staffing-preview {
  margin: 0 24px;
  padding: 18px;
  border: 1px solid #d8c8aa;
  background: #f6f0e5;
}
.staffing-preview-controls {
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) 150px minmax(190px, 1fr);
  gap: 12px;
  align-items: end;
}
.staffing-preview-controls > div span,
.staffing-preview-controls > div strong { display: block; }
.staffing-preview-controls > div span { color: var(--terracotta); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.staffing-preview-controls > div strong { margin-top: 5px; font-family: var(--serif); font-size: 22px; font-weight: 500; }

@media (max-width: 1450px) {
  .staffing-role-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .staffing-role-row { grid-template-columns: 1fr 1fr; }
  .staffing-menu-row { grid-template-columns: 1fr; }
  .staffing-menu-name { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .staffing-settings-panel > .form-hint { padding: 14px 16px; }
  .staffing-editor-heading { align-items: flex-start; }
  .staffing-editor-heading,
  .staffing-role-list,
  .staffing-menu-list { padding-right: 16px; padding-left: 16px; }
  .staffing-role-row { grid-template-columns: 1fr 1fr; }
  .staffing-role-row label:first-child { grid-column: 1 / -1; }
  .staffing-menu-group > summary { align-items: flex-start; flex-direction: column; gap: 6px; }
  .staffing-menu-group > summary > span { white-space: normal; }
  .staffing-menu-additions { grid-template-columns: 1fr 1fr; }
  .staffing-settings-panel > .field.full,
  .staffing-preview { margin-right: 16px; margin-left: 16px; }
  .staffing-preview-controls { grid-template-columns: 1fr; }
  .monthly-staffing-cards,
  .staffing-result-cards { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .staffing-editor-heading { flex-direction: column; }
  .staffing-role-row { grid-template-columns: 1fr; padding-right: 50px; }
  .staffing-role-row label:first-child { grid-column: auto; }
}

.appointment-type {
  display: inline-flex;
  padding: 6px 9px;
  background: #eef1f4;
  color: #3e516e;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.appointment-type.repeat_visit { background: #efe9f5; color: #6a547f; }
.appointment-type.planning { background: #f4ead3; color: #87661d; }

.support-category-list {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}
.support-category-list button {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: #fffdf8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
}
.support-category-list button.active {
  border-color: var(--forest);
  box-shadow: inset 3px 0 0 var(--forest);
}
.support-category-list strong,
.support-category-list small,
.support-category-list em { display: block; }
.support-category-list small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.support-category-list em {
  color: var(--forest);
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.support-category-list em.off { color: #9b5a50; }
.system-error-heading { margin-bottom: 14px; }
.backup-actions + .panel-intro { margin-top: 18px; }

.admin-toast {
  padding: 14px 18px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
  background: var(--forest-deep);
  color: white;
  box-shadow: var(--shadow);
  font-size: 10px;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: .18s ease;
}

.admin-toast.show {
  opacity: 1;
  transform: none;
}

@media (max-width: 1050px) {
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-priority-list { grid-template-columns: 1fr 1fr; }
  .dashboard-planning-grid { grid-template-columns: minmax(0, 1fr); }
  .payment-card { grid-column: 1 / -1; }
  .payment-schedule { grid-template-columns: 1fr; }
  .dashboard-grid {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .dashboard-grid > * { min-width: 0; }
  .branch-snapshot { display: grid; grid-template-columns: 280px 1fr; }
  .snapshot-image { height: 100%; min-height: 280px; }
  .form-grid.four { grid-template-columns: 1fr 1fr; }
}

.media-link-cell { min-width: 220px; display: grid; gap: 4px; }
.media-link-cell strong { font-weight: 700; }
.media-link-cell a { width: fit-content; color: var(--terracotta); font-size: 10px; font-weight: 700; }
.media-link-cell small { max-width: 360px; color: #747b75; font-size: 9px; line-height: 1.45; }
.media-link-type { padding: 6px 9px; display: inline-block; background: #e8e9e5; color: #536057; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.media-link-type.photo { background: #e5ebe3; color: #3f6544; }
.media-link-type.video { background: #e6e8ef; color: #465a7b; }
.media-link-type.other { background: #f0e7d8; color: #806635; }
.finance-balance { display: grid; gap: 3px; }
.finance-balance strong { color: #315a3b; font-size: 10px; }
.finance-balance small { color: var(--muted); font-size: 8px; }
.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.finance-payment-history { margin-top: 18px; display: grid; gap: 8px; }
.finance-payment-row { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid var(--line); background: #f7f5ef; }
.finance-payment-row span { display: grid; gap: 3px; }
.finance-payment-row small { color: var(--muted); font-size: 8px; }
.finance-payment-summary { margin: 15px 0 22px; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.finance-payment-summary div { padding: 14px; border-right: 1px solid var(--line); }
.finance-payment-summary div:last-child { border: 0; }
.finance-payment-summary span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.finance-payment-summary strong { display: block; margin-top: 5px; font-family: var(--serif); font-size: 18px; font-weight: 500; }
.support-status { padding: 6px 9px; display: inline-block; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.support-status.created { background: #f1e7d8; color: #80653d; }
.support-status.reviewing { background: #e5eaf0; color: #425d78; }
.support-status.closed { background: #e5ebe3; color: #42654a; }
.support-thread { display: grid; gap: 12px; }
.support-message { max-width: 82%; padding: 16px 18px; border: 1px solid var(--line); background: #f7f4ee; }
.support-message.admin { margin-left: auto; background: #e9eee7; }
.support-message header { margin-bottom: 8px; display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 9px; }
.support-message p { margin: 0; white-space: pre-wrap; font-size: 12px; line-height: 1.6; }
.support-attachment { margin-top: 10px; display: inline-block; color: var(--terracotta); font-size: 10px; font-weight: 700; }
.support-admin-controls { margin: 20px 0; padding: 18px; display: grid; grid-template-columns: 220px 1fr; gap: 16px; background: #f4f1ea; }
.support-reply-form { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.support-dialog-head { padding-right: 35px; }
.support-dialog-head h2 { margin-bottom: 8px; }
.support-dialog-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; color: var(--muted); font-size: 10px; }
.support-dialog-actions { margin-top: 18px; display: flex; justify-content: flex-end; }
.franchise-status-select {
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  font-size: 10px;
}
.franchise-request-note { max-width: 260px; color: var(--muted); font-size: 10px; line-height: 1.45; white-space: normal; }
.franchise-showcase-table-name { min-width: 220px; display: flex; align-items: center; gap: 12px; }
.franchise-showcase-table-name img { width: 62px; height: 48px; flex: 0 0 auto; object-fit: cover; border: 1px solid var(--line); }
.franchise-showcase-table-name span { min-width: 0; display: grid; gap: 3px; }
.franchise-showcase-table-name small { max-width: 240px; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.showcase-metric-inline { display: block; font-size: 12px; }
.showcase-metric-inline + .showcase-metric-inline { margin-top: 5px; }
.showcase-metric-inline small { color: var(--muted); font-weight: 400; }
.admin-nav .branch-management-nav-toggle { grid-template-columns: 24px 1fr auto; }
.admin-nav .branch-management-nav-toggle .branch-management-nav-label {
  color: inherit;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}
.admin-nav .branch-management-nav-toggle .branch-management-menu-arrow {
  color: rgba(255,255,255,.5);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1;
  transition: transform .18s ease;
}
.branch-management-nav-group:has(.branch-management-nav-flyout button.active) > .branch-management-nav-toggle,
.branch-management-nav-group.open > .branch-management-nav-toggle {
  background: rgba(255,255,255,.08);
  color: white;
}
.branch-management-nav-flyout {
  width: 236px;
  padding: 12px;
  position: fixed;
  left: 248px;
  z-index: 240;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 18px 22px 55px rgba(11,18,14,.26);
  background: #202d25;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-7px);
  transition: opacity .16s ease, transform .16s ease;
}
.branch-management-nav-flyout::before {
  width: 36px;
  position: absolute;
  inset: 0 auto 0 -36px;
  content: "";
}
.branch-management-nav-flyout p {
  margin: 0 8px 7px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.4);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.admin-nav .branch-management-nav-flyout button { min-height: 42px; }
.branch-management-nav-group:hover .branch-management-nav-flyout,
.branch-management-nav-group.hover-open .branch-management-nav-flyout,
.branch-management-nav-group.open .branch-management-nav-flyout {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}
.ops-status, .ops-priority, .ops-period {
  padding: 6px 9px;
  display: inline-block;
  background: #ece9df;
  color: #6d634f;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ops-status.open, .ops-status.requested, .ops-status.pending { background: #f1e7d8; color: #80653d; }
.ops-status.active { background: #e5ebe3; color: #42654a; }
.ops-status.in_progress, .ops-status.ordered { background: #e5eaf0; color: #425d78; }
.ops-status.maintenance { background: #e5eaf0; color: #425d78; }
.ops-status.resolved, .ops-status.purchased, .ops-status.submitted, .ops-status.done { background: #e5ebe3; color: #42654a; }
.ops-status.cancelled, .ops-status.retired, .ops-status.lost, .ops-status.archived { background: #f0dfdc; color: #984f43; }
.ops-priority.urgent { background: #f0dfdc; color: #984f43; }
.ops-priority.high { background: #f1e7d8; color: #80653d; }
.ops-priority.low { background: #e7ebe5; color: #627157; }
.ops-note { max-width: 310px; color: var(--muted); font-size: 10px; line-height: 1.45; white-space: normal; }
.admin-note-form {
  margin: 22px 0;
  padding: 18px;
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  background: #f7f5ef;
}
.admin-note-message {
  min-height: 16px;
  color: var(--muted);
  font-size: 10px;
}

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

  .timeline-edit-row {
    grid-template-columns: 38px 1fr 34px;
  }

  .timeline-edit-row input {
    grid-column: 1 / -1;
  }

  .timeline-drag-handle,
  .timeline-remove-row {
    grid-row: 1;
  }

  .timeline-remove-row {
    grid-column: 3;
  }

	  .sidebar {
	    width: min(86vw, 320px);
	    height: 100dvh;
	    padding: 24px 20px 20px;
    position: fixed;
    top: 0;
	    left: 0;
	    z-index: 40;
	    overflow-y: auto;
	    overscroll-behavior: contain;
	    -webkit-overflow-scrolling: touch;
	    touch-action: pan-y;
	    transform: translateX(-105%);
	    transition: transform .22s ease;
	  }

  .sidebar.open {
    box-shadow: 20px 0 70px rgba(0,0,0,.28);
    transform: translateX(0);
  }

  .sidebar-close {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 17px;
    right: 13px;
    z-index: 2;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
    color: white;
    cursor: pointer;
    font-family: var(--serif);
    font-size: 25px;
    line-height: 1;
  }

  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 30;
    display: block;
    border: 0;
    background: rgba(17, 25, 20, .54);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .sidebar.open + .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  body.admin-menu-open { overflow: hidden; }

  .admin-brand {
    padding: 0 52px 23px 5px;
  }

	  .admin-brand img { width: 135px; }
	  .admin-nav {
	    margin-top: 20px;
	    padding-bottom: 8px;
	    flex: 0 0 auto;
	    min-height: auto;
	    overflow: visible;
	    touch-action: pan-y;
	  }
	  .admin-nav button,
	  .nav-flyout-group,
	  .system-nav-flyout,
	  .franchise-nav-flyout,
	  .branch-management-nav-flyout {
	    touch-action: pan-y;
	  }
	  .nav-flyout-group,
	  .system-nav-group,
	  .franchise-nav-group,
	  .branch-management-nav-group {
	    display: grid;
	  }
	  .admin-nav .system-nav-toggle,
	  .admin-nav .franchise-nav-toggle,
	  .admin-nav .branch-management-nav-toggle {
	    width: 100%;
	  }
	  .system-nav-flyout,
	  .franchise-nav-flyout,
	  .branch-management-nav-flyout {
	    width: auto;
	    max-height: 0;
    padding: 0 0 0 18px;
    position: static;
    display: grid;
    overflow: hidden;
    border: 0;
    box-shadow: none;
    background: rgba(255,255,255,.035);
    opacity: 1;
    pointer-events: none;
    transform: none;
	    transition: max-height .22s ease, padding .22s ease;
	  }
	  .system-nav-flyout::before,
	  .franchise-nav-flyout::before,
	  .branch-management-nav-flyout::before,
	  .system-nav-flyout p,
	  .franchise-nav-flyout p,
	  .branch-management-nav-flyout p { display: none; }
	  .system-nav-group:hover .system-nav-flyout,
	  .franchise-nav-group:hover .franchise-nav-flyout,
	  .branch-management-nav-group:hover .branch-management-nav-flyout,
	  .system-nav-group:focus-within .system-nav-flyout,
	  .franchise-nav-group:focus-within .franchise-nav-flyout,
	  .branch-management-nav-group:focus-within .branch-management-nav-flyout,
	  .system-nav-group.hover-open .system-nav-flyout {
	    max-height: 0;
	    padding-top: 0;
    padding-bottom: 0;
	    pointer-events: none;
	  }
	  .franchise-nav-group.hover-open .franchise-nav-flyout,
	  .branch-management-nav-group.hover-open .branch-management-nav-flyout {
	    max-height: 0;
	    padding-top: 0;
	    padding-bottom: 0;
	    pointer-events: none;
	  }
	  .system-nav-group.open .system-nav-flyout,
	  .franchise-nav-group.open .franchise-nav-flyout,
	  .branch-management-nav-group.open .branch-management-nav-flyout {
	    max-height: 540px;
	    margin-top: 4px;
	    padding: 6px 0 7px 18px;
	    pointer-events: auto;
	  }
	  .system-nav-group.open .system-menu-arrow,
	  .franchise-nav-group.open .franchise-menu-arrow,
	  .branch-management-nav-group.open .branch-management-menu-arrow {
	    transform: rotate(90deg);
	  }
	  .admin-nav .system-nav-flyout button,
	  .admin-nav .franchise-nav-flyout button,
	  .admin-nav .branch-management-nav-flyout button {
	    min-height: 39px;
	    padding-left: 10px;
	    font-size: 10px;
	  }
	  .sidebar-branch { margin-top: 10px; padding: 14px; }
	  .sidebar-bottom { margin-top: 10px; flex-shrink: 0; }
  .table-pagination { align-items: flex-start; flex-wrap: wrap; }
  .pagination-summary { width: 100%; margin: 0; }
  .pagination-pages { width: 100%; overflow-x: auto; }

  .sidebar-toggle {
    width: 42px;
    height: 42px;
    margin-right: 12px;
    padding: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid var(--line);
    background: white;
    color: var(--forest);
    cursor: pointer;
  }

  .admin-header {
    height: 116px;
    padding: 9px 14px 11px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 42px 42px;
    gap: 10px 12px;
    position: sticky;
    top: 0;
    z-index: 12;
    box-shadow: 0 7px 25px rgba(32,41,35,.05);
  }

  .admin-header > div:first-child {
    min-width: 0;
    display: flex;
    align-items: center;
  }

  .admin-global-search { grid-column: 1 / -1; grid-row: 2; }
  .admin-global-search-form { height: 42px; }
  .admin-global-search-panel {
    width: calc(100vw - 28px);
    max-height: calc(100dvh - 132px);
    top: calc(100% + 7px);
  }
  .admin-global-search-results { max-height: calc(100dvh - 222px); }
  .admin-global-search-result { grid-template-columns: 34px minmax(0, 1fr); }
  .admin-global-search-result-branch { grid-column: 2; max-width: none; text-align: left; }
  .admin-global-search-shortcut { display: none; }

  .header-location {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .admin-content { padding: 28px 14px 60px; }
  .page-heading {
    margin-bottom: 24px;
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }
  .page-heading h1 { font-size: clamp(34px, 11vw, 46px); }
  .page-heading > div > p:last-child { font-size: 15px; line-height: 1.5; }
  .page-heading .primary-button { min-height: 42px; }
  .heading-actions { width: 100%; flex-wrap: wrap; }
  .calendar-heading-actions { width: 100%; flex-wrap: wrap; }
  .calendar-legend { align-items: flex-start; flex-wrap: wrap; }
  .calendar-legend small { width: 100%; margin-left: 0; }
  .monthly-summary-grid { grid-template-columns: 1fr 1fr; }
  .monthly-services { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .finance-overview { padding: 18px 16px 0; }
  .finance-overview-head {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
  }
  .finance-date-filter {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .finance-date-filter label {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .finance-date-filter input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: block;
  }
  .finance-date-filter .secondary-button {
    width: 100%;
    grid-column: 1 / -1;
  }
  .toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }
  .toolbar .search-field { flex: 1 1 100%; }
  .toolbar .date-filter {
    width: auto;
    min-width: 0;
    flex: 1 1 calc(50% - 5px);
  }
  .toolbar .date-filter input { min-width: 0; }
  .toolbar select {
    min-width: 0;
    max-width: 100%;
    margin-left: 0;
    flex: 1 1 160px;
  }
  .panel-heading {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }
  .panel-heading > * { min-width: 0; }
  .finance-list-heading { align-items: flex-start; }
  .cafe-subnav { margin-bottom: 16px; }
  .cafe-quick-grid { grid-template-columns: 1fr 1fr; }
  .cafe-report-grid { grid-template-columns: 1fr; }
  .stat-card { min-height: 118px; padding: 16px; }
  .stat-card strong { font-size: 30px; }
  .branch-snapshot { display: block; }
  .snapshot-image { height: 230px; min-height: 0; }
  .form-grid,
  .form-grid.four { grid-template-columns: 1fr; }
  .calendar-integration-intro { margin: 0 16px 18px; grid-template-columns: 40px minmax(0, 1fr); }
  .calendar-provider-mark { width: 40px; height: 40px; }
  .calendar-connect-actions { padding: 0 16px 20px; }
  .calendar-connect-actions > button { width: 100%; }
  .calendar-sync-summary { margin: 0 16px 18px; }
  .calendar-sync-summary div { padding: 14px 10px; }
  .calendar-integration-actions { align-items: stretch; flex-direction: column; }
  .calendar-integration-actions > div { width: 100%; }
  .calendar-integration-actions > div > button { width: 100%; }
  .contract-time-settings { grid-template-columns: 1fr; }
  .contract-time-settings fieldset { grid-template-columns: 1fr; }
  .contract-payment-summary { grid-template-columns: 1fr; }
  .contract-payment-summary > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .contract-payment-summary > div:last-child { border-bottom: 0; }
  .contract-installment-heading { align-items: stretch; flex-direction: column; }
  .contract-installment-heading > div:last-child { justify-content: flex-start; }
  .contract-installment-row { grid-template-columns: minmax(0, 1fr) minmax(110px, .45fr); }
  .contract-installment-row .field:nth-child(3) { grid-column: 1; }
  .contract-installment-remove { grid-column: 2; grid-row: 2; justify-self: end; }
  .checkbox-grid { grid-template-columns: 1fr; }
  .support-admin-controls { grid-template-columns: 1fr; }
  .finance-payment-summary { grid-template-columns: 1fr; }
  .finance-payment-summary div { border-right: 0; border-bottom: 1px solid var(--line); }
  .finance-payment-summary div:last-child { border-bottom: 0; }
  .support-message { max-width: 100%; }
  .archive-filters { grid-template-columns: 1fr; }
  .archive-panel > summary { grid-template-columns: 1fr; }
  .archive-panel > summary::after { grid-column: 1; grid-row: auto; justify-self: end; }
  .settings-accordion summary { padding: 20px; }
  .settings-accordion-body { padding: 0 20px 24px; }
  .intelligence-summary { grid-template-columns: 1fr 1fr; }
  .export-grid { grid-template-columns: 1fr; }
  .system-section-body { padding: 0 16px 20px; }
  .system-section > summary { padding: 18px 16px; }
  .email-test-row { align-items: stretch; flex-direction: column; }
  .field.full { grid-column: auto; }
  .login-screen { grid-template-columns: 1fr; }
  .login-art { display: none; }
  .login-form-wrap { min-height: 100vh; padding: 30px; }
}

@media (max-width: 480px) {
  .monthly-summary-grid { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: 1fr; gap: 10px; }
  .dashboard-heading .heading-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-heading .heading-actions button { width: 100%; }
  .dashboard-command-center { padding: 16px 14px; }
  .dashboard-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .dashboard-section-heading > p { text-align: left; }
  .dashboard-priority-list { grid-template-columns: minmax(0, 1fr); }
  .dashboard-priority-card { min-height: 84px; padding: 12px; grid-template-columns: 32px minmax(0, 1fr) auto; }
  .dashboard-priority-card > b { width: 32px; height: 32px; font-size: 15px; }
  .dashboard-week-metrics { grid-template-columns: 1fr 1fr; }
  .dashboard-week-metrics > button:nth-child(2) { border-right: 0; }
  .dashboard-week-metrics > button:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dashboard-agenda-item,
  .dashboard-upcoming-item { padding: 13px 14px; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; }
  .dashboard-agenda-kind,
  .dashboard-upcoming-kind { grid-column: 2; }
  .contract-list-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .finance-date-filter { grid-template-columns: minmax(0, 1fr); }
  .finance-date-filter .secondary-button { grid-column: auto; }
  .contract-preparation-dialog { width: calc(100vw - 16px); }
  .contract-review-dialog { width: calc(100vw - 10px); height: calc(100vh - 10px); padding: 14px 10px; }
  .contract-review-header { padding-right: 34px; }
  .contract-review-header > span { display: none; }
  .contract-review-header h2 { font-size: 24px; }
  .contract-review-frame-wrap { margin-top: 10px; }
  .contract-review-actions { display: grid; grid-template-columns: 1fr; }
  .contract-review-actions button { width: 100%; }
  .contract-preparation-section { padding: 15px 12px; }
  .contract-preparation-heading { grid-template-columns: 28px minmax(0, 1fr); gap: 9px; }
  .contract-preparation-heading > span { width: 28px; height: 28px; }
  .contract-preparation-heading h3 { font-size: 21px; }
  .contract-installment-heading > div:last-child { display: grid; grid-template-columns: 1fr; }
  .contract-installment-heading button { width: 100%; }
  .contract-installment-row { grid-template-columns: minmax(0, 1fr); }
  .contract-installment-row .field:nth-child(3),
  .contract-installment-remove { grid-column: 1; grid-row: auto; }
  .contract-installment-remove { width: 100%; justify-self: stretch; }
  .finance-summary-card::after,
  .finance-cashbox-stats .cashbox-card::after {
    opacity: 1;
    transform: none;
  }
  .cafe-quick-grid { grid-template-columns: 1fr; }
  .cafe-quick-grid button { min-height: 96px; }
  .cafe-hour-row { grid-template-columns: 46px minmax(0, 1fr); }
  .cafe-hour-row strong { grid-column: 2; text-align: left; }
  .payment-card { grid-column: auto; }
  .stat-card {
    min-width: 0;
    min-height: 108px;
    padding: 14px;
  }
  .stat-card > span {
    font-size: 7px;
    letter-spacing: .1em;
  }
  .stat-card strong { font-size: 28px; }
  .stat-card small {
    overflow: hidden;
    font-size: 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-profile div { display: none; }
  .admin-profile > span { width: 34px; height: 34px; }
  .admin-header-actions { gap: 8px; }
  .notification-button,
  .cache-clear-button { width: 34px; height: 34px; }
  .admin-action-center-panel {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 86px);
    position: fixed;
    top: 76px;
    right: 10px;
  }
  .admin-action-center-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-action-center-list { max-height: calc(100vh - 320px); }
  .admin-action-center-item { grid-template-columns: 34px minmax(0, 1fr); }
  .admin-action-center-item time { grid-column: 2; margin-top: -8px; }
  .intelligence-summary { grid-template-columns: 1fr; }
  .export-grid > div { align-items: stretch; flex-direction: column; }
  .export-grid strong { margin: 0 0 5px; }
  .toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .toolbar > *,
  .toolbar .search-field,
  .toolbar .date-filter,
  .toolbar select,
  .toolbar button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
  }
  .date-filter { height: auto; min-height: 48px; }
  .date-filter input { width: 100%; min-width: 0; }
  .dialog-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .dialog-actions > button,
  .dialog-actions > a { width: 100%; }
  .sticky-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .sticky-actions > button,
  .sticky-actions > div,
  .sticky-actions > div > button { width: 100%; }
  .detail-dialog { padding: 42px 20px 25px; }
  .lead-detail-grid,
  .lead-actions,
  .quote-dialog-actions { grid-template-columns: 1fr; }
  .admin-quote-category { grid-template-columns: 1fr; }
  .custom-quote-section { padding: 14px; }
  .custom-quote-section-head { align-items: stretch; flex-direction: column; }
  .custom-quote-section-head .secondary-button { width: 100%; }
  .custom-quote-line { grid-template-columns: 1fr; }
  .custom-quote-menu-line { grid-template-columns: 1fr; }
  .custom-quote-remove { width: 100%; }
}
.account-completion-admin { margin: 22px 0; padding: 22px; border: 1px solid #d8c7b0; background: #f5eee4; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; }
.account-completion-admin h3 { margin: 4px 0 8px; font-family: var(--serif); font-size: 26px; font-weight: 500; }
.account-completion-admin p { margin: 0; color: #687068; line-height: 1.6; }
.account-completion-result { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid #d8c7b0; }
.account-completion-result[hidden] { display: none; }
.account-completion-result input { width: 100%; }
.account-completion-result small { display: block; margin-top: 10px; color: #687068; }
.account-completion-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
@media (max-width: 760px) {
  .account-completion-admin { grid-template-columns: 1fr; }
  .account-completion-admin > button { width: 100%; }
}

.heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.event-ticket-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.event-ticket-stats article { min-width:0; padding:20px; border:1px solid var(--line); background:#fff; }
.event-ticket-stats span { display:block; margin-bottom:8px; color:#7a817b; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.event-ticket-stats strong { display:block; overflow-wrap:anywhere; font:400 32px/1 var(--serif); }
.event-ticket-stats small { display:block; margin-top:7px; color:#7a817b; }
.event-order-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:20px 0; border:1px solid var(--line); }
.event-order-overview > article { min-width:0; padding:16px; border-right:1px solid var(--line); }
.event-order-overview > article:last-child { border-right:0; }
.event-order-overview span,.event-ticket-row span,.event-order-note span { display:block; color:#7a817b; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.event-order-overview strong { display:block; margin-top:7px; overflow-wrap:anywhere; }
.event-order-overview small { display:block; margin-top:6px; color:#727973; line-height:1.5; }
.event-order-contact { display:flex; flex-wrap:wrap; gap:10px 22px; padding:16px 0; }
.event-payment-confirm { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr) auto; align-items:end; gap:18px; margin:24px 0; padding:22px; border:1px solid #dac49f; background:#f7f0e3; }
.event-payment-confirm h3 { margin:0 0 7px; font:500 25px/1.15 var(--serif); }
.event-payment-confirm p { margin:0; color:#687068; line-height:1.55; }
.event-order-tickets { display:grid; gap:10px; margin:22px 0; }
.event-ticket-row { display:grid; grid-template-columns:minmax(210px,1fr) minmax(0,2fr); align-items:center; gap:16px; padding:15px; border:1px solid var(--line); background:#faf8f3; }
.event-ticket-row strong { display:block; margin-top:5px; }
.event-ticket-row small { display:block; margin-top:5px; color:#737a74; }
.event-ticket-row-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.event-ticket-row-actions .secondary-button,.event-ticket-row-actions .danger-button { min-height:38px; padding:9px 12px; }
.event-order-note { margin-top:20px; padding:17px; border-left:3px solid #b06d56; background:#f6f1e9; }
.event-order-note p { margin:8px 0 0; white-space:pre-wrap; }
.event-ticket-status { display:inline-flex; padding:6px 9px; background:#e7efe8; color:#31513b; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.event-ticket-status.used { color:#fff; background:#746e62; }
.event-ticket-status.cancelled { color:#fff; background:#a65f4d; }
.event-scanner-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0; }
.event-scanner-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:24px; }
.event-scanner-camera { position:relative; min-height:430px; overflow:hidden; padding:18px; background:#111913; color:#fff; }
.event-scanner-camera video { display:block; width:100%; min-height:300px; max-height:430px; object-fit:cover; background:#0b0f0c; }
.event-scanner-frame { position:absolute; z-index:2; top:74px; left:50%; width:min(62%,280px); aspect-ratio:1; transform:translateX(-50%); border:3px solid rgba(255,255,255,.9); box-shadow:0 0 0 999px rgba(0,0,0,.18); pointer-events:none; }
.event-scanner-camera p { position:relative; z-index:3; margin:14px 0; text-align:center; }
.event-scanner-actions { position:relative; z-index:3; display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.file-button { position:relative; overflow:hidden; cursor:pointer; }
.file-button input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.event-scanner-manual { display:grid; gap:12px; padding:18px; border:1px solid var(--line); background:#faf8f3; }
.event-scan-result { min-height:230px; margin-top:14px; padding:24px; border:2px solid var(--line); background:#fff; }
.event-scan-result h3 { margin:0 0 12px; font:400 28px/1.1 var(--serif); }
.event-scan-result[data-result="success"] { display:flex; gap:18px; border-color:#4c7a58; background:#edf6ee; }
.event-scan-result[data-result="error"] { display:flex; gap:18px; border-color:#b65a4a; background:#faece8; }
.event-scan-symbol { display:grid; flex:0 0 54px; width:54px; height:54px; place-items:center; border-radius:50%; background:#233a2b; color:#fff; font-size:34px; line-height:1; }
.event-scan-result[data-result="error"] .event-scan-symbol { background:#9e4f42; }
.event-scan-result strong,.event-scan-result small { display:block; margin-top:8px; }
@media (max-width:900px) {
  .event-ticket-stats,.event-order-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-payment-confirm { grid-template-columns:1fr 1fr; }
  .event-payment-confirm > div:first-child { grid-column:1 / -1; }
  .event-scanner-layout { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .heading-actions,.heading-actions > * { width:100%; }
  .event-ticket-stats,.event-order-overview,.event-scanner-toolbar,.event-payment-confirm { grid-template-columns:1fr; }
  .event-order-overview > article { border-right:0; border-bottom:1px solid var(--line); }
  .event-ticket-row { grid-template-columns:1fr; }
  .event-ticket-row-actions { display:grid; grid-template-columns:1fr; }
  .event-ticket-row-actions > * { width:100%; }
  .event-scanner-camera { min-height:360px; padding:12px; }
}

@media (max-width: 1100px) {
  .finance-report-filter-panel { grid-template-columns: 1fr; }
  .finance-report-overview-grid { grid-template-columns: 1fr; }
  .finance-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .finance-report-page-heading { align-items: stretch; }
  .finance-report-page-heading > button { width: 100%; }
  .finance-report-filter-panel { padding: 16px; }
  .finance-report-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-report-presets button { width: 100%; padding: 0 8px; }
  .finance-report-custom-range { grid-template-columns: 1fr; }
  .finance-report-period-copy { align-items: flex-start; flex-direction: column; }
  .finance-report-category-grid,
  .finance-report-detail-grid { grid-template-columns: 1fr; }
  .finance-report-donut-wrap { grid-template-columns: 145px minmax(0, 1fr); gap: 16px; }
  .finance-report-contract-heading { align-items: stretch; flex-direction: column; }
  .finance-report-contract-heading .search-field { width: 100%; }
}

@media (max-width: 480px) {
  .finance-report-kpis { grid-template-columns: 1fr; }
  .finance-report-donut-wrap { grid-template-columns: 1fr; }
  .finance-report-donut { width: 160px; margin: 0 auto; }
  .finance-report-legend { width: 100%; }
  .finance-report-trend { grid-auto-columns: minmax(52px, 1fr); }
}
/* Mağaza */
.store-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.store-stat-grid article{border:1px solid var(--line,#dfe1dc);background:#fff;padding:20px;min-height:132px;display:flex;flex-direction:column;justify-content:flex-end}.store-stat-grid article.accent{background:#23382b;color:#fff;border-color:#23382b}.store-stat-grid span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;opacity:.72}.store-stat-grid strong{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.15;margin:8px 0 3px}.store-stat-grid small{color:inherit;opacity:.65}.status-pill.store-published,.status-pill.store-paid{background:#e7f2e8;color:#2f6a3e}.status-pill.store-payment_review{background:#fff0cd;color:#805d14}.status-pill.store-awaiting_payment,.status-pill.store-draft{background:#f3eee3;color:#745f3b}.status-pill.store-paused,.status-pill.store-archived{background:#eceeed;color:#5b6460}.status-pill.store-cancelled,.status-pill.store-refunded,.status-pill.store-expired{background:#f5dfdb;color:#934b3c}.table-external-link{display:inline-flex;align-items:center;gap:6px;color:#263a2e;font-weight:700;text-decoration:none}.table-external-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.upload-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;gap:10px;align-items:center}.form-actions-static{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line,#dfe1dc);margin-top:24px;padding-top:20px}.form-actions-static>span{color:#7b817c;font-size:13px}.detail-note{border:1px solid var(--line,#dfe1dc);padding:16px;margin:18px 0}.detail-note span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:8px}.detail-note p{margin:0;white-space:pre-wrap}
@media(max-width:1000px){.store-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-field{grid-template-columns:1fr}.form-actions-static{align-items:stretch;flex-direction:column}.form-actions-static .primary-button{width:100%}}
@media(max-width:600px){.store-stat-grid{grid-template-columns:1fr 1fr}.store-stat-grid article{padding:15px;min-height:112px}.store-stat-grid strong{font-size:29px}.store-stat-grid small{font-size:11px}}
