@scope (.native-profile-drawer) {
/* =====================================================================
   Ollira · 2026 drawer design system  (GENERATED — do not hand-edit)
   Source of truth: docs/design/client-page-2026.:scope  →  build_oll26_css.php
   Scope: every rule lives under `.oll26` so nothing leaks to app globals.
   Theme: light tokens on `.oll26`; dark on `[data-app-theme="dark"] .oll26`.
   Consumed by BOTH the client profile drawer and the appointment drawer.
   ===================================================================== */
/* ---- tokens: light (default) ---- */
.oll26 {
  --surface:#FBFBFA;
    --bg:#F3F4F2;
    --grp:#FFFFFF;
    --ink:#16181A; --sub:#5F6A6E; --ter:#98A1A5;
    --line:rgba(17,19,20,.07); --line2:rgba(17,19,20,.05);
    --hover:rgba(17,19,20,.04);
    --brand:#0C6E66; --on-brand:#FFFFFF; --wash:#DFF3F0; --wash-ink:#0C6E66;
    --ok-ink:#0F7A3D; --ok-bg:#E4F5EA;
    --warn-ink:#9A5B07; --warn-bg:#FBF0DC;
    --bad-ink:#B42323; --bad-bg:#FBEAEA;
    --neu-bg:rgba(17,19,20,.06); --neu-ink:#5A6368;
    --av-bg:#DCEFE3; --av-ink:#2F5D44;
    --gold:#B58A2A;
    --chart-fill:rgba(12,110,102,.10);
}

/* ---- tokens: dark ---- */
:scope[data-app-theme="dark"] .oll26 {
  --surface:#131517;
    --bg:#0D0E10;
    --grp:#1A1C1E;
    --ink:#F2F4F4; --sub:#9AA4A8; --ter:#6E787C;
    --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.06);
    --hover:rgba(255,255,255,.05);
    --brand:#74D8CD; --on-brand:#0A1513; --wash:rgba(35,178,166,.16); --wash-ink:#74D8CD;
    --ok-ink:var(--status-confirmed); --ok-bg:rgba(74,222,128,.13);
    --warn-ink:var(--status-pending); --warn-bg:rgba(251,191,36,.13);
    --bad-ink:var(--status-cancelled); --bad-bg:rgba(248,113,113,.13);
    --neu-bg:rgba(255,255,255,.09); --neu-ink:#AEB7BA;
    --av-bg:#1F3A2E; --av-ink:#A9D9BC;
    --gold:#D9B45C;
    --chart-fill:rgba(116,216,205,.10);
}

