/* Staff Client Profiles: scoped to the modal; business forms keep their original actions. */
#bnb-native-client-profile {
  --pc-ink:#30463a; --pc-muted:#657269; --pc-line:#dce4db; --pc-tint:#f0f4ee;
  box-sizing:border-box; width:min(900px,calc(100vw - 32px)); max-width:900px;
  max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--pc-line);
  border-radius:18px; background:#f5f7f2; color:var(--pc-ink);
  font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.55;
  box-shadow:0 24px 80px #182d2440; overflow:auto; scrollbar-gutter:stable;
}
#bnb-native-client-profile *,#bnb-native-client-profile *::before,#bnb-native-client-profile *::after {box-sizing:border-box;}
#bnb-native-client-profile .bnb-client-profile-modal-heading {padding:22px 24px; gap:18px; background:#fffefa; border-bottom:1px solid var(--pc-line); z-index:5;}
#bnb-native-client-profile h3,#bnb-native-client-profile h4,#bnb-native-client-profile h5 {font-family:Georgia,'Times New Roman',serif; color:var(--pc-ink); font-weight:700; line-height:1.2; padding:0; text-transform:none; letter-spacing:-.02em;}
#bnb-native-client-profile h3 {font-size:28px; margin:5px 0 0;}
#bnb-native-client-profile h4 {font-size:22px; margin:3px 0 0;}
#bnb-native-client-profile h5 {font-size:18px; margin:0;}
#bnb-native-client-profile .bnb-profile-eyebrow {display:block; color:var(--pc-muted); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; line-height:1.5;}
#bnb-native-client-profile .bnb-client-profile-modal-close {border-radius:10px; min-height:42px; padding:8px 13px; font-size:13px; background:var(--pc-tint); color:var(--pc-ink); border:1px solid var(--pc-line);}
#bnb-native-client-profile > #bnb-client-profile {display:block; padding:18px; margin:0; border:0; background:transparent; box-shadow:none;}
#bnb-native-client-profile .bnb-client-profile-section {display:block; margin:0 0 14px; padding:18px; border:1px solid #d6dfd4; border-radius:14px; background:#fffefa; box-shadow:0 2px 8px #283b2d06;}
#bnb-native-client-profile .bnb-client-profile-section:last-child {margin-bottom:0;}
#bnb-native-client-profile summary {cursor:pointer; color:var(--pc-ink); font-weight:600; font-size:13px; overflow-wrap:anywhere;}
#bnb-native-client-profile .bnb-profile-card-heading,#bnb-native-client-profile .bnb-profile-item-heading {list-style:none; position:relative; padding-right:36px; min-height:36px;}
#bnb-native-client-profile .bnb-profile-card-heading::-webkit-details-marker,#bnb-native-client-profile .bnb-profile-item-heading::-webkit-details-marker {display:none;}
#bnb-native-client-profile .bnb-profile-card-heading::after,#bnb-native-client-profile .bnb-profile-item-heading::after {content:'+'; display:flex; align-items:center; justify-content:center; position:absolute; right:0; top:50%; transform:translateY(-50%); width:26px; height:26px; border:1px solid var(--pc-line); border-radius:50%; background:#f4f6f1; font:16px Arial,sans-serif; color:#59705c;}
#bnb-native-client-profile details[open] > .bnb-profile-card-heading::after,#bnb-native-client-profile details[open] > .bnb-profile-item-heading::after {content:'−';}
#bnb-native-client-profile details[open] > .bnb-profile-card-heading {margin-bottom:16px;}
#bnb-native-client-profile .bnb-profile-contact-name {margin:0 0 10px;}
#bnb-native-client-profile .bnb-profile-summary {grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 12px;}
#bnb-native-client-profile .bnb-profile-summary > div {min-width:0; padding:10px 12px; border:1px solid var(--pc-line); border-radius:8px; background:#fff;}
#bnb-native-client-profile dt {font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--pc-muted); line-height:1.5;}
#bnb-native-client-profile dd {margin:4px 0 0; font-size:13px; overflow-wrap:anywhere;}
#bnb-native-client-profile .bnb-linked-child-username dd {display:flex; flex-wrap:wrap; align-items:center; gap:7px;}
#bnb-native-client-profile .bnb-linked-child-username input {flex:1 1 140px; width:140px; min-width:0; padding:6px 8px; background:#f8faf6;}
#bnb-native-client-profile .bnb-linked-child-username .bnb-button {padding:5px 9px; min-height:34px; font-size:11px;}
#bnb-native-client-profile .bnb-client-contact-editor,#bnb-native-client-profile .bnb-client-access-editor,#bnb-native-client-profile .bnb-client-archive-action {padding:9px 0; border-top:1px solid #e9ede6;}
#bnb-native-client-profile .bnb-client-archive-action > summary {color:#855b45;}
#bnb-native-client-profile .bnb-client-profile-section > p,#bnb-native-client-profile .description {font-size:12px; color:var(--pc-muted); margin:8px 0 14px;}
#bnb-native-client-profile .bnb-form {margin:12px 0 0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:12px;}
#bnb-native-client-profile .bnb-form-grid,#bnb-native-client-profile .bnb-package-assignment-form {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
#bnb-native-client-profile .bnb-form label {display:flex; flex-direction:column; gap:5px; min-width:0; margin:0; font-size:12px; line-height:1.5; font-weight:600;}
#bnb-native-client-profile input:not([type=checkbox]):not([type=radio]):not([type=hidden]),#bnb-native-client-profile select,#bnb-native-client-profile textarea {width:100%; max-width:100%; min-width:0; min-height:40px; margin:0; padding:9px 10px; border:1px solid #ccd8cc; border-radius:7px; background:#fff; color:#314638; font:13px/1.4 Arial,Helvetica,sans-serif; box-shadow:none;}
#bnb-native-client-profile textarea {min-height:72px; resize:vertical;}
#bnb-native-client-profile label:has(> input[type=checkbox]),#bnb-native-client-profile label:has(> input[type=radio]) {display:flex; flex-direction:row; align-items:flex-start; gap:8px; font-weight:400;}
#bnb-native-client-profile input[type=checkbox],#bnb-native-client-profile input[type=radio] {width:17px; height:17px; flex:0 0 17px; margin:2px 0; accent-color:#365b45!important;}
#bnb-native-client-profile fieldset {min-width:0; padding:12px; margin:0; border:1px solid var(--pc-line); border-radius:8px;}
#bnb-native-client-profile legend {padding:0 5px; font-size:12px; font-weight:700;}
#bnb-native-client-profile .bnb-button {display:inline-block; text-align:center; justify-self:start; min-height:40px; margin:0; padding:9px 14px; border:1px solid #365b45; border-radius:8px; background:#365b45; color:#fff; font:600 12px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; text-decoration:none; white-space:normal;}
#bnb-native-client-profile .bnb-button-secondary,#bnb-native-client-profile .bnb-button-light {background:#edf3eb; border-color:#d2dfd0; color:#365b45!important;}
#bnb-native-client-profile .bnb-button:hover {filter:brightness(.95);}
#bnb-native-client-profile :is(button,summary,input,select,textarea,a):focus-visible {outline:3px solid #83a58d; outline-offset:3px;}
#bnb-native-client-profile .bnb-wide {grid-column:1/-1;}
#bnb-native-client-profile #bnb-client-reminder-preference .bnb-form {grid-template-columns:minmax(0,1fr) auto; align-items:end;}
#bnb-native-client-profile .bnb-profile-package-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start;}
#bnb-native-client-profile .bnb-workspace-package,#bnb-native-client-profile .bnb-workspace-lesson {display:block; min-width:0; padding:14px; margin:0; background:#fff; border:1px solid var(--pc-line); border-radius:10px; box-shadow:none;}
#bnb-native-client-profile .bnb-profile-item-heading {display:flex; align-items:center; gap:8px; min-height:34px;}
#bnb-native-client-profile .bnb-profile-item-heading h5 {flex:1; font-size:16px; overflow-wrap:anywhere;}
#bnb-native-client-profile .bnb-profile-status {display:inline-block; flex:0 0 auto; max-width:110px; padding:3px 7px; border-radius:20px; background:#edf3eb; color:#50684e; font-size:10px; font-weight:700; text-transform:capitalize; white-space:normal;}
#bnb-native-client-profile .bnb-profile-credit-count {margin:14px 0 4px; color:var(--pc-muted); font-size:11px;}
#bnb-native-client-profile .bnb-profile-credit-count strong {font-family:Georgia,serif; font-size:24px; color:#3e5d43; margin-right:4px;}
#bnb-native-client-profile .bnb-profile-credit-meter {display:block; appearance:none; width:100%; height:5px; margin:0 0 12px; overflow:hidden; border:0; border-radius:5px; background:#e9eee6; color:#7f9a7c;}
#bnb-native-client-profile progress::-webkit-progress-bar {background:#e9eee6; border-radius:5px;}
#bnb-native-client-profile progress::-webkit-progress-value {background:#7f9a7c; border-radius:5px;}
#bnb-native-client-profile progress::-moz-progress-bar {background:#7f9a7c; border-radius:5px;}
#bnb-native-client-profile .bnb-profile-package-meta {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; margin:0 0 12px;}
#bnb-native-client-profile .bnb-profile-package-meta dd {font-size:11px; line-height:1.55;}
#bnb-native-client-profile .bnb-profile-package-meta dt {font-size:9px;}
#bnb-native-client-profile .bnb-workspace-package-lessons {padding:12px; margin:12px 0; border:1px solid #e0e7db; border-radius:8px; background:#f4f6f0; font-size:11px;}
#bnb-native-client-profile .bnb-workspace-package-lessons > strong {font-size:9px; letter-spacing:.08em; text-transform:uppercase;}
#bnb-native-client-profile .bnb-workspace-package-lessons ul {margin:8px 0 0; padding:0; list-style:none;}
#bnb-native-client-profile .bnb-package-covered-lesson {display:grid; gap:1px; margin:7px 0;}
#bnb-native-client-profile .bnb-package-covered-lesson time {font-weight:600;}
#bnb-native-client-profile .bnb-package-covered-lesson span {color:var(--pc-muted);}
#bnb-native-client-profile .bnb-workspace-package > details,#bnb-native-client-profile .bnb-workspace-lesson > details {margin-top:12px; border-top:1px solid var(--pc-line); padding-top:10px;}
#bnb-native-client-profile .bnb-workspace-package > details > summary,#bnb-native-client-profile .bnb-workspace-lesson > details > summary {font-size:12px;}
#bnb-native-client-profile .bnb-workspace-lesson {margin:10px 0 0;}
#bnb-native-client-profile .bnb-profile-lesson-heading {gap:12px;}
#bnb-native-client-profile .bnb-profile-date-tile {display:flex; flex-direction:column; flex:0 0 46px; align-items:center; justify-content:center; min-height:50px; border-radius:8px; background:var(--pc-tint); color:#4c6851;}
#bnb-native-client-profile .bnb-profile-date-tile strong {font:700 21px/1.1 Georgia,serif;}
#bnb-native-client-profile .bnb-profile-date-tile span {font-size:9px; letter-spacing:.12em; text-transform:uppercase; margin-top:3px;}
#bnb-native-client-profile .bnb-profile-lesson-title {flex:1; min-width:0;}
#bnb-native-client-profile .bnb-profile-lesson-title > span {display:block; font-size:12px; font-weight:400; color:var(--pc-muted); margin-top:5px;}
#bnb-native-client-profile .bnb-profile-note {margin:14px 0 0 58px; padding:11px 12px; border:1px solid #d9e3d2; border-left:3px solid #7c9474; border-radius:7px; background:#f2f5ed; font-size:12px;}
#bnb-native-client-profile .bnb-profile-note-client {background:#f8f5ec; border-color:#e4ddca; border-left-color:#b0935e;}
#bnb-native-client-profile .bnb-profile-note-meta {display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 10px; font-size:10px; color:var(--pc-muted);}
#bnb-native-client-profile .bnb-profile-note-meta strong {font-size:9px; letter-spacing:.06em; text-transform:uppercase;}
#bnb-native-client-profile .bnb-profile-note p {margin:7px 0 0; overflow-wrap:anywhere;}
#bnb-native-client-profile .bnb-package-assignment-form {padding:14px; background:#f4f6f0; border:1px solid var(--pc-line); border-radius:9px; box-shadow:none;}
#bnb-native-client-profile .bnb-package-assignment-form > p {font-size:12px; color:var(--pc-muted); margin:0;}
#bnb-native-client-profile .bnb-client-access-history {list-style:none; margin:0; padding:0; display:grid; gap:10px;}
#bnb-native-client-profile .bnb-client-access-history li {padding:12px; background:#fff; border:1px solid var(--pc-line); border-radius:8px; font-size:12px;}
#bnb-native-client-profile .bnb-client-access-history p {margin:3px 0;}
#bnb-native-client-profile .bnb-client-access-history time {display:block; margin-top:8px; color:var(--pc-muted); font-size:11px;}
#bnb-native-client-profile [role=alert] {color:#8d352f; font-size:12px;}
@media(max-width:640px) {
  #bnb-native-client-profile {width:calc(100vw - 12px); max-height:calc(100dvh - 12px); border-radius:12px;}
  #bnb-native-client-profile .bnb-client-profile-modal-heading {padding:15px; gap:10px;}
  #bnb-native-client-profile h3 {font-size:23px;}
  #bnb-native-client-profile h4 {font-size:20px;}
  #bnb-native-client-profile > #bnb-client-profile {padding:10px;}
  #bnb-native-client-profile .bnb-client-profile-section {padding:14px; border-radius:11px;}
  #bnb-native-client-profile .bnb-profile-summary,#bnb-native-client-profile .bnb-profile-package-grid,#bnb-native-client-profile .bnb-form-grid,#bnb-native-client-profile .bnb-package-assignment-form,#bnb-native-client-profile #bnb-client-reminder-preference .bnb-form {grid-template-columns:minmax(0,1fr);}
  #bnb-native-client-profile .bnb-profile-card-heading {min-height:44px;}
  #bnb-native-client-profile .bnb-profile-note {margin-left:0;}
  #bnb-native-client-profile .bnb-profile-item-heading {flex-wrap:wrap;}
  #bnb-native-client-profile .bnb-profile-lesson-heading {display:grid; grid-template-columns:44px minmax(0,1fr); gap:8px;}
  #bnb-native-client-profile .bnb-profile-lesson-heading .bnb-profile-status {grid-column:2; justify-self:start;}
  #bnb-native-client-profile .bnb-button {min-height:44px;}
  #bnb-native-client-profile .bnb-client-access-grid,#bnb-native-client-profile .bnb-client-horse-access-list {grid-template-columns:1fr;}
}
#bnb-native-client-profile .bnb-client-profile-modal-heading > div {flex:1; min-width:0;}
#bnb-native-client-profile .bnb-client-profile-modal-close {width:auto; flex:0 0 auto;}
#bnb-native-client-profile input[type=hidden] {display:none!important;}

#bnb-native-client-profile .bnb-form > * {margin-block:0;}
#bnb-native-client-profile .bnb-package-assignment-form > .bnb-wide {grid-column:1 / span 2;}
@media(max-width:640px) {
 #bnb-native-client-profile .bnb-package-assignment-form > .bnb-wide {grid-column:1;}
}

#bnb-native-client-profile .bnb-history-meta {margin-top:14px; padding-top:12px; border-top:1px solid var(--pc-line);}
#bnb-native-client-profile .bnb-package-adjustment-history ul {list-style:none; padding:0; margin:10px 0;}
#bnb-native-client-profile .bnb-package-adjustment-history li {display:grid; gap:4px; padding:10px 0; border-top:1px solid var(--pc-line); font-size:12px;}
#bnb-native-client-profile .bnb-package-adjustment-history time {font-size:11px; color:var(--pc-muted);}
#bnb-native-client-profile .bnb-package-adjustment-history p {font-size:12px; margin:5px 0; overflow-wrap:anywhere;}
