/* Official platform palette. Loaded after existing layout styles.
 * Only the default palette: alternative user palettes and tenant documents stay intact.
 * Semantic success/warning/danger tokens deliberately remain unchanged.
 */
:root[data-palette="natural"] {
  --brand: #1265c8;
  --brand2: #e4f1ff;
  --color-primary: #1265c8;
  --color-primary-hover: #0d4e9d;
  --color-primary-soft: #e4f1ff;
  --color-focus: #1265c8;
  --color-text-primary: #102a48;
  --color-text-secondary: #566b82;
  --color-background: #f3f7fc;
  --color-surface-subtle: #eef5fd;
  --color-border: #dce6f1;
  --color-border-strong: #c2d3e6;
  --bg: #f3f7fc;
  --bg2: #e8f1fc;
  --ink: #102a48;
  --text: #102a48;
  --muted: #566b82;
  --line: #c2d3e6;
}
[data-palette="natural"] .product-area-owner .owner-sidebar {
  background: #102a48;
}
[data-palette="natural"] .product-area-owner .owner-sidebar .nav a.active {
  background: #1a4d82;
  box-shadow: inset 3px 0 #54a9ff;
}
[data-palette="natural"] .customer-v1 {
  --cp-mint: #1265c8;
  --cp-mint-hover: #0d4e9d;
  --cp-mint-soft: #e4f1ff;
  --cp-warm: #f0f5fc;
  --cp-text: #102a48;
  --cp-muted: #566b82;
  --cp-border: #dce6f1;
  background: linear-gradient(180deg, #f7fbff, #f1f6fc 55%, #fbfdff);
}
[data-palette="natural"] .customer-v1 .cp-status-confirmed,
[data-palette="natural"] .customer-v1 .cp-status-completed {
  background: #e7f4ee;
  color: #286853;
}

/* Day plan: decorative frame and raised inner agenda, without changing actions. */
.app-today #day-plan, .app-today #pending-reports, .app-today #pending-appointments { scroll-margin-top: 110px; }
.app-today a.metric-card { text-decoration: none; color: inherit; }
.app-today a.metric-card:hover { border-color: var(--color-primary); background: var(--color-primary-soft); }
.app-today a.metric-card:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.product-area-salon .app-today .day-plan-card {
  min-width: 0;
  border: 1px solid var(--color-border-strong);
  border-radius: 26px;
  background: radial-gradient(circle at 100% 0, var(--color-primary-soft), transparent 48%), #fff;
  box-shadow: 0 16px 42px rgb(16 42 72 / 9%);
}
.product-area-salon .app-today .day-plan-inner > .section-title {
  padding: 2px 4px 12px;
}
.product-area-salon .app-today .day-plan-inner {
  padding: 12px;
  border: 1px solid var(--color-border);
  border-radius: 22px;
  background: #fff;
}
.product-area-salon .app-today .day-plan-card a.today-agenda-row {
  min-height: 64px;
  border-radius: 14px;
  background: var(--color-surface-subtle);
  box-shadow: inset 3px 0 var(--color-primary);
}
.product-area-salon .app-today .day-plan-card a.today-agenda-row.is-current {
  background: var(--color-primary-soft);
  border-color: var(--color-primary);
}
.product-area-salon .app-today .day-plan-card a.today-agenda-row:hover {
  background: var(--color-primary-soft);
}
.product-area-salon .app-today .day-plan-card .travel-row {
  min-height: 36px;
  background: transparent;
  color: var(--color-primary);
}
@media (max-width: 600px) {
  .product-area-salon .app-today .day-plan-card { border-radius: 22px; }
  .product-area-salon .app-today .day-plan-inner { padding: 8px; border-radius: 18px; }
  .product-area-salon .app-today .day-plan-card a.today-agenda-row {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 6px 10px;
  }
  .product-area-salon .app-today .day-plan-card a.today-agenda-row > .status-badge {
    grid-column: 2;
    justify-self: start;
    max-width: 100%;
    white-space: normal;
  }
}
.day-plan-brand { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 16px; }
.day-plan-brand > span { display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700; }
.day-plan-brand .brand-mark { width:24px!important;height:24px!important;border-radius:7px!important; }
.day-plan-brand small { color:var(--color-text-secondary);font-size:11px; }
.day-plan-columns { display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:12px;align-items:start; }
.day-plan-summary { display:grid;gap:8px;min-width:0;padding:16px 12px;border-radius:16px;background:var(--color-primary-soft);color:var(--color-text-secondary);font-size:11px; }
.day-plan-summary > strong { font-size:23px;line-height:1.3;color:var(--color-text-primary); }
.day-plan-summary dl { margin:0;display:grid;gap:8px; }
.day-plan-summary dl > div { display:flex;justify-content:space-between;gap:6px; }
.day-plan-summary dd { margin:0;font-weight:700;color:var(--color-text-primary); }
.day-plan-progress { height:5px;border-radius:10px;background:#fff;overflow:hidden;margin:7px 0; }
.day-plan-progress i { display:block;height:100%;background:var(--color-primary); }
.product-area-salon .app-today .day-plan-card .day-plan-owner { white-space:normal;overflow-wrap:anywhere; }
@media(max-width:1100px) { .day-plan-columns { grid-template-columns:1fr; } }

/* Pet profile: raised identity card and softly framed real profile data. */
.product-area-salon .pet-profile .pet-profile-hero {
  border-radius:28px;
  border:1px solid var(--color-border);
  background:#fff;
  box-shadow:0 16px 42px rgb(16 42 72 / 9%);
}
.product-area-salon .pet-profile .profile-avatar { border-radius:50%;background:var(--color-primary-soft); }
.product-area-salon .pet-profile .profile-summary-grid {
  padding:14px;border:1px solid var(--color-border);border-radius:24px;background:#fff;
  box-shadow:0 12px 32px rgb(16 42 72 / 6%);
}
.product-area-salon .pet-profile .profile-summary-card { border-radius:14px;background:var(--color-surface-subtle); }
/* Existing delivery history, not illustrative messages or fabricated outcomes. */
.product-area-salon .automation-history { border-radius:28px;background:#102a48;color:#fff;box-shadow:0 16px 42px rgb(16 42 72 / 12%); }
.product-area-salon .automation-history .section-title h2 { color:#fff; }
.product-area-salon .automation-history .section-title p { color:#c2d3e6; }
.product-area-salon .automation-history .automation-history-row { border:1px solid #45617e;border-radius:16px;background:#203e60;margin-top:10px; }
.product-area-salon .automation-history .automation-history-row strong { color:#fff; }
.product-area-salon .automation-history .automation-history-row time span,
.product-area-salon .automation-history .automation-history-row > div > span { color:#c2d3e6; }
.product-area-salon .app-today .salon-day-layout { grid-template-columns: minmax(0, 1fr); }
.product-area-salon .app-today .today-pending-reports { grid-column: 1 / -1; align-self: start; }
.product-area-salon .today-pending-reports h2 { font-size: 16px; margin: 0 0 8px; }
.product-area-salon .today-pending-reports p { margin: 0; font-size: 13px; color: var(--color-text-secondary); }
.product-area-salon .pending-report-link { display: grid; gap: 4px; padding: 10px 0; color: inherit; text-decoration: none; border-top: 1px solid var(--color-border); overflow-wrap: anywhere; }
.product-area-salon .pending-report-link span, .product-area-salon .pending-report-link small { font-size: 12px; color: var(--color-text-secondary); }
.product-area-salon .pending-report-link:hover strong { text-decoration: underline; }
.product-area-salon .working-day .today-focus { min-height: 0; gap: 12px; align-content: start; }
.working-day .today-focus h3 a { color: inherit; text-decoration: none; }
.working-day .today-page-intro h2 { margin: 0 0 8px; font-size: 20px; }
.working-day .day-revenue { margin-top: 8px; }
.app-today.working-day { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; align-items: start; }
.working-day > .today-page-intro { grid-column: 1; grid-row: 1; }
.working-day > .today-automation-summary { grid-column: 2; grid-row: 1; margin: 0; align-self: center; }
.working-day > .today-focus { grid-column: 1 / -1; grid-row: 2; }
.working-day-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; grid-column: 1 / -1; grid-row: 3; }
.day-attention { display: grid; gap: 12px; min-width: 0; }
.day-attention h3 { font-size: 14px; margin: 16px 0 8px; }
.working-day .day-plan-summary { padding: 10px 12px; margin-bottom: 12px; }
.working-day .finished-day { margin-top: 16px; }
.working-day .finished-day summary { padding: 12px 0; cursor: pointer; font-weight: 600; }
.working-day .today-automation-summary { padding: 14px; }
.working-day .today-automation-summary > span { display: grid; gap: 4px; }
.working-day .day-row-meta { justify-items: end; text-align: right; gap: 6px; }
.working-day .day-plan-columns { grid-template-columns: minmax(0, 1fr) 165px; }
.working-day .day-plan-summary { margin: 0; align-self: start; }
@media (max-width: 1100px) { .working-day .day-plan-columns { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .working-day .day-row-meta { grid-column: 2; justify-items: start; text-align: left; } }
@media (max-width: 900px) {
  .app-today.working-day { grid-template-columns: minmax(0, 1fr); }
  .working-day > .today-automation-summary { grid-column: 1; grid-row: 4; }
  .working-day-layout { grid-template-columns: minmax(0, 1fr); }
  .product-area-salon .working-day .day-plan-card { padding: 10px; }
  .product-area-salon .working-day .today-focus-main { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .product-area-salon .working-day .today-focus-actions { width: auto; display: block; }
  .working-day .today-page-intro h2 { font-size: 18px; }
}
#id_extra_services { display: grid; gap: 6px; max-height: 240px; overflow: auto; }
#id_extra_services label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px; white-space: normal; overflow-wrap: anywhere; }
#id_extra_services input { flex: 0 0 auto; }
.service-basket { min-width: 0; }
.service-basket summary { cursor: pointer; padding: 10px 0; }
/* Help text and breed search results must not stretch adjacent form controls. */
.form-grid-2 > .form-field { align-content: start; }