/* ---- components ---- */
@keyframes oll26-slidein {
from { transform:translateX(26px); opacity:0; } to { transform:none; opacity:1; }
}
.oll26 .dw-only {
  display:none !important;
}
:scope[data-app-theme="dark"] .oll26 .page,
:scope[data-app-theme="dark"] .oll26.page {
  border:1px solid rgba(255,255,255,.06);
}
.oll26 .z1 {
  display:flex; align-items:center; gap:16px; padding:16px 24px; background:var(--surface);
    border-bottom:1px solid var(--line);
}
.oll26 .av {
  width:64px; height:64px; flex:none; border-radius:50%; background:var(--av-bg); color:var(--av-ink);
    display:grid; place-items:center; font-size:22px; font-weight:600;
}
.oll26 .idb {
  flex:1; min-width:0;
}
.oll26 .idb .nm {
  font-size:24px; font-weight:600; letter-spacing:0; color:var(--ink); line-height:1.15;
}
.oll26 .idb .ct {
  display:flex; align-items:center; gap:7px; margin-top:3px; font-size:12.5px; color:var(--sub);
}
.oll26 .idb .ct svg {
  opacity:.7; cursor:pointer;
}
.oll26 .chips {
  display:flex; gap:6px; margin-top:9px; flex-wrap:wrap;
}
.oll26 .chip {
  height:26px; padding:0 11px; border-radius:999px; display:inline-flex; align-items:center; gap:6px;
    font-size:11.5px; font-weight:600; background:var(--neu-bg); color:var(--neu-ink);
}
.oll26 .chip i {
  width:5px; height:5px; border-radius:50%; background:currentColor;
}
.oll26 .chip.mem {
  background:var(--wash); color:var(--wash-ink);
}
.oll26 .acts {
  display:flex; align-items:center; gap:8px; flex:none;
}
.oll26 .b {
  height:40px; padding:0 18px; border-radius:999px; border:0; font-family:inherit; font-size:13.5px;
    font-weight:600; display:inline-flex; align-items:center; gap:7px; cursor:pointer;
}
.oll26 .b.tint {
  background:var(--brand); color:var(--on-brand);
}
.oll26 .b.neu {
  background:var(--grp); color:var(--ink); border:1px solid var(--line);
}
.oll26 .b.icon {
  width:40px; padding:0; justify-content:center; background:var(--grp); color:var(--ink);
    border:1px solid var(--line); border-radius:50%;
}
.oll26 .z2 {
  display:flex; align-items:center; gap:10px; padding:10px 24px; background:var(--warn-bg);
    color:var(--warn-ink); font-size:12.5px; font-weight:500; border-bottom:1px solid var(--line2);
}
.oll26 .z2 b {
  font-weight:600;
}
.oll26 .z2 .sp {
  flex:1;
}
.oll26 .z2 .go {
  font-weight:600; display:inline-flex; align-items:center; gap:3px; cursor:pointer;
}
.oll26 .zbody {
  display:flex; align-items:stretch; min-height:620px;
}
.oll26 .z4 {
  width:232px; flex:none; background:var(--surface); border-right:1px solid var(--line);
    padding:14px 10px 12px; display:flex; flex-direction:column;
}
.oll26 .ni {
  height:36px; display:flex; align-items:center; justify-content:space-between; padding:0 12px;
    border-radius:10px; font-size:13.5px; font-weight:500; color:var(--sub); cursor:pointer;
}
.oll26 .ni:hover {
  background:var(--hover);
}
.oll26 .ni.on {
  background:var(--wash); color:var(--wash-ink); font-weight:600;
}
.oll26 .nbadge {
  min-width:24px; height:20px; padding:0 7px; border-radius:999px; background:var(--neu-bg);
    color:var(--neu-ink); font-size:11px; font-weight:600; display:grid; place-items:center;
}
.oll26 .ni.on .nbadge {
  background:var(--brand); color:var(--on-brand);
}
.oll26 .nchev {
  color:var(--ter); display:grid; place-items:center;
}
.oll26 .nsub {
  padding:2px 0 4px;
}
.oll26 .nsub .ni {
  height:32px; padding-left:26px; font-size:12.5px;
}
.oll26 .nsp {
  flex:1;
}
.oll26 .nend {
  border-top:1px solid var(--line); margin:10px 2px 0; padding-top:10px;
}
.oll26 .z5 {
  flex:1; min-width:0; background:var(--bg); padding:18px 28px 22px;
}
.oll26 .zc {
  max-width:660px;
}
.oll26 .sech {
  font-size:11.5px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
    color:var(--ter); margin:28px 4px 10px;
}
.oll26 .sech:first-child {
  margin-top:0;
}
.oll26 .grp {
  background:var(--grp); border-radius:16px;
}
:scope[data-app-theme="dark"] .oll26 .grp {
  border:1px solid var(--line2);
}
.oll26 .z3 {
  display:flex;
}
.oll26 .gc {
  flex:1; min-width:0; padding:12px 14px; cursor:pointer;
}
.oll26 .gc + .gc {
  border-left:1px solid var(--line);
}
.oll26 .gc:hover {
  background:var(--hover);
}
.oll26 .gk {
  font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ter);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oll26 .gv {
  font-size:15px; font-weight:600; letter-spacing:0; color:var(--ink); margin-top:3px;
}
.oll26 .gv .st {
  color:var(--gold);
}
.oll26 .gv.warn {
  color:var(--warn-ink);
}
.oll26 .gs {
  font-size:11px; color:var(--ter); margin-top:2px;
}
.oll26 .vd {
  padding:13px 14px; display:flex; align-items:center; gap:12px;
}
.oll26 .pill {
  height:24px; padding:0 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px;
    font-size:11.5px; font-weight:600; flex:none;
}
.oll26 .pill i {
  width:5px; height:5px; border-radius:50%; background:currentColor;
}
.oll26 .pill.ok {
  background:var(--ok-bg); color:var(--ok-ink);
}
.oll26 .pill.neu {
  background:var(--neu-bg); color:var(--neu-ink);
}
.oll26 .pill.bad {
  background:var(--bad-bg); color:var(--bad-ink);
}
.oll26 .vd .tx {
  font-size:13px; color:var(--sub);
}
.oll26 .vfacts {
  display:flex; border-top:1px solid var(--line);
}
.oll26 .vf {
  flex:1; padding:10px 14px;
}
.oll26 .vf + .vf {
  border-left:1px solid var(--line);
}
.oll26 .vfk {
  font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ter);
}
.oll26 .vfv {
  font-size:13.5px; font-weight:600; color:var(--ink); margin-top:2px;
}
.oll26 .vfv .st {
  color:var(--gold);
}
.oll26 .up {
  display:flex; align-items:center; gap:14px; padding:13px 14px; cursor:pointer;
}
.oll26 .up:hover {
  background:var(--hover); border-radius:16px;
}
.oll26 .dchip {
  width:46px; flex:none; text-align:center;
}
.oll26 .dchip .m {
  display:block; font-size:10.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--wash-ink);
}
.oll26 .dchip .d {
  display:block; font-size:20px; font-weight:600; color:var(--ink);
}
.oll26 .upb {
  flex:1; min-width:0;
}
.oll26 .upt {
  font-size:14px; font-weight:600; color:var(--ink);
}
.oll26 .ups {
  font-size:12px; color:var(--sub); margin-top:2px;
}
.oll26 .chev {
  color:var(--ter); flex:none; display:grid; place-items:center;
}
.oll26 .mn {
  display:flex;
}
.oll26 .mc {
  flex:1; min-width:0; padding:12px 14px;
}
.oll26 .mc + .mc {
  border-left:1px solid var(--line);
}
.oll26 .ar {
  display:flex; align-items:center; gap:12px; padding:12px 14px;
}
.oll26 .ar + .ar {
  border-top:1px solid var(--line);
}
.oll26 .aic {
  width:30px; height:30px; flex:none; border-radius:50%; background:var(--neu-bg); color:var(--neu-ink);
    display:grid; place-items:center;
}
.oll26 .arb {
  flex:1; min-width:0;
}
.oll26 .art {
  font-size:13px; font-weight:500; color:var(--ink);
}
.oll26 .ars {
  font-size:11.5px; color:var(--ter); margin-top:1px;
}
.oll26 .anh {
  display:flex; align-items:center; justify-content:space-between; padding:13px 14px 0;
}
.oll26 .anh .t {
  font-size:14px; font-weight:600; color:var(--ink);
}
.oll26 .rng {
  height:32px; padding:0 13px; border-radius:999px; border:1px solid var(--line); background:none;
    color:var(--sub); font-family:inherit; font-size:12px; font-weight:600; display:inline-flex; align-items:center; gap:7px; cursor:pointer;
}
.oll26 .mets {
  display:flex; padding:10px 4px 0;
}
.oll26 .me {
  flex:1; padding:6px 10px;
}
.oll26 .mek {
  font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ter);
}
.oll26 .mev {
  font-size:15px; font-weight:600; color:var(--ink); margin-top:2px;
}
.oll26 .med {
  font-size:11px; font-weight:600; margin-top:2px; color:var(--ter);
}
.oll26 .med.up {
  color:var(--ok-ink);
}
.oll26 .chart {
  padding:8px 14px 12px;
}
.oll26 .svcs {
  border-top:1px solid var(--line); padding:12px 14px 14px;
}
.oll26 .svc + .svc {
  margin-top:12px;
}
.oll26 .svct {
  display:flex; justify-content:space-between; font-size:12.5px;
}
.oll26 .svct .n {
  font-weight:600; color:var(--ink);
}
.oll26 .svct .a {
  color:var(--sub);
}
.oll26 .track {
  height:6px; border-radius:999px; background:var(--neu-bg); margin-top:6px; overflow:hidden;
}
.oll26 .bar {
  height:100%; border-radius:999px; background:var(--brand); opacity:.85;
}
.oll26 .rvh {
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin:2px 2px 0;
}
.oll26 .rvh-t {
  font-size:17px; font-weight:600; letter-spacing:0; color:var(--ink);
}
.oll26 .rvh-n {
  font-size:12px; font-weight:600; color:var(--ter); margin-left:4px;
}
.oll26 .rvh-tools {
  display:flex; align-items:center; gap:8px;
}
.oll26 .seg2 {
  display:inline-flex; background:var(--neu-bg); border-radius:999px; padding:3px;
}
.oll26 .seg2 span {
  height:28px; padding:0 13px; border-radius:999px; font-size:12px; font-weight:600;
    display:inline-flex; align-items:center; color:var(--sub); cursor:pointer;
}
.oll26 .seg2 span.on {
  background:var(--grp); color:var(--ink); box-shadow:0 1px 3px rgba(15,23,25,.12);
}
.oll26 .seg2 .segn {
  font-size:10.5px; font-weight:600; opacity:.6; margin-left:5px;
}
.oll26 .fil {
  height:34px; padding:0 13px; border-radius:999px; border:1px solid var(--line); background:none;
    color:var(--sub); font-family:inherit; font-size:12.5px; font-weight:600;
    display:inline-flex; align-items:center; gap:6px; cursor:pointer;
}
.oll26 .ap {
  display:flex; align-items:center; gap:14px; padding:13px 16px;
}
.oll26 .ap + .ap {
  border-top:1px solid var(--line2);
}
.oll26 .ap:hover {
  background:var(--hover);
}
.oll26 .ap.is-muted .apt,
.oll26 .ap.is-muted .dchip {
  opacity:.55;
}
.oll26 .mc--act {
  flex:0 0 auto; display:flex; align-items:center; padding:0 14px;
}
.oll26 .apb {
  flex:1; min-width:0;
}
.oll26 .apt {
  font-size:14px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oll26 .aps {
  font-size:12px; color:var(--sub); margin-top:2px;
}
.oll26 .apv {
  font-size:13.5px; font-weight:600; color:var(--ink); flex:none;
}
.oll26 .apv.warn {
  color:var(--warn-ink);
}
.oll26 .pill.warn2 {
  background:var(--warn-bg); color:var(--warn-ink);
}
.oll26 .showmore {
  display:flex; justify-content:center; margin-top:16px;
}
.oll26 .ap[hidden],
.oll26 .mgrp[hidden],
.oll26 [data-pane][hidden],
.oll26 .nsub[hidden],
.oll26 .showmore[hidden],
.oll26 .b[hidden],
.oll26 .bstep[hidden],
.oll26 [data-afields][hidden],
.oll26 [data-bpayrow][hidden],
.oll26 .bdur[hidden],
.oll26 .bidc-safety[hidden],
.oll26 .bidc-rel[hidden],
.oll26 .bidc-firstvisit[hidden],
.oll26 .rvh[hidden],
.oll26 .bmore-wrap[hidden] {
  display:none !important;
}
.oll26 .fmn {
  margin-left:auto; font-size:11px; font-weight:600; color:var(--ter);
}
.oll26 .fck {
  visibility:hidden;
}
.oll26 .mi2.is-on .fck {
  visibility:visible; color:var(--brand);
}
.oll26 .rdv-empty {
  padding:34px 16px 22px; text-align:center;
}
.oll26 .ret {
  font-size:14px; font-weight:600; color:var(--ink);
}
.oll26 .res {
  font-size:12px; color:var(--ter); margin:4px 0 14px;
}
.oll26 .nchev {
  transition:transform .15s ease;
}
.oll26 .ni[data-docs].is-closed .nchev {
  transform:rotate(-90deg);
}
.oll26 .fnote {
  font-size:12px; color:var(--ter); margin:14px 4px 0;
}
.oll26 .composer {
  display:flex; align-items:center; gap:12px; padding:12px 14px;
}
.oll26 .comp-ph {
  flex:1; font-size:13.5px; color:var(--ter);
}
.oll26 .nrow {
  display:flex; align-items:flex-start; gap:12px; padding:13px 16px;
}
.oll26 .nrow + .nrow {
  border-top:1px solid var(--line2);
}
.oll26 .nb {
  flex:1; min-width:0;
}
.oll26 .nt {
  font-size:13.5px; color:var(--ink); line-height:1.5;
}
.oll26 .ns {
  font-size:11.5px; color:var(--ter); margin-top:4px;
}
.oll26 .nrm {
  flex:none; width:28px; height:28px; border:0; border-radius:50%; background:none; color:var(--ter);
    display:grid; place-items:center; cursor:pointer;
}
.oll26 .nrm:hover {
  background:var(--hover); color:var(--bad-ink);
}
.oll26 .crec {
  padding:14px 16px 12px; position:relative;
}
.oll26 .crec + .crec {
  border-top:1px solid var(--line2);
}
.oll26 .crec--calm {
  box-shadow:inset 3px 0 0 var(--ok-ink);
}
.oll26 .crec--caution {
  box-shadow:inset 3px 0 0 var(--warn-ink);
}
.oll26 .crec--danger {
  box-shadow:inset 3px 0 0 var(--bad-ink);
}
.oll26 .crec-hd {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding-right:64px;
}
.oll26 .crec-name {
  font-size:14px; font-weight:600; color:var(--ink);
}
.oll26 .ctag {
  height:20px; padding:0 8px; border-radius:999px; background:var(--neu-bg); color:var(--neu-ink);
    font-size:10.5px; font-weight:600; display:inline-flex; align-items:center;
}
.oll26 .crec-line {
  font-size:12.5px; color:var(--sub); margin-top:7px;
}
.oll26 .clbl {
  color:var(--ter); font-weight:600;
}
.oll26 .crec-facts {
  display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:8px; font-size:12px; color:var(--sub);
}
.oll26 .crec-facts b {
  color:var(--ter); font-weight:600; margin-right:4px;
}
.oll26 .crec-meta {
  font-size:11px; color:var(--ter); margin-top:8px;
}
.oll26 .crec-acts {
  position:absolute; top:12px; right:14px;
}
.oll26 .pgrid {
  display:flex; gap:8px; margin-bottom:12px;
}
.oll26 .pht {
  width:84px; height:84px; border-radius:12px; display:grid; place-items:center;
}
.oll26 .pht--more {
  background:var(--neu-bg); color:var(--neu-ink); font-size:12.5px; font-weight:600; cursor:pointer; text-decoration:none;
}
.oll26 .lnk2 {
  display:inline-flex; align-items:center; gap:4px; font-size:12.5px; font-weight:600; color:var(--wash-ink); cursor:pointer;
}
.oll26 .drop {
  display:flex; align-items:center; justify-content:center; gap:10px; margin:12px 14px; padding:16px;
    border:1.5px dashed var(--line); border-radius:12px; font-size:12.5px; color:var(--ter); cursor:pointer;
}
.oll26 .drop:hover {
  background:var(--hover);
}
.oll26 .drop + .lr {
  border-top:1px solid var(--line2);
}
.oll26 .bidc {
  position:relative; background:var(--grp); border:1px solid var(--line); border-radius:16px;
}
.oll26 .bidc-head {
  display:flex; gap:12px; align-items:center; padding:14px;
}
.oll26 .bidc-head .av {
  margin:0;
}
.oll26 .bidc-who {
  min-width:0;
}
.oll26 .bidc-who .nm {
  font-weight:600; letter-spacing:0; color:var(--ink); line-height:1.2;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oll26 .bidc-who .ct {
  color:var(--sub); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oll26 .bidc-firstvisit {
  font-size:12px; color:var(--brand); margin-top:3px;
}
.oll26 .bidc-safety {
  display:flex; gap:9px; padding:13px 14px; background:var(--warn-bg); border-top:1px solid var(--line);
}
.oll26 .bidc-safety-ic {
  flex:none; color:var(--warn-ink); margin-top:1px; line-height:0;
}
.oll26 .bidc-safety-t {
  font-size:12.5px; font-weight:600; color:var(--warn-ink); line-height:1.25;
}
.oll26 .bidc-safety-s {
  font-size:11.5px; color:var(--sub); margin-top:2px;
}
.oll26 .bidc-rel {
  padding:13px 14px; border-top:1px solid var(--line);
}
.oll26 .bidc-rel .chips {
  margin-top:0;
}
.oll26 .bidc-stats {
  display:flex; gap:6px; margin-top:13px;
}
.oll26 .bstat {
  flex:1; text-align:left; min-width:0;
}
.oll26 .bstat b {
  display:block; font-size:14px; line-height:1.3; font-weight:600; color:var(--ink); letter-spacing:0; font-variant-numeric:tabular-nums;
}
.oll26 .bstat > span {
  display:block; font-size:10.5px; color:var(--ter); margin-top:1px;
}
.oll26 .bstat .st-star {
  display:inline; color:var(--gold); font-size:.9em;
}
.oll26 .bidc-head {
  display:flex; align-items:center; padding:0; gap:0;
}
.oll26 .bidc-door {
  flex:1; min-width:0; display:flex; align-items:center; gap:12px; padding:13px 14px; border:0;
    background:transparent; font:inherit; color:inherit; text-align:left; cursor:pointer; border-radius:16px 0 0 0;
}
.oll26 .bidc-door:hover {
  background:var(--hover);
}
.oll26 .bidc-door .av {
  margin:0;
}
.oll26 .bidc-who {
  flex:1; min-width:0; display:flex; flex-direction:column;
}
.oll26 .bidc-who .nm {
  font-weight:600; letter-spacing:0; color:var(--ink); line-height:1.2;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oll26 .bidc-who .ct {
  color:var(--sub); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oll26 .bidc-chev {
  flex:none; color:var(--ter); line-height:0;
}
.oll26 .crmenu-wrap {
  position:relative; flex:none; padding-right:8px;
}
.oll26 .crmenu-btn {
  width:32px; height:32px; display:flex; align-items:center; justify-content:center; border:0;
    background:transparent; color:var(--sub); border-radius:var(--ds-button-radius-icon); cursor:pointer;
}
.oll26 .crmenu-btn:hover,
.oll26 .crmenu-btn[aria-expanded="true"] {
  background:var(--hover); color:var(--ink);
}
.oll26 .crmenu {
  position:absolute; top:calc(100% - 4px); right:8px; z-index:30; min-width:210px; padding:6px;
    background:var(--grp); border:1px solid var(--line); border-radius:12px; box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.oll26 .crmenu-i {
  display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; border:0;
    background:transparent; font:inherit; font-size:13px; color:var(--ink); text-align:left; border-radius:8px; cursor:pointer;
}
.oll26 .crmenu-i:hover {
  background:var(--hover);
}
.oll26 .crmenu-i svg {
  flex:none; color:var(--sub);
}
.oll26 .crmenu-i.danger {
  color:var(--bad-ink);
}
.oll26 .crmenu-i.danger svg {
  color:var(--bad-ink);
}
.oll26 .crmenu-sep {
  height:1px; background:var(--line); margin:6px 6px;
}
.oll26 .crmenu-i .crmenu-lbl {
  flex:1;
}
.oll26 .crmenu-i .crmenu-ck {
  flex:none; color:var(--brand); visibility:hidden;
}
.oll26 .crmenu-i.is-cur .crmenu-ck {
  visibility:visible;
}
.oll26 .bidc-safety--add {
  width:100%; align-items:center; background:transparent; border:0; border-top:1px solid var(--line);
    border-radius:0 0 15px 15px; font:inherit; color:var(--sub); cursor:pointer;
}
.oll26 .bidc-safety--add:hover {
  background:var(--hover);
}
.oll26 .bidc-safety--add .bidc-safety-ic {
  color:var(--ter);
}
.oll26 .bidc-safety-addt {
  font-size:12.5px;
}
.oll26 .bhint {
  margin-top:10px; padding:8px 11px; border-radius:10px; background:var(--ink); color:var(--grp);
    font-size:12px; text-align:center;
}
.oll26 .balhero {
  padding:22px; text-align:left;
}
.oll26 .bal-amt {
  font-size:28px; font-weight:600; letter-spacing:0; color:var(--ink);
}
.oll26 .bal-sub {
  font-size:12.5px; color:var(--sub); margin-top:4px;
}
.oll26 .star-on {
  color:var(--gold); font-size:14px; letter-spacing:2px;
}
.oll26 .star-off {
  color:var(--line); font-size:14px; letter-spacing:2px;
}
.oll26 .dlg-ov {
  position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center;
    background:rgba(18,18,22,.46); padding:24px;
}
.oll26 .dlg-ov.is-open {
  display:flex;
}
.oll26 .dlg {
  width:min(560px, 94vw); max-height:calc(100vh - 48px); overflow-y:auto;
    background:var(--grp); border-radius:20px; box-shadow:0 40px 90px -30px rgba(10,14,16,.55);
    display:flex; flex-direction:column;
}
.oll26 .dlg-hd {
  padding:18px 20px 0; font-size:17px; font-weight:600; letter-spacing:0; color:var(--ink);
}
.oll26 .dlg-bd {
  padding:14px 20px 4px;
}
.oll26 .dlg-ft {
  display:flex; justify-content:flex-end; gap:8px; padding:14px 20px 18px;
}
.oll26 .fseg {
  display:flex; background:var(--neu-bg); border-radius:999px; padding:3px; margin-bottom:16px;
}
.oll26 .fseg span {
  flex:1; height:32px; border-radius:999px; font-size:12.5px; font-weight:600;
    display:inline-flex; align-items:center; justify-content:center; color:var(--sub); cursor:pointer;
}
.oll26 .fseg span.on {
  background:var(--grp); color:var(--ink); box-shadow:0 1px 3px rgba(15,23,25,.14);
}
.oll26 .frow {
  margin-bottom:14px;
}
.oll26 .frow2 {
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.oll26 .flbl {
  display:block; font-size:12px; font-weight:600; color:var(--menu-ink); margin-bottom:6px;
}
.oll26 .freq {
  color:var(--bad-ink);
}
.oll26 .fhint {
  font-size:11.5px; color:var(--ter); margin:-2px 0 8px;
}
.oll26 .fin {
  width:100%; height:40px; border-radius:11px; border:1px solid var(--line); background:var(--surface);
    color:var(--ink); font-family:inherit; font-size:13.5px; padding:0 12px;
}
.oll26 .fin:focus {
  outline:0; border-color:var(--brand); box-shadow:0 0 0 3px var(--wash);
}
.oll26 textarea.fin {
  height:76px; padding:10px 12px; resize:vertical;
}
.oll26 .fsel {
  position:relative;
}
.oll26 .fsel-menu {
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:8; max-height:216px; overflow-y:auto;
    background:var(--grp); border:1px solid var(--line); border-radius:12px; padding:5px;
    box-shadow:0 20px 50px -20px rgba(10,14,16,.4);
}
.oll26 .fsel-menu[hidden] {
  display:none;
}
.oll26 .fopt {
  display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px;
    border-radius:8px; font-size:13px; color:var(--ink); cursor:pointer;
}
.oll26 .fopt:hover {
  background:var(--hover);
}
.oll26 .fopt .ok-ic {
  visibility:hidden; color:var(--brand);
}
.oll26 .fopt.is-sel .ok-ic {
  visibility:visible;
}
.oll26 .fsel-person {
  display:flex; align-items:center; gap:8px; min-width:0;
}
.oll26 .fsel-person [data-ed-stafflabel],
.oll26 .fsel-person .fopt-nm {
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.oll26 .mini-av {
  flex:none; width:22px; height:22px; border-radius:50%; background:var(--av-bg); color:var(--av-ink);
    display:inline-flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; letter-spacing:.02em;
}
.oll26 .fopt .fsel-person {
  flex:1;
}
.oll26 .fopt-star {
  flex:none; width:26px; height:26px; margin-right:2px; display:flex; align-items:center; justify-content:center;
    border:0; background:transparent; color:var(--ter); border-radius:6px; cursor:pointer;
}
.oll26 .fopt-star:hover {
  background:var(--hover); color:var(--sub);
}
.oll26 .fopt-star.is-on {
  color:var(--gold);
}
.oll26 .fopt-star.is-on svg {
  fill:currentColor;
}
.oll26 .ed-staffpref {
  color:var(--gold); margin-left:4px;
}
.oll26 .ed-staffpref svg {
  vertical-align:-1px;
}
.oll26 .ed-staffpref[hidden] {
  display:none;
}
.oll26 .sevrow {
  display:flex; gap:6px;
}
.oll26 .sev {
  flex:1; display:flex; align-items:center; justify-content:center; gap:7px; height:38px;
    border:1px solid var(--line); border-radius:999px; font-size:12.5px; font-weight:600; color:var(--sub); cursor:pointer;
}
.oll26 .sev i {
  width:8px; height:8px; border-radius:50%;
}
.oll26 .sev--mild i {
  background:var(--status-confirmed);
}
.oll26 .sev--moderate i {
  background:var(--status-pending);
}
.oll26 .sev--severe i {
  background:#FB923C;
}
.oll26 .sev--fatal i {
  background:var(--status-cancelled);
}
.oll26 .sev.on {
  border-color:var(--brand); color:var(--ink); box-shadow:0 0 0 3px var(--wash);
}
.oll26 .notehd {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:6px;
}
.oll26 .ncount {
  font-size:11px; font-weight:600; color:var(--ter);
}
.oll26 .riskprev {
  display:flex; align-items:center; gap:8px; margin:2px 0 6px; font-size:12px; color:var(--ter);
}
.oll26 .bov {
  position:fixed; inset:0; z-index:90; display:none; justify-content:flex-end; background:rgba(18,18,22,.42);
}
.oll26 .bov.is-open {
  display:flex;
}
.oll26 .bwiz {
  width:min(760px,94vw); height:calc(100vh - 24px); margin:12px 12px 12px 0; border-radius:20px;
    background:var(--surface); box-shadow:-18px 0 60px -18px rgba(15,18,28,.42);
    display:flex; flex-direction:column; overflow:hidden;
    animation:oll26-slidein .24s cubic-bezier(.2,.7,.2,1);
}
.oll26 .bbar {
  display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line);
    background:var(--surface);
}
.oll26 .bbar-cancel {
  border:0; background:none; color:var(--wash-ink); font-family:inherit; font-size:13px;
    font-weight:600; cursor:pointer; padding:6px 8px; border-radius:var(--ds-button-radius);
}
.oll26 .bbar-cancel:hover {
  background:var(--hover);
}
.oll26 .bbar-t {
  flex:1; font-size:14.5px; font-weight:600; color:var(--ink); text-align:center;
}
.oll26 .bbar-min {
  width:30px; height:30px; border:0; border-radius:8px; background:none; color:var(--sub);
    display:grid; place-items:center; cursor:pointer;
}
.oll26 .bbar-min:hover {
  background:var(--hover);
}
.oll26 .bbody {
  flex:1; min-height:0; display:flex;
}
.oll26 .bcard {
  width:264px; flex:none; border-right:1px solid var(--line); padding:14px 12px; overflow-y:auto;
    background:var(--surface);
}
.oll26 .bmain {
  flex:1; min-width:0; overflow-y:auto; padding:16px 20px; background:var(--bg);
}
.oll26 .bstep[hidden] {
  display:none;
}
.oll26 .bfoot {
  display:flex; align-items:center; gap:10px; padding:12px 16px; border-top:1px solid var(--line);
    background:var(--surface);
}
.oll26 .b[disabled] {
  opacity:.45; pointer-events:none;
}
.oll26 .bdots {
  flex:1; display:flex; gap:5px; align-items:center; justify-content:center;
}
.oll26 .bdot {
  width:6px; height:6px; border-radius:50%; background:var(--neu-bg);
}
.oll26 .bdot.done {
  background:var(--brand); opacity:.45;
}
.oll26 .bdot.cur {
  background:var(--brand); opacity:1; width:7px; height:7px;
}
.oll26 .brow-pick {
  cursor:pointer;
}
.oll26 .slotstaff {
  display:flex; gap:6px; margin-bottom:12px;
}
.oll26 .slotgrid {
  display:flex; flex-wrap:wrap; gap:8px; padding:14px 16px;
}
.oll26 .slot {
  height:34px; padding:0 14px; border-radius:999px; border:1px solid var(--line); background:var(--grp);
    color:var(--ink); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer;
}
.oll26 .slot:hover {
  border-color:var(--brand);
}
.oll26 .slot.on {
  background:var(--brand); color:var(--on-brand); border-color:var(--brand);
}
.oll26 .datepills {
  display:flex; gap:6px; padding:0 0 12px; flex-wrap:wrap;
}
.oll26 .dpill {
  height:32px; padding:0 13px; border-radius:999px; border:1px solid var(--line); background:var(--grp);
    color:var(--sub); font-size:12px; font-weight:600; display:inline-flex; align-items:center; cursor:pointer;
}
.oll26 .dpill.on {
  background:var(--wash); color:var(--wash-ink); border-color:transparent;
}
.oll26 .bwiz {
  position:relative;
}
.oll26 .bsheet {
  position:absolute; inset:0; z-index:6; background:var(--surface); display:none; flex-direction:column;
}
.oll26 .bsheet.is-open {
  display:flex; animation:oll26-slidein .2s cubic-bezier(.2,.7,.2,1);
}
.oll26 .bsheet-hd {
  display:flex; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid var(--line);
}
.oll26 .bsheet-back {
  display:inline-flex; align-items:center; gap:5px; border:0; background:none; padding:6px 10px;
    border-radius:999px; color:var(--wash-ink); font-family:inherit; font-size:13px; font-weight:600; cursor:pointer;
}
.oll26 .bsheet-back:hover {
  background:var(--hover);
}
.oll26 .bsheet-t {
  font-size:14.5px; font-weight:600; color:var(--ink);
}
.oll26 .bsheet-bd {
  flex:1; min-height:0; overflow-y:auto; padding:14px 18px; background:var(--bg);
}
.oll26 .bsheet-ft {
  display:flex; align-items:center; gap:10px; padding:12px 16px; border-top:1px solid var(--line);
    background:var(--surface);
}
.oll26 .bitem {
  cursor:pointer;
}
.oll26 .bfoot-total {
  flex:1; font-size:12.5px; color:var(--ter);
}
.oll26 .bfoot-total b {
  color:var(--ink); font-weight:600;
}
.oll26 .bempty {
  padding:22px 16px; text-align:center; font-size:12.5px; color:var(--ter);
}
.oll26 .bdur {
  margin-left:auto; align-self:center; font-size:12.5px; color:var(--sub); font-variant-numeric:tabular-nums;
}
.oll26 .bdstat {
  border-radius:14px; padding:13px 16px; margin-bottom:16px;
}
.oll26 .bdstat-top {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.oll26 .bdstat-date {
  display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; cursor:pointer;
    font:inherit; font-size:16px; font-weight:600; letter-spacing:0; color:currentColor; padding:2px 5px; margin:-2px -5px; border-radius:8px;
}
.oll26 .bdstat-date:hover {
  background:rgba(127,127,127,.16);
}
.oll26 .bdstat-statuswrap {
  position:relative;
}
.oll26 .bdstat-pill {
  display:inline-flex; align-items:center; gap:6px; border:1.5px solid currentColor; background:transparent;
    color:currentColor; font:inherit; font-size:12px; font-weight:700; letter-spacing:.01em; padding:4px 10px; border-radius:999px; cursor:pointer;
}
.oll26 .bdstat-sub {
  margin-top:5px; font-size:12.5px; opacity:.85;
}
.oll26 .bdstat-menu {
  top:calc(100% + 6px); right:0; min-width:196px; color:var(--ink);
}
.oll26 .bdstat[data-status="booked"] {
  background:var(--app-theme-a-1200,rgba(47,111,235,.12));  color:var(--app-theme-accent,#2F6FEB);
}
.oll26 .bdstat[data-status="confirmed"] {
  background:var(--app-theme-a-1400,rgba(124,92,240,.14));  color:var(--app-theme-accent,#6D50E0);
}
.oll26 .bdstat[data-status="arrived"] {
  background:var(--warn-bg);        color:var(--warn-ink);
}
.oll26 .bdstat[data-status="started"] {
  background:var(--ok-bg);          color:var(--ok-ink);
}
.oll26 .bdstat[data-status="completed"],
.oll26 .bdstat[data-status="no_show"],
.oll26 .bdstat[data-status="cancelled"] {
  background:var(--neu-bg);         color:var(--sub);
}
:scope[data-app-theme="dark"] .oll26 .bdstat[data-status="booked"] {
  background:var(--app-theme-a-1600,rgba(96,150,255,.16));  color:var(--app-theme-line,#8FB4FF);
}
:scope[data-app-theme="dark"] .oll26 .bdstat[data-status="confirmed"] {
  background:var(--app-theme-a-1800,rgba(150,120,255,.18));  color:var(--app-theme-line,#B9A2FF);
}
.oll26 .bmore-wrap {
  position:relative;
}
.oll26 .bmore-btn {
  width:38px; height:38px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    border:1px solid var(--line); background:transparent; color:var(--sub); border-radius:var(--ds-button-radius-icon); cursor:pointer;
}
.oll26 .bmore-btn:hover,
.oll26 .bmore-btn[aria-expanded="true"] {
  background:var(--hover); color:var(--ink);
}
.oll26 .bmore-menu {
  top:auto; bottom:calc(100% + 8px); right:0; min-width:200px;
}
.oll26 .stfrow {
  display:flex; gap:8px;
}
.oll26 .stfrow .fsel {
  flex:1; min-width:0;
}
.oll26 .favbtn,
.oll26 .icobtn {
  width:40px; height:40px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    border:1px solid var(--line); border-radius:var(--ds-button-radius-icon); background:transparent; color:var(--sub); cursor:pointer;
}
.oll26 .favbtn:hover,
.oll26 .icobtn:hover {
  background:var(--hover);
}
.oll26 .favbtn.is-on {
  color:var(--brand); border-color:var(--brand);
}
.oll26 .favbtn.is-on svg {
  fill:currentColor;
}
.oll26 .icobtn.danger {
  color:var(--bad-ink);
}
.oll26 .icobtn.danger:hover {
  background:var(--bad-bg); border-color:transparent;
}
.oll26 .finwrap {
  position:relative;
}
.oll26 .finwrap .finpre {
  position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:13px; color:var(--sub); pointer-events:none;
}
.oll26 .finwrap .fin {
  padding-left:28px; width:100%;
}
.oll26 .xtra[hidden] {
  display:none !important;
}
.oll26 .bsucc {
  text-align:center; padding:36px 0 8px;
}
.oll26 .bsucc-ic {
  width:56px; height:56px; border-radius:50%; background:var(--ok-bg); color:var(--ok-ink);
    display:grid; place-items:center; margin:0 auto 14px;
}
.oll26 .bsucc-t {
  font-size:19px; font-weight:600; letter-spacing:0; color:var(--ink);
}
.oll26 .bsucc-s {
  font-size:13px; color:var(--sub); margin-top:4px;
}
.oll26 .bdraft {
  position:fixed; left:18px; bottom:18px; z-index:60; display:none; align-items:center; gap:9px;
    height:42px; padding:0 16px; border-radius:999px; background:#1B1D1F; color:#F2F4F4;
    font-size:12.5px; font-weight:600; cursor:pointer; box-shadow:0 14px 34px -12px rgba(0,0,0,.5);
}
.oll26 .bdraft.is-on {
  display:inline-flex;
}
.oll26 .bdraft i {
  width:7px; height:7px; border-radius:50%; background:#74D8CD;
}
.oll26 .bconfirm {
  position:fixed; inset:0; z-index:130; display:none; align-items:center; justify-content:center;
    background:rgba(18,18,22,.46);
}
.oll26 .bconfirm.is-open {
  display:flex;
}
.oll26 .morewrap {
  position:relative;
}
.oll26 .menu {
  position:absolute; top:calc(100% + 8px); right:0; z-index:80; min-width:232px;
    background:var(--grp); border:1px solid var(--line); border-radius:14px; padding:6px;
    box-shadow:0 24px 60px -24px rgba(15,23,25,.4);
}
.oll26 .menu[hidden] {
  display:none;
}
.oll26 .mi2 {
  display:flex; align-items:center; gap:11px; height:36px; padding:0 12px; border-radius:9px;
    font-size:13.5px; font-weight:500; color:var(--ink); cursor:pointer;
}
.oll26 .mi2 svg {
  color:var(--sub); flex:none;
}
.oll26 .mi2:hover {
  background:var(--hover);
}
.oll26 .mi2.danger {
  color:var(--bad-ink);
}
.oll26 .mi2.danger svg {
  color:var(--bad-ink);
}
.oll26 .msep {
  height:1px; background:var(--line); margin:6px 4px;
}
.oll26 .hero {
  padding:20px 22px 18px;
}
.oll26 .hero-top {
  display:flex; align-items:flex-start; gap:12px;
}
.oll26 .hero-main {
  flex:1; min-width:0;
}
.oll26 .hero-big {
  font-size:22px; font-weight:600; letter-spacing:0; color:var(--ink);
}
.oll26 .hero-big.warn {
  color:var(--warn-ink);
}
.oll26 .hero-sub {
  font-size:13px; color:var(--sub); margin-top:4px;
}
.oll26 .hero-acts {
  display:flex; gap:8px; margin-top:16px;
}
.oll26 .b.sm {
  height:34px; padding:0 14px; font-size:12.5px;
}
.oll26 .b.ghost {
  background:none; border:1px solid var(--line); color:var(--ink);
}
.oll26 .lr {
  display:flex; align-items:center; gap:10px; padding:14px 18px; text-decoration:none; cursor:pointer;
}
.oll26 .lr + .lr {
  border-top:1px solid var(--line2);
}
.oll26 .lr:hover {
  background:var(--hover);
}
.oll26 .lk {
  flex:1; font-size:13.5px; font-weight:500; color:var(--ink);
}
.oll26 .lv {
  font-size:13.5px; font-weight:600; color:var(--ink);
}
.oll26 .lv.warn {
  color:var(--warn-ink);
}
.oll26 .lv .st {
  color:var(--gold);
}
.oll26 .lvs {
  color:var(--ter); font-weight:500;
}

/* ---- drawer density (production is always a drawer → these win, emitted last) ---- */
.oll26 .zbody {
  flex:1; min-height:0;
}
.oll26 .z4 {
  overflow-y:auto;
}
.oll26 .z5 {
  overflow-y:auto;
}
.oll26 .z4 {
  width:200px; padding:10px 8px;
}
.oll26 .z4 .ni {
  height:33px; font-size:13px; padding:0 10px;
}
.oll26 .z4 .nsub .ni {
  height:30px; font-size:12.5px; padding-left:22px;
}
.oll26 .z1 {
  padding:12px 16px; gap:12px;
}
.oll26 .av {
  width:48px; height:48px; font-size:17px;
}
.oll26 .nm {
  font-size:19px;
}
.oll26 .ct {
  font-size:12px;
}
.oll26 .acts .b {
  height:36px; padding:0 15px; font-size:13px;
}
.oll26 .acts .b.icon {
  width:36px; padding:0;
}
.oll26 .z2 {
  padding:8px 16px; font-size:12px;
}
.oll26 .z5 {
  padding:14px 18px 18px;
}
.oll26 .zc {
  max-width:none;
}
.oll26 .hero {
  padding:16px 18px 14px;
}
.oll26 .hero-big {
  font-size:19px;
}
.oll26 .lr {
  padding:12px 16px;
}
.oll26 .sech {
  margin:20px 4px 8px;
}
.oll26 .ap {
  padding:11px 14px;
}

/* ==========================================================================
   Staff profile (drawer-first, 2026-07-17) — rides the oll26 design system
   (ollira-2026-drawer.css) exactly like the client profile, with ONE change:
   the accent ladder is BLUE («մեր կապույտը» #006de9 — Armen: staff is blue,
   never teal). `.stfb` is a co-class on the same root as `.oll26`, so every
   var(--brand)/var(--wash) consumer in the shared system re-tints itself —
   one cascade, zero duplicated component rules.
   ========================================================================== */

/* ---- accent override: light ---- */
.oll26.stfb {
    --brand:var(--app-theme-accent,#006de9); --on-brand:#FFFFFF;
    --wash:var(--app-theme-wash-soft,#E8F1FD);  --wash-ink:var(--app-theme-accent,#005BB8);
    --av-bg:var(--app-theme-wash,#DCE9FA); --av-ink:var(--app-theme-accent,#2F4A6E);
    --chart-fill:var(--app-theme-a-1000,rgba(0, 109, 233,.10));
}

/* ---- accent override: dark ---- */
:scope[data-app-theme="dark"] .oll26.stfb {
    --brand:var(--app-theme-accent-hover,#6CB6FF); --on-brand:#0A1018;
    --wash:var(--app-theme-a-1800,rgba(0, 109, 233,.18)); --wash-ink:var(--app-theme-line,#8FC7FF);
    --av-bg:var(--app-theme-fill-hover,#1E3050); --av-ink:var(--app-theme-line,#A9C8F0);
    --chart-fill:var(--app-theme-a-1000,rgba(108,182,255,.10));
}

/* ---- structural base (2026-07-17 fix: «դիզայնը փլված ա») ------------------
   The client shell gets these from client-profile-surface.css, which the staff
   shell deliberately does NOT load. Without them the app's global link
   underline leaked onto every .ni/.b/.lr and the Z1 band stacked vertically.
   Same rules, scoped to the staff root. */
.cdxp.oll26.stfb {
    display:flex; flex-direction:column; min-height:100%;
    background:var(--surface); color:var(--ink);
    font-family:'Inter', -apple-system, 'Segoe UI', system-ui, sans-serif;
    -webkit-font-smoothing:antialiased;
}
.cdxp-drawer-root .cdxp.oll26.stfb { height:100%; }
.cdxp.oll26.stfb .zbody { flex:1; min-height:0; }
.cdxp.oll26.stfb .z4 { overflow-y:auto; }
.cdxp.oll26.stfb .z5 { overflow-y:auto; overflow-x:hidden; }
.cdxp.oll26.stfb .zc, .cdxp.oll26.stfb .cdxp__content { max-width:100%; }

/* oll26 links are styled components — kill the app's default underline. */
.cdxp.oll26.stfb a { text-decoration:none; }
.cdxp.oll26.stfb a:hover { text-decoration:none; }

/* Neutralize any legacy content-surface frame inside Z5. */
.cdxp.oll26.stfb .cdxp__content { background:none; border:0; box-shadow:none; padding:0; margin:0; min-height:0; overflow-x:hidden; }
.cdxp.oll26.stfb .cdxp__content::before,
.cdxp.oll26.stfb .cdxp__content::after { content:none; display:none; }

/* Z1 identity band — Apple layout (same as the client shell): avatar + name +
   actions on a .z1-top row, chips on their own full-width row beneath. */
.cdxp.oll26.stfb .z1 { flex-direction:column; align-items:stretch; gap:10px; }
.cdxp.oll26.stfb .z1-top { display:flex; align-items:center; gap:14px; }
.cdxp.oll26.stfb .z1 .av { position:relative; overflow:hidden; flex:none; width:64px; height:64px; font-size:23px; align-self:center; margin-top:0; }
.cdxp.oll26.stfb .z1 .av img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cdxp.oll26.stfb .z1 .idb { flex:1; min-width:0; }
.cdxp.oll26.stfb .z1 .acts { flex:none; }

/* Actions ▾ trigger — wear the drawer's own button language (the .b.neu pill),
   not the generic global oll-actions chrome (Armen 2026-07-18: «հին դիզայն»).
   A clean neutral pill that sits at home next to the blue "Edit hours" etc. */
.oll26.stfb .acts .oll-actions { display:inline-flex; }
.oll26.stfb .acts .oll-actions__trigger {
    height:40px; padding:0 16px; border-radius:var(--ds-button-radius);
    background:var(--grp); color:var(--ink); border:1px solid var(--line);
    font-family:inherit; font-size:13.5px; font-weight:600; letter-spacing:0;
    display:inline-flex; align-items:center; gap:7px; cursor:pointer;
    box-shadow:none; transition:filter .12s ease, background .12s ease;
}
.oll26.stfb .acts .oll-actions__trigger:hover { background:var(--grp); filter:brightness(.97); }
.oll26.stfb .acts .oll-actions__trigger[aria-expanded="true"] { filter:brightness(.95); }
.oll26.stfb .acts .oll-actions__caret { width:14px; height:14px; opacity:.55; }
/* Completeness dot on the pill: sit ON the rounded top-right corner (half on the
   button, half outside) — the pill's radius curves the corner inward, so the
   global top:0/right:0 anchor floats detached. The 40px pill's 45° cap point is
   ~6px in from each edge (Armen 2026-07-18). */
.oll26.stfb .acts .oll-actions__flag { top:6px; right:6px; transform:translate(50%,-50%); }
.cdxp.oll26.stfb .z1 .chips { margin:0; }

/* Inside the overlay drawer: identity scale parity with the booking/client
   drawers (48px avatar + 16px name — the .stfb base rule above would otherwise
   out-specificity client-profile-drawer.css's shared override). */
.cpd-panel .cdxp.oll26.stfb .z1 .av { width:48px; height:48px; font-size:17px; }
.cpd-panel .cdxp.oll26.stfb .z1 .nm { font-size:16px; }

/* ---- Z1 chips: status tones ---- */
.oll26.stfb .chip--ok { background:var(--ok-bg); color:var(--ok-ink); }
.oll26.stfb .chip--ok i { background:var(--ok-ink); }
.oll26.stfb .chip--off { background:var(--neu-bg); color:var(--neu-ink); }
.oll26.stfb .chip--off i { background:var(--neu-ink); }

/* ---- Z2 access strip: brand-wash (Fresha's lilac "Grant access" banner),
   not the amber/red clinical tones of the client safety strip. ---- */
.oll26.stfb .z2--access { background:var(--wash); color:var(--wash-ink); }
.oll26.stfb .z2--access:hover { filter:brightness(.985); }
.oll26.stfb .z2--access .go { color:var(--wash-ink); }

/* ---- Z4 rail footer meta (Staff ID · Since) ---- */
.oll26.stfb .nmeta { font-size:11.5px; color:var(--ter); padding:2px 6px; }

/* ---- section header with a trailing action link ---- */
.oll26.stfb .sech--row { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.oll26.stfb .slink { font-size:12px; font-weight:600; color:var(--brand); text-decoration:none; letter-spacing:0; text-transform:none; }
.oll26.stfb .slink:hover { text-decoration:underline; }

/* ---- compliance flag (license expiring / expired) ---- */
.oll26.stfb .stfp-flag { display:flex; align-items:center; gap:9px; margin:0 0 14px; padding:11px 14px;
    border-radius:13px; font-size:12.5px; text-decoration:none; }
.oll26.stfb .stfp-flag--expiring { background:var(--warn-bg); color:var(--warn-ink); }
.oll26.stfb .stfp-flag--expired { background:var(--bad-bg); color:var(--bad-ink); }
.oll26.stfb .stfp-flag svg { flex:none; }
.oll26.stfb .stfp-flag .sp { flex:1; }
.oll26.stfb .stfp-flag .go { font-weight:700; }
.oll26.stfb .stfp-flag:hover { filter:brightness(.985); }

/* ---- roster niceties ---- */
.oll26.stfb .stfp-off { color:var(--ter); font-weight:500; }
.oll26.stfb .stfp-now { display:inline-block; margin-left:7px; padding:1px 7px; border-radius:999px;
    background:var(--wash); color:var(--wash-ink); font-size:10.5px; font-weight:700; letter-spacing:.02em;
    text-transform:uppercase; vertical-align:1px; }
.oll26.stfb .lr.stfp-today .lk { color:var(--ink); font-weight:600; }
.oll26.stfb .stfp-sum { color:var(--sub); font-size:12px; }

/* ---- workspace: assigned services (category → chips) ---- */
.oll26.stfb .stfp-svc { padding:14px 16px 16px; display:flex; flex-direction:column; gap:10px; }
.oll26.stfb .stfp-svc-cat { display:flex; align-items:center; gap:7px; font-size:11px; font-weight:700;
    letter-spacing:.05em; text-transform:uppercase; color:var(--ter); }
.oll26.stfb .stfp-svc-cat .nbadge { background:var(--neu-bg); color:var(--neu-ink); font-size:10.5px;
    border-radius:999px; padding:1px 7px; font-weight:600; }
.oll26.stfb .stfp-svc-chips { display:flex; flex-wrap:wrap; gap:6px; }
.oll26.stfb .stfp-svc-chips .chip { background:var(--neu-bg); color:var(--neu-ink); }
.oll26.stfb .stfp-svc-chips .chip i { background:var(--brand); }

/* ---- "Primary" mini pill (Works at) ---- */
.oll26.stfb .pillmini { display:inline-block; margin-left:8px; padding:1px 8px; border-radius:999px;
    background:var(--wash); color:var(--wash-ink); font-size:10.5px; font-weight:700; vertical-align:1px; }

/* ---- edit drawer (.sted-panel): host the .pedit fragment in the cpd chrome.
   The fragment's own look comes from staff-edit-drawer.css (V4 parity); here we
   only own the container: the body scrolls the form, full height, surface bg. */
.sted-panel .cpd-body { overflow-y:auto; -webkit-overflow-scrolling:touch; background:var(--surface); }
.sted-panel .cpd-body .pedit-drawer-root { min-height:100%; }
/* The V4 host renders its own header from the fragment's hidden <header>; in the
   cpd chrome our nav bar does that job — keep the duplicate hidden either way. */
.sted-panel [data-cal-v4-drawer-header] { display:none !important; }

/* ═══ EDIT v2 — the cform-grammar fragment («կլենտի դիզայնի նման», 2026-07-17).
   Structure/skin comes from the GLOBAL client-form stack (create.css +
   client-form.css + ollira-cform-drawer.css, --cf-* tokens incl. dark); the
   rules below own only what is staff-specific. ═══ */

/* The v2 fragment carries its own cform topbar (‹ back · title · Save) —
   the panel's generic nav bar would be a second header. */
.sted-panel.sted-ownchrome .cpd-nav { display:none; }
.sted-panel.sted-ownchrome .cpd-body { overflow:hidden; } /* .cform-main owns the scroll */
.sted-panel.sted-ownchrome .cpd-body .pedit-drawer-root { height:100%; min-height:0; }

/* Wider panel for the two-column field grid — matches the client edit drawer feel. */
.sted-panel.sted-ownchrome { width:min(860px, 92vw); }

/* Top save: an ink pill in the topbar (client form uses the same button family). */
.sted2-root .sted2-topsave { margin-left:auto; }
.sted2-root .sted2-topsave[hidden] { display:none; }

/* Profile photo = the shared client avatar control (client-avatar.css owns it;
   pencil badge, initials tints, preview). A touch of air beneath it here. */
.sted2-root .cform-avatar { margin:0 0 20px; }

/* Textareas grow, never sideways. */
.sted2-root .sted2-ta { resize:vertical; min-height:76px; line-height:1.5; }

/* Calendar-bookings switch (clean iOS toggle on the --cf ladder). */
.sted2-root .sted2-switchrow { margin:6px 0 4px; }
.sted2-root .sted2-switch { display:flex; align-items:flex-start; gap:12px; cursor:pointer; }
.sted2-root .sted2-switch input { position:absolute; opacity:0; width:1px; height:1px; }
.sted2-root .sted2-switch__track { flex:none; width:40px; height:24px; margin-top:1px; border-radius:999px;
    background:rgba(120,120,128,.28); position:relative; transition:background .18s ease; }
.sted2-root .sted2-switch__thumb { position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%;
    background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .18s ease; }
.sted2-root .sted2-switch input:checked + .sted2-switch__track { background:var(--cf-brand, var(--app-theme-fill,#006de9)); }
.sted2-root .sted2-switch input:checked + .sted2-switch__track .sted2-switch__thumb { transform:translateX(16px); }
.sted2-root .sted2-switch input:focus-visible + .sted2-switch__track { box-shadow:0 0 0 3px var(--cf-wash, var(--app-theme-wash-soft,#e8f1fd)); }
.sted2-root .sted2-switch__text { display:flex; flex-direction:column; gap:2px; font-size:13.5px; color:var(--cf-ink, #16181a); }
.sted2-root .sted2-switch__text b { font-weight:600; }
.sted2-root .sted2-switch__text small { color:var(--cf-sub, #5f6a6e); font-size:12px; }

.sted2-root .sted2-payhint { margin-top:4px; }

/* ---- Address: the shared client address BOOK (caddr card + «Add new address»
   + the full-width caddrm sheet with the map) — every bit of skin comes from
   client-form.css / ollira-cform-drawer.css. Only the staff single-address
   gate lives here (the book's Add row hides once the one address exists). */
.cpd-body .sted2-root .caddr__add[hidden] { display:none; } /* out-specify ollira-cform-drawer's .cpd-body … .caddr__add{display:flex} */
/* staff sheet: NO Home/Work/Other type switcher (Armen 2026-07-17) — the group
   stays in the DOM for the shared book JS, but never paints (client-form.css
   sets an explicit display on it, which beats the bare [hidden] attribute). */
.sted2-root .caddrm .caddrm__typegroup[hidden] { display:none; }

/* Services / Schedule islands: the reused pedit partials arrive inside a
   .pedit-wrap shell — neutralize its page chrome; the island fills the section. */
.sted2-root .sted2-islandwrap { padding:0; margin:0; background:none; border:0; box-shadow:none; max-width:none; }
.sted2-root .sted2-islandwrap .pedit-panel { padding:0; margin:0; background:none; border:0; box-shadow:none; }
.staff-history-empty { padding: 2.5rem 0; text-align: center; color: var(--ds-color-text-secondary, #86868b); }
.staff-history-empty__message { margin: .75rem 0 0; font-size: var(--dk-type-table-size, 13px); }
/* Search + groups read as cards on the --cf canvas. */
.sted2-root .sted2-islandwrap .staff-svc-group { background:var(--cf-grp, #fff); border-radius:14px; box-shadow:var(--cf-card-shadow, none); }
.sted2-root .sted2-islandwrap .staff-svc-group + .staff-svc-group { margin-top:8px; }
/* Island footers are in-flow (the drawer variants expect a fixed V4 footer). */
.sted2-root .sted2-islandwrap .pedit-services-footer,
.sted2-root .sted2-islandwrap .pedit-schedule-footer { position:static; margin-top:14px; padding:0; background:none; border:0; box-shadow:none; }

/* ---- personal: notes blocks ---- */
.oll26.stfb .stfp-notes { padding:14px 16px 16px; display:flex; flex-direction:column; gap:12px; }
.oll26.stfb .stfp-note-k { font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
    color:var(--ter); margin-bottom:4px; }
.oll26.stfb .stfp-note-v { font-size:13px; line-height:1.55; color:var(--ink); }

}
