/* Final shared brand layer. Load after every feature stylesheet.
   Role identity is expressed by labels; artwork and semantic status colors stay intact. */
body.qy-premium,
body.qy-premium[data-view],
body.qy-premium[data-workspace]{
  --paper:#eeebe4;
  --panel:#fffefa;
  --panel-2:#eee9df;
  --soft:#f0ebe1;
  --line:#e5dfd4;
  --border:#d8c9ad;
  --green:#262524;
  --lime:#b68b45;
  --orange:#b68b45;
  --gold:#b68b45;
  --ink:#26251f;
  --muted:#78756d;
  --silver:#786446;
  --qy-workspace-accent:#dfc38e;
  --qy-workspace-accent-strong:#f1dfbd;
  --qy-workspace-accent-muted:#b8a58a;
  --qy-workspace-border:#5a4d38;
  --qy-workspace-soft:#2c271e;
  --qy-workspace-nav:#30291e;
  --qy-workspace-glow:#b8924720;
  --qy-workspace-surface:#161718;
  --qy-workspace-text:#f3f0e9;
  --qy-workspace-secondary:#b2aba0;
  background:#eeebe4;
  color:#26251f;
  color-scheme:light;
}

/* The same charcoal frame surrounds every role, including the guest view. */
body.qy-premium .sidebar{
  background:#161718!important;
  border-color:#39352c!important;
  color:#f3f0e9;
  color-scheme:dark;
}
body.qy-premium[data-workspace] .topbar{
  background:#161718f5;
  border-bottom-color:#514532;
  color:#f3f0e9;
}
body.qy-premium .bottomnav{
  background:#171819f5;
  border-top-color:#514532;
}
body.qy-premium .topbar :is(.breadcrumb b,.mobile-brand){color:#f3f0e9}
body.qy-premium .sidebar .side-caption{color:#b8a58a}
body.qy-premium[data-workspace] .nav button.active,
body.qy-premium[data-workspace] .bottomnav button.active{
  background:#30291e!important;
  color:#f1dfbd!important;
}
body.qy-premium[data-workspace] .nav button.active{box-shadow:inset 3px 0 #dfc38e}
body.qy-premium .bottomnav button.active:after{background:#dfc38e}
body.qy-premium .role-switcher{
  background:linear-gradient(110deg,#fffefa,#f0ebe1);
  border-color:#d8c9ad;
  color:#26251f;
}
body.qy-premium .role-option.active{background:#30291e;color:#f1dfbd;border-color:#a18450}

/* Shared content surfaces also cover legacy role styles and their cyan text. */
body.qy-premium :is(.stat,.quick,.receipt){
  background:#fffefa;
  border-color:#e5dfd4;
  color:#26251f;
}
body.qy-premium .stat strong{color:#98733b!important}
body.qy-premium .modal,
body.qy-premium .role-menu{
  background:#fffdf8;
  border-color:#d8c9ad;
  color:#26251f;
}
body.qy-premium .role-menu button{color:#594e3b}
body.qy-premium .role-menu button.active{background:#e8c992;color:#49391f}
body.qy-premium :is(.role-menu p,.role-menu small){color:#786446}
body.qy-premium :is(.link,.text-button){color:#785b2b}
body.qy-premium .topbar :is(.link,.text-button){color:#dfc38e}
body.qy-premium :is(input,select,textarea){accent-color:#b68b45}
body.qy-premium :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){
  background:#fffefa;
  border-color:#d8c9ad;
  color:#26251f;
}
body.qy-premium :is(input,textarea)::placeholder{color:#91897b}
body.qy-premium :is(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid #b68b45;
  outline-offset:3px;
}

/* Provider buttons and completed/error actions retain their own meaning. */
body.qy-premium .button:not(.outline):not(.light):not(.enrollment-complete):not(.enrollment-pending):not(.danger):not(.qy-guardian-danger):not(.qy-auth-methods *){
  background:linear-gradient(115deg,#f1d497,#d9b26e);
  border-color:#d7b06a;
  color:#322714;
}
body.qy-premium .button.outline:not(.enrollment-complete):not(.enrollment-pending):not(.danger):not(.qy-guardian-danger):not(.qy-auth-methods *){
  background:#fffefa;
  border-color:#d4c5a9;
  color:#7f602b;
}
body.qy-premium .qy-weekly-task-foot .button.outline{
  background:#f5eddb;
  border-color:#c8ad7a;
  color:#785b2b;
}

/* Overview, coaching and account pages share the same ivory content cards. */
body.qy-premium[data-workspace] .qy-workspace-panel{
  background:#fffefa!important;
  border-color:#e5dfd4!important;
}
body.qy-premium[data-workspace] .qy-workspace-panel h2{color:#26251f}
body.qy-premium .qy-workspace-panel>header p{color:#78756d}
body.qy-premium[data-workspace] :is(button.qy-workspace-link,a.qy-workspace-link){
  color:#302b23;
  border-bottom-color:#e5dfd4;
}
body.qy-premium .qy-workspace-link-copy small,
body.qy-premium .qy-workspace-link>.qy-icon:last-child{color:#78756d}
body.qy-premium .qy-workspace-link-icon,
body.qy-premium .qy-workspace-link-count{
  background:#f5eddb;
  border-color:#decca8;
  color:#82632e;
}
body.qy-premium .qy-workspace-priority .qy-workspace-link-count{background:#dfc38e;color:#26251f}
body.qy-premium[data-workspace] button.qy-workspace-metric{
  background:#fffefa;
  border-color:#e5dfd4;
  color:#302b23;
}
body.qy-premium .qy-workspace-metric strong{color:#98733b}
body.qy-premium .qy-workspace-metric small{color:#78756d}
body.qy-premium[data-workspace] .qy-workspace-metric:hover{
  background:#f8f2e6;
  border-color:#b68b45;
}
body.qy-premium[data-workspace] .qy-workspace-priority>header h2{color:#785b2b!important}
body.qy-premium .qy-workspace-empty{color:#78756d}
body.qy-premium .qy-workspace-scope-note{
  background:#f0ebe1;
  border-left-color:#b68b45;
  color:#786446;
}
body.qy-premium .qy-workspace-date{color:#8b6d3d}
body.qy-premium[data-workspace] .qy-workspace-filter button{
  background:#fffefa;
  border-color:#d8c9ad;
  color:#786446;
}
body.qy-premium[data-workspace] .qy-workspace-filter button.active{
  background:#30291e;
  border-color:#b68b45;
  color:#f1dfbd;
}

/* Identity cards use charcoal and gold inside the light account dialog. */
body.qy-premium .qy-account-panel{
  background:#24211c;
  border-color:#5a4d38;
  color:#f3f0e9;
}
body.qy-premium .qy-account-panel :is(h2,h3,b){color:#f1dfbd}
body.qy-premium .qy-account-panel p{color:#c0b9ac}
body.qy-premium .qy-account-session{
  background:#f0ebe1;
  border-color:#d8c9ad;
  color:#26251f;
}
body.qy-premium .qy-account-session :is(h2,h3){color:#49391f}
body.qy-premium .qy-account-session p{color:#78756d}
body.qy-premium[data-workspace] :is(.qy-account-button,a.qy-logout-button,button.qy-logout-button){
  background:#2c271e;
  border-color:#7d6843;
  color:#f1dfbd;
}
body.qy-premium[data-workspace] :is(.qy-account-button,a.qy-logout-button,button.qy-logout-button):hover{
  background:#382e1d;
  border-color:#dfc38e;
}

/* Neutral controls around the actual character artwork keep its colors intact. */
body.qy-premium .qy-room-locker .qy-equipment-filters button[aria-pressed=true]{
  background:#262524;
  border-color:#262524;
  color:#f1dfbd;
}
body.qy-premium .qy-backdrop-rail button{background:#1d1d1f;color:#cec7b7}
body.qy-premium .qy-backdrop-rail button[aria-pressed=true]{background:#3d3527;color:#fff3d9}
body.qy-premium .qy-backdrop-off{background:linear-gradient(135deg,#44413c,#242321)}
body.qy-premium .qy-attendance-counts button.active{
  background:#262524;
  border-color:#262524;
  color:#edd09a;
}

/* Completed states keep their labels and checkmarks within the shared palette. */
body.qy-premium .status-box.ok,
body.qy-premium .step-line .done,
body.qy-premium .course-status.complete,
body.qy-premium .qy-attendance-state.in,
body.qy-premium .qy-guardian-status:is([data-status=confirmed],[data-status=active]){
  background:#f5eddb;
  border-color:#d9c49c;
  color:#785b2b;
}
body.qy-premium .completion{color:#785b2b}
body.qy-premium .course-card.enrollment-complete{
  border-color:#b68b45!important;
  box-shadow:0 10px 30px #6a4d1f18;
}
body.qy-premium .course-card .button.enrollment-complete{
  background:#30291e;
  border-color:#b68b45;
  color:#f1dfbd;
}
body.qy-premium .qy-weekly-task.is-complete{border-color:#c5a66d!important}
body.qy-premium .qy-weekly-task.is-complete .qy-weekly-state{color:#785b2b}
body.qy-premium .qy-equipment-label.is-free{background:#dfc38e;color:#30291e}

/* Task chrome is charcoal; task pictures and character effects remain untouched. */
body.qy-premium #qyMissions.qy-weekly-section{
  background:linear-gradient(145deg,#242321,#161718)!important;
  border-color:#4a4133!important;
}
body.qy-premium .modal.qy-weekly-dialog{background:linear-gradient(150deg,#242321,#141516)}
body.qy-premium .qy-weekly-open,
body.qy-premium .qy-weekly-detail-title h3,
body.qy-premium .qy-weekly-success strong{color:#29271f}
body.qy-premium .qy-weekly-detail-card figcaption{background:#242321cc}
body.qy-premium .calendar-classic .day.mark{border-color:#b68b45}
body.qy-premium .calendar-classic .day.selected{background:#30291e;color:#f1dfbd}
/* Enrollment reminders name the child, event date and registration state. */
body.qy-premium .course-statuses{align-items:center;gap:6px}
body.qy-premium .course-status,
body.qy-premium .course-status.complete{
 display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:100%;min-width:0;
 padding:5px 9px;border-radius:30px;white-space:normal;overflow-wrap:anywhere;
 background:#f5bd38;border:1px solid #a56a05;color:#30220d;
 font-size:11px;line-height:1.35;
}
body.qy-premium .course-status strong{font-size:11px;font-weight:750}
body.qy-premium .course-status span{font-weight:650}
body.qy-premium .qy-payment-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.35;white-space:nowrap;border:1px solid}
body.qy-premium .qy-payment-badge.is-onsite{background:#ffe3a0;color:#392500;border-color:#b4760c}
body.qy-premium .qy-payment-badge.is-paid{background:#d7ecda;color:#244b2a;border-color:#679d70}
body.qy-premium .course-status .qy-payment-badge{font-weight:800}
