body.bonjour-staff-standalone { margin: 0; min-height: 100vh; background: #f7f3eb; color: #38332b; }
body.bonjour-staff-confirm-open { overflow:hidden; }
#bonjour-staff-app { min-height: 100vh; }
.bonjour-staff, .bonjour-staff * { box-sizing: border-box; }
.bonjour-staff { --ink:#38332b; --muted:#756d61; --gold:#948260; --cream:#eee5d6; --line:#d8cdbd; width:min(1180px, calc(100% - 32px)); margin:0 auto; padding:28px 0 64px; font-family:"Tenor Sans",sans-serif; color:var(--ink); }
.bonjour-staff a { text-decoration:none; }
.bonjour-staff__header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.bonjour-staff__header span, .bonjour-staff__login > span { color:var(--gold); font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.bonjour-staff__header h1 { margin:6px 0 0; font-size:clamp(32px,5vw,58px); font-weight:400; line-height:1; }
.bonjour-staff__header > a, .bonjour-staff__back { color:var(--muted); }
.bonjour-staff__tabs { display:flex; gap:8px; margin:0 0 20px; padding:5px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.bonjour-staff__tabs a { flex:1; padding:13px 18px; border-radius:13px; color:var(--muted); text-align:center; }
.bonjour-staff__tabs a.is-active { background:var(--gold); color:#fff; }
.bonjour-staff__search { padding:clamp(22px,4vw,38px); border-radius:26px; background:#fff; box-shadow:0 16px 44px rgba(70,57,39,.08); }
.bonjour-staff__search label { display:block; margin-bottom:12px; font-size:22px; }
.bonjour-staff__search > div { display:grid; grid-template-columns:1fr auto; gap:10px; }
.bonjour-staff__phone-field { display:flex; align-items:center; min-height:58px; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }
.bonjour-staff__phone-field:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(148,130,96,.14); }
.bonjour-staff__phone-field > span { display:flex; align-items:center; align-self:stretch; padding:0 0 0 18px; color:var(--ink); font-size:20px; }
.bonjour-staff input, .bonjour-staff select { width:100%; min-height:58px; padding:12px 18px; border:1px solid var(--line); border-radius:15px; background:#fff; color:var(--ink); font:19px/1.2 "Tenor Sans",sans-serif; outline:none; }
.bonjour-staff input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(148,130,96,.14); }
.bonjour-staff .bonjour-staff__phone-field input { min-width:0; border:0; border-radius:0; box-shadow:none !important; }
.bonjour-staff .bonjour-staff__phone-field select { width:112px; min-width:112px; border:0; border-right:1px solid var(--line); border-radius:0; background:var(--cream); box-shadow:none; cursor:pointer; }
.bonjour-staff button, .bonjour-staff__search button, .bonjour-staff__login > a { min-height:58px; padding:14px 26px; border:0; border-radius:15px; background:var(--gold); color:#fff; font:18px/1.2 "Tenor Sans",sans-serif; cursor:pointer; }
.bonjour-staff button:disabled { opacity:.45; cursor:not-allowed; }
.bonjour-staff__results { display:grid; gap:10px; margin-top:18px; }
.bonjour-staff__results > a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 22px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--ink); }
.bonjour-staff__results strong, .bonjour-staff__results span { display:block; }
.bonjour-staff__results strong { font-size:21px; font-weight:400; }
.bonjour-staff__results span { margin-top:5px; color:var(--muted); }
.bonjour-staff__results b { color:var(--gold); font-size:19px; font-weight:400; }
.bonjour-staff__empty, .bonjour-staff__notice { padding:18px 22px; border-radius:16px; background:#fff; }
.bonjour-staff__search + .bonjour-staff__empty { margin-top:14px; }
.bonjour-staff__create { margin-top:14px; border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.bonjour-staff__create summary { padding:17px 22px; color:var(--gold); font-size:18px; cursor:pointer; }
.bonjour-staff__create form { display:grid; grid-template-columns:1.1fr 1fr .7fr auto; gap:12px; align-items:end; padding:0 22px 22px; }
.bonjour-staff__create label { color:var(--muted); }
.bonjour-staff__create label > input, .bonjour-staff__create label > span { margin-top:7px; }
.bonjour-staff__create label small { display:block; margin-top:3px; font-size:12px; }
.bonjour-staff__notice { margin-bottom:18px; }
.bonjour-staff__notice.is-success { background:#e8f2e7; color:#3e6943; }
.bonjour-staff__notice.is-error { background:#f8e7e3; color:#8b463c; }
.bonjour-staff__requests { margin:0 0 18px; padding:clamp(20px,3vw,30px); border-radius:24px; background:#fff; box-shadow:0 16px 44px rgba(70,57,39,.08); }
.bonjour-staff__requests h2 { margin:0 0 14px; font-size:28px; font-weight:400; }
.bonjour-staff__requests h2 span { display:inline-grid; place-items:center; min-width:32px; height:32px; border-radius:50%; background:var(--gold); color:#fff; font-size:16px; }
.bonjour-staff__requests article { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:14px 0; border-top:1px solid #eee7dc; }
.bonjour-staff__requests article div > * { display:block; }
.bonjour-staff__requests article span, .bonjour-staff__requests article small { margin-top:4px; color:var(--muted); }
.bonjour-staff__requests article b { color:var(--gold); font-weight:400; }
.bonjour-staff__requests article form { display:flex; gap:7px; }
.bonjour-staff__requests article button { min-height:42px; padding:9px 14px; font-size:15px; }
.bonjour-staff__requests article button.is-secondary { border:1px solid var(--line); background:#fff; color:var(--ink); }
.bonjour-staff__customer { margin-top:20px; }
.bonjour-staff__back { display:inline-block; margin-bottom:16px; }
.bonjour-staff__customer-top { display:grid; grid-template-columns:1.4fr .8fr; gap:20px; padding:clamp(24px,4vw,40px); border-radius:26px; background:linear-gradient(135deg,#a28f69,#756548); color:#fff; box-shadow:0 18px 50px rgba(70,57,39,.18); }
.bonjour-staff__customer-top span, .bonjour-staff__customer-top small { display:block; opacity:.82; }
.bonjour-staff__customer-top h2 { margin:7px 0 10px; font-size:clamp(30px,5vw,52px); font-weight:400; line-height:1.05; }
.bonjour-staff__customer-top h2 { color:#fff !important; }
.bonjour-staff__customer-top a { color:#fff; font-size:19px; }
.bonjour-staff__balance { text-align:right; }
.bonjour-staff__balance strong { display:block; margin:5px 0; font-size:clamp(46px,8vw,76px); font-weight:400; line-height:1; }
.bonjour-staff__operations { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }
.bonjour-staff__approval { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; padding:clamp(22px,3.5vw,34px); border:1px solid #c6a96e; border-radius:24px; background:#fff8e9; }
.bonjour-staff__approval span { color:#9a7430; font-size:13px; letter-spacing:.1em; text-transform:uppercase; }
.bonjour-staff__approval h3 { margin:7px 0; font-size:28px; font-weight:400; }
.bonjour-staff__approval p { max-width:680px; margin:0; color:var(--muted); line-height:1.5; }
.bonjour-staff__approval button { flex:0 0 auto; }
.bonjour-staff__operations form, .bonjour-staff__history { padding:clamp(22px,3.5vw,34px); border:1px solid var(--line); border-radius:24px; background:#fff; }
.bonjour-staff__operations h3, .bonjour-staff__history h3 { margin:0; font-size:27px; font-weight:400; }
.bonjour-staff__operations p { min-height:44px; margin:9px 0 20px; color:var(--muted); }
.bonjour-staff__operations label { display:block; color:var(--muted); }
.bonjour-staff__operations label input { margin-top:7px; }
.bonjour-staff__operations select { margin-top:7px; }
.bonjour-staff__operations select option.is-available { color:#397447; }
.bonjour-staff__operations select option.is-unavailable { color:#a44942; }
.bonjour-staff__operations button { width:100%; margin-top:18px; }
.bonjour-staff__preview { min-height:24px; margin-top:12px; padding:13px 15px; border:1px solid var(--line); border-radius:12px; background:#fbf8f2; color:var(--gold); text-align:center; transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease; }
.bonjour-staff__preview.is-calculated { border-color:#bca477; background:#f0e5d3; color:var(--ink); font-size:18px; box-shadow:0 8px 20px rgba(72,55,34,.09); }
.bonjour-staff__history { margin-top:18px; }
.bonjour-staff__history h3 { margin-bottom:12px; }
.bonjour-staff__history > div { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; border-top:1px solid #eee7dc; }
.bonjour-staff__history span, .bonjour-staff__history small { display:block; }
.bonjour-staff__history small { margin-top:3px; color:var(--muted); }
.bonjour-staff__history b { font-size:20px; font-weight:400; }
.bonjour-staff__history .is-positive { color:#4c7550; }
.bonjour-staff__history .is-negative { color:#9a4c44; }
.bonjour-staff__registry { padding:clamp(22px,4vw,38px); border-radius:26px; background:#fff; box-shadow:0 16px 44px rgba(70,57,39,.08); }
.bonjour-staff__registry-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.bonjour-staff__registry-heading span { color:var(--gold); font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.bonjour-staff__registry-heading h2 { margin:6px 0 0; font-size:clamp(28px,4vw,42px); font-weight:400; }
.bonjour-staff__registry-heading > b { display:grid; place-items:center; min-width:48px; height:48px; border-radius:50%; background:var(--cream); color:var(--gold); font-size:20px; font-weight:400; }
.bonjour-staff__registry-list { display:grid; gap:13px; }
.bonjour-staff__registry-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; padding:20px; border:1px solid var(--line); border-radius:20px; background:#fbf8f2; }
.bonjour-staff__registry-main > span { color:var(--muted); font-size:14px; }
.bonjour-staff__registry-main h3 { margin:7px 0 4px; font-size:23px; font-weight:400; }
.bonjour-staff__registry-main > a { color:var(--gold); }
.bonjour-staff__registry-main ul { margin:14px 0 0; padding-left:20px; color:var(--muted); }
.bonjour-staff__registry-main li + li { margin-top:5px; }
.bonjour-staff__registry-summary { min-width:260px; text-align:right; }
.bonjour-staff__registry-summary > span, .bonjour-staff__registry-summary > strong, .bonjour-staff__registry-summary > small { display:block; }
.bonjour-staff__registry-summary > strong { margin:5px 0; color:var(--gold); font-size:25px; font-weight:400; }
.bonjour-staff__registry-summary > small { color:var(--muted); }
.bonjour-staff__registry-summary form { display:flex; gap:7px; margin-top:15px; }
.bonjour-staff__registry-summary button { min-height:44px; padding:10px 15px; font-size:15px; }
.bonjour-staff__registry-summary button.is-approve { background:#55785a; }
.bonjour-staff__registry-summary button.is-reject { border:1px solid #b7756e; background:#fff; color:#934c45; }
.bonjour-staff__clients { margin-top:22px; padding:clamp(22px,4vw,38px); border-radius:26px; background:#fff; box-shadow:0 16px 44px rgba(70,57,39,.08); }
.bonjour-staff__clients-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.bonjour-staff__clients-heading span { color:var(--gold); font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.bonjour-staff__clients-heading h2 { margin:6px 0 0; font-size:clamp(28px,4vw,42px); font-weight:400; }
.bonjour-staff__clients-heading > b { display:grid; place-items:center; min-width:48px; height:48px; border-radius:50%; background:var(--cream); color:var(--gold); font-size:20px; font-weight:400; }
.bonjour-staff__clients-table { overflow:hidden; border:1px solid var(--line); border-radius:18px; }
.bonjour-staff__clients-row { display:grid; grid-template-columns:1.2fr .95fr 1fr .72fr .95fr 1.25fr; gap:12px; align-items:center; padding:15px 18px; border-top:1px solid #eee7dc; color:var(--ink); }
.bonjour-staff__clients-row:first-child { border-top:0; }
.bonjour-staff__clients-row:not(.is-header):hover { background:#f7f2e9; }
.bonjour-staff__clients-row.is-header { background:var(--cream); color:var(--muted); font-size:13px; letter-spacing:.04em; }
.bonjour-staff__clients-row strong { font-weight:400; }
.bonjour-staff__clients-row span { color:var(--muted); }
.bonjour-staff__clients-row span.is-approved { color:#397447; }
.bonjour-staff__clients-row span.is-pending { color:#a06f2f; }
.bonjour-staff__client-name { color:var(--ink); }
.bonjour-staff__client-action { display:flex; align-items:center; justify-content:flex-start; gap:7px; }
.bonjour-staff__client-action form { margin:0; }
.bonjour-staff__client-action button, .bonjour-staff__client-action > a { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 12px; border:0; border-radius:10px; background:var(--gold); color:#fff; font:14px/1.1 "Tenor Sans",sans-serif; white-space:nowrap; }
.bonjour-staff__client-action button.is-delete { border:1px solid #b7756e; background:#fff; color:#934c45; }
.bonjour-staff__client-action button.is-delete:hover { background:#934c45; color:#fff; }
.bonjour-staff__customer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.bonjour-staff__customer-toolbar .bonjour-staff__back { margin:0; }
.bonjour-staff__customer-toolbar form { margin:0; }
.bonjour-staff__delete-customer { min-height:42px; padding:10px 15px; border:1px solid #b7756e; border-radius:11px; background:#fff; color:#934c45; font:15px/1.1 "Tenor Sans",sans-serif; cursor:pointer; }
.bonjour-staff__delete-customer:hover { background:#934c45; color:#fff; }
.bonjour-staff--message { min-height:100vh; display:grid; place-items:center; }
.bonjour-staff__login { width:min(640px,100%); padding:clamp(28px,6vw,58px); border-radius:28px; background:#fff; text-align:center; }
.bonjour-staff__login h1 { margin:10px 0; font-size:clamp(34px,6vw,56px); font-weight:400; line-height:1.05; }
.bonjour-staff__login p { margin:16px 0 24px; color:var(--muted); font-size:18px; }
.bonjour-staff__login > a { display:inline-flex; align-items:center; justify-content:center; }
.bonjour-staff__confirm[hidden] { display:none !important; }
.bonjour-staff__confirm { position:fixed; z-index:99999; inset:0; display:grid; place-items:center; padding:20px; }
.bonjour-staff__confirm-backdrop { position:absolute; inset:0; width:100%; min-height:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:rgba(43,37,29,.55) !important; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.bonjour-staff__confirm-dialog { position:relative; width:min(560px,100%); padding:clamp(30px,6vw,52px); border:1px solid rgba(148,130,96,.35); border-radius:30px; background:#fbf8f2; box-shadow:0 30px 90px rgba(37,31,23,.28); text-align:center; }
.bonjour-staff__confirm-brand { display:block; color:var(--gold); font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.bonjour-staff__confirm-dialog h2 { margin:16px 0 12px; font-size:clamp(34px,6vw,52px); font-weight:400; line-height:1.05; }
.bonjour-staff__confirm-dialog p { margin:0; color:var(--muted); font-size:19px; line-height:1.5; }
.bonjour-staff__confirm-dialog > strong { display:block; margin-top:20px; padding:16px 18px; border-radius:16px; background:var(--cream); color:var(--ink); font-size:19px; font-weight:400; line-height:1.35; }
.bonjour-staff__confirm[data-confirm-operation="delete_customer"] .bonjour-staff__confirm-dialog h2,
.bonjour-staff__confirm[data-confirm-operation="approve_favorite"] .bonjour-staff__confirm-dialog h2,
.bonjour-staff__confirm[data-confirm-operation="purchase"] .bonjour-staff__confirm-dialog h2 { width:100%; font-size:clamp(27px,5vw,42px); text-align:center; white-space:nowrap; }
.bonjour-staff__confirm[data-confirm-operation="delete_customer"] .bonjour-staff__confirm-dialog p,
.bonjour-staff__confirm[data-confirm-operation="approve_favorite"] .bonjour-staff__confirm-dialog p { font-size:19px; line-height:1.5; }
.bonjour-staff__confirm[data-confirm-operation="delete_customer"] .bonjour-staff__confirm-dialog > strong,
.bonjour-staff__confirm[data-confirm-operation="approve_favorite"] .bonjour-staff__confirm-dialog > strong { width:100%; padding:14px 12px; font-size:15px; line-height:1.45; text-align:center; }
.bonjour-staff__confirm[data-confirm-operation="delete_customer"] .bonjour-staff__confirm-dialog > strong span { display:block; width:100%; }
.bonjour-staff__confirm[data-confirm-operation="purchase"] .bonjour-staff__confirm-dialog > strong { display:grid; gap:9px; width:100%; padding:0; background:transparent; }
.bonjour-staff__confirm-metric { display:grid; gap:4px; width:100%; padding:12px 14px; border-radius:13px; background:var(--cream); text-align:left; }
.bonjour-staff__confirm-metric small { color:var(--muted); font-size:13px; font-weight:400; line-height:1.25; }
.bonjour-staff__confirm-metric b { color:var(--ink); font-size:19px; font-weight:400; line-height:1.25; }
.bonjour-staff__confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.bonjour-staff__confirm-actions button { width:100%; }
.bonjour-staff__confirm-actions button.is-secondary { border:1px solid var(--line); background:#fff; color:var(--ink); }
.bonjour-staff__confirm-actions button.is-secondary:hover { background:var(--cream); }
.bonjour-staff__confirm-actions button:not(.is-secondary):hover { background:#756548; }

@media (max-width:760px) {
  .bonjour-staff { width:min(100% - 20px,1180px); padding-top:18px; }
  .bonjour-staff__header { align-items:flex-start; }
  .bonjour-staff__header h1 { font-size:31px; }
  .bonjour-staff__search > div { grid-template-columns:1fr; }
  .bonjour-staff__customer-top, .bonjour-staff__operations { grid-template-columns:1fr; }
  .bonjour-staff__create form { grid-template-columns:1fr; }
  .bonjour-staff__approval { align-items:stretch; flex-direction:column; }
  .bonjour-staff__balance { text-align:left; }
  .bonjour-staff__operations p { min-height:0; }
  .bonjour-staff__results > a { align-items:flex-start; flex-direction:column; }
  .bonjour-staff__requests article { grid-template-columns:1fr; }
  .bonjour-staff__confirm-actions { grid-template-columns:1fr; }
  .bonjour-staff__confirm-actions button[data-staff-confirm-submit] { order:-1; }
  .bonjour-staff__tabs { flex-direction:column; }
  .bonjour-staff__registry-card { grid-template-columns:1fr; }
  .bonjour-staff__registry-summary { min-width:0; text-align:left; }
  .bonjour-staff__registry-summary form { flex-wrap:wrap; }
  .bonjour-staff__clients { padding:18px 12px; }
  .bonjour-staff__clients-row.is-header { display:none; }
  .bonjour-staff__clients-table { display:grid; gap:10px; overflow:visible; border:0; }
  .bonjour-staff__clients-row { grid-template-columns:1fr 1fr; gap:10px 14px; padding:17px; border:1px solid var(--line) !important; border-radius:16px; background:#fbf8f2; }
  .bonjour-staff__clients-row > *::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--gold); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
  .bonjour-staff__client-action { grid-column:1 / -1; }
  .bonjour-staff__client-action button, .bonjour-staff__client-action > a { width:100%; }
}
