/* One desktop control system. H5 keeps its existing layout and interactions.
   Page tabs = white rail / grey selection. Filters = grey rail / white selection.
   Status labels are passive; row actions invert on hover; primary actions use olive. */
html.web-desktop {
  --web-font:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --web-bg:#eef2f2; --web-ink:#172022; --web-muted:#606d70;
  --web-line:#dfe6e6; --web-hover:#f1f4f4; --web-selected:#e9eeee;
  --web-accent:#b8d45d; --web-accent-hover:#acc74f; --web-accent-down:#9cb83f;
  --web-focus:#718832; --web-danger:#854637;
}
html.web-desktop body {
  --ops-bg:var(--web-bg); --ops-ink:var(--web-ink); --ops-muted:var(--web-muted);
  --ops-line:var(--web-line); --bg:var(--web-bg); --ink:var(--web-ink);
  --muted:var(--web-muted); --line:var(--web-line);
  --border:var(--web-line); --text-secondary:var(--web-muted);
  color:var(--web-ink); background:var(--web-bg);
}
html.web-desktop body :where(#main,.admin-module, #content, #main .view) {background:var(--web-bg)!important}
html.web-desktop body.admin-module {background:var(--web-bg)!important}
html.web-desktop :where(#main,dialog,.admin-module,#drawer) {font-variant-numeric:tabular-nums}
html.web-desktop ::selection {background:#e1eac7;color:var(--web-ink)}
html.web-desktop :where(#main,dialog,.admin-module,#drawer) * {scrollbar-color:#c4cecb transparent;scrollbar-width:thin}
/* Standard actions: same geometry in lists, forms, headers and dialogs. */
html.web-desktop body :where(.btn,.iv-btn,.header-back-btn,.admin-module .button,.admin-module button.primary,.admin-module .heading-actions button,.admin-module .footer-actions button,.admin-module .dialog-footer button,.admin-module #back,.admin-module #cancel-back) {
  box-sizing:border-box; min-height:44px!important; height:auto; padding:9px 14px!important;
  border:1px solid var(--web-line)!important; border-radius:10px!important;
  background:#fff!important;color:var(--web-ink)!important;font-size:14px!important;
  font-weight:500!important;line-height:24px!important;box-shadow:none!important;
  transform:none;cursor:pointer;gap:8px;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .1s ease!important;
}
html.web-desktop body :where(.btn,.iv-btn,.header-back-btn,.admin-module .button,.admin-module .heading-actions button,.admin-module .footer-actions button,.admin-module .dialog-footer button):hover:not(:disabled) {background:var(--web-hover)!important;border-color:#cbd6d6!important;transform:none!important;box-shadow:none!important}
html.web-desktop body :where(.btn,.iv-btn,.header-back-btn,.admin-module .button,.admin-module .heading-actions button,.admin-module .footer-actions button,.admin-module .dialog-footer button):active:not(:disabled) {background:#e7eded!important;transform:translateY(1px) scale(.985)!important;box-shadow:none!important}
html.web-desktop body :where(.btn-primary,.iv-btn.iv-primary,.admin-module button.primary) {background:var(--web-accent)!important;border-color:var(--web-accent)!important;color:#27311b!important}
html.web-desktop body :where(.btn-primary,.iv-btn.iv-primary,.admin-module button.primary):hover:not(:disabled) {background:var(--web-accent-hover)!important;border-color:var(--web-accent-hover)!important}
html.web-desktop body :where(.btn-primary,.iv-btn.iv-primary,.admin-module button.primary):active:not(:disabled) {background:var(--web-accent-down)!important;border-color:var(--web-accent-down)!important;transform:translateY(1px) scale(.985)!important}
html.web-desktop body :where(.btn-danger,.registration-delete-button,#registration-action-submit,.iv-stop .iv-btn) {color:var(--web-danger)!important;border-color:#d8bbb2!important;background:#fff!important}
html.web-desktop body :where(.btn-danger,.registration-delete-button,#registration-action-submit,.iv-stop .iv-btn):hover:not(:disabled) {background:var(--web-danger)!important;border-color:var(--web-danger)!important;color:#fff!important}
html.web-desktop body :where(.btn-danger,.registration-delete-button,#registration-action-submit,.iv-stop .iv-btn):active:not(:disabled) {background:#69372c!important;border-color:#69372c!important;color:#fff!important}
/* Row actions retain the reference's charcoal inversion, with a real hit area. */
html.web-desktop body :where(.btn-link,.row-btn,.action-btn,.iv-row-action .iv-btn,.admin-module td button,.section-more) {
  min-height:36px!important;padding:6px 12px!important;line-height:24px!important;
  border:0!important;border-radius:999px!important;background:transparent!important;
  color:var(--web-ink)!important;font-size:13px!important;font-weight:500!important;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:none!important;
  transition:background-color .16s ease,color .16s ease,transform .1s ease!important;
}
html.web-desktop body :where(.btn-link,.row-btn,.action-btn,.iv-row-action .iv-btn,.admin-module td button,.section-more):hover:not(:disabled),
html.web-desktop body :where(.btn-link,.row-btn,.action-btn,.iv-row-action .iv-btn,.admin-module td button,.section-more):active:not(:disabled) {background:var(--web-ink)!important;color:#fff!important}
html.web-desktop body .btn-link.danger {color:var(--web-danger)!important}
html.web-desktop body .btn-link.danger:hover:not(:disabled) {background:var(--web-danger)!important;color:#fff!important}
html.web-desktop body :where(button,a.btn):disabled {opacity:.42!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
html.web-desktop body :where(#main,dialog,#drawer,.admin-module) :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:2px solid var(--web-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 4px #71883215!important;
}
/* Inputs, including custom select triggers; checkboxes/radios keep their semantics. */
html.web-desktop body :where(#main,dialog,#drawer,.admin-module) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea,.iv-select-trigger) {
  box-sizing:border-box;min-height:44px!important;border:1px solid var(--web-line)!important;border-radius:10px!important;
  background:#fff!important;color:var(--web-ink)!important;font-size:14px!important;line-height:22px!important;
  box-shadow:none;caret-color:var(--web-focus);transition:border-color .16s ease,box-shadow .16s ease!important;
}
html.web-desktop body :where(#main,dialog,#drawer,.admin-module) :where(input,select,textarea):hover:not(:disabled) {border-color:#bdc9c8!important}
html.web-desktop body :where(#main,dialog,#drawer,.admin-module) :where(input,select,textarea):focus {border-color:var(--web-focus)!important}
html.web-desktop body :where(#main,dialog,#drawer,.admin-module) ::placeholder {color:#687578!important;opacity:1}
html.web-desktop body :where(#main,dialog,.admin-module) :where(input[type=checkbox],input[type=radio]) {accent-color:var(--web-focus)}
html.web-desktop body :where(.search-box svg,.search-wrap svg) {color:var(--web-focus)!important;stroke:currentColor!important}
/* Page-level navigation uses the accepted invitation-tab treatment everywhere. */
html.web-desktop body :where(.iv-tabs,.course-editor-tabs,.admin-module .tabs) {
  display:flex!important;width:fit-content;max-width:100%;align-items:center;gap:4px!important;
  padding:5px!important;margin:0 0 24px!important;border:1px solid var(--web-line)!important;
  border-radius:12px!important;background:#fff!important;overflow-x:auto;
}
html.web-desktop body :where(.iv-tabs,.course-editor-tabs,.admin-module .tabs) > button {
  min-height:42px!important;flex:none!important;margin:0!important;padding:8px 18px!important;
  border:0!important;border-radius:8px!important;background:transparent!important;color:var(--web-muted)!important;
  font-size:14px!important;font-weight:500!important;line-height:24px!important;
  white-space:nowrap;box-shadow:none!important;transition:background-color .16s ease,color .16s ease,transform .1s ease!important;
}
html.web-desktop body :where(.iv-tabs,.course-editor-tabs,.admin-module .tabs) > button:where([aria-selected=true],[aria-pressed=true]) {background:var(--web-selected)!important;color:var(--web-ink)!important;font-weight:600!important}
html.web-desktop body :where(.iv-tabs,.course-editor-tabs,.admin-module .tabs) > button:hover {background:var(--web-hover)!important;color:var(--web-ink)!important}
/* Condition selectors: equal hit areas, one active style, no legacy blue. */
html.web-desktop body :where(#a1-chips,#a3-chips,.account-filter-chips,.a4-date-tabs,.admin-module .segments,.admin-module .record-tabs) {
  display:inline-flex;align-items:center;gap:3px!important;padding:4px!important;background:#f2f5f5!important;
  border:1px solid var(--web-line)!important;border-radius:10px!important;max-width:100%;flex-wrap:wrap;
}
html.web-desktop body :where(#a1-chips,#a3-chips,.account-filter-chips,.a4-date-tabs,.admin-module .segments,.admin-module .record-tabs) > button {
  min-height:36px!important;height:auto!important;min-width:0!important;margin:0!important;padding:6px 12px!important;
  border:0!important;border-radius:7px!important;background:transparent!important;color:var(--web-muted)!important;
  font-size:13px!important;font-weight:500!important;line-height:24px!important;box-shadow:none!important;
  transition:background-color .16s ease,color .16s ease,transform .1s ease!important;
}
html.web-desktop body :where(#a1-chips,#a3-chips,.account-filter-chips,.a4-date-tabs,.admin-module .segments,.admin-module .record-tabs) > button:where(.active,[aria-pressed=true],[aria-selected=true]) {background:#fff!important;color:var(--web-ink)!important;box-shadow:0 1px 3px #1720220d!important}
html.web-desktop body :where(#a1-chips,#a3-chips,.account-filter-chips,.a4-date-tabs,.admin-module .segments,.admin-module .record-tabs) > button:hover {background:#e7eded!important;color:var(--web-ink)!important}
html.web-desktop body.admin-module .record-tabs {margin:0 22px 18px!important}
html.web-desktop body.admin-module .period-options {align-items:center;gap:3px}
html.web-desktop body.admin-module .period-options span {min-height:36px;box-sizing:border-box;padding:6px 12px;line-height:24px;font-size:13px;border-radius:7px;background:#f2f5f5;color:var(--web-muted);transition:background-color .16s ease}
html.web-desktop body.admin-module .period-options input:checked+span {background:var(--web-selected);color:var(--web-ink)}
html.web-desktop body.admin-module .period-options span:hover {background:#e7eded}
html.web-desktop body.admin-module .period-options input:focus-visible+span {outline:2px solid var(--web-focus);outline-offset:3px}
/* Passive labels: readable tint, no filled blue pills. */
html.web-desktop body :where(.badge,.registration-type-pill,.account-role,.account-status,.a4-badge,.iv-status) {
  display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 8px!important;
  box-sizing:border-box;border:0!important;border-radius:999px!important;background:#edf1f1!important;
  color:#526365!important;font-size:12px!important;font-weight:500!important;line-height:20px!important;box-shadow:none!important;
}
html.web-desktop body :where(.badge-open,.badge-signed,.badge.green,.account-status:not(.disabled),.a4-badge--signed,.a4-badge--meal,.registration-type-pill--invite) {background:#edf3de!important;color:#51652e!important}
html.web-desktop body :where(.badge-closed,.badge.amber) {background:#f5eddf!important;color:#7e5c2c!important}
html.web-desktop body :where(.badge-dot) {background:currentColor!important}
/* Card/table rhythm and typography across the host and embedded modules. */
html.web-desktop body :where(.table-card,.account-panel,.a4-panel,.a4-course-filter,.stat-mini,.stat-card,.a4-kpi,.course-card,.registration-trend,.cockpit-panel,.activity-card,.quick-card,.status-card,.course-editor-panel,.admin-module .panel,.admin-module .price-panel,.admin-module .filter-panel,.admin-module .version-list,.admin-module .form-panel) {
  border:1px solid var(--web-line)!important;border-radius:16px!important;box-shadow:none!important;background:#fff!important;
}
html.web-desktop body :where(.filter-bar,.account-filter-bar) {gap:12px}
html.web-desktop body .filter-bar {border-radius:16px!important;border-color:var(--web-line)!important;background:#fff!important;padding:20px!important}
html.web-desktop body :where(.editor-intro h2,.account-hero h2,.iv-top h2,.admin-module .page-heading h1) {font-size:26px!important;line-height:1.35!important;font-weight:600!important;color:var(--web-ink)!important;letter-spacing:0!important}
html.web-desktop body :where(.admin-module main,.iv-redesign) {color:var(--web-ink)}
html.web-desktop body :where(#main,dialog,.admin-module) table {border-color:var(--web-line);font-size:14px}
html.web-desktop body :where(#main,dialog,.admin-module) th {background:#f6f8f8!important;color:var(--web-muted)!important;font-size:12px!important;font-weight:600!important;padding:14px 16px!important;border-color:var(--web-line)!important}
html.web-desktop body :where(#main,dialog,.admin-module) td {padding:16px!important;border-color:var(--web-line)!important;font-size:14px!important;line-height:1.65!important;transition:background-color .16s ease}
html.web-desktop body :where(#main,.admin-module) tbody tr:hover td {background:var(--web-hover)!important}
html.web-desktop body :where(.page-btn,.admin-pagination button,.pagination button,.iv-pagination button) {min-height:36px!important;border:1px solid var(--web-line)!important;border-radius:8px!important;background:#fff!important;color:var(--web-muted)!important;font-size:13px!important;line-height:22px!important;padding:6px 12px!important;box-shadow:none!important}
html.web-desktop body :where(.page-btn.active,.admin-pagination button.active,.pagination button.active,.admin-pagination [aria-current=page]) {background:var(--web-selected)!important;color:var(--web-ink)!important;border-color:#cbd6d6!important}
html.web-desktop body :where(.page-btn,.admin-pagination button,.pagination button,.iv-pagination button):hover:not(:disabled) {background:var(--web-hover)!important;color:var(--web-ink)!important}
/* Dialogs: persistent actions, content scrolls, same overlay and close affordance. */
html.web-desktop body dialog {border:0!important;border-radius:16px!important;box-shadow:0 24px 72px #17202226!important;max-height:calc(100dvh - 64px)!important;color:var(--web-ink)}
html.web-desktop body dialog::backdrop {background:#17202266!important}
html.web-desktop body :where(.account-dialog-head,.banner-dialog-head,.dialog-head) {padding:24px!important;border-bottom:1px solid var(--web-line)!important;background:#fff}
html.web-desktop body :where(.account-dialog-head,.banner-dialog-head,.dialog-head) h2 {font-size:20px!important;margin:0!important;line-height:1.4!important}
html.web-desktop body .account-dialog[open] {display:flex!important;flex-direction:column;overflow:hidden!important}
html.web-desktop body .account-dialog-head {flex:none}
html.web-desktop body .account-dialog > :where(.account-form,.checkin-code-form) {overflow:auto!important;min-height:0;padding:24px!important}
html.web-desktop body :where(.account-dialog-actions,.banner-dialog-actions,.dialog-footer) {position:sticky!important;bottom:-24px;z-index:2;background:#fff!important;padding:16px 0!important;margin-top:24px;border-top:1px solid var(--web-line)!important;box-shadow:0 -8px 16px #ffffffec}
html.web-desktop body.admin-module .dialog-footer {bottom:0;padding:16px 24px!important;flex:none;margin:0}
html.web-desktop body :where(.account-dialog-close,.banner-dialog-close,.drawer-close,.admin-module .close-button,#close-confirm,#close-cancel,.iv-picker-close,.web-dialog-close) {
  display:inline-flex!important;align-items:center;justify-content:center;position:relative!important;
  flex:0 0 36px!important;align-self:flex-start;margin:0 0 0 auto!important;
  box-sizing:border-box;width:36px!important;height:36px!important;min-height:36px!important;min-width:36px!important;
  padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;
  color:var(--web-muted)!important;font-size:0!important;line-height:1!important;box-shadow:none!important;
  cursor:pointer;transform:none;transition:background-color .16s ease,color .16s ease,transform .1s ease!important;
}
html.web-desktop body :where(.account-dialog-close,.banner-dialog-close,.drawer-close,.admin-module .close-button,#close-confirm,#close-cancel,.iv-picker-close,.web-dialog-close) > svg {display:none!important}
html.web-desktop body :where(.account-dialog-close,.banner-dialog-close,.drawer-close,.admin-module .close-button,#close-confirm,#close-cancel,.iv-picker-close,.web-dialog-close)::before {
  content:"";display:block;flex:none;width:18px;height:18px;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 6 12 12M18 6 6 18' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/18px 18px no-repeat;
}
html.web-desktop body :where(.account-dialog-close,.banner-dialog-close,.drawer-close,.admin-module .close-button,#close-confirm,#close-cancel,.iv-picker-close,.web-dialog-close):hover {background:var(--web-hover)!important;color:var(--web-ink)!important}
html.web-desktop body :where(.account-dialog-close,.banner-dialog-close,.drawer-close,.admin-module .close-button,#close-confirm,#close-cancel,.iv-picker-close,.web-dialog-close):active {background:var(--web-selected)!important;color:var(--web-ink)!important;transform:scale(.94)!important}
html.web-desktop body :where(.account-dialog-close,.banner-dialog-close,.drawer-close,.admin-module .close-button,#close-confirm,#close-cancel,.iv-picker-close,.web-dialog-close):focus-visible {outline:2px solid var(--web-focus)!important;outline-offset:2px;box-shadow:0 0 0 4px #7188321a!important}
html.web-desktop body :where(.account-dialog-head,.banner-dialog-head,.dialog-head,.drawer-header,.iv-picker-head) {display:flex;align-items:flex-start;gap:16px}
html.web-desktop body :where(.business-disclosure,.course-optional,.content-editor-group) > summary {color:var(--web-muted)!important;border-radius:8px;transition:background-color .16s ease}
html.web-desktop body :where(.business-disclosure,.course-optional,.content-editor-group) > summary:hover {background:var(--web-hover);color:var(--web-ink)!important}
html.web-desktop body #view-a2 .course-editor-footer {background:var(--web-bg)!important;border-color:var(--web-line)!important}
html.web-desktop body .a3-tools .search-box {flex:1 1 260px!important;min-width:200px}
html.web-desktop body .a3-tools {flex-wrap:wrap}
html.web-desktop body.admin-module .section-head>div:last-child:has(#trend-metric) {flex:0 0 200px}
html.web-desktop body :where(.btn,.header-back-btn) svg {color:inherit!important;stroke:currentColor!important}
html.web-desktop body :where(.btn,.header-back-btn) svg * {stroke:currentColor!important}
@media(prefers-reduced-motion:reduce) {html.web-desktop body * {transition:none!important;scroll-behavior:auto!important}}

html.web-desktop body #main .search-box {height:44px!important;min-height:44px!important;border:1px solid var(--web-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
html.web-desktop body #main .search-box input {border:0!important;background:transparent!important;min-height:42px!important;height:42px!important;outline:none!important;box-shadow:none!important}
html.web-desktop body #main .search-box:focus-within {border-color:var(--web-focus)!important;outline:2px solid var(--web-focus);outline-offset:3px}

html.web-desktop body #view-a2 .editor-intro {position:static!important;background:transparent!important}
html.web-desktop body #view-a1 .course-grid {grid-template-columns:repeat(auto-fill,minmax(330px,1fr))!important;gap:20px!important}
html.web-desktop body #view-a1 .course-actions {display:flex;flex-wrap:wrap;gap:4px;padding:12px!important}
html.web-desktop body #view-a1 .course-actions .action-btn {padding:6px 10px!important}

/* The wrapper is layout-neutral outside the desktop system. */
.web-period-controls {display:contents}
html.web-desktop body.admin-module .web-period-controls {display:flex;gap:3px;padding:4px;border-radius:10px;background:var(--web-hover)}
html.web-desktop body.admin-module .period-options span {background:transparent}
html.web-desktop body.admin-module .period-options input:checked+span {background:#fff;color:var(--web-ink);box-shadow:0 1px 3px #1720220d}
html.web-desktop body.admin-module #trend-metric {width:200px;flex:0 0 200px}
html.web-desktop body :where(input,select,textarea):disabled,
html.web-desktop body :where(input,textarea)[readonly] {background:#f4f6f6!important;color:#687578!important;cursor:default}
html.web-desktop body :where(input,select,textarea)[aria-invalid="true"] {border-color:#a9533d!important}
html.web-desktop body .region-chip {background:#edf2df!important;color:#4f6128!important;border-color:#d9e2c2!important}

/* Desktop sign-in uses the same restrained olive and form feedback. */
html.web-desktop body #auth-screen {--accent:var(--web-accent);--accent-deep:var(--web-accent-hover);--muted:var(--web-muted);--line:var(--web-line)}
html.web-desktop body #auth-screen svg {color:#728644!important;stroke-width:1.4}
html.web-desktop body #auth-screen .input-wrap input {height:44px;border-radius:10px;background:#fff;border-color:var(--web-line);color:var(--web-ink)}
html.web-desktop body #auth-screen .input-wrap input:focus-visible {outline:2px solid var(--web-focus);outline-offset:3px;box-shadow:0 0 0 4px #71883215}
html.web-desktop body #auth-screen .login-btn {height:44px;border-radius:10px;background:var(--web-accent);font-size:14px;color:#27311b;cursor:pointer}
html.web-desktop body #auth-screen .login-btn:hover:not(:disabled) {background:var(--web-accent-hover)}
html.web-desktop body #auth-screen .login-btn:active:not(:disabled) {background:var(--web-accent-down);transform:translateY(1px) scale(.985)}
html.web-desktop body #auth-screen button:focus-visible {outline:2px solid var(--web-focus);outline-offset:3px}
html.web-desktop body #auth-screen .toggle-pwd {min-width:40px;min-height:32px;padding:4px 8px;border-radius:999px;transition:background-color .16s ease,color .16s ease;cursor:pointer}
html.web-desktop body #auth-screen .toggle-pwd:hover {background:var(--web-ink);color:#fff}

html.web-desktop body :where(.iv-tabs,.course-editor-tabs,.admin-module .tabs,#a1-chips,#a3-chips,.account-filter-chips,.a4-date-tabs,.admin-module .segments,.admin-module .record-tabs) > button:active:not(:disabled) {background:#dfe7e7!important;transform:translateY(1px) scale(.985)!important}
html.web-desktop body.admin-module .period-options label:active span {background:#dfe7e7;transform:translateY(1px) scale(.985)}

html.web-desktop body .web-confirm-dialog {width:min(480px,calc(100vw - 64px));padding:0;margin:auto!important;inset:0;background:#fff}
html.web-desktop body .web-confirm-dialog form {margin:0}
html.web-desktop body #web-confirm-message {padding:24px;margin:0;line-height:1.8;color:var(--web-muted);overflow-wrap:anywhere}
html.web-desktop body .web-confirm-actions {display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--web-line)}
/* Compact roster actions belong to the same family as all other table actions. */
html.web-desktop body .a4-mini {min-height:36px!important;padding:6px 12px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--web-ink)!important;font-size:13px!important;line-height:24px!important;transition:background-color .16s ease,color .16s ease}
html.web-desktop body .a4-mini:hover {background:var(--web-ink)!important;color:#fff!important}
html.web-desktop body .a4-mini.danger {color:var(--web-danger)!important}
html.web-desktop body .a4-mini.danger:hover {background:var(--web-danger)!important;color:#fff!important}

/* Shared desktop typography; preserve dedicated code/identifier monospace. */
html.web-desktop body,
html.web-desktop body :where(.view,#auth-screen,dialog) {--font:var(--web-font)!important}
html.web-desktop body,
html.web-desktop body :where(button,input,select,textarea,#auth-screen,dialog) {font-family:var(--web-font)!important}
html.web-desktop body :where(.nav-item) {font-weight:400!important}
html.web-desktop body :where(.nav-item.active,.nav-item[aria-current="page"]) {font-weight:600!important}

/* Desktop selects share the invitation picker's surface and interaction states. */
.web-select-trigger[hidden],.web-select-search[hidden] {display:none!important}
html.web-desktop .web-select-source {display:none!important}
html.web-desktop body .web-select-trigger {
  display:block;position:relative;box-sizing:border-box;width:100%;min-width:0;min-height:44px;
  padding:10px 36px 10px 12px;border:1px solid var(--web-line)!important;border-radius:10px;
  background:#fff;color:var(--web-ink);font-size:14px;font-weight:400;line-height:22px;text-align:left;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
html.web-desktop body .web-select-trigger::after {content:'';position:absolute;right:15px;top:16px;width:7px;height:7px;border-bottom:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
html.web-desktop body .web-select-trigger:hover {border-color:#b7c2c2!important}
html.web-desktop body .web-select-trigger[aria-expanded=true] {border-color:var(--web-focus)!important;box-shadow:0 0 0 3px #71883226}
html.web-desktop body .web-select-trigger:active {background:var(--web-hover)}
html.web-desktop body .web-select-trigger:disabled {background:#f3f5f5;color:#87918f;cursor:not-allowed}
html.web-desktop body .web-select-dialog {inset:0;margin:auto;width:min(460px,calc(100% - 64px));padding:0;background:#fff;overflow:auto}
html.web-desktop body .web-select-dialog .dialog-head {position:sticky;top:0;z-index:1}
html.web-desktop #iv-picker .iv-picker-head {padding:24px!important}
html.web-desktop #iv-picker h2 {font-size:20px;line-height:1.4}
html.web-desktop #iv-picker .iv-picker-option[aria-pressed=true] {font-weight:600}
html.web-desktop body .web-select-search {display:block;width:calc(100% - 40px);margin:12px 20px}
html.web-desktop body .web-select-options {padding:4px 20px 20px}
html.web-desktop body .web-select-option {display:block;width:100%;min-height:48px;padding:12px;border:0;border-bottom:1px solid #edf0f0;border-radius:8px;background:transparent;color:var(--web-ink);text-align:left;font-size:14px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere;transition:color .14s ease,background-color .14s ease}
html.web-desktop body .web-select-option[aria-pressed=true] {background:#edf2df;color:#3c4d20;font-weight:600}
html.web-desktop body .web-select-option:hover:not(:disabled) {background:#f0f4f4;color:var(--web-ink)}
html.web-desktop body .web-select-option:active:not(:disabled) {background:var(--web-ink);color:white}
html.web-desktop body .web-select-option:disabled {opacity:.45;cursor:not-allowed}
html.web-desktop body .web-select-options p {padding:24px 0;color:var(--web-muted);text-align:center}
html.web-desktop body .trend-panel .web-select-trigger {width:200px;max-width:100%}
@media(prefers-reduced-motion:reduce) {html.web-desktop body :where(.web-select-trigger,.web-select-option) {transition:none!important}}

/* Desktop invitation management lives beside each QR's roster action. */
#view-invites.iv-redesign .iv-web-stop {display:none}
html.web-desktop #view-invites.iv-redesign .iv-web-stop {display:inline-flex;margin-left:4px}
html.web-desktop #view-invites.iv-redesign .iv-secondary .iv-stop {display:none!important}
html.web-desktop #view-invites.iv-redesign .iv-invitation-table .iv-row-action {white-space:nowrap}
html.web-desktop #view-invites.iv-redesign .iv-web-stop .iv-btn {color:var(--web-danger)!important}
html.web-desktop #view-invites.iv-redesign .iv-web-stop .iv-btn:hover:not(:disabled) {background:var(--web-danger)!important;color:#fff!important}
html.web-desktop #view-invites.iv-redesign .iv-web-stop .iv-btn:active:not(:disabled) {background:#69372c!important;color:#fff!important;transform:translateY(1px) scale(.985)!important}
html.web-desktop #view-invites.iv-redesign .iv-invitation-table :is(th,td) {padding-left:12px!important;padding-right:12px!important}
html.web-desktop #view-invites.iv-redesign .iv-invitation-table td:first-child {width:26%}
html.web-desktop #view-invites.iv-redesign .iv-invitation-table td:nth-child(2) {min-width:140px}
html.web-desktop #view-invites.iv-redesign .iv-invitation-table td:nth-child(3) {min-width:128px}
html.web-desktop #view-invites.iv-redesign .iv-invitation-table td:nth-child(4) {min-width:160px}
/* Invitation headings: helper copy first; filled row actions remain easy to find. */
html.web-desktop #view-invites.iv-redesign :is(.iv-top,.iv-section-head)>div:first-child {display:flex;flex-direction:column}
html.web-desktop #view-invites.iv-redesign :is(.iv-top,.iv-section-head)>div:first-child>p.iv-muted {order:-1;margin:0 0 6px!important;font-size:13px;line-height:1.6}
html.web-desktop #view-invites.iv-redesign .iv-row-action>.iv-btn {background:#edf2df!important;color:#3c4d20!important}
html.web-desktop #view-invites.iv-redesign .iv-row-action>.iv-btn:hover:not(:disabled) {background:var(--web-ink)!important;color:#fff!important}
html.web-desktop #view-invites.iv-redesign .iv-row-action>.iv-btn:active:not(:disabled) {background:#0e1516!important;color:#fff!important}
html.web-desktop #view-invites.iv-redesign .iv-web-stop .iv-btn {background:#f5eae6!important}
html.web-desktop #view-invites.iv-redesign .iv-web-stop .iv-btn:hover:not(:disabled) {background:var(--web-danger)!important;color:#fff!important}
html.web-desktop #view-invites.iv-redesign .iv-web-stop .iv-btn:active:not(:disabled) {background:#69372c!important;color:#fff!important}
