:root {
  --admin-bg: #f3f0e9;
  --admin-surface: #fffdf9;
  --admin-surface-alt: #ece6da;
  --admin-ink: #26231f;
  --admin-muted: #746e64;
  --admin-line: #ddd5c8;
  --admin-accent: #b88a35;
  --admin-accent-soft: #ead8ad;
  --admin-dark: #2d2a25;
  --admin-danger: #a5483f;
  --admin-radius: 16px;
  --admin-shadow: 0 16px 40px rgba(45, 38, 26, .09);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --ease: .22s cubic-bezier(.23, 1, .32, 1);
  --gold: var(--admin-accent);
  --gold-light: var(--admin-accent-soft);
  --line: var(--admin-line);
  --muted: var(--admin-muted);
  --dark: var(--admin-dark);
  --paper: var(--admin-surface);
  --ivory: var(--admin-bg);
}

body.admin-page { background: var(--admin-bg); color: var(--admin-ink); }
body.admin-page main { overflow: visible; }
body.admin-page .announcement,
body.admin-page .site-header,
body.admin-page .social-rail,
body.admin-page .team-modal { display: none !important; }
body.admin-page .app-shell { min-height: calc(100vh - 64px); background: var(--admin-bg); }
body.admin-page .app-main { padding-top: 38px; }
body.admin-page .app-tab { display: none; max-width: 1100px; }
body.admin-page .app-tab.is-active { display: block; }
body.admin-page .dashboard-card,
body.admin-page .service-admin-form,
body.admin-page .service-admin-list,
body.admin-page .review-admin-shell > section,
body.admin-page .report-actions { background: var(--admin-surface); border: 1px solid var(--admin-line); border-radius: var(--admin-radius); box-shadow: var(--admin-shadow); }
body.admin-page .dashboard-card { padding: 30px; }
body.admin-page .form-field input,
body.admin-page .form-field select,
body.admin-page .form-field textarea { background: var(--admin-surface); border: 1px solid var(--admin-line); color: var(--admin-ink); border-radius: 10px; }
body.admin-page .form-field input:focus,
body.admin-page .form-field select:focus,
body.admin-page .form-field textarea:focus { border-color: var(--admin-accent); box-shadow: 0 0 0 4px rgba(184,138,53,.13); }
body.admin-page .form-alert { border-radius: 10px; }
body.admin-page .overview-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
body.admin-page .overview-heading h2 { font: 500 clamp(38px,5vw,60px)/.98 var(--serif); letter-spacing: -.06em; margin: 15px 0 12px; }
body.admin-page .overview-heading p { color: var(--admin-muted); max-width: 560px; }
body.admin-page .overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
body.admin-page .overview-stat { display: flex; flex-direction: column; min-height: 150px; padding: 22px; background: var(--admin-surface); border: 1px solid var(--admin-line); border-radius: var(--admin-radius); box-shadow: var(--admin-shadow); }
body.admin-page .overview-stat-label { color: var(--admin-accent); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
body.admin-page .overview-stat strong { display: block; font: 500 43px/1 var(--serif); margin: 18px 0 8px; }
body.admin-page .overview-stat small { color: var(--admin-muted); font-size: 11px; margin-top: auto; }
body.admin-page .overview-stat-accent { background: linear-gradient(135deg, var(--admin-dark), #4a3923); color: #fff8eb; border-color: transparent; }
body.admin-page .overview-stat-accent small { color: #d8cdbd; }
body.admin-page .overview-columns { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }
body.admin-page .overview-panel { min-height: 300px; }
body.admin-page .panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:18px; border-bottom:1px solid var(--admin-line); }
body.admin-page .panel-heading h3,
body.admin-page .quick-actions h3 { font: 500 28px/1 var(--serif); margin-top: 10px; }
body.admin-page .activity-row { display:flex; justify-content:space-between; gap:14px; padding:16px 0; border-bottom:1px solid var(--admin-line); }
body.admin-page .status-pill { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; background:var(--admin-surface-alt); color:var(--admin-muted); font-size:10px; }
body.admin-page .quick-action-links { display:grid; gap:10px; margin-top:22px; }
body.admin-page .quick-action-links a { display:flex; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid var(--admin-line); border-radius:10px; color:var(--admin-ink); }
body.admin-page .quick-action-links a:hover { border-color:var(--admin-accent); color:var(--admin-accent); }

.admin-global-nav { position: sticky; top: 0; z-index: 30; min-height: 64px; background: var(--admin-dark); color: #f7f0e4; box-shadow: 0 8px 24px rgba(20,16,11,.16); }
.admin-global-nav__inner { width: min(100% - 48px, 1440px); min-height: 64px; margin: 0 auto; display: flex; align-items: center; gap: 28px; }
.admin-global-nav__brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; font: 500 18px var(--serif); }
.admin-global-nav__mark { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--admin-accent-soft); border-radius: 50%; color: var(--admin-accent-soft); font-style: italic; }
.admin-global-nav__links { display: flex; align-items: stretch; gap: 4px; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: thin; }
.admin-global-nav__links a { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 64px; padding: 0 11px; color: #c9c0b2; font-size: 11px; letter-spacing: .04em; white-space: nowrap; }
.admin-global-nav__links a:hover, .admin-global-nav__links a.is-active { color: #fff8eb; }
.admin-global-nav__links a.is-active::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 0; height: 3px; background: var(--admin-accent-soft); }
.admin-global-nav__exit { flex: 0 0 auto; color: var(--admin-accent-soft); font-size: 11px; white-space: nowrap; }
.notification-count { display: none; min-width: 16px; height: 16px; padding: 0 4px; place-items: center; border-radius: 999px; background: var(--admin-danger); color: #fff; font-size: 9px; }
.notification-count.has-alerts { display: inline-grid; }

body.theme-dark.admin-page { --admin-bg: #171614; --admin-surface: #211f1c; --admin-surface-alt: #332d25; --admin-ink: #f4ede1; --admin-muted: #b9b0a2; --admin-line: #49433a; --admin-dark: #0e0d0c; background: var(--admin-bg); }
body.theme-dark.admin-page .form-field input,
body.theme-dark.admin-page .form-field select,
body.theme-dark.admin-page .form-field textarea { background: #292621; color: var(--admin-ink); }

@media (max-width: 1100px) {
  .admin-global-nav__inner { width: min(100% - 32px, 1440px); gap: 16px; }
  .admin-global-nav__brand span:last-child { display: none; }
  body.admin-page .overview-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .admin-global-nav { min-height: 56px; }
  .admin-global-nav__inner { min-height: 56px; width: calc(100% - 24px); }
  .admin-global-nav__links a { min-height: 56px; padding: 0 9px; }
  .admin-global-nav__exit { display: none; }
  body.admin-page .app-shell { min-height: calc(100vh - 56px); }
  body.admin-page .overview-heading, body.admin-page .overview-columns { display: block; }
  body.admin-page .overview-heading .btn { margin-top: 18px; }
  body.admin-page .overview-grid { gap: 10px; }
}
@media (max-width: 560px) {
  body.admin-page .overview-grid { grid-template-columns: 1fr; }
  body.admin-page .dashboard-card { padding: 22px 18px; }
  .admin-global-nav__mark { width: 27px; height: 27px; }
  .admin-global-nav__links a { font-size: 10px; padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Keep the existing client dashboard primitives predictable when the shared base is loaded. */
.app-shell { background: var(--admin-bg); }
.app-tab { display: none; }
.app-tab.is-active { display: block; }
.dashboard-card { background: var(--admin-surface); }
.form-alert.success { border-left: 4px solid var(--admin-accent); background: color-mix(in srgb, var(--admin-accent-soft) 35%, var(--admin-surface)); }
.form-alert.error { border-left: 4px solid var(--admin-danger); background: color-mix(in srgb, var(--admin-danger) 10%, var(--admin-surface)); }
.btn-dark { background: var(--admin-dark); border-color: var(--admin-dark); }
.btn-dark:hover { background: var(--admin-accent); border-color: var(--admin-accent); }
.footer-social-grid { display: none; }
@media (max-width: 800px) { .app-sidebar { top: 56px; } }
@media (max-width: 680px) { .app-sidebar { top: 56px; } }

/* Shared admin shell and CRUD surfaces */
body.admin-page .app-shell { display: block; min-height: calc(100vh - 64px); }
body.admin-page .app-sidebar { position: fixed; inset: 64px auto 0 0; width: 245px; padding: 24px 14px; background: var(--admin-dark); color: #f7f0e4; z-index: 20; overflow-y: auto; }
body.admin-page .app-brand { display:flex; align-items:center; gap:10px; padding: 0 12px 22px; border-bottom:1px solid rgba(255,255,255,.16); font:500 22px var(--serif); }
body.admin-page .app-brand img { width:36px; height:36px; border-radius:50%; object-fit:cover; }
body.admin-page .app-nav { display:grid; gap:5px; padding-top:20px; }
body.admin-page .app-nav button, body.admin-page .app-nav a { border:0; background:transparent; color:#c9c0b2; text-align:left; padding:12px; font:500 11px var(--sans); letter-spacing:.02em; cursor:pointer; border-radius:10px; }
body.admin-page .app-nav button:hover, body.admin-page .app-nav a:hover, body.admin-page .app-nav button.is-active { background:rgba(255,255,255,.11); color:#fff; }
body.admin-page .app-nav a span { float:right; color:var(--admin-accent-soft); }
body.admin-page .sidebar-toggle { position:absolute; top:22px; right:12px; border:0; background:transparent; color:var(--admin-accent-soft); font-size:24px; cursor:pointer; }
body.admin-page .app-main { margin-left:245px; width:calc(100% - 245px); min-height:calc(100vh - 64px); padding:44px clamp(24px,5vw,80px) 100px; }
body.admin-page .app-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; padding-bottom:25px; border-bottom:1px solid var(--admin-line); }
body.admin-page .app-topbar h1 { font:500 38px var(--serif); margin-top:7px; }
body.admin-page .profile-chip { display:flex; align-items:center; gap:10px; color:var(--admin-muted); font-size:12px; }
body.admin-page .profile-chip img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
body.admin-page .mobile-sidebar-toggle { display:none; }
body.admin-page .service-admin-shell { width:min(100%,1180px); margin:25px auto 110px; display:grid; grid-template-columns:1.05fr .95fr; gap:35px; align-items:start; }
body.admin-page .service-admin-form { padding:42px; }
body.admin-page .service-admin-form h2 { font:500 42px/.98 var(--serif); margin:16px 0 25px; }
body.admin-page .service-admin-list { padding:12px 0; }
body.admin-page .service-admin-item { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid var(--admin-line); }
body.admin-page .service-admin-item span { font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:var(--admin-accent); }
body.admin-page .service-admin-item h3 { font:500 22px var(--serif); margin:6px 0; }
body.admin-page .service-admin-item p { font-size:12px; color:var(--admin-muted); max-width:360px; }
body.admin-page .service-admin-actions, body.admin-page .review-admin-actions { display:flex; gap:10px; align-items:center; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
body.admin-page .service-admin-actions a, body.admin-page .review-admin-actions a { color:var(--admin-accent); border-bottom:1px solid var(--admin-accent-soft); }
body.admin-page .danger-link { color:var(--admin-danger) !important; }
body.admin-page .review-admin-shell { width:min(100%,1100px); margin:25px auto 110px; }
body.admin-page .review-admin-list { display:grid; gap:16px; margin-top:18px; }
body.admin-page .review-admin-item { padding:28px; display:flex; justify-content:space-between; gap:28px; }
body.admin-page .review-admin-item h2 { font:500 28px var(--serif); margin:9px 0; }
body.admin-page .review-admin-item p { max-width:680px; color:var(--admin-muted); line-height:1.7; }
body.admin-page .review-admin-item small { display:block; color:var(--admin-muted); font-size:10px; margin-top:15px; }
body.admin-page .financial-summary { margin-bottom:22px; padding:24px 26px; border:1px solid var(--admin-line); border-radius:var(--admin-radius); background:linear-gradient(135deg,var(--admin-surface-alt),var(--admin-surface)); box-shadow:var(--admin-shadow); }
body.admin-page .financial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
body.admin-page .financial-grid div { padding:16px; border:1px solid var(--admin-line); border-radius:12px; background:var(--admin-surface); }
body.admin-page .financial-grid span { display:block; color:var(--admin-accent); font-size:10px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
body.admin-page .financial-grid strong { display:block; font:500 25px/1.1 var(--serif); margin:12px 0 8px; }
body.admin-page .report-actions { margin-top:22px; padding:26px; }
body.admin-page .report-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
body.admin-page .report-links a { padding:11px 14px; border:1px solid var(--admin-line); border-radius:999px; color:var(--admin-accent); font-size:11px; font-weight:600; }
body.admin-page .admin-list-controls { background:var(--admin-surface); border-color:var(--admin-line); border-radius:var(--admin-radius); }
@media (max-width:800px) { body.admin-page .app-sidebar { inset:56px auto 0 0; transform:translateX(-100%); box-shadow:15px 0 40px rgba(0,0,0,.2); } body.admin-page .app-sidebar.is-mobile-open { transform:none; } body.admin-page .app-main { margin-left:0; width:100%; padding:28px 17px 70px; } body.admin-page .mobile-sidebar-toggle { display:block; border:1px solid var(--admin-accent); background:var(--admin-surface); color:var(--admin-accent); border-radius:8px; width:38px; height:38px; font-size:18px; } body.admin-page .app-topbar { align-items:flex-start; } body.admin-page .app-topbar h1 { font-size:28px; } body.admin-page .service-admin-shell { grid-template-columns:1fr; gap:30px; } body.admin-page .service-admin-form { padding:28px 20px; } body.admin-page .financial-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { body.admin-page .service-admin-item, body.admin-page .review-admin-item { display:block; } body.admin-page .service-admin-actions, body.admin-page .review-admin-actions { margin-top:16px; flex-wrap:wrap; } body.admin-page .app-main .dashboard-card { padding:28px 20px; } }



/* Admin: hero banner list card, reusing the service-admin-item shell */
.banner-admin-item{display:flex;align-items:center;justify-content:space-between;gap:18px}
.banner-admin-item-media{display:flex;align-items:center;gap:16px;min-width:0}
.banner-admin-item-media img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex-shrink:0;background:var(--line)}
.banner-admin-item-media h3{font:500 19px var(--serif);letter-spacing:-.02em}
.banner-admin-item-media p{color:var(--muted);font-size:12px;margin-top:3px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner-admin-item-media span{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.banner-toggle-label{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:11px;text-transform:none;letter-spacing:0}

/* CMS overview, media management, account settings, and editor components */
body.admin-page .activity-chart,
body.admin-page .notifications-panel,
body.admin-page .demand-panel { padding: 26px; }
body.admin-page .chart-bars { display:flex; align-items:end; gap:10px; min-height:160px; padding-top:20px; }
body.admin-page .chart-bar-wrap { flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; height:150px; justify-content:end; }
body.admin-page .chart-bar { width:100%; min-height:8px; border-radius:8px 8px 2px 2px; background:linear-gradient(180deg,var(--admin-accent-soft),var(--admin-accent)); }
body.admin-page .chart-bar-wrap span, body.admin-page .chart-caption { color:var(--admin-muted); font-size:10px; }
body.admin-page .notification-list { display:grid; gap:10px; margin-top:18px; }
body.admin-page .notification-list a { display:block; padding:14px; border-left:3px solid var(--admin-accent); background:var(--admin-surface-alt); color:var(--admin-ink); font-size:13px; }
body.admin-page .notification-list a strong { color:var(--admin-accent); font-size:20px; margin-right:4px; }
body.admin-page .notification-list a span { display:block; margin-top:6px; color:var(--admin-muted); font-size:11px; }
body.admin-page .demand-panel { margin-top:22px; min-height:190px; }
body.admin-page .demand-panel h3 { font:500 28px var(--serif); margin-top:10px; }
body.admin-page .demand-highlight { display:block; margin:24px 0 8px; color:var(--admin-accent); font:500 26px var(--serif); }
body.admin-page .demand-panel p { color:var(--admin-muted); font-size:12px; }
body.admin-page .account-profile-preview { grid-column:1/-1; display:flex; align-items:center; gap:16px; padding:16px; border:1px solid var(--admin-line); border-radius:14px; background:var(--admin-surface-alt); }
body.admin-page .account-profile-preview img { width:72px; height:72px; border-radius:50%; object-fit:cover; border:3px solid var(--admin-surface); box-shadow:0 4px 14px rgba(0,0,0,.12); }
body.admin-page .account-profile-preview strong, body.admin-page .account-profile-preview small { display:block; }
body.admin-page .account-profile-preview strong { color:var(--admin-ink); font:500 22px var(--serif); }
body.admin-page .account-profile-preview small { color:var(--admin-muted); font-size:11px; margin-top:4px; }
body.admin-page .admin-list-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin:0 0 20px; padding:14px; border:1px solid var(--admin-line); background:var(--admin-surface); }
body.admin-page .admin-list-controls label { display:grid; gap:6px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
body.admin-page .admin-list-controls select { min-width:150px; padding:10px; border:1px solid var(--admin-line); background:var(--admin-surface); color:var(--admin-ink); }
body.admin-page .admin-pagination { display:flex; gap:8px; margin-top:20px; }
body.admin-page .admin-pagination a { display:grid; place-items:center; min-width:34px; height:34px; border:1px solid var(--admin-line); color:var(--admin-ink); }
body.admin-page .admin-pagination a.is-active { background:var(--admin-dark); color:#fff; border-color:var(--admin-dark); }
body.admin-page [data-sortable-item] { position:relative; transition:transform .15s ease,opacity .15s ease,border-color .15s ease; }
body.admin-page [data-sortable-item].is-dragging { opacity:.45; transform:scale(.99); }
body.admin-page [data-sortable-item].is-drag-over { border-top:2px solid var(--admin-accent); }
body.admin-page .drag-handle { display:inline-grid; place-items:center; width:28px; height:34px; margin-right:10px; color:var(--admin-accent); font-size:20px; letter-spacing:-5px; cursor:grab; vertical-align:middle; user-select:none; }
body.admin-page .order-saved { outline:2px solid var(--admin-accent); outline-offset:3px; }
body.admin-page .rich-editor { border:1px solid var(--admin-line); border-radius:10px; overflow:hidden; background:var(--admin-surface); }
body.admin-page .rich-editor-toolbar { display:flex; flex-wrap:wrap; gap:6px; padding:8px; border-bottom:1px solid var(--admin-line); background:var(--admin-surface-alt); }
body.admin-page .rich-editor-toolbar button { min-width:38px; min-height:34px; border:1px solid var(--admin-line); border-radius:7px; background:transparent; color:var(--admin-ink); cursor:pointer; }
body.admin-page .rich-editor-toolbar button:hover { background:var(--admin-accent-soft); }
body.admin-page .rich-editor-canvas { min-height:150px; padding:14px; line-height:1.65; outline:0; }
body.admin-page .rich-editor-canvas:focus { box-shadow:inset 0 0 0 2px var(--admin-accent-soft); }
body.admin-page .banner-admin-item-media p { color:var(--admin-muted); }
body.admin-page .banner-admin-item-media span { color:var(--admin-accent); }
body.admin-page .status-failed { background:color-mix(in srgb,var(--admin-danger) 20%,var(--admin-surface)); color:var(--admin-danger); }
@media (max-width:680px) {
  body.admin-page .admin-list-controls { align-items:stretch; flex-direction:column; }
  body.admin-page .admin-list-controls select, body.admin-page .admin-list-controls button { width:100%; }
  body.admin-page .banner-admin-item { display:block; }
  body.admin-page .banner-admin-item .service-admin-actions { margin-top:16px; }
  body.admin-page .account-profile-preview { align-items:flex-start; }
}

/* Admin-only shared primitives that were previously inherited from public.css */
body.admin-page .site-footer,
body.admin-page .site-preloader,
body.admin-page .site-bg-video,
body.admin-page .social-rail,
body.admin-page .team-modal { display:none !important; }
body.admin-page .container { width:min(100% - 32px, 1180px); margin:0 auto; }
body.admin-page .page-intro { padding:55px 0 24px; }
body.admin-page .page-intro h1 { font:500 clamp(42px,6vw,78px)/.96 var(--serif); letter-spacing:-.06em; }
body.admin-page .dashboard-shell { width:min(100% - 32px, 960px); margin:0 auto 90px; }
body.admin-page .lookup-card { max-width:620px; margin:0 auto; }
body.admin-page .section-label { display:flex; align-items:center; gap:12px; color:var(--admin-accent); font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
body.admin-page .section-label span { color:var(--admin-muted); font-weight:400; letter-spacing:.08em; }
body.admin-page .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
body.admin-page .form-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
body.admin-page .form-field.full, body.admin-page .form-submit.full { grid-column:1/-1; }
body.admin-page .form-field label { color:var(--admin-muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
body.admin-page .form-field small { color:var(--admin-muted); font-size:11px; overflow-wrap:anywhere; }
body.admin-page .form-field input[type=file] { padding:10px; }
body.admin-page .form-submit { margin-top:4px; display:flex; flex-wrap:wrap; align-items:center; gap:18px; }
body.admin-page .btn { display:inline-flex; align-items:center; justify-content:center; gap:4px; padding:13px 20px; border:1px solid var(--admin-accent); color:var(--admin-accent); background:transparent; font:600 11px var(--sans); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
body.admin-page .btn span { font-size:16px; margin-left:6px; }
body.admin-page .btn-outline { color:var(--admin-accent); border-color:var(--admin-accent); }
body.admin-page .text-link { color:var(--admin-accent); border-bottom:1px solid var(--admin-accent-soft); font-size:11px; }
body.admin-page .activity-list { display:grid; }
body.admin-page .empty-state { color:var(--admin-muted); font-size:13px; padding-top:24px; }
body.admin-page .review-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--admin-accent); }
body.admin-page .review-status { color:var(--admin-muted); font-size:11px; }
body.admin-page .status-confirmed { background:#d9efdf; color:#236b37; }
body.admin-page .status-cancelled { background:#f3d8d3; color:#8a3027; }
body.admin-page .status-pending { background:#f4e3b9; color:#785b19; }
body.admin-page .form-alert.success { color:var(--admin-ink); }
body.admin-page .form-alert.error { color:var(--admin-danger); }
@media (max-width:680px) { body.admin-page .form-grid { grid-template-columns:1fr; } body.admin-page .form-field.full, body.admin-page .form-submit.full { grid-column:auto; } body.admin-page .dashboard-shell { width:min(100% - 24px,960px); } }

body.admin-page .rich-text-source { display:none; }
body.admin-page .financial-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
body.admin-page .financial-heading h3 { color:var(--admin-ink); font:500 28px/1 var(--serif); margin-top:10px; }
body.admin-page .financial-note { color:var(--admin-muted); font-size:11px; }
body.admin-page .sortable-item { cursor:default; }
@media (max-width:680px) { body.admin-page .financial-heading { flex-direction:column; } }

/* Final admin workspace presentation: one transparent utility tab, aligned content, and responsive media-aware lists. */
body.admin-page .admin-global-nav { display:none!important; }
body.admin-page .app-shell { min-height:100vh; }
body.admin-page .app-sidebar { top:0; }
body.admin-page .app-main { min-height:100vh; padding-top:30px; }
body.admin-page .admin-utility-tab { position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 34px; padding:14px 18px 14px 20px; border:1px solid color-mix(in srgb,var(--admin-line) 72%,transparent); border-radius:18px; background:color-mix(in srgb,var(--admin-surface) 68%,transparent); box-shadow:0 14px 36px rgba(45,38,26,.06); backdrop-filter:blur(18px); }
body.admin-page .admin-utility-left, body.admin-page .admin-utility-right { display:flex; align-items:center; gap:14px; min-width:0; }
body.admin-page .admin-utility-tab h1 { font:500 clamp(24px,3vw,36px)/1 var(--serif); margin-top:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.admin-page .admin-notification { position:relative; display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--admin-line); border-radius:50%; color:var(--admin-accent); background:color-mix(in srgb,var(--admin-surface) 72%,transparent); }
body.admin-page .admin-bell { font-size:23px; line-height:1; }
body.admin-page .admin-notification .notification-count { position:absolute; top:-3px; right:-3px; display:none; }
body.admin-page .admin-notification .notification-count.has-alerts { display:grid; }
body.admin-page .admin-profile { display:flex; align-items:center; gap:10px; color:var(--admin-ink); }
body.admin-page .admin-profile img { width:42px; height:42px; border-radius:50%; object-fit:cover; border:2px solid var(--admin-accent-soft); }
body.admin-page .admin-profile span { display:flex; flex-direction:column; gap:2px; }
body.admin-page .admin-profile strong { font-size:12px; }
body.admin-page .admin-profile small { color:var(--admin-muted); font-size:10px; }
body.admin-page .admin-logout { color:var(--admin-muted); font-size:11px; border-bottom:1px solid var(--admin-accent-soft); white-space:nowrap; }
body.admin-page .page-intro { width:min(100%,1180px); margin:0 auto; padding:28px 0 24px; }
body.admin-page .page-intro h1 { font-size:clamp(38px,5vw,68px); }
body.admin-page .service-admin-shell, body.admin-page .review-admin-shell { width:min(100%,1180px); margin:0 auto 70px; }
body.admin-page .service-admin-item { align-items:center; padding:16px 20px; }
body.admin-page .service-admin-item-media { display:flex; align-items:center; gap:14px; min-width:0; flex:1; }
body.admin-page .service-admin-item-media img { width:72px; height:72px; flex:0 0 72px; object-fit:cover; border-radius:12px; background:var(--admin-surface-alt); border:1px solid var(--admin-line); }
body.admin-page .service-admin-item-media > div { min-width:0; }
body.admin-page .service-admin-item-media h3 { overflow-wrap:anywhere; }
body.admin-page .form-submit { gap:12px; }
body.admin-page .form-submit .btn { min-height:48px; }
@media (max-width:800px) {
  body.admin-page .app-sidebar { inset:0 auto 0 0; transform:translateX(-100%); }
  body.admin-page .app-sidebar.is-mobile-open { transform:none; }
  body.admin-page .app-main { margin-left:0; width:100%; padding:22px 17px 70px; }
  body.admin-page .admin-utility-tab { align-items:flex-start; padding:13px; }
  body.admin-page .admin-profile span { display:none; }
  body.admin-page .service-admin-shell { grid-template-columns:1fr; gap:30px; }
  body.admin-page .financial-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  body.admin-page .admin-utility-tab { margin-bottom:24px; }
  body.admin-page .admin-utility-left { gap:9px; }
  body.admin-page .admin-utility-tab h1 { font-size:24px; max-width:150px; }
  body.admin-page .admin-logout { font-size:10px; }
  body.admin-page .page-intro { padding:20px 0 18px; }
  body.admin-page .service-admin-item { display:block; }
  body.admin-page .service-admin-actions { margin-top:16px; flex-wrap:wrap; }
  body.admin-page .service-admin-item-media img { width:58px; height:58px; flex-basis:58px; }
}

/* Client workspace: one centered content boundary and predictable sidebar states. */
body.admin-page .app-main { box-sizing:border-box; }
body.admin-page .app-main > .app-topbar,
body.admin-page .app-main > .app-tab,
body.admin-page .app-main > .form-alert { width:min(100%,1100px); margin-left:auto; margin-right:auto; }
body.admin-page .app-main > .app-tab { max-width:1100px; }
body.admin-page .app-tab[aria-hidden="true"] { display:none; }
body.admin-page .app-tab[aria-hidden="false"] { display:block; }
body.admin-page .app-sidebar { transition:width var(--ease), transform var(--ease); }
body.admin-page .app-sidebar.is-collapsed { width:78px; }
body.admin-page .app-sidebar.is-collapsed .app-brand span,
body.admin-page .app-sidebar.is-collapsed .app-nav button,
body.admin-page .app-sidebar.is-collapsed .app-nav a { font-size:0; text-align:center; }
body.admin-page .app-sidebar.is-collapsed .app-brand { justify-content:center; padding-left:0; padding-right:0; }
body.admin-page .app-sidebar.is-collapsed .app-nav button,
body.admin-page .app-sidebar.is-collapsed .app-nav a { padding-left:8px; padding-right:8px; }
body.admin-page .app-sidebar.is-collapsed .app-nav button::before { content:'•'; font-size:20px; line-height:1; }
body.admin-page .app-sidebar.is-collapsed .app-nav a span { display:none; }
body.admin-page .app-sidebar.is-collapsed .sidebar-toggle { right:-14px; }
body.admin-page .dashboard-sidebar-collapsed .app-main { margin-left:78px; width:calc(100% - 78px); }
body.admin-page .sidebar-toggle { z-index:2; }
@media (max-width:800px) {
  body.admin-page .app-sidebar.is-collapsed { width:245px; }
  body.admin-page .app-sidebar.is-collapsed .app-brand span,
  body.admin-page .app-sidebar.is-collapsed .app-nav button,
  body.admin-page .app-sidebar.is-collapsed .app-nav a { font-size:11px; text-align:left; }
  body.admin-page .app-sidebar.is-collapsed .app-brand { justify-content:flex-start; padding-left:12px; padding-right:12px; }
  body.admin-page .app-sidebar.is-collapsed .app-nav button::before { display:none; }
  body.admin-page .dashboard-sidebar-collapsed .app-main { margin-left:0; width:100%; }
  body.admin-page .app-main > .app-topbar,
  body.admin-page .app-main > .app-tab,
  body.admin-page .app-main > .form-alert { width:100%; }
}

body.admin-page .message-history { display:grid; gap:12px; margin:18px 0 28px; }
body.admin-page .message-history-item { padding:16px; border:1px solid var(--admin-line); border-radius:12px; background:var(--admin-surface-alt); }
body.admin-page .message-history-item p { color:var(--admin-muted); margin-top:6px; }
body.admin-page .message-reply { margin-top:14px; padding:12px 14px; border-left:3px solid var(--admin-accent); background:var(--admin-surface); }
body.admin-page .message-reply strong { color:var(--admin-accent); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
body.admin-page .message-reply p { margin-top:6px; }
body.admin-page .message-reply-form { display:grid; gap:8px; width:min(100%,320px); margin-top:14px; }
body.admin-page .message-reply-form textarea { width:100%; min-height:74px; resize:vertical; }
body.admin-page .message-reply-form input[type=file] { max-width:100%; font-size:11px; }
body.admin-page .message-reply-form .btn { width:100%; }
@media (max-width:680px) { body.admin-page .message-reply-form { width:100%; } }

body.admin-page .dashboard-topbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
body.admin-page .dashboard-theme-toggle { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:0 12px; border:1px solid var(--admin-line); border-radius:999px; background:var(--admin-surface); color:var(--admin-ink); cursor:pointer; font:600 10px var(--sans); letter-spacing:.08em; text-transform:uppercase; transition:background var(--ease),border-color var(--ease),color var(--ease); }
body.admin-page .dashboard-theme-toggle:hover { border-color:var(--admin-accent); color:var(--admin-accent); }
body.admin-page .dashboard-theme-toggle span:first-child { color:var(--admin-accent); font-size:16px; line-height:1; }
body.theme-dark.admin-page .dashboard-theme-toggle { background:var(--admin-surface-alt); color:var(--admin-ink); }
@media (max-width:680px) { body.admin-page .dashboard-topbar-actions { gap:8px; } body.admin-page .dashboard-theme-toggle__text { display:none; } }

html.theme-dark-preload { background:#171614; }
html.theme-dark-preload body.admin-page { visibility:hidden; }
body.admin-page .admin-theme-toggle { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:0 10px; border:1px solid var(--admin-line); border-radius:999px; background:transparent; color:#c9c0b2; cursor:pointer; font:600 10px var(--sans); letter-spacing:.08em; text-transform:uppercase; }
body.admin-page .admin-theme-toggle:hover { color:#fff8eb; border-color:var(--admin-accent-soft); }
body.admin-page .admin-theme-toggle span:first-child { color:var(--admin-accent-soft); font-size:15px; }
