/* CRMiAgenda V204 — final internal admin system layer. Scoped to authenticated admin only. */
.v54-admin,
.admin-page.v54-admin{
  --v204-bg:#f8f6f4;
  --v204-surface:#ffffff;
  --v204-surface-soft:#fcf9f7;
  --v204-text:#2e2927;
  --v204-muted:#786f6b;
  --v204-line:#e9dfdb;
  --v204-line-strong:#ddd0ca;
  --v204-accent:var(--salon-accent,var(--accent,#b7606f));
  --v204-accent-ink:var(--salon-accent-ink,#fff);
  --v204-soft:color-mix(in srgb,var(--v204-accent) 10%,#fff);
  --v204-shadow:0 10px 28px rgba(64,45,38,.07);
  --v204-shadow-hover:0 16px 38px rgba(64,45,38,.11);
  --v204-r:18px;
  --v204-r-sm:12px;
  color:var(--v204-text)!important;
  background:var(--v204-bg)!important;
}

/* App shell */
.v54-admin.admin-shell-v52{grid-template-columns:244px minmax(0,1fr)!important;background:var(--v204-bg)!important}
.v54-admin>.admin-nav{background:#fff!important;border-right:1px solid var(--v204-line)!important;box-shadow:none!important;padding:20px 13px!important}
.v54-admin>.admin-nav .admin-brand.side{border-bottom:1px solid var(--v204-line)!important;margin-bottom:14px!important;padding:4px 7px 20px!important}
.v54-admin>.admin-nav .admin-brand.side h1{color:var(--v204-text)!important;font-size:19px!important}
.v54-admin>.admin-nav .admin-brand.side p{color:var(--v204-muted)!important}
.v54-admin>.admin-nav>button{color:#5f5754!important;border-radius:11px!important;min-height:44px!important;margin:2px 4px!important;padding:10px 11px!important;font-size:12px!important;font-weight:700!important}
.v54-admin>.admin-nav>button:hover{background:var(--v204-surface-soft)!important;color:var(--v204-text)!important}
.v54-admin>.admin-nav>button.active{color:var(--v204-accent)!important;background:var(--v204-soft)!important;box-shadow:none!important}
.v54-admin>.admin-nav>button span{background:transparent!important;color:currentColor!important}
.v54-admin .admin-nav-bottom{border-top:1px solid var(--v204-line)!important}
.v54-admin .admin-nav-bottom a,.v54-admin .admin-nav-bottom button{color:var(--v204-muted)!important;background:transparent!important;min-height:40px!important}
.v54-admin>.admin-main{background:var(--v204-bg)!important}
.v54-admin .admin-main-header{background:rgba(255,255,255,.95)!important;border:0!important;border-bottom:1px solid var(--v204-line)!important;box-shadow:0 4px 18px rgba(57,42,36,.035)!important;min-height:82px!important;padding:18px 28px!important;position:sticky!important;top:0!important;z-index:32!important}
.v54-admin .admin-main-header h2{color:var(--v204-text)!important;font-size:26px!important;letter-spacing:-.03em!important}
.v54-admin .admin-main-header p{color:var(--v204-muted)!important}
.v54-admin .admin-badge,.v54-admin .notification-button,.v54-admin .business-switcher{color:#5d5551!important;background:#fff!important;border:1px solid var(--v204-line)!important;box-shadow:none!important}

/* Shared components */
.v54-admin .admin-card,
.v54-admin .v86-home-card,
.v54-admin .cash-topbar,
.v54-admin .cash-stats>div,
.v54-admin .expense-form-card,
.v54-admin .cash-history,
.v54-admin .salon-config-block,
.v54-admin .theme-config-block{
  color:var(--v204-text)!important;
  background:var(--v204-surface)!important;
  border:1px solid var(--v204-line)!important;
  border-radius:var(--v204-r)!important;
  box-shadow:var(--v204-shadow)!important;
}
.v54-admin .admin-card{padding:22px!important}
.v54-admin .admin-card h1,.v54-admin .admin-card h2,.v54-admin .admin-card h3,.v54-admin .admin-card h4{color:var(--v204-text)!important}
.v54-admin .admin-card p,.v54-admin .admin-card small{color:var(--v204-muted)!important}
.v54-admin input:not([type=checkbox]):not([type=radio]):not([type=color]),
.v54-admin select,
.v54-admin textarea{
  color:var(--v204-text)!important;
  background:#fff!important;
  border:1px solid var(--v204-line-strong)!important;
  border-radius:10px!important;
  min-height:44px;
}
.v54-admin textarea{min-height:84px}
.v54-admin input:focus,.v54-admin select:focus,.v54-admin textarea:focus{outline:none!important;border-color:var(--v204-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v204-accent) 12%,transparent)!important}
.v54-admin button:focus-visible,.v54-admin a:focus-visible,.v54-admin [tabindex]:focus-visible{outline:2px solid var(--v204-accent)!important;outline-offset:2px!important}
.v54-admin button:disabled,.v54-admin input:disabled,.v54-admin select:disabled{opacity:.55!important;cursor:not-allowed!important}
.v54-admin .config-save,.v54-admin .primary-soft.is-primary,.v54-admin .status-actions button:not(.danger){background:var(--v204-accent)!important;color:var(--v204-accent-ink)!important;border-color:var(--v204-accent)!important;min-height:42px!important;border-radius:10px!important;font-weight:800!important}

/* Dashboard */
.v54-admin .v86-home{gap:18px!important}
.v54-admin .v86-home-hero{border:1px solid var(--v204-line)!important;border-radius:22px!important;box-shadow:var(--v204-shadow)!important}
.v54-admin .v86-stat-grid{gap:12px!important}
.v54-admin .v86-stat-grid .v87-stat-button,.v54-admin .v86-stat-grid article{background:#fff!important;border:1px solid var(--v204-line)!important;border-radius:16px!important;box-shadow:0 7px 20px rgba(64,45,38,.045)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}
.v54-admin .v86-stat-grid .v87-stat-button:hover{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--v204-accent) 30%,var(--v204-line))!important;box-shadow:var(--v204-shadow-hover)!important}
.v54-admin .v86-quick-grid button{min-height:104px!important;border:1px solid var(--v204-line)!important;border-radius:14px!important;background:#fff!important}

/* Agenda — daily operational surface */
.v54-admin .v84-agenda{gap:14px!important}
.v54-admin .v84-agenda-top{background:#fff!important;border:1px solid var(--v204-line)!important;border-radius:20px!important;padding:20px 22px!important;box-shadow:var(--v204-shadow)!important}
.v54-admin .v84-agenda-top h3{color:var(--v204-text)!important;font-size:27px!important}
.v54-admin .v84-agenda-top p{color:var(--v204-muted)!important;font-size:12px!important}
.v54-admin .v84-agenda-actions button,.v54-admin .v84-agenda-actions input{height:44px!important;border:1px solid var(--v204-line-strong)!important;border-radius:11px!important;background:#fff!important;color:var(--v204-text)!important}
.v54-admin .v84-agenda-actions button:hover{border-color:var(--v204-accent)!important;background:var(--v204-soft)!important}
.v54-admin .v84-agenda-actions .today{background:var(--v204-accent)!important;color:var(--v204-accent-ink)!important;border-color:var(--v204-accent)!important}
.v54-admin .v84-agenda-toolbar{background:rgba(248,246,244,.94)!important;border-radius:14px!important;padding:7px 8px!important;position:sticky!important;top:83px!important;z-index:20!important;backdrop-filter:blur(10px)}
.v54-admin .v84-view-switch{background:#f3efed!important;border:1px solid var(--v204-line)!important;border-radius:12px!important;padding:4px!important}
.v54-admin .v84-view-switch button{min-height:38px!important;color:#756b67!important;border-radius:9px!important;padding:8px 14px!important}
.v54-admin .v84-view-switch button.active{color:var(--v204-accent)!important;background:#fff!important;box-shadow:0 3px 10px rgba(50,36,31,.08)!important}
.v54-admin .v84-agenda-toolbar>strong{color:var(--v204-text)!important;font-size:13px!important}
.v54-admin .v84-agenda-toolbar>span{background:var(--v204-soft)!important;color:var(--v204-accent)!important}
.v54-admin .v84-day-shell{background:#fff!important;border:1px solid var(--v204-line)!important;border-radius:20px!important;box-shadow:var(--v204-shadow)!important;scrollbar-color:var(--v204-line-strong) transparent!important}
.v54-admin .v84-day-grid{min-width:820px!important}
.v54-admin .v84-corner,.v54-admin .v84-pro-head{background:#fcfaf9!important;border-color:var(--v204-line)!important;min-height:70px!important}
.v54-admin .v84-pro-head{padding:12px 14px!important}
.v54-admin .v84-pro-head b{color:var(--v204-text)!important;font-size:13px!important}
.v54-admin .v84-pro-head small{color:var(--v204-muted)!important;font-size:9px!important}
.v54-admin .v84-day-grid>time{color:#8b817d!important;background:#fcfaf9!important;border-color:#eee7e3!important;padding:13px 10px!important}
.v54-admin .v84-slot{background:#fff!important;border-color:#f0e9e6!important;min-height:78px!important;padding:6px!important;transition:background .14s ease!important}
.v54-admin .v84-slot:hover{background:#fffaf8!important}
.v54-admin .v84-appt{color:#3a3230!important;background:var(--v204-soft)!important;border-left:4px solid var(--v204-accent)!important;border-radius:10px!important;padding:9px 10px!important;box-shadow:0 3px 9px rgba(55,39,33,.05)!important;transition:transform .14s ease,box-shadow .14s ease!important}
.v54-admin .v84-appt:hover{transform:translateY(-1px)!important;box-shadow:0 7px 16px rgba(55,39,33,.10)!important}
.v54-admin .v84-appt.c2{background:#edf8f2!important;border-left-color:#58a77f!important}
.v54-admin .v84-appt.c3{background:#fff5e8!important;border-left-color:#d79b42!important}
.v54-admin .v84-appt.c4{background:#edf4ff!important;border-left-color:#6d9bd7!important}
.v54-admin .v84-appt b{color:#342d2a!important;font-size:11px!important}
.v54-admin .v84-appt small,.v54-admin .v84-appt span{color:#6f6662!important}
.v54-admin .v84-appt em{color:#685d59!important;background:rgba(255,255,255,.65)!important;border-radius:999px!important;width:max-content!important;padding:3px 6px!important}
.v54-admin .v84-week-grid>article,.v54-admin .v84-month-calendar,.v54-admin .v84-month-day{background:#fff!important;border:1px solid var(--v204-line)!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(64,45,38,.045)!important}
.v54-admin .v84-week-grid>article:hover{border-color:color-mix(in srgb,var(--v204-accent) 25%,var(--v204-line))!important}
.v54-admin .v84-week-grid>article.active{border-color:var(--v204-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--v204-accent) 10%,transparent)!important}
.v54-admin .v84-week-grid article>button,.v54-admin .v84-month-appt{background:#fffaf8!important;border:1px solid #f0e5e1!important;border-radius:10px!important}

/* Lists / client / appointment interactions */
.v54-admin .appointment-row,.v54-admin .client-row,.v54-admin .professional-row,.v54-admin .cash-appt-row{border-color:#eee7e4!important;transition:background .14s ease,border-color .14s ease!important}
.v54-admin .appointment-row:hover,.v54-admin .client-row:hover,.v54-admin .cash-appt-row:hover{background:#fff9f7!important}
.v54-admin .appointment-row.large{border-radius:10px!important;padding-inline:10px!important}
.v54-admin .appointment-row em{background:var(--v204-soft)!important;color:var(--v204-accent)!important;border-color:color-mix(in srgb,var(--v204-accent) 24%,var(--v204-line))!important}

/* Drawers / overlays */
.v54-admin .detail-overlay,.v54-admin .lookup-overlay{background:rgba(37,28,25,.42)!important;backdrop-filter:blur(4px)!important}
.v54-admin .detail-drawer{background:#fff!important;color:var(--v204-text)!important;width:min(570px,96vw)!important;padding:28px!important;box-shadow:-20px 0 55px rgba(42,30,26,.18)!important}
.v54-admin .detail-drawer h2,.v54-admin .lookup-card h2{color:var(--v204-text)!important}
.v54-admin .drawer-close,.v54-admin .lookup-close{background:#fff!important;border:1px solid var(--v204-line)!important;border-radius:50%!important;width:40px!important;height:40px!important;display:grid!important;place-items:center!important;color:#665c58!important}
.v54-admin .detail-grid>div,.v54-admin .reschedule-box,.v54-admin .client-summary-grid>span{background:var(--v204-surface-soft)!important;border:1px solid var(--v204-line)!important;border-radius:12px!important}
.v54-admin .status-actions{gap:8px!important}
.v54-admin .status-actions button{min-height:42px!important;border-radius:10px!important;font-weight:800!important}
.v54-admin .status-actions .danger{color:#a44d53!important;background:#fff!important;border:1px solid #e8c0c3!important}

/* V204 autonomous onboarding */
.v204-onboarding{background:#fff!important;border:1px solid var(--v204-line)!important;border-radius:20px!important;margin:18px 26px 4px!important;padding:20px!important;box-shadow:var(--v204-shadow)!important}
.v204-onboarding[hidden]{display:none!important}
.v204-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.v204-onboarding-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--v204-accent);font-size:9px;font-weight:900}
.v204-onboarding h3{color:var(--v204-text);margin:5px 0 5px;font-size:20px}
.v204-onboarding-head p{color:var(--v204-muted);margin:0;font-size:11px;line-height:1.5}
.v204-onboarding-score{flex:0 0 auto;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--v204-accent) var(--v204-progress,0%),#eee7e4 0);position:relative}
.v204-onboarding-score:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.v204-onboarding-score b{z-index:1;color:var(--v204-text);font-size:13px}
.v204-onboarding-progress{height:7px;background:#eee8e5;border-radius:999px;overflow:hidden;margin:16px 0}
.v204-onboarding-progress i{display:block;height:100%;width:var(--v204-progress,0%);background:var(--v204-accent);border-radius:inherit;transition:width .25s ease}
.v204-onboarding-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}
.v204-onboarding-step{text-align:left;color:#4d4542;background:#fff;border:1px solid var(--v204-line);border-radius:13px;min-height:94px;padding:11px;display:grid;grid-template-rows:auto 1fr auto;gap:6px;transition:border-color .15s ease,background .15s ease}
.v204-onboarding-step:hover{border-color:color-mix(in srgb,var(--v204-accent) 35%,var(--v204-line));background:#fffaf8}
.v204-onboarding-step.done{background:#f5faf7;border-color:#d9e8df}
.v204-step-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.v204-step-top span{color:var(--v204-accent);font-size:15px;font-weight:900}
.v204-onboarding-step.done .v204-step-top span{color:#4f8a69}
.v204-step-top em{color:#938985;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.v204-onboarding-step.done .v204-step-top em{color:#4f8a69}
.v204-onboarding-step b{color:var(--v204-text);font-size:10px}
.v204-onboarding-step small{color:var(--v204-muted);font-size:8px;line-height:1.35}
.v204-onboarding-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.v204-onboarding-foot span{color:var(--v204-muted);font-size:9px}
.v204-onboarding-toggle{color:var(--v204-accent);background:transparent;border:0;font-size:9px;font-weight:850}
.v204-onboarding.collapsed .v204-onboarding-progress,.v204-onboarding.collapsed .v204-onboarding-steps,.v204-onboarding.collapsed .v204-onboarding-foot>span{display:none}
.v204-onboarding-complete{background:#f5faf7!important;border-color:#d7e7dc!important}

@media(max-width:1100px){
  .v204-onboarding-steps{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .v54-admin.admin-shell-v52{display:block!important}
  .v54-admin .admin-main-header{top:57px!important;padding:14px 16px!important}
  .v54-admin .v84-agenda-toolbar{top:130px!important}
  .v204-onboarding{margin:14px!important}
  .v54-admin .v84-day-grid{min-width:760px!important}
}
@media(max-width:620px){
  .v54-admin .admin-main-header{position:relative!important;top:auto!important}
  .v54-admin .v84-agenda-toolbar{position:relative!important;top:auto!important;padding:4px!important}
  .v54-admin .v84-agenda-top{padding:17px!important}
  .v54-admin .v84-agenda-actions{display:grid!important;grid-template-columns:44px 1fr 44px!important}
  .v54-admin .v84-agenda-actions input{grid-column:1/-1!important;width:100%!important}
  .v54-admin .v84-agenda-actions .today{grid-column:1/-1!important}
  .v54-admin .v84-view-switch{width:100%!important}
  .v54-admin .v84-view-switch button{flex:1!important}
  .v54-admin .v84-day-shell{border-radius:15px!important}
  .v54-admin .detail-drawer{width:100vw!important;max-width:none!important;padding:22px 16px!important}
  .v204-onboarding{margin:12px!important;padding:16px!important;border-radius:16px!important}
  .v204-onboarding-head{align-items:center}
  .v204-onboarding-score{width:54px;height:54px}
  .v204-onboarding-steps{grid-template-columns:1fr 1fr}
  .v204-onboarding-step:last-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.v54-admin *{scroll-behavior:auto!important}.v204-onboarding-progress i,.v54-admin .v84-appt,.v54-admin .v86-stat-grid .v87-stat-button{transition:none!important}}
