:root {
  --primary: #2f80ed;
  --primary-dark: #2468bd;
  --secondary: #b8d5fb;
  --cream: #f7f3ef;
  --paper: #ffffff;
  --ink: #172033;
  --muted: #6b7280;
  --border: #e6eaf0;
  --success: #2f7d5c;
  --warning: #aa711c;
  --danger: #a9434d;
  --info: #3b6f8d;
  --shadow: 0 14px 40px rgba(78, 55, 70, .10);
  --radius: 18px;
  --font-body: "Poppins", sans-serif;
  --font-heading: "Cormorant Garamond", serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--cream); color: var(--ink); font-family: var(--font-body); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.login-shell {
  min-height: 100vh; display: grid; place-items: center; padding: 24px;
  background: radial-gradient(circle at top, #fff, var(--cream) 65%);
}
.login-card {
  width: min(460px, 100%); padding: 38px; background: var(--paper); border: 1px solid var(--border);
  border-radius: 26px; box-shadow: var(--shadow); text-align: center;
}
.login-mark {
  width: 70px; height: 70px; margin: 0 auto 18px; border-radius: 999px; display: grid; place-items: center;
  background: var(--primary); color: white;
}
.login-card h1 { margin: 0; font: 600 2.5rem/1 var(--font-heading); }
.login-card p { color: var(--muted); line-height: 1.6; }
.btn {
  border: 0; border-radius: 12px; padding: 11px 16px; display: inline-flex; gap: 8px; align-items: center;
  justify-content: center; font-weight: 600;
}
.btn-primary { background: var(--primary); color: white; }
.btn-secondary { background: #eaf3ff; color: #173f5f; }
.btn-success { background: var(--success); color: white; }
.btn-warning { background: var(--warning); color: white; }
.btn-danger { background: var(--danger); color: white; }
.btn-ghost { background: transparent; color: var(--muted); border: 1px solid var(--border); }
.btn svg { width: 18px; height: 18px; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.sidebar {
  background: #0b1f33; color: white; padding: 24px 18px; position: sticky; top: 0; height: 100vh;
}
.brand h1 { margin: 0; font: 600 1.75rem/1 var(--font-heading); }
.brand p { margin: 6px 0 24px; color: #c7d4e3; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.nav { display: grid; gap: 7px; }
.nav button {
  width: 100%; padding: 11px 13px; border: 0; border-radius: 12px; background: transparent; color: #e8f1fb;
  display: flex; gap: 11px; align-items: center; text-align: left;
}
.nav button:hover, .nav button.is-active { background: var(--primary); color: white; }
.nav svg { width: 19px; height: 19px; }
.sidebar-footer { position: absolute; left: 18px; right: 18px; bottom: 22px; }
.user-pill { padding: 11px; border-radius: 12px; background: rgba(255,255,255,.08); font-size: .75rem; overflow-wrap: anywhere; }

.main { min-width: 0; }
.topbar {
  height: 76px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between;
  background: rgba(255,255,255,.92); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 5;
}
.topbar h2 { margin: 0; font: 600 2rem/1 var(--font-heading); }
.content { padding: 28px; }
.page { display: none; }
.page.is-active { display: block; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.page-heading h2 { margin: 0; font: 600 2.1rem/1 var(--font-heading); }
.page-heading p { margin: 7px 0 0; color: var(--muted); }

.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stat-card, .panel {
  background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
}
.stat-card { padding: 20px; }
.stat-label { color: var(--muted); font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.stat-value { margin-top: 10px; font: 600 2.3rem/1 var(--font-heading); }
.stat-foot { margin-top: 8px; color: var(--muted); font-size: .75rem; }
.panel { padding: 20px; margin-top: 18px; }
.panel h3 { margin: 0 0 16px; font: 600 1.55rem/1 var(--font-heading); }

.toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 16px; }
.input, .select, .textarea {
  width: 100%; border: 1px solid var(--border); border-radius: 11px; background: white; color: var(--ink);
  padding: 11px 12px; outline: none;
}
.input:focus, .select:focus, .textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(139,113,133,.12); }
.toolbar .input { width: min(300px, 100%); }

.request-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 18px; align-items: start; }
.request-list { display: grid; gap: 10px; }
.request-card {
  width: 100%; border: 1px solid var(--border); background: white; border-radius: 14px; padding: 15px;
  display: grid; grid-template-columns: 1fr auto; gap: 12px; text-align: left;
}
.request-card:hover, .request-card.is-selected { border-color: var(--primary); box-shadow: 0 8px 24px rgba(76,54,68,.11); }
.request-number { font-size: .72rem; color: var(--primary); font-weight: 700; letter-spacing: .06em; }
.request-title { margin-top: 4px; font-weight: 700; }
.request-meta { margin-top: 5px; color: var(--muted); font-size: .76rem; }
.badge { width: fit-content; border-radius: 999px; padding: 5px 9px; font-size: .68rem; font-weight: 700; }
.badge-pending-review { background: #f4e9c8; color: #805916; }
.badge-approved { background: #d9eee4; color: #246447; }
.badge-declined { background: #f4d9dc; color: #87343c; }
.badge-waitlisted { background: #dfe9f2; color: #315b73; }
.badge-needs-changes { background: #e8f2ff; color: #315b73; }

.detail-panel { position: sticky; top: 94px; max-height: calc(100vh - 116px); overflow: auto; }
.detail-empty { padding: 42px 18px; color: var(--muted); text-align: center; }
.detail-section { padding: 15px 0; border-top: 1px solid var(--border); }
.detail-section:first-child { border-top: 0; padding-top: 0; }
.detail-section h4 { margin: 0 0 10px; font-size: .79rem; color: var(--primary); text-transform: uppercase; letter-spacing: .1em; }
.detail-row { display: grid; grid-template-columns: 120px 1fr; gap: 10px; margin: 7px 0; font-size: .79rem; }
.detail-row span:first-child { color: var(--muted); }
.pet-card { display: grid; grid-template-columns: 52px 1fr; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 13px; margin-top: 10px; }
.pet-avatar { width: 52px; height: 52px; border-radius: 999px; object-fit: cover; background: #eaf1f8; display: grid; place-items: center; color: var(--primary); }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; }
.action-grid .btn { width: 100%; }

.calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.calendar-toolbar h3 { margin: 0; font: 600 1.65rem/1 var(--font-heading); }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
.calendar-head, .calendar-day {
  min-width: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: white;
}
.calendar-head { padding: 9px; text-align: center; color: var(--muted); font-size: .72rem; font-weight: 700; }
.calendar-day { min-height: 126px; padding: 9px; }
.calendar-day.is-outside { background: #faf8f9; color: #b6abb2; }
.calendar-date { font-weight: 700; font-size: .78rem; }
.calendar-events { margin-top: 8px; display: grid; gap: 5px; }
.calendar-event { padding: 5px 7px; border-radius: 8px; font-size: .64rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-boarding { background:#e8eef4; color:#173f5f; border-left:3px solid #173f5f; }
.event-grooming { background:#fbf2dd; color:#72571e; border-left:3px solid #c89b3c; }
.event-bathing { background:#e7f1ff; color:#245c9e; border-left:3px solid #3b82f6; }
.calendar-capacity { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 4px; }
.capacity-dot { width: 8px; height: 8px; border-radius: 99px; background: #88ad96; }
.capacity-dot.limited { background: #d6a548; }
.capacity-dot.full { background: #b75b64; }

.capacity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.capacity-card { background: white; border: 1px solid var(--border); border-radius: 15px; padding: 17px; }
.capacity-card h4 { margin: 0 0 13px; font: 600 1.3rem/1 var(--font-heading); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.field label { display: block; margin-bottom: 6px; color: var(--muted); font-size: .72rem; font-weight: 600; }
.override-list { margin-top: 14px; display: grid; gap: 8px; }
.override-item { display: grid; grid-template-columns: 120px 1fr auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--border); border-radius: 11px; font-size: .76rem; }

.modal-backdrop { position: fixed; inset: 0; background: rgba(32,24,30,.5); display: grid; place-items: center; padding: 20px; z-index: 40; }
.modal { width: min(560px, 100%); background: white; border-radius: 20px; padding: 22px; box-shadow: 0 30px 90px rgba(0,0,0,.25); }
.modal h3 { margin: 0; font: 600 1.8rem/1 var(--font-heading); }
.modal p { color: var(--muted); line-height: 1.5; font-size: .82rem; }
.modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 16px; }

.toast { position: fixed; right: 22px; bottom: 22px; max-width: 360px; padding: 13px 15px; border-radius: 12px; background: #0b1f33; color: white; box-shadow: var(--shadow); z-index: 60; }
.loading { padding: 32px; text-align: center; color: var(--muted); }

@media (max-width: 1100px) {
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .request-layout { grid-template-columns: 1fr; }
  .detail-panel { position: static; max-height: none; }
}
@media (max-width: 780px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { height: auto; position: static; }
  .sidebar-footer { position: static; margin-top: 18px; }
  .nav { grid-template-columns: repeat(2, 1fr); }
  .topbar { height: auto; padding: 16px; }
  .content { padding: 16px; }
  .stat-grid, .capacity-grid, .form-grid { grid-template-columns: 1fr; }
  .calendar-grid { overflow-x: auto; grid-template-columns: repeat(7, 120px); }
}

/* PawPrint official login branding */
.login-logo-wrap {
  width: 84px;
  height: 84px;
  margin: 0 auto 18px;
  border-radius: 999px;
  background: var(--primary);
  display: grid;
  place-items: center;
  box-shadow: 0 12px 28px rgba(78, 55, 70, 0.18);
}

.login-logo-icon {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.login-platform-label {
  margin: 0 0 14px;
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.authorized-owner {
  margin-top: 16px;
  font-size: 0.72rem;
}

.login-powered-by {
  margin: 24px auto 0;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.login-powered-by img {
  display: block;
  width: min(260px, 84%);
  height: auto;
  margin: 0 auto;
}


/* PawPrint platform login theme */
.login-shell {
  background:
    radial-gradient(circle at top, #ffffff 0%, #f8fafc 55%, #eef2f7 100%);
}

.login-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.10);
}

.login-logo-wrap {
  background: #1f2937;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
}

.login-platform-label {
  color: #111827 !important;
}

.login-card h1 {
  color: #111827;
}

.login-card p {
  color: #6b7280;
}

.login-card .btn-primary {
  background: #1f2937;
  color: #ffffff;
}

.login-card .btn-primary:hover {
  background: #374151;
}

.login-powered-by {
  border-top-color: #e5e7eb;
}

.authorized-owner {
  color: #6b7280 !important;
}

/* =========================================================
   PAWPRINT PLATFORM BRANDING — SOFT LAUNCH
========================================================= */
:root {
  --pp-navy-950:#0b1f33;
  --pp-navy-900:#102a43;
  --pp-navy-800:#173f5f;
  --pp-blue-600:#2f80ed;
  --pp-teal-500:#14b8a6;
  --pp-amber-500:#f59e0b;
  --pp-green-500:#22c55e;
  --pp-red-600:#dc2626;
  --pp-bg:#f6f8fc;
  --pp-card:#ffffff;
  --pp-text:#172033;
  --pp-muted:#6b7280;
  --pp-border:#e6eaf0;
  --pp-shadow:0 18px 46px rgba(16,42,67,.10);
}

.login-shell{
  background:
    radial-gradient(circle at 18% 12%,rgba(47,128,237,.14),transparent 32%),
    radial-gradient(circle at 85% 88%,rgba(20,184,166,.11),transparent 34%),
    linear-gradient(145deg,#fff 0%,var(--pp-bg) 56%,#eef4fb 100%);
}
.login-card{background:rgba(255,255,255,.96);border:1px solid var(--pp-border);box-shadow:var(--pp-shadow);}
.login-logo-wrap,.login-mark{
  background:linear-gradient(145deg,var(--pp-navy-900),var(--pp-blue-600));
  box-shadow:0 14px 34px rgba(47,128,237,.24),0 0 0 8px rgba(47,128,237,.06);
}
.login-platform-label{color:var(--pp-blue-600)!important;}
.login-card h1{color:var(--pp-text);}
.login-card p,.authorized-owner{color:var(--pp-muted)!important;}
.login-card .btn-primary{
  background:linear-gradient(135deg,var(--pp-blue-600),var(--pp-navy-800));
  color:#fff;border:0;box-shadow:0 10px 24px rgba(47,128,237,.20);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.login-card .btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(47,128,237,.26);filter:brightness(1.03);}
.login-powered-by{border-top-color:var(--pp-border);}

.login-logo-wrap,.login-mark{animation:ppLogoIn .55s ease both;}
.login-platform-label{animation:ppFadeUp .45s .10s ease both;}
.login-card h1{animation:ppFadeUp .45s .18s ease both;}
.login-card>p,.login-card .btn-primary,.authorized-owner,.login-powered-by{animation:ppFadeUp .45s .26s ease both;}
@keyframes ppLogoIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ppFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

html,body{background:var(--pp-bg);color:var(--pp-text);}
.sidebar{background:linear-gradient(180deg,var(--pp-navy-950),var(--pp-navy-900));}
.nav button{color:rgba(255,255,255,.82);}
.nav button:hover{background:rgba(47,128,237,.16);color:#fff;}
.nav button.is-active{background:linear-gradient(135deg,var(--pp-blue-600),var(--pp-navy-800));color:#fff;box-shadow:0 10px 24px rgba(47,128,237,.20);}
.brand h1{color:#fff}.brand p{color:rgba(255,255,255,.64);}
.topbar{background:rgba(255,255,255,.94);border-bottom-color:var(--pp-border);box-shadow:0 6px 18px rgba(16,42,67,.04);}
.topbar-property{display:grid;gap:3px;}
.active-property-kicker{color:var(--pp-blue-600);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.topbar h2{color:var(--pp-text);}
.stat-card,.panel,.capacity-card,.request-card{border-color:var(--pp-border);box-shadow:var(--pp-shadow);}
.stat-card:nth-child(1){border-top:4px solid var(--pp-amber-500);}
.stat-card:nth-child(2){border-top:4px solid var(--pp-blue-600);}
.stat-card:nth-child(3){border-top:4px solid var(--pp-teal-500);}
.stat-card:nth-child(4){border-top:4px solid var(--pp-green-500);}
.btn-primary{background:linear-gradient(135deg,var(--pp-blue-600),var(--pp-navy-800));color:#fff;}
.btn-success{background:var(--pp-green-500)}.btn-warning{background:var(--pp-amber-500)}.btn-danger{background:var(--pp-red-600)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--pp-blue-600);box-shadow:0 0 0 3px rgba(47,128,237,.13);}
.request-card:hover,.request-card.is-selected{border-color:var(--pp-blue-600);box-shadow:0 12px 28px rgba(47,128,237,.12);}
@media (prefers-reduced-motion:reduce){
  .login-logo-wrap,.login-mark,.login-platform-label,.login-card h1,.login-card>p,.login-card .btn-primary,.authorized-owner,.login-powered-by{animation:none!important;}
}


/* =========================================================
   COMMAND CENTER LAUNCH POLISH — BATCH 004
========================================================= */
.content{max-width:1600px;margin:0 auto;padding:32px clamp(20px,3vw,44px) 48px;}
.page-heading{margin-bottom:26px}.page-heading h2{font-size:2.35rem;color:var(--pp-navy-950)}
.page-heading p{font-size:.86rem;max-width:700px}.panel{padding:22px;border-radius:20px}
.stat-grid{gap:18px}.stat-card{position:relative;overflow:hidden;padding:22px 22px 20px;border-radius:20px;transition:transform .18s ease,box-shadow .18s ease}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(16,42,67,.13)}
.stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#f5f7fa;color:var(--pp-navy-800)}
.stat-icon svg{width:19px;height:19px}.stat-card:nth-child(1) .stat-icon{background:#fff5dc;color:#a76b00}.stat-card:nth-child(2) .stat-icon{background:#e9f2ff;color:#2369bd}.stat-card:nth-child(3) .stat-icon{background:#e5f8f5;color:#087d70}.stat-card:nth-child(4) .stat-icon{background:#eaf8ee;color:#198b42}
.stat-value{font-family:var(--font-body);font-size:2.1rem;font-weight:700;color:var(--pp-navy-950)}
.toolbar{background:#fff;border:1px solid var(--pp-border);padding:12px;border-radius:16px;box-shadow:0 8px 24px rgba(16,42,67,.05)}
.toolbar .input{flex:1;width:auto;min-width:260px}.request-layout{grid-template-columns:minmax(440px,1fr) minmax(410px,480px);gap:22px}
.request-list{gap:11px}.request-card{position:relative;overflow:hidden;padding:17px 16px 17px 19px;border-radius:16px;align-items:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.request-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#cbd5e1}.request-card-pending-review:before{background:#f59e0b}.request-card-approved:before{background:#22c55e}.request-card-declined:before{background:#dc2626}.request-card-waitlisted:before{background:#3b82f6}.request-card-needs-changes:before{background:#8b5cf6}
.request-card:hover{transform:translateY(-1px)}.request-card.is-selected{background:#f8fbff;border-color:#9ec5f6;box-shadow:0 12px 30px rgba(47,128,237,.13)}
.request-card-main{min-width:0}.request-number{font-size:.66rem;color:#758197;letter-spacing:.075em}.request-title{font-size:.94rem;color:var(--pp-navy-950);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;font-size:.72rem}
.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;text-transform:none;white-space:nowrap}.badge svg{width:13px;height:13px}.badge-pending-review{background:#fff4d6;color:#8a5b00}.badge-approved{background:#e5f7eb;color:#18743b}.badge-declined{background:#fde8e9;color:#a12832}.badge-waitlisted{background:#e7f1ff;color:#2465ad}.badge-needs-changes,.badge-awaitingcustomer{background:#f0e8ff;color:#6d3bb2}
.detail-panel{padding:0!important;overflow:auto;background:#f8fafc;border-color:#dfe5ec}.request-drawer{min-height:100%;padding-bottom:18px}.drawer-hero{padding:22px 22px 20px;background:linear-gradient(145deg,#fff,#f6f9fd);border-bottom:1px solid var(--pp-border)}
.drawer-hero-pending-review{background:linear-gradient(145deg,#fffdf7,#fff8e7)}.drawer-hero-approved{background:linear-gradient(145deg,#fafffb,#edf9f1)}.drawer-hero-waitlisted{background:linear-gradient(145deg,#fbfdff,#eef5ff)}.drawer-hero-needs-changes{background:linear-gradient(145deg,#fdfbff,#f5efff)}.drawer-hero-declined{background:linear-gradient(145deg,#fffafa,#fff0f1)}
.drawer-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-service-icon{width:42px;height:42px;border-radius:13px;background:var(--pp-navy-950);color:#fff;display:grid;place-items:center}.drawer-service-icon svg{width:20px;height:20px}.drawer-kicker{margin:18px 0 4px;color:#748197;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;font-weight:700}.drawer-hero h3{margin:0;font:600 2rem/1.05 var(--font-heading);color:var(--pp-navy-950)}.drawer-request-number{margin-top:8px;font-size:.69rem;font-weight:700;color:#7c8799;letter-spacing:.06em}
.detail-section{border:0}.detail-section-card{margin:14px 14px 0;padding:16px;background:#fff;border:1px solid var(--pp-border);border-radius:16px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-icon{width:34px;height:34px;border-radius:10px;background:#eef4fb;color:var(--pp-navy-800);display:grid;place-items:center;flex:0 0 auto}.section-icon svg{width:16px;height:16px}.detail-section h4{margin:0;color:var(--pp-navy-950);font-size:.74rem;letter-spacing:.08em}.section-heading p{margin:2px 0 0;color:#8a94a4;font-size:.64rem}.detail-row{grid-template-columns:115px 1fr;padding:7px 0;margin:0;border-top:1px solid #f0f2f5;font-size:.75rem}.section-heading+.detail-row{border-top:0}.detail-row strong{font-weight:600;color:#27364b;overflow-wrap:anywhere}
.pet-card{display:block;padding:14px;border-color:#e4e9ef;background:linear-gradient(145deg,#fff,#fbfcfe);border-radius:15px}.pet-card-header{display:flex;align-items:center;gap:12px}.pet-avatar{width:58px;height:58px;border-radius:15px;background:#edf2f7;color:var(--pp-navy-800)}.pet-identity{display:grid;gap:3px}.pet-identity strong{font-size:1rem;color:var(--pp-navy-950)}.pet-identity span{font-size:.69rem;color:#7b8798}.pet-facts{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:12px}.pet-facts>div{padding:9px 10px;background:#f6f8fb;border-radius:10px;display:grid;gap:3px}.pet-facts span{font-size:.58rem;color:#8b96a6;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.pet-facts strong{font-size:.68rem;color:#334155}.vaccine-status.is-verified{color:#18743b}.pet-note{display:flex;gap:7px;margin-top:10px;padding:9px 10px;border-radius:10px;background:#fff7e8;color:#77551a;font-size:.67rem;line-height:1.45}.pet-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.decision-section{margin:16px 14px 0;padding:16px;background:#fff;border:1px solid #dfe5ec;border-radius:16px}.decision-section .textarea{background:#fbfcfe;resize:vertical}.action-grid{gap:8px}.action-grid .btn{min-height:42px;font-size:.74rem;box-shadow:none;transition:transform .15s ease,filter .15s ease}.action-grid .btn:hover{transform:translateY(-1px);filter:brightness(.97)}.action-grid .btn-secondary{background:#f0eaff;color:#62389a}.detail-empty{padding:70px 28px}.detail-empty-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:#edf3fa;color:var(--pp-blue-600);display:grid;place-items:center}.detail-empty-icon svg{width:24px}.detail-empty h3{margin:0 0 6px!important;font-family:var(--font-body)!important;font-size:1rem!important}.detail-empty p{margin:0;font-size:.75rem;line-height:1.55}.inline-loading{display:flex;align-items:center;gap:7px;color:#7d8898;font-size:.72rem}.inline-loading svg{width:15px}
.modal{border:1px solid var(--pp-border);box-shadow:0 30px 90px rgba(16,42,67,.24)}.toast{background:var(--pp-navy-950);border:1px solid rgba(255,255,255,.1)}
@media(max-width:1200px){.request-layout{grid-template-columns:minmax(0,1fr) 400px}}
@media(max-width:1050px){.request-layout{grid-template-columns:1fr}.detail-panel{position:static;max-height:none}.request-card{grid-template-columns:1fr auto}}
@media(max-width:640px){.content{padding:20px 14px 36px}.page-heading h2{font-size:2rem}.toolbar{display:grid}.toolbar .input,.toolbar .select{width:100%!important;min-width:0}.request-card{grid-template-columns:1fr}.request-card .badge{margin-top:3px}.detail-section-card,.decision-section{margin-left:10px;margin-right:10px}.pet-facts{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr}.drawer-hero{padding:18px}.drawer-hero h3{font-size:1.7rem}}

/* =========================================================
   COMMAND CENTER LAUNCH POLISH — BATCH 005
========================================================= */
.btn-refresh{background:linear-gradient(135deg,var(--pp-blue-600),#2468bd);color:#fff;box-shadow:0 8px 20px rgba(47,128,237,.20)}
.btn-refresh:hover{filter:brightness(1.04);transform:translateY(-1px)}
.eyebrow{margin:0 0 5px!important;color:var(--pp-blue-600)!important;font-size:.65rem!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase}
.dashboard-heading{align-items:end}.today-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--pp-border);border-radius:12px;background:#fff;color:#536174;font-size:.72rem;font-weight:600}.today-chip svg{width:16px}
.operational-stats .stat-card{border-top-width:4px}.operational-stats .stat-total{border-top-color:#2f80ed}.operational-stats .stat-pending{border-top-color:#f59e0b}.operational-stats .stat-approved{border-top-color:#22c55e}.operational-stats .stat-waitlisted{border-top-color:#eab308}
.operational-stats .stat-total .stat-icon{background:#e9f2ff;color:#2369bd}.operational-stats .stat-pending .stat-icon{background:#fff5dc;color:#a76b00}.operational-stats .stat-approved .stat-icon{background:#eaf8ee;color:#198b42}.operational-stats .stat-waitlisted .stat-icon{background:#fff9d9;color:#9a7500}
.dashboard-operations-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.75fr);gap:18px}.dashboard-operations-grid .panel{margin-top:18px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-title-row h3{margin:0}.count-pill{padding:6px 9px;border-radius:999px;background:#edf4ff;color:#2468bd;font-size:.64rem;font-weight:700}.text-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--pp-blue-600);font-weight:700;font-size:.68rem}.text-link svg{width:14px}
.operation-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.operation-column{min-width:0;padding:13px;border:1px solid var(--pp-border);border-radius:15px;background:#fbfcfe}.operation-title{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#425166;font-size:.66rem;font-weight:700}.operation-title svg{width:15px}.operation-title b{margin-left:auto;display:grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:#edf1f6;color:#58677a;font-size:.6rem}.operation-item{width:100%;display:flex;align-items:center;gap:7px;padding:9px 8px 9px 11px;margin-top:6px;border:0;border-radius:10px;background:#fff;text-align:left;box-shadow:0 1px 0 rgba(15,23,42,.05);position:relative;overflow:hidden}.operation-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.operation-item.service-edge-boarding:before{background:#173f5f}.operation-item.service-edge-grooming:before{background:#c89b3c}.operation-item.service-edge-bathing:before{background:#3b82f6}.operation-item>span:first-child{display:grid;gap:2px;min-width:0}.operation-item strong{font-size:.68rem;color:#1c2a3e;overflow:hidden;text-overflow:ellipsis}.operation-item small{font-size:.58rem;color:#7a8797;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-item>svg{width:13px;margin-left:auto;color:#94a3b8}.operation-empty{padding:18px 6px;color:#9aa5b3;font-size:.62rem;text-align:center}
.week-panel{overflow:hidden}.service-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#5f6d7d;font-size:.64rem;font-weight:600}.service-legend span{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.legend-dot.boarding{background:#173f5f}.legend-dot.grooming{background:#c89b3c}.legend-dot.bathing{background:#3b82f6}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day{min-width:0;padding:10px;border:1px solid var(--pp-border);border-radius:13px;background:#fbfcfe}.week-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.week-day-head span{font-size:.59rem;color:#8490a0;text-transform:uppercase;font-weight:700}.week-day-head strong{font-size:.8rem;color:#24344a}.week-events{display:grid;gap:5px}.week-empty{font-size:.55rem;color:#a2acb9;padding:8px 0}
.calendar-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--pp-border)}.calendar-help{display:inline-flex;align-items:center;gap:5px;color:#7a8797;font-size:.62rem}.calendar-help svg{width:14px}.calendar-event{width:100%;border:0;text-align:left;display:flex;align-items:center;gap:4px;padding:6px 7px;border-radius:8px;font-size:.62rem;overflow:visible;white-space:nowrap;cursor:pointer}.calendar-event>span:first-child{overflow:hidden;text-overflow:ellipsis}.event-boarding{background:#e8eef4;color:#173f5f;border-left:3px solid #173f5f}.event-grooming{background:#fbf2dd;color:#72571e;border-left:3px solid #c89b3c}.event-bathing{background:#e7f1ff;color:#245c9e;border-left:3px solid #3b82f6}.calendar-event:hover{filter:brightness(.98);box-shadow:0 3px 10px rgba(15,23,42,.08)}
.attention-icon{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;color:#dc2626}.attention-icon svg{width:17px;height:17px;stroke-width:2.3}.attention-icon[title]{cursor:help}.request-card-actions{display:flex;align-items:center;gap:9px}.pet-alert-icon{margin-left:auto}.attention-callout{display:flex;align-items:flex-start;gap:8px;margin:14px 18px 0;padding:10px 13px;border:1px solid #fecaca;border-radius:999px;background:#fef2f2;color:#171717;font-size:.68rem;line-height:1.45}.attention-callout svg{width:15px;flex:0 0 auto;color:#dc2626}.attention-callout em{font-style:italic}.pet-attention{margin:11px 0 0;border-radius:14px}.staff-alert-editor{margin-top:12px;padding:12px;border:1px solid #f1d1d1;border-radius:12px;background:#fffafa}.staff-alert-heading{display:flex;align-items:center;gap:8px;margin-bottom:9px}.staff-alert-heading>svg{width:16px;color:#dc2626}.staff-alert-heading>div{display:grid;gap:1px}.staff-alert-heading strong{font-size:.67rem;color:#263548}.staff-alert-heading span{font-size:.56rem;color:#8a96a5}.alert-check{display:flex;align-items:center;gap:7px;font-size:.63rem;font-weight:600;color:#48576a;margin-bottom:8px}.alert-check input{accent-color:#dc2626}.alert-message-input{font-size:.65rem!important;min-height:58px!important}.btn-alert-save{margin-top:8px;padding:8px 10px;background:#fff;border:1px solid #efbcbc;color:#a92727;font-size:.61rem}.btn-alert-save:hover{background:#fff1f1}
.drawer-backdrop{position:fixed;inset:0;background:rgba(8,23,38,.28);backdrop-filter:blur(2px);z-index:79}.global-drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,94vw);z-index:80;background:#f8fafc;overflow:auto;box-shadow:-24px 0 70px rgba(8,23,38,.20);animation:drawerIn .22s ease both}.global-drawer .request-drawer{padding-top:0}.drawer-close{position:fixed;right:14px;top:14px;z-index:82;width:36px;height:36px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#334155;display:grid;place-items:center;box-shadow:0 5px 18px rgba(15,23,42,.12)}.drawer-close svg{width:17px}@keyframes drawerIn{from{transform:translateX(24px);opacity:.4}to{transform:translateX(0);opacity:1}}
.badge-waitlist,.badge-waitlisted{background:#fff4bf!important;color:#8a6500!important}.request-card-waitlist:before,.request-card-waitlisted:before{background:#eab308!important}
@media(max-width:1200px){.dashboard-operations-grid{grid-template-columns:1fr}.operation-columns{grid-template-columns:repeat(3,1fr)}.week-strip{overflow-x:auto;grid-template-columns:repeat(7,150px)}}
@media(max-width:780px){.dashboard-heading{align-items:start}.today-chip{display:none}.operation-columns{grid-template-columns:1fr}.calendar-topline{align-items:flex-start;flex-direction:column}.global-drawer{width:100vw}.week-strip{grid-template-columns:repeat(7,145px)}}


/* =========================================================
   COMMAND CENTER DASHBOARD REBUILD — BATCH 007
========================================================= */
.operational-stats .stat-total .stat-value{color:#2f80ed}.operational-stats .stat-pending .stat-value{color:#f97316}.operational-stats .stat-approved .stat-value{color:#22c55e}.operational-stats .stat-waitlisted .stat-value{color:#d6a300}
.operational-stats .stat-pending{border-top-color:#f97316}.operational-stats .stat-pending .stat-icon{background:#fff0e6;color:#f25c05}
.badge-pending-review{background:#fff0dc!important;color:#c94b00!important;border:1px solid #ffd4ad}.request-card-pending-review:before{background:#ff6b00!important}
.dashboard-operations-grid{grid-template-columns:minmax(0,1.65fr) minmax(340px,.72fr)}
.today-panel,.attention-panel,.week-panel,.glance-panel{box-shadow:0 16px 42px rgba(16,42,67,.08)}
.operation-column{display:flex;flex-direction:column;min-height:245px;padding:14px;background:#fff}.operation-list{flex:1}.operation-item{padding:10px 8px;margin-top:7px;border:1px solid #edf1f5;box-shadow:none}.operation-avatar{width:34px;height:34px;border-radius:50%;display:grid!important;place-items:center!important;background:#f1f5f9;color:#64748b;flex:0 0 auto}.operation-avatar svg{width:16px!important;margin:0!important}.operation-copy{display:grid!important;gap:1px!important;min-width:0}.operation-copy strong{font-size:.72rem}.operation-copy small{font-size:.59rem}.operation-copy em{font-style:normal;color:#2f80ed;font-size:.6rem;font-weight:700}.operation-link{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;padding:8px;border:0;background:transparent;color:#2f80ed;font-size:.61rem;font-weight:800}.operation-link svg{width:12px}.operation-empty{flex:1;display:grid;place-items:center;min-height:105px}
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.72fr);gap:18px;align-items:stretch}.dashboard-lower-grid>.panel{margin-top:18px}.panel-footer-link{display:flex;justify-content:center;margin-top:15px;padding-top:12px;border-top:1px solid #edf1f5}
.week-panel .panel-title-row{align-items:flex-end}.week-panel h3{font-size:1.45rem}.week-day{padding:0;border-radius:0;background:#fff;border-color:#e7ecf2}.week-strip{gap:0;border:1px solid #e7ecf2;border-radius:14px;overflow:hidden}.week-day-head{padding:9px 9px 7px;margin:0;border-bottom:1px solid #eef2f6}.week-events{padding:8px;min-height:118px}.week-panel .calendar-event{min-height:28px}.week-empty{display:block;text-align:center;padding:24px 3px;color:#a8b0bb}
.glance-panel{display:flex;flex-direction:column}.glance-list{display:grid;gap:4px;flex:1}.glance-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px 4px;border-top:1px solid #edf1f5}.glance-row:first-child{border-top:0}.glance-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.glance-icon svg{width:17px}.glance-boarding{background:#e8eef4;color:#173f5f}.glance-grooming{background:#fff5d9;color:#c58b00}.glance-bathing{background:#e9f2ff;color:#2f80ed}.glance-copy{min-width:0}.glance-copy strong{display:block;color:#24344a;font-size:.66rem;margin-bottom:7px}.glance-bar{height:5px;border-radius:999px;background:#edf1f5;overflow:hidden}.glance-bar span{display:block;height:100%;border-radius:inherit;background:#2f80ed}.glance-row:nth-child(1) .glance-bar span{background:#173f5f}.glance-row:nth-child(2) .glance-bar span{background:#d5a21b}.glance-value{text-align:right;display:grid;gap:2px}.glance-value strong{font-size:.66rem;color:#24344a}.glance-value span{font-size:.57rem;color:#8995a5}
.calendar-toolbar .btn-ghost{border-color:#b8d5fb!important;background:#f3f8ff!important;color:#2f80ed!important}.calendar-toolbar .btn-ghost:hover{background:#e8f2ff!important;border-color:#7db3f6!important}.calendar-toolbar .btn-ghost svg{color:#2f80ed!important}
@media(max-width:1200px){.dashboard-lower-grid{grid-template-columns:1fr}.glance-panel{min-height:auto}}


/* =========================================================
   PAWPRINT DEFAULT THEME CLEANUP — BATCH 008
   No tenant-purple accents before theme selection.
========================================================= */
:root{
  --primary:#2f80ed;
  --primary-dark:#2468bd;
  --secondary:#b8d5fb;
  --ink:#172033;
  --muted:#6b7280;
  --border:#e6eaf0;
}
.operational-stats .stat-total .stat-value,
.operational-stats .stat-card:first-child .stat-value{color:#2f80ed!important}
.operational-stats .stat-pending .stat-value{color:#f97316!important}
.operational-stats .stat-approved .stat-value{color:#22c55e!important}
.operational-stats .stat-waitlisted .stat-value{color:#d6a300!important}
.btn-secondary,
.availability-card .btn-secondary,
[data-save-capacity],
.calendar-toolbar .btn-secondary,
.calendar-toolbar .btn-ghost{
  background:#eaf3ff!important;
  border-color:#b8d5fb!important;
  color:#2468bd!important;
}
.btn-secondary:hover,
[data-save-capacity]:hover,
.calendar-toolbar .btn-secondary:hover,
.calendar-toolbar .btn-ghost:hover{
  background:#dcecff!important;
  border-color:#7db3f6!important;
  color:#1f5fae!important;
}
.btn-secondary svg,
[data-save-capacity] svg,
.calendar-toolbar button svg{color:currentColor!important}
.legend-dot.boarding{background:#173f5f!important}
.operation-item.service-edge-boarding:before{background:#173f5f!important}
.event-boarding{background:#e8eef4!important;color:#173f5f!important;border-left-color:#173f5f!important}
.glance-boarding{background:#e8eef4!important;color:#173f5f!important}
.glance-row:nth-child(1) .glance-bar span{background:#173f5f!important}
.badge-needs-changes,.badge-awaitingcustomer{background:#e8f2ff!important;color:#315b73!important}
.action-grid .btn-secondary{background:#eaf3ff!important;color:#2468bd!important;border-color:#b8d5fb!important}
.pet-avatar{background:#eaf1f8!important;color:#173f5f!important}

/* =========================================================
   MULTI-TENANT COMMAND CENTER SHELL — BATCH 009
   PawPrint owns the shell. Active property identity is config-driven.
========================================================= */
.command-header{
  min-height:108px;
  height:auto;
  padding:18px clamp(24px,3vw,46px);
  display:grid;
  grid-template-columns:minmax(250px,1fr) minmax(360px,1.6fr) minmax(180px,1fr);
  align-items:center;
  gap:24px;
  position:sticky;
  top:0;
  z-index:5;
  background:#fff;
}
.command-header-context{display:grid;gap:3px;align-content:center}
.command-header-label{color:#2468bd;font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.command-header-context strong{font:600 1.18rem/1.15 var(--font-heading);color:var(--pp-navy-950)}
.command-header-date{text-align:center;color:#2868d8;font:600 clamp(2rem,3vw,3.35rem)/1 var(--font-heading);white-space:nowrap}
.command-header-client{min-height:72px;display:flex;align-items:center;justify-content:flex-end}
.command-header-client img{display:block;max-width:112px;max-height:82px;width:auto;height:auto;object-fit:contain}
.property-logo-placeholder{width:76px;height:76px;border:1px solid #dbe3ec;border-radius:16px;display:grid;place-items:center;background:#fff;color:#718096;font-size:.82rem;font-weight:800;letter-spacing:.08em}
.page-actions{display:flex;justify-content:flex-end;align-items:center;margin:0 0 18px}
.btn-refresh{min-width:132px;padding:12px 20px;background:#fff!important;color:#173f5f!important;border:1px solid #dce4ed!important;box-shadow:0 8px 22px rgba(16,42,67,.05);text-transform:none}
.btn-refresh:hover{background:#f5f9ff!important;border-color:#9ec5f6!important;color:#2468bd!important}
.sidebar-signout{width:100%;color:#fff!important;border-color:rgba(255,255,255,.48)!important;padding:12px}
.sidebar-powered-by{display:grid;justify-items:center;gap:4px;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.sidebar-powered-by span{font-size:.43rem;letter-spacing:.12em;color:rgba(255,255,255,.55)}
.sidebar-powered-by img{display:block;width:112px;max-height:52px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}

/* Daisy's current service calendar colors. These are service colors, not shell colors. */
.legend-dot.boarding{background:#8b7185!important}
.event-boarding{background:#f1e8ef!important;color:#654f61!important;border-left-color:#8b7185!important}
.operation-item.service-edge-boarding:before{background:#8b7185!important}
.glance-boarding{background:#f1e8ef!important;color:#755d70!important}
.glance-row:nth-child(1) .glance-bar span{background:#8b7185!important}

/* Calendar overflow days are neutral PawPrint gray, never tenant/service purple. */
.calendar-day.is-outside{background:#f5f6f8!important;color:#a7adb7!important}
.calendar-day.is-outside .calendar-date{color:#a7adb7!important}
.calendar-day.is-outside .calendar-capacity{opacity:.55}
.calendar-day.is-outside .calendar-events{opacity:.62}

@media(max-width:1100px){
  .command-header{grid-template-columns:1fr auto;gap:12px}
  .command-header-date{grid-column:1/-1;grid-row:1;text-align:left;font-size:2rem}
  .command-header-context{grid-column:1;grid-row:2}
  .command-header-client{grid-column:2;grid-row:1/3}
}
@media(max-width:780px){
  .command-header{position:static;padding:16px;grid-template-columns:1fr auto}
  .command-header-date{font-size:1.55rem;white-space:normal}
  .command-header-context strong{font-size:1rem}
  .command-header-client img{max-width:78px;max-height:64px}
  .property-logo-placeholder{width:58px;height:58px}
  .page-actions{margin-bottom:14px}
}
/* Dashboard title now lives in the command header, matching the approved shell layout. */
[data-page-panel="dashboard"] .dashboard-heading{display:none}

/* =========================================================
   COMMAND CENTER HEADER POLISH — BATCH 010
   Logged-in user badge + live clock + automatic data refresh.
========================================================= */
.command-header{
  grid-template-columns:auto minmax(230px,.9fr) minmax(390px,1.6fr) minmax(150px,.8fr);
}
.command-header-user{
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pp-navy-900,#173f5f);
  color:#fff;
  box-shadow:0 8px 24px rgba(16,42,67,.12);
  flex:0 0 auto;
}
.command-header-user span{
  font:600 2.35rem/1 var(--font-heading);
}
.command-header-datetime{
  display:grid;
  justify-items:center;
  gap:2px;
}
.command-header-time{
  text-align:center;
  color:#2868d8;
  font:600 clamp(2.1rem,3.2vw,3.55rem)/.95 var(--font-heading);
  white-space:nowrap;
}
.command-header-date{
  font-size:clamp(1.35rem,2vw,2.25rem);
  line-height:1.05;
}
/* Manual refresh was intentionally removed; Command Center refreshes data automatically. */
.page-actions,.btn-refresh{display:none!important}

@media(max-width:1100px){
  .command-header{grid-template-columns:auto 1fr auto;gap:14px}
  .command-header-user{grid-column:1;grid-row:1/3;width:60px;height:60px}
  .command-header-user span{font-size:1.9rem}
  .command-header-datetime{grid-column:2;grid-row:1;justify-items:start}
  .command-header-context{grid-column:2;grid-row:2}
  .command-header-client{grid-column:3;grid-row:1/3}
  .command-header-date{font-size:1.35rem;text-align:left}
  .command-header-time{font-size:2rem;text-align:left}
}
@media(max-width:780px){
  .command-header{grid-template-columns:auto 1fr auto;gap:10px}
  .command-header-user{width:48px;height:48px}
  .command-header-user span{font-size:1.55rem}
  .command-header-time{font-size:1.55rem}
  .command-header-date{font-size:1rem;white-space:normal}
}

/* =========================================================
   MOBILE READINESS — BATCH 011
   Responsive PawPrint Command Center shell and touch UX.
========================================================= */
.mobile-nav-toggle,.mobile-nav-close,.mobile-nav-backdrop,.mobile-sidebar-head{display:none}

@media(max-width:780px){
  html,body{overflow-x:hidden;background:#f5f7fb}
  body.mobile-nav-open{overflow:hidden}
  .shell{display:block;min-height:100dvh}
  .main{width:100%;min-width:0}

  .sidebar{
    position:fixed!important;inset:0 auto 0 0;z-index:120;width:min(310px,86vw);height:100dvh!important;
    padding:18px 16px 20px;transform:translateX(-104%);transition:transform .22s ease;overflow-y:auto;
    box-shadow:22px 0 55px rgba(8,23,38,.24)
  }
  body.mobile-nav-open .sidebar{transform:translateX(0)}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:119;background:rgba(8,23,38,.42);opacity:0;pointer-events:none;transition:opacity .22s ease;backdrop-filter:blur(2px)}
  body.mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
  .desktop-brand{display:none}
  .mobile-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
  .mobile-brand{display:block}.mobile-brand p{margin-bottom:0}
  .mobile-nav-close{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:#fff}
  .mobile-nav-close svg{width:20px;height:20px}
  .nav{grid-template-columns:1fr!important;gap:7px}
  .nav button{min-height:48px;font-size:.94rem}
  .sidebar-footer{position:static!important;margin-top:28px!important}

  .command-header{
    position:sticky!important;top:0;z-index:70;min-height:78px!important;padding:10px 14px!important;
    grid-template-columns:auto auto minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:4px 10px!important;
    box-shadow:0 6px 22px rgba(16,42,67,.08)
  }
  .mobile-nav-toggle{display:grid;grid-column:1;grid-row:1/3;width:44px;height:44px;place-items:center;border:0;border-radius:12px;background:#eaf3ff;color:#2468bd}
  .mobile-nav-toggle svg{width:22px;height:22px}
  .command-header-user{grid-column:2!important;grid-row:1/3!important;width:44px!important;height:44px!important}
  .command-header-user span{font-size:1.35rem!important}
  .command-header-context{grid-column:3!important;grid-row:1!important;min-width:0;gap:0!important}
  .command-header-label{font-size:.68rem!important;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .command-header-context strong{font-family:var(--font-body)!important;font-size:.7rem!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .command-header-datetime{grid-column:3!important;grid-row:2!important;display:flex!important;align-items:baseline;gap:7px!important;justify-items:start!important;min-width:0}
  .command-header-time{font-family:var(--font-body)!important;font-size:.78rem!important;font-weight:700!important;text-align:left!important;color:#2868d8}
  .command-header-date{font-family:var(--font-body)!important;font-size:.61rem!important;font-weight:500!important;text-align:left!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;color:#64748b}
  .command-header-client{grid-column:4!important;grid-row:1/3!important;min-height:44px!important}
  .command-header-client img{max-width:54px!important;max-height:48px!important}
  .property-logo-placeholder{width:44px!important;height:44px!important;border-radius:12px!important;font-size:.62rem!important}

  .content{padding:14px 12px 30px!important}
  .page-heading{align-items:flex-start;gap:10px;margin-bottom:16px}.page-heading h2{font-size:1.75rem!important}.page-heading p{font-size:.76rem;line-height:1.5}

  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .stat-card{padding:15px 14px!important;border-radius:15px!important;min-width:0}
  .stat-label{font-size:.62rem!important;letter-spacing:.06em}.stat-value{font-size:2rem!important}.stat-foot{font-size:.62rem!important;line-height:1.35}
  .stat-icon{width:38px!important;height:38px!important}

  .dashboard-operations-grid,.dashboard-lower-grid{display:block!important}.dashboard-operations-grid>.panel,.dashboard-lower-grid>.panel{margin-top:12px!important}
  .panel{padding:15px!important;border-radius:16px!important}.panel-title-row{align-items:flex-start!important}.panel-title-row h3{font-size:1.35rem!important}
  .operation-columns{grid-template-columns:1fr!important;gap:10px!important}.operation-column{min-height:150px!important}
  .attention-list{gap:9px}.attention-card{padding:13px!important}
  .week-strip{grid-template-columns:repeat(7,132px)!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.week-day{scroll-snap-align:start}

  .toolbar{display:grid!important;grid-template-columns:1fr!important}.toolbar .input,.toolbar .select{width:100%!important;min-width:0!important}
  .request-layout{display:block!important}.request-card{padding:14px!important}.request-meta{line-height:1.5}
  .detail-panel{display:none!important}

  .global-drawer{width:100vw!important;max-width:none!important;inset:0!important;border-radius:0!important;padding-bottom:calc(18px + env(safe-area-inset-bottom));z-index:130!important}
  .drawer-backdrop{z-index:129!important}.drawer-close{z-index:132!important;top:calc(12px + env(safe-area-inset-top));right:12px;width:42px!important;height:42px!important}
  .drawer-hero{padding:64px 16px 18px!important}.drawer-hero h3{font-size:1.65rem!important}.detail-section-card,.decision-section{margin-left:10px!important;margin-right:10px!important}
  .action-grid{grid-template-columns:1fr!important;gap:9px!important}.action-grid .btn{min-height:48px}

  .capacity-grid,.form-grid{grid-template-columns:1fr!important;gap:11px!important}.capacity-card{padding:15px!important}.override-item{grid-template-columns:1fr auto!important}.override-item>*:nth-child(2){grid-column:1/-1}

  .calendar-topline{gap:10px!important}.service-legend{display:flex!important;flex-wrap:wrap;gap:8px 12px!important}.calendar-help{display:none!important}
  .calendar-toolbar{position:sticky;left:0;display:grid!important;grid-template-columns:44px 1fr 44px!important;align-items:center!important;gap:8px!important}.calendar-toolbar h3{text-align:center;font-size:1.4rem!important}.calendar-toolbar button{min-width:44px!important;width:44px!important;height:44px!important;padding:0!important}
  .calendar-grid{width:max-content!important;min-width:100%;grid-template-columns:repeat(7,118px)!important;overflow:visible!important}
  .calendar-panel,.calendar-wrap,[data-page-panel="calendar"] .panel{overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .calendar-head{position:sticky;top:78px;z-index:2;background:#fff!important}
  .calendar-day{min-height:112px!important;padding:7px!important}.calendar-event{min-height:30px;font-size:.6rem!important}

  .toast{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom));max-width:none!important}
}

@media(max-width:390px){
  .command-header{gap:4px 7px!important;padding-inline:9px!important}.command-header-user{display:none!important}.command-header-context,.command-header-datetime{grid-column:2/4!important}.command-header-client{grid-column:4!important}
  .stat-grid{gap:8px!important}.stat-card{padding:13px 11px!important}.stat-label{font-size:.56rem!important}.stat-foot{font-size:.58rem!important}
}


/* Launch Operations Batch 012 */
.stat-card { text-align:left; width:100%; cursor:pointer; font:inherit; }
.stat-card:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(14,43,70,.10); }
.operational-modal { z-index:10050 !important; }
.operational-modal .modal { max-height:min(82vh,760px); overflow:auto; }
.audit-list { display:grid; gap:10px; margin:18px 0; }
.audit-entry { padding:14px 16px; border:1px solid var(--border); border-radius:14px; display:grid; gap:4px; }
.audit-entry strong { text-transform:capitalize; }
.audit-entry span,.audit-entry small { color:var(--muted); }
.audit-entry p { margin:4px 0 0; }
.segmented-cancel { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.segmented-cancel .btn { min-height:76px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.segmented-cancel .btn small { font-weight:500; opacity:.72; white-space:normal; text-align:left; }
.segmented-cancel .is-selected { outline:2px solid var(--paw-blue); background:#eaf3ff; }
@media (max-width:700px){ .segmented-cancel{grid-template-columns:1fr}.operational-modal .modal{max-height:92vh;width:calc(100% - 20px)} }

.calendar-event.event-boarding.stay-start{border-radius:8px 0 0 8px;margin-right:-8px;width:calc(100% + 8px)}
.calendar-event.event-boarding.stay-middle{border-radius:0;margin-left:-8px;margin-right:-8px;width:calc(100% + 16px);border-left:0}
.calendar-event.event-boarding.stay-end{border-radius:0 8px 8px 0;margin-left:-8px;width:calc(100% + 8px);border-left:0}
@media(max-width:760px){.calendar-event.event-boarding.stay-start,.calendar-event.event-boarding.stay-middle,.calendar-event.event-boarding.stay-end{margin-left:0;margin-right:0;width:100%;border-radius:8px;border-left:3px solid #8b7185}}


/* Batch 016: submission timestamps + notifications */
.request-submitted{margin-top:7px;font-size:.66rem;font-weight:700;color:#7b8798;}
.command-header-client{gap:12px;position:relative;}
.command-notifications{position:relative;display:flex;align-items:center;}
.notification-bell{position:relative;width:44px;height:44px;border:1px solid #dbe5f0;border-radius:14px;background:#fff;color:#163a5f;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 14px rgba(16,42,67,.06);}
.notification-bell svg{width:20px;height:20px;}
.notification-dot{position:absolute;right:7px;top:7px;width:9px;height:9px;border-radius:50%;background:#dc2626;border:2px solid #fff;}
.notification-menu{position:absolute;right:0;top:54px;width:min(360px,calc(100vw - 28px));max-height:430px;overflow:auto;background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:0 18px 44px rgba(16,42,67,.18);z-index:120;padding:10px;}
.notification-menu-head{display:flex;justify-content:space-between;align-items:center;padding:8px 9px 10px;border-bottom:1px solid #edf1f5}.notification-menu-head strong{font-size:.82rem}.notification-menu-head span{font-size:.65rem;color:#7b8798}
.notification-item{width:100%;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;padding:12px 9px;display:grid;gap:3px;cursor:pointer;color:#102a43}.notification-item:hover{background:#f6f9fc}.notification-item strong{font-size:.72rem}.notification-item span{font-size:.67rem;color:#526477}.notification-item small{font-size:.61rem;color:#8794a5}.notification-empty{padding:18px 10px;color:#8794a5;font-size:.7rem;text-align:center}
@media(max-width:700px){.command-header-client{gap:6px}.notification-bell{width:38px;height:38px;border-radius:11px}.notification-menu{position:fixed;right:10px;top:82px;width:calc(100vw - 20px)}}

/* Batch 017: staff-alert removal + signed-in user profile photo */
.command-header-user.has-photo,
.profile-settings-avatar.has-photo {
  overflow: hidden;
  padding: 0;
}
.command-header-user img,
.profile-settings-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.staff-alert-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.staff-alert-actions .btn-alert-save { margin-top: 0; }
.btn-alert-delete {
  padding: 8px 10px;
  background: #fff;
  border: 1px solid #ef4444;
  color: #b91c1c;
  font-size: .61rem;
}
.btn-alert-delete:hover { background: #fef2f2; }
.profile-settings-panel { display: grid; gap: 18px; }
.profile-settings-head { display: flex; align-items: center; gap: 16px; }
.profile-settings-head h3 { margin: 0 0 4px; color: var(--pp-navy-950); }
.profile-settings-head p { margin: 0; color: #718096; }
.profile-settings-avatar {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: var(--pp-navy-900, #0f2d46);
  color: #fff;
  font-family: var(--heading-font, serif);
  font-size: 2rem;
  box-shadow: 0 10px 24px rgba(15,45,70,.16);
}
.profile-photo-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.profile-photo-upload { cursor: pointer; }
.profile-photo-note { margin: 0; color: #718096; font-size: .78rem; }
@media (max-width: 640px) {
  .profile-settings-head { align-items: flex-start; }
  .profile-settings-avatar { width: 64px; height: 64px; font-size: 1.65rem; }
  .profile-photo-actions .btn { width: 100%; justify-content: center; }
  .staff-alert-actions .btn { flex: 1 1 145px; justify-content: center; }
}

/* Batch 018: in-system messaging, approval availability snapshot, profile photo editor */
.system-message-card{max-width:460px;text-align:center}.system-message-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:var(--pp-blue-600,#2f80ed)}.system-message-icon svg{width:22px}
.availability-snapshot{margin:14px 0;padding:14px 16px;border:1px solid #dfe7ef;border-left:4px solid var(--pp-blue-600,#2f80ed);border-radius:14px;background:linear-gradient(135deg,#fff,#f8fbff)}.availability-snapshot.service-edge-grooming{border-left-color:#c89b3c}.availability-snapshot.service-edge-boarding{border-left-color:#7047a3}.availability-snapshot.service-edge-bathing{border-left-color:#2f80ed}.availability-snapshot-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.availability-snapshot-title>svg{width:18px;color:#173f5f}.availability-snapshot-title div{display:grid;gap:2px}.availability-snapshot-title strong{font-size:.8rem;color:#173f5f}.availability-snapshot-title span{font-size:.6rem;color:#7b8798;text-transform:uppercase;letter-spacing:.07em}.availability-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.availability-snapshot-grid>div{padding:10px;border-radius:10px;background:#fff;border:1px solid #edf1f5;text-align:center}.availability-snapshot-grid span{display:block;font-size:.58rem;color:#7b8798;text-transform:uppercase;letter-spacing:.06em}.availability-snapshot-grid strong{display:block;margin-top:3px;font-size:1.15rem;color:#173f5f}
.photo-editor-card{max-width:560px}.photo-editor-card canvas{display:block;width:min(100%,420px);height:auto;aspect-ratio:1;margin:14px auto;border-radius:50%;box-shadow:inset 0 0 0 4px rgba(255,255,255,.9),0 0 0 1px #dce4ec;background:#eef2f6}.photo-editor-controls{display:grid;gap:10px;margin-top:14px}.photo-editor-controls label{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:10px;font-size:.72rem;font-weight:700;color:#44546a}.photo-editor-controls input{width:100%}
@media(max-width:700px){.availability-snapshot{margin:12px 0}.availability-snapshot-grid{gap:5px}.availability-snapshot-grid>div{padding:9px 5px}.availability-snapshot-grid span{font-size:.5rem}.photo-editor-card{width:calc(100% - 18px)!important;max-height:94vh!important}.photo-editor-card canvas{width:min(76vw,340px)}.photo-editor-controls label{grid-template-columns:72px 1fr}}


/* Batch 019: resource-aware boarding approval snapshot */
.boarding-snapshot-grid{grid-template-columns:repeat(4,1fr)}
.availability-snapshot-foot{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;border-radius:10px;font-size:.68rem;font-weight:600}
.availability-snapshot-foot svg{width:16px;height:16px;flex:0 0 auto}
.availability-fit{background:#edf9f1;color:#237a45}
.availability-blocked{background:#fff3f0;color:#b93a2c}
@media(max-width:700px){.boarding-snapshot-grid{grid-template-columns:repeat(2,1fr)}}

/* Batch repair: service visual on every booking request card */
.request-card-service-line{display:flex;align-items:center;gap:10px;margin-bottom:4px}.request-card-service-line .request-number{margin:0}.request-card-service-icon{width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:#0c3558;flex:0 0 auto}.request-card-service-icon svg{width:17px;height:17px}.service-icon-grooming{background:#f2ebf5;color:#7047a3}.service-icon-bathing{background:#e7f4f2;color:#397f7b}

/* Batch 020: approval availability language + pet parent quick contact */
.pet-parent-contact-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 14px;padding:10px 0 12px;border-bottom:1px solid #edf1f5}
.contact-action{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #dbe5ee;border-radius:999px;background:#fff;color:#173f5f;text-decoration:none;font-size:.72rem;font-weight:700;transition:.15s ease}
.contact-action:hover{transform:translateY(-1px);border-color:#9bb8d1;background:#f7fbff}.contact-action svg{width:15px;height:15px}.contact-text{color:#176b55}.contact-email{color:#245b8f}.preferred-contact-label{font-size:.66rem;color:#6f7d8d;margin-left:2px}
.availability-snapshot-foot strong{color:inherit}.availability-blocked{align-items:flex-start}.availability-blocked span{line-height:1.45}
@media(max-width:700px){.pet-parent-contact-actions{gap:6px}.contact-action{flex:1;justify-content:center;min-width:78px}.preferred-contact-label{width:100%;margin-top:2px}}

.availability-limited{background:#fff8df;color:#8a6500}.availability-limited svg{color:#d49a00}.availability-blocked svg{color:#c53a31}.availability-override-note{display:block;margin-top:5px;font-weight:700}.availability-override-btn{display:inline-flex;margin-top:9px;font-size:.66rem;padding:7px 10px}.settings-helper{color:var(--muted);margin:-4px 0 16px}.threshold-grid{margin-top:10px}.threshold-card h4{margin-bottom:10px}

/* Full PawPrint Command Center login logo */
.login-logo-wrap {
  width: min(280px, 78vw);
  height: auto;
  margin: 0 auto 20px;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  display: block;
}

.login-command-logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
