/* ResearchBook 1.58 Product UI
   A calmer, text-led visual system shared across roles without forcing every view into the same card template. */
:root{
  --rb-ui-canvas:#f5f6f8;
  --rb-ui-surface:#ffffff;
  --rb-ui-surface-muted:#f8f9fb;
  --rb-ui-line:#d9dee7;
  --rb-ui-line-strong:#c8d0dc;
  --rb-ui-ink:#175033;
  --rb-ui-ink-soft:#344054;
  --rb-ui-muted:#667085;
  --rb-ui-accent:var(--blue,var(--rb-blue,#2170ec));
  --rb-ui-accent-soft:color-mix(in srgb,var(--rb-ui-accent) 8%,#fff);
  --rb-ui-danger:#b42318;
  --rb-ui-success:#15735a;
  --rb-ui-warning:#9a6414;
  --rb-ui-radius-sm:6px;
  --rb-ui-radius:8px;
  --rb-ui-radius-lg:10px;
  --rb-ui-shadow:0 1px 2px rgba(16,24,40,.045);
  --rb-ui-shadow-popover:0 12px 32px rgba(16,24,40,.13);
  --rb-ui-focus:0 0 0 3px color-mix(in srgb,var(--rb-ui-accent) 18%,transparent);
}

html,body{background:var(--rb-ui-canvas)!important;color:var(--rb-ui-ink)}
body{background-image:none!important}

/* Typography: fewer all-caps labels, fewer ultra-heavy weights, tighter editorial hierarchy. */
.topbar h1,.class-topbar h1,.participant-hero h1{font-weight:720!important;letter-spacing:-.028em!important}
.rb15-dashboard-title strong,.rb15-card h3,.rb15-role-card h3,.rb15-enhance-card h3,
.class-card-head h2,.class-card-head h3,.rb157-calendar-header h3{font-weight:720!important;letter-spacing:-.01em!important}
.eyebrow,.class-kicker,.class-nav-section,.section-label,.rb157-detail-role{
  letter-spacing:.045em!important;text-transform:none!important;font-weight:650!important
}

/* Common controls: compact, square-enough, and unmistakably interactive without floating/glowing. */
button,input,select,textarea{font-family:inherit}
button:not(:disabled){-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:2px solid color-mix(in srgb,var(--rb-ui-accent) 55%,#fff)!important;
  outline-offset:2px!important;
  box-shadow:var(--rb-ui-focus)!important
}
.workspace button:not(:disabled),.rb15-dashboard button:not(:disabled),.rb15-role-dashboard button:not(:disabled),
.rb15-enhance-modal button:not(:disabled),.class-shell button:not(:disabled),.participant-shell button:not(:disabled),
.rb157-account-calendar button:not(:disabled){
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .08s ease!important
}
.workspace button:not(:disabled):hover,.rb15-dashboard button:not(:disabled):hover,.rb15-role-dashboard button:not(:disabled):hover,
.rb15-enhance-modal button:not(:disabled):hover,.class-shell button:not(:disabled):hover,.participant-shell button:not(:disabled):hover,
.rb157-account-calendar button:not(:disabled):hover{
  filter:none!important;box-shadow:none!important
}
.workspace button:not(:disabled):active,.rb15-dashboard button:not(:disabled):active,.rb15-role-dashboard button:not(:disabled):active,
.rb15-enhance-modal button:not(:disabled):active,.class-shell button:not(:disabled):active,.participant-shell button:not(:disabled):active,
.rb157-account-calendar button:not(:disabled):active{transform:translateY(1px)!important;box-shadow:none!important}

.add-button,.class-primary,.rb-primary,.rb15-action.primary,.rb15-enhance-btn.primary{
  background:var(--rb-ui-accent)!important;border-color:var(--rb-ui-accent)!important;color:#fff!important;
  border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important;font-weight:680!important
}
.add-button:hover,.class-primary:hover,.rb-primary:hover,.rb15-action.primary:hover,.rb15-enhance-btn.primary:hover{
  background:color-mix(in srgb,var(--rb-ui-accent) 88%,#000)!important
}
.manage-experiments,.calendar-export-button,.class-secondary,.class-quiet,.rb-secondary,
.rb15-card-action,.rb15-action:not(.primary),.rb15-enhance-btn,.rb15-widget-collapse,
.week-controls button,.participant-home,.participant-top-actions select{
  border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important;background:#fff!important;border-color:var(--rb-ui-line-strong)!important
}

/* Researcher workspace: flatter information architecture; static cards do not pretend to be buttons. */
.workspace{background:var(--rb-ui-canvas)!important}
.portfolio-bar,.participant-quick-switcher,.stat-card,.schedule-card,.detail-card,
.rb15-card,.rb15-role-dashboard,.rb15-role-card,.rb15-enhance-card{
  border-color:var(--rb-ui-line)!important;box-shadow:var(--rb-ui-shadow)!important;background:var(--rb-ui-surface)!important
}
.portfolio-bar{border-radius:var(--rb-ui-radius)!important;padding:9px 10px!important}
.portfolio-home>span:first-child,.participant-quick-switcher-icon,.stat-icon{
  border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important
}
.portfolio-home>span:first-child{background:var(--rb-ui-accent-soft)!important;color:var(--rb-ui-accent)!important}
.experiment-switcher select,.participant-quick-switcher-controls select,.language-menu,.language-switch{
  border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important;background:#fff!important;border-color:var(--rb-ui-line-strong)!important
}
.topbar{margin-bottom:16px!important;align-items:center!important}
.topbar h1{font-size:clamp(27px,2vw,34px)!important;color:var(--rb-ui-ink)!important}
.topbar p{font-size:13px!important;color:var(--rb-ui-muted)!important;margin-top:5px!important}
.eyebrow{font-size:10px!important;color:var(--rb-ui-muted)!important}
.live-dot{box-shadow:none!important;width:6px!important;height:6px!important}
.dashboard-grid{gap:14px!important}
.primary-column{gap:14px!important}

/* Stats read as data, not four cloned marketing tiles. */
.stats-grid{gap:0!important;border:1px solid var(--rb-ui-line)!important;border-radius:var(--rb-ui-radius)!important;background:#fff!important;overflow:hidden}
.stat-card{min-height:82px!important;border:0!important;border-radius:0!important;padding:14px 16px!important;box-shadow:none!important;position:relative}
.stat-card+ .stat-card{border-left:1px solid var(--rb-ui-line)!important}
.stat-card.clickable:hover{transform:none!important;background:var(--rb-ui-surface-muted)!important;box-shadow:none!important}
.stat-icon{width:36px!important;height:36px!important;flex-basis:36px!important;background:transparent!important;border:1px solid var(--rb-ui-line)!important}
.stat-card strong{font-size:25px!important;font-weight:720!important;color:var(--rb-ui-ink)!important}
.stat-card span:not(.stat-icon){font-size:11px!important;color:var(--rb-ui-muted)!important}
.stat-arrow{font-size:18px!important;color:#98a2b3!important}

.schedule-card,.detail-card{border-radius:var(--rb-ui-radius)!important}
.schedule-card{padding-top:17px!important}
.schedule-heading h2{font-size:17px!important;font-weight:720!important;color:var(--rb-ui-ink)!important}
.schedule-heading p{font-size:12px!important;color:var(--rb-ui-muted)!important}
.calendar-grid{border-radius:var(--rb-ui-radius-sm)!important;border-color:var(--rb-ui-line)!important}
.day-heading,.calendar-corner{background:#f7f8fa!important}
.appointment{border-radius:5px!important;box-shadow:none!important}
.appointment.confirmed{background:var(--rb-ui-accent)!important}
.appointment.session-completed{background:var(--rb-ui-success)!important}
.appointment:hover{transform:none!important;filter:brightness(.97)}
.detail-card{padding:18px!important}
.detail-title-row h2{font-size:22px!important;font-weight:720!important;letter-spacing:-.02em!important}
.status-chip{border-radius:5px!important}

/* Dashboard hierarchy: section + data blocks, not an array of identical AI-style cards. */
.rb15-dashboard{margin-bottom:16px!important;gap:10px!important}
.rb15-dashboard-head{padding:0 1px 7px!important;border-bottom:1px solid var(--rb-ui-line)!important}
.rb15-dashboard-title span{display:none!important}
.rb15-dashboard-title strong{font-size:20px!important;color:var(--rb-ui-ink)!important}
.rb15-dashboard-title small{font-size:11px!important;color:var(--rb-ui-muted)!important}
.rb15-grid{gap:8px!important}
.rb15-card{border-radius:var(--rb-ui-radius)!important;padding:14px!important;box-shadow:none!important}
.rb15-card>header{border-bottom:1px solid #eef1f4;padding-bottom:9px;margin-bottom:10px!important}
.rb15-card h3{font-size:14px!important;color:var(--rb-ui-ink-soft)!important}
.rb15-card header small{font-size:10px!important;color:var(--rb-ui-muted)!important}
.rb15-card:not(:has(button)):not(:has(a)){cursor:default!important}
.rb15-today-card,.rb15-active-experiments-card{background:#fff!important;border-color:var(--rb-ui-line)!important;box-shadow:none!important}
.rb15-today-card{border-left:3px solid var(--rb-ui-accent)!important}
.rb15-today-card h3{font-size:17px!important;color:var(--rb-ui-ink)!important}
.rb15-experiment-tiles{gap:0!important;border:1px solid var(--rb-ui-line)!important;border-radius:var(--rb-ui-radius-sm)!important;overflow:hidden}
.rb15-experiment-tile{border:0!important;border-radius:0!important;box-shadow:none!important;padding:10px 11px!important;background:#fff!important}
.rb15-experiment-tile+ .rb15-experiment-tile{border-left:1px solid var(--rb-ui-line)!important}
.rb15-experiment-tile:hover{transform:none!important;background:var(--rb-ui-surface-muted)!important;box-shadow:none!important}
.rb15-experiment-tile>i{font-size:15px!important;color:#98a2b3!important}
.rb15-session{border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important}
.rb15-session:hover{background:var(--rb-ui-surface-muted)!important}
.rb15-metric strong{font-size:28px!important;font-weight:720!important}
.rb15-progress,.rb15-loadbar,.rb15-gap-bar,.rb15-cap-track{border-radius:2px!important;height:5px!important}
.rb15-progress>i,.rb15-loadbar i,.rb15-gap-bar i,.rb15-cap-track i{border-radius:0!important;background:var(--rb-ui-accent)!important}
.rb15-action{border-radius:var(--rb-ui-radius-sm)!important;min-height:38px!important;text-align:center!important;background:#fff!important;color:var(--rb-ui-ink-soft)!important}
.rb15-action.primary{background:var(--rb-ui-accent)!important;color:#fff!important}
.rb15-empty,.rb15-enhance-empty{border-radius:var(--rb-ui-radius-sm)!important;background:#fafbfc!important;border-color:var(--rb-ui-line)!important;color:var(--rb-ui-muted)!important}
.rb15-toggle{border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important}
.rb15-switch{border-radius:10px!important}
.rb15-enhance-strip{gap:8px!important}
.rb15-enhance-card,.rb15-role-card{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important}
.rb15-enhance-icon,.rb15-role-icon{background:transparent!important;border:1px solid var(--rb-ui-line)!important;border-radius:var(--rb-ui-radius-sm)!important}
.rb15-enhance-row{border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important}
.rb15-enhance-row.warn{border-left:3px solid var(--rb-ui-warning)!important}
.rb15-enhance-row.critical{border-left:3px solid var(--rb-ui-danger)!important}
.rb15-enhance-row.ok{border-left:3px solid var(--rb-ui-success)!important}
.rb15-role-dashboard{border-radius:var(--rb-ui-radius)!important;background:#fff!important;padding:14px!important}
.rb15-role-head{border-bottom:1px solid var(--rb-ui-line)!important;padding-bottom:10px!important}
.rb15-role-badge,.rb15-action-badge{border-radius:5px!important;background:#fff!important}

/* Customization remains explicit, but editing affordances no longer dominate normal reading. */
.rb15-customize-active .rb15-card,.rb15-customize-active .rb15-role-card,.rb15-customize-active .rb15-enhance-card{
  outline:1px dashed color-mix(in srgb,var(--rb-ui-accent) 45%,#fff)!important;outline-offset:-2px!important
}
.rb15-enhance-dialog,.rb-modal-card,.rb-auth-card{
  border-radius:var(--rb-ui-radius-lg)!important;box-shadow:var(--rb-ui-shadow-popover)!important;background:#fff!important
}
.rb15-enhance-modal,.rb-modal-shell{backdrop-filter:none!important;background:rgba(16,24,40,.46)!important}

/* Auth is deliberately plain: brand + form, not a generated hero card. */
.rb-auth-shell{background:#f4f5f7!important}
.rb-auth-card{padding:26px!important}
.rb-brand-mark{border-radius:var(--rb-ui-radius)!important;background:var(--rb-ui-accent)!important;box-shadow:none!important}
.rb-auth-card h1,.rb-modal-card h2{font-size:24px!important;font-weight:720!important}
.rb-field input,.rb-field select{border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important;border-color:var(--rb-ui-line-strong)!important}
.rb-preference-card{border-radius:var(--rb-ui-radius)!important;background:#fafbfc!important}
.rb-theme-dot{box-shadow:0 0 0 1px var(--rb-ui-line-strong)!important}

/* Compact cross-role time-zone bar: information line, not a themed card. */
.rb-cross-role-busy.rb154-compact{
  border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important;box-shadow:none!important;border-color:var(--rb-ui-line)!important
}
.rb-cross-role-busy.rb154-compact>.rb154-zone-icon{display:none!important}
.rb-cross-role-busy.rb154-compact strong{font-size:11px!important;color:var(--rb-ui-ink-soft)!important}
.rb-cross-role-busy.rb154-compact small{font-size:9px!important;color:var(--rb-ui-muted)!important}
.rb-cross-role-busy.rb154-compact>.rb154-busy-chips span{border-radius:4px!important;background:#f8f9fb!important}

/* Right detail rail: the collapsed state reads like a rail control, not a floating badge. */
.rb154-detail-panel-toggle,.rb154-session-record-toggle{
  border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important;background:#fff!important;border-color:var(--rb-ui-line-strong)!important
}
.dashboard-grid.rb154-detail-panel-collapsed .detail-column{
  border-radius:var(--rb-ui-radius-sm)!important;background:#f8f9fb!important;border-color:var(--rb-ui-line)!important
}
.session-record-section,.session-record-section.rb154-session-record-collapsed{background:#fff!important}

/* Calendar: Outlook-like data surface, with roles expressed by small accents rather than tinted cards everywhere. */
.rb157-calendar-shell{backdrop-filter:none!important;background:rgba(16,24,40,.48)!important}
.rb157-calendar-modal{border-radius:var(--rb-ui-radius-lg)!important;background:#f7f8fa!important;box-shadow:var(--rb-ui-shadow-popover)!important}
.rb157-calendar-header h3{color:var(--rb-ui-ink)!important}
.rb157-calendar-toolbar{border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important;border-color:var(--rb-ui-line)!important;padding:8px 9px!important}
.rb157-calendar-nav button{border-radius:5px!important}
.rb157-role-filters label{border-radius:5px!important;background:#fff!important;font-weight:650!important}
.rb157-month,.rb157-calendar-detail{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;border-color:var(--rb-ui-line)!important}
.rb157-weekdays{background:#f7f8fa!important}
.rb157-day{min-height:108px!important}
.rb157-day.today{background:#fbfcff!important;box-shadow:inset 0 2px 0 var(--rb-ui-accent)}
.rb157-day>time{border-radius:4px!important}
.rb157-day.today>time{background:var(--rb-ui-accent)!important}
.rb157-event{border-radius:3px!important;background:#f7f8fa!important;border-left:3px solid #98a2b3!important;color:var(--rb-ui-ink-soft)!important}
.rb157-event.role-researcher{border-left-color:#2f6fc2!important}
.rb157-event.role-teacher{border-left-color:#33806a!important}
.rb157-event.role-student{border-left-color:#b07724!important}
.rb157-event.role-admin{border-left-color:#755497!important}
.rb157-calendar-detail{padding:16px!important}
.rb157-private-note{border-radius:var(--rb-ui-radius-sm)!important;background:#f7f8fa!important}
.rb157-calendar-edit input,.rb157-calendar-edit textarea{border-radius:var(--rb-ui-radius-sm)!important}

/* Class / teacher / student / admin: navigation-led application, not dashboard-card soup. */
.class-main{background:var(--rb-ui-canvas)!important;padding-top:20px!important}
.class-sidebar{background:#10263f!important;background-image:none!important;box-shadow:none!important;border-right:1px solid #243b54!important}
.class-sidebar .class-brand{margin-bottom:24px!important}
.class-brand-mark{border-radius:var(--rb-ui-radius)!important;background:var(--rb-ui-accent)!important;box-shadow:none!important}
.class-nav{gap:2px!important}
.class-nav button{min-height:38px!important;border-radius:5px!important;padding:0 10px!important;color:#c9d4e0!important}
.class-nav button:hover{background:#18334f!important;border-color:transparent!important}
.class-nav button.active{background:#fff!important;color:#15324f!important;border-color:#fff!important;box-shadow:none!important}
.class-nav-section{margin:16px 10px 5px!important;color:#8096ad!important;font-size:9px!important}
.class-topbar{margin-bottom:15px!important;align-items:center!important;padding-bottom:12px!important;border-bottom:1px solid var(--rb-ui-line)!important}
.class-topbar h1{font-size:clamp(25px,2vw,31px)!important;color:var(--rb-ui-ink)!important}
.class-topbar p{font-size:12px!important;color:var(--rb-ui-muted)!important}
.class-role-badge{border-radius:5px!important;padding:6px 8px!important;box-shadow:none!important}
.class-account-button{border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important;min-height:42px!important}
.class-avatar{border-radius:var(--rb-ui-radius-sm)!important;background:var(--rb-ui-accent)!important}
.class-account-menu{border-radius:var(--rb-ui-radius)!important;box-shadow:var(--rb-ui-shadow-popover)!important}
.class-account-menu>button{border-radius:5px!important}
.class-status{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;margin-bottom:14px!important;padding:11px 13px!important}
.class-status.available .class-status-icon,.class-status.busy .class-status-icon,.class-status.limited .class-status-icon{box-shadow:none!important}
.class-dashboard{gap:14px!important}
.class-stack{gap:14px!important}
.class-card{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;background:#fff!important}
.class-card-head{padding:13px 15px!important;background:#fff!important}
.class-card-body{padding:15px!important}
.class-course-item,.class-student-item{border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important}
.class-course-item:hover,.class-student-item:hover{background:var(--rb-ui-surface-muted)!important}
.class-course-item.active,.class-student-item.active{background:var(--rb-ui-accent-soft)!important;border-color:color-mix(in srgb,var(--rb-ui-accent) 45%,#fff)!important}
.class-course-item em{border-radius:4px!important}

/* Student hero becomes a useful account summary strip instead of a promotional gradient banner. */
.class-student-hero{
  grid-template-columns:auto minmax(0,1fr) auto auto!important;padding:14px 15px!important;margin-bottom:14px!important;
  color:var(--rb-ui-ink)!important;background:#fff!important;background-image:none!important;border:1px solid var(--rb-ui-line)!important;
  border-radius:var(--rb-ui-radius)!important;box-shadow:none!important
}
.class-hero-avatar{width:44px!important;height:44px!important;border-radius:var(--rb-ui-radius-sm)!important;color:#fff!important;background:var(--rb-ui-accent)!important}
.class-hero-copy>span,.class-hero-copy p{color:var(--rb-ui-muted)!important;opacity:1!important}
.class-hero-copy h2{font-size:20px!important;color:var(--rb-ui-ink)!important}
.class-hero-stat{padding:8px 11px!important;color:var(--rb-ui-ink-soft)!important;background:#f8f9fb!important;border:1px solid var(--rb-ui-line)!important;border-radius:var(--rb-ui-radius-sm)!important}
.class-hero-stat span,.class-hero-stat small{opacity:1!important;color:var(--rb-ui-muted)!important}
.class-hero-stat strong{font-size:20px!important}
.class-hero-shortcut{color:var(--rb-ui-accent)!important;background:#fff!important;border-color:var(--rb-ui-line-strong)!important;border-radius:var(--rb-ui-radius-sm)!important}
.class-hero-shortcut:hover{background:var(--rb-ui-accent-soft)!important}
.class-shortcut-guide{border-radius:var(--rb-ui-radius)!important;background:#fff!important}

/* Admin: dense rail, quiet content, selected nav by structure rather than gradient. */
.class-admin-sidebar{background:#0f2439!important;background-image:none!important;box-shadow:none!important}
.class-admin-nav button.active{background:#fff!important;color:#15324f!important;border-color:#fff!important;box-shadow:none!important}
.class-admin-nav button:hover:not(.active){background:#17514a!important;border-color:transparent!important}
.class-admin-topbar{margin-bottom:12px!important}
.class-admin-page-head{margin-bottom:10px!important}
.class-admin-page-head h2,.class-admin-role-head h2{font-size:19px!important;font-weight:720!important}
.class-admin-grid-clean{gap:12px!important}
.class-admin-grid-clean>.class-card,.class-admin-role-head{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important}
.class-account-summary-row:hover{background:#f8f9fb!important;border-radius:0!important}
.class-account-row.is-banned,.class-account-summary-row.is-banned{background:#fff8f8!important}
.class-banned-label{border-radius:4px!important}

/* Forms across class/admin become utilitarian rather than soft-template fields. */
.class-field input,.class-field select,.class-field textarea,.class-language-select select,
.rb15-enhance-field input,.rb15-enhance-field select,.rb15-group-line input,.rb15-import-box{
  border-radius:var(--rb-ui-radius-sm)!important;background:#fff!important;border-color:var(--rb-ui-line-strong)!important
}
.class-primary,.class-secondary,.class-danger,.class-quiet{border-radius:var(--rb-ui-radius-sm)!important;font-weight:680!important}
.class-message{border-radius:var(--rb-ui-radius-sm)!important}
.class-auth{background:#f4f5f7!important}
.class-auth-card{border-radius:var(--rb-ui-radius-lg)!important;box-shadow:var(--rb-ui-shadow-popover)!important;padding:30px!important}
.class-auth h1{font-size:26px!important;font-weight:720!important}

/* Participant flow: form-first and calm. No oversized marketing hero or decorative illustration. */
.participant-shell{width:min(820px,calc(100% - 32px))!important;padding-top:18px!important}
.participant-topbar{margin-bottom:14px!important}
.participant-brand-mark{border-radius:var(--rb-ui-radius)!important;background:#17564f!important}
.participant-hero,.participant-card,.participant-privacy{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;border-color:var(--rb-ui-line)!important;background:#fff!important}
.participant-hero{padding:24px!important;display:block!important;border-top:3px solid #2c6b5b!important}
.participant-kicker{font-size:10px!important;letter-spacing:.04em!important;text-transform:none!important}
.participant-hero h1{font-size:clamp(28px,5vw,37px)!important;margin:8px 0 7px!important}
.participant-hero p{line-height:1.7!important;font-size:13px!important}
.participant-hero-icon{display:none!important}
.participant-privacy{padding:13px 15px!important;background:#f8faf9!important;margin-top:10px!important}
.participant-card{padding:20px!important;margin-top:10px!important}
.participant-step-heading b{border-radius:5px!important;background:#2c6b5b!important}
.participant-step-heading h2{font-size:18px!important}
#participant-code,.participant-form input,.participant-form select{border-radius:var(--rb-ui-radius-sm)!important}
.participant-form button,.participant-selection-bar button,.participant-success a{border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important}
.participant-date-group,.participant-slot,.participant-timezone,.participant-selection-bar{border-radius:var(--rb-ui-radius-sm)!important;box-shadow:none!important}
.participant-slot{background:#fff!important}
.participant-slot:has(input:checked){box-shadow:inset 3px 0 0 #2c6b5b!important;background:#f7faf9!important}

/* Popovers/status pills are the only deliberately pill-like elements. */
.status-chip,.class-role-tags span,.class-account-summary span,.class-banned-label{font-weight:650!important}

/* Responsive cleanup. */
@media(max-width:900px){
  .stats-grid{grid-template-columns:1fr!important}
  .stat-card+ .stat-card{border-left:0!important;border-top:1px solid var(--rb-ui-line)!important}
  .rb15-experiment-tiles{grid-template-columns:1fr!important}
  .rb15-experiment-tile+ .rb15-experiment-tile{border-left:0!important;border-top:1px solid var(--rb-ui-line)!important}
}
@media(max-width:700px){
  .class-nav button.active{background:var(--rb-ui-accent-soft)!important;color:var(--rb-ui-accent)!important}
  .class-student-hero{grid-template-columns:auto minmax(0,1fr)!important}
  .class-hero-stat{grid-column:auto!important}
  .class-hero-shortcut{grid-column:1/-1!important}
}
@media(max-width:620px){
  .participant-hero{padding:19px!important}
  .participant-card{padding:17px!important}
  .rb157-calendar-modal{padding:12px!important}
}

/* Reduced motion: ResearchBook should feel stable, not animated for its own sake. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Additional researcher surfaces that previously looked like separate template fragments. */
.sidebar{background:#0f2741!important;background-image:none!important;box-shadow:none!important;border-right:1px solid #223d58!important}
.nav-button.active{background:var(--rb-ui-accent)!important;background-image:none!important;box-shadow:none!important}
.nav-button:hover{background:#193650!important}
.avatar-j{background:#2d628f!important}.avatar-r{background:#6b5d8f!important}
.session-record-section,.cross-experiment-guide,.cross-experiment-control,.team-date-calendar,
.offline-download-card,.backup-settings-card,.sync-settings-card,.experiment-inheritance-summary,
.share-offline-section,.other-schedule-view{
  background:#fff!important;background-image:none!important;box-shadow:none!important;border-radius:var(--rb-ui-radius)!important
}
.cross-experiment-guide,.cross-experiment-control{border-left:3px solid var(--rb-ui-accent)!important}
.team-date-calendar{border-color:var(--rb-ui-line)!important}
.offline-download-card{border-color:#b9d7cf!important}
.backup-settings-card,.sync-settings-card{border-color:var(--rb-ui-line)!important}
.share-offline-section{border-color:#b9cce3!important}
.experiment-card.completed-card{background:#f8f9fb!important;background-image:none!important}

/* In-app participant booking / confirmation surfaces follow the same restrained system. */
.participant-booking-shell{background:#f5f6f8!important;background-image:none!important}
.participant-booking-brand>span{background:var(--rb-ui-accent)!important;background-image:none!important;border-radius:var(--rb-ui-radius)!important;box-shadow:none!important}
.participant-booking-hero{background:#fff!important;background-image:none!important;border-radius:var(--rb-ui-radius-lg)!important;box-shadow:none!important;border-top:3px solid var(--rb-ui-accent)!important}
.confirmation-receipt-entry>button{background:#fff!important;background-image:none!important;border-radius:var(--rb-ui-radius-sm)!important}
.confirmation-receipt-entry>button:hover{background:#f8f9fb!important}
.participant-confirmation-card{border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;border-color:var(--rb-ui-line)!important}
.participant-confirmation-head{background:#175a63!important;background-image:none!important}

/* Class calendars keep patterning only where it communicates occupancy; status colors themselves are solid. */
.class-calendar-toolbar{background:#f8f9fb!important;background-image:none!important}
.class-calendar-kicker{letter-spacing:.04em!important;text-transform:none!important}
.class-slot.booked{background:#2a6ec7!important;background-image:none!important;box-shadow:none!important}
.class-slot.completed{background:#24755f!important;background-image:none!important;box-shadow:none!important}
.class-slot.personal-event{background:#b85b45!important;background-image:none!important;box-shadow:none!important}
.class-note{border-radius:var(--rb-ui-radius-sm)!important;background:#fafbfc!important}
.class-admin-hero{color:var(--rb-ui-ink)!important;background:#fff!important;background-image:none!important;border:1px solid var(--rb-ui-line)!important;border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;padding:16px!important}
.class-admin-hero p{color:var(--rb-ui-muted)!important;opacity:1!important}
.class-admin-hero .class-primary{color:#fff!important;background:var(--rb-ui-accent)!important}
.class-next-lesson{color:var(--rb-ui-ink)!important;background:#fff!important;background-image:none!important;border:1px solid var(--rb-ui-line)!important;border-left:3px solid var(--rb-ui-accent)!important;border-radius:var(--rb-ui-radius)!important;box-shadow:none!important;padding:12px 14px!important}
.class-next-lesson small{color:var(--rb-ui-muted)!important;opacity:1!important}
.class-next-lesson>span{background:#f8f9fb!important;color:var(--rb-ui-muted)!important;border-radius:4px!important}
.class-calendar-transfer-option{background:#fff!important;background-image:none!important;border-radius:var(--rb-ui-radius)!important;box-shadow:none!important}
.class-calendar-transfer-option:hover,.class-calendar-transfer-option:focus-visible{transform:none!important;background:#f8f9fb!important;box-shadow:none!important}
.class-calendar-transfer-icon{border-radius:var(--rb-ui-radius-sm)!important;background:var(--rb-ui-accent-soft)!important}
.rb-cross-role-busy>div span{background:#fff!important;background-image:none!important;border-radius:var(--rb-ui-radius-sm)!important}


/* 1.61 language/touch integrity: text-language dashboards use text-led controls.
   Decorative icon boxes were removed from researcher/role overview cards so they
   cannot be mistaken for standalone actions on touch screens. */
.participant-quick-switcher-heading{grid-template-columns:minmax(0,1fr)!important}
.stats-grid .stat-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important}
.stats-grid .stat-card>div{min-width:0}
.stats-grid .stat-card .stat-arrow{justify-self:end}
.rb15-role-card header{align-items:start}
.rb15-role-card header>div{min-width:0}
.rb15-role-card .rb15-role-row:has(>em:empty)>em{display:none}
