/* Shared operations palette: retain the approved yellow-green identity. */
:root{--ops-accent:#b8d45d;--ops-hover:#acc74f;--ops-pressed:#9cb83f;--ops-soft:#eff4e1;--ops-ink:#253124;--ops-muted:#5d685e;--ops-line:#dce3d9;--ops-surface:#fff;--ops-bg:#f5f7f4;--ops-focus:#536b2e}
#global-course-search[hidden]{display:none!important}
.business-disclosure{margin-top:24px;border-top:1px solid var(--ops-line);padding-top:8px;color:var(--ops-muted)}
.business-disclosure>summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:14px;font-weight:600;color:var(--ops-ink)}
.business-disclosure[open]>summary{margin-bottom:12px}
#view-a3 .a3-tools{margin-top:4px}
#view-a3 .stats-mini{margin:0 0 16px}
#view-a5 .account-hero{margin-bottom:20px}
#view-a5 .account-panel-head p{max-width:70ch}
#view-a5 .account-summary{margin:0 0 16px}
#view-a5 .account-note{margin:12px 0}
.mobile-task-shortcuts{display:none}
.business-dialog{width:min(480px,calc(100% - 32px));padding:24px;border:1px solid var(--ops-line);border-radius:16px;background:#fff;color:var(--ops-ink)}
.business-dialog::backdrop{background:rgb(25 35 27 / .38)}
.business-dialog h2{font-size:20px;margin:0 0 12px;line-height:1.4}
.business-dialog p{font-size:14px;line-height:1.7;color:var(--ops-muted);margin:0 0 24px}
.business-dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.business-dialog button{min-height:44px}
:is(.business-dialog,.business-disclosure) :focus-visible{outline:2px solid var(--ops-focus);outline-offset:3px}
#view-invites{--iv-accent:var(--ops-accent);--iv-ink:var(--ops-ink);--iv-muted:var(--ops-muted);--iv-line:var(--ops-line);max-width:none}
#view-invites .iv-primary{background:var(--ops-accent)!important;border-color:var(--ops-accent)!important;color:var(--ops-ink)!important}
#view-invites .iv-primary:hover{background:var(--ops-hover)!important}
#view-invites .iv-primary:active{background:var(--ops-pressed)!important}
#view-invites :is(.iv-btn,input,select){min-height:44px;border-radius:8px}
#view-invites :is(.iv-panel,.iv-metrics){border-color:var(--ops-line);border-radius:12px}
/* Embedded modules load this same stylesheet, so tokens and control states cannot drift. */
body.admin-module{--accent:var(--ops-accent);--accent-soft:var(--ops-soft);--blue:var(--ops-focus);--blue-light:var(--ops-soft);--ink:var(--ops-ink);--muted:var(--ops-muted);--line:var(--ops-line);--paper:#fff;--surface:#fff;--warm:var(--ops-soft);--bg:var(--ops-bg);background:var(--ops-bg);color:var(--ops-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.admin-module main{padding:0 0 24px!important;max-width:none!important}
.admin-module .page-heading{margin:0 0 24px;gap:16px}
.admin-module .page-heading h1{font-size:24px;line-height:1.35;letter-spacing:normal}
.admin-module .page-heading p{font-size:14px;line-height:1.6;color:var(--ops-muted);margin-top:6px}
.admin-module :is(button,.button){min-height:44px;border-radius:8px}
.admin-module :is(input:not([type=radio]):not([type=checkbox]),select,textarea){min-height:44px;border-radius:8px;border-color:#c6d0c2;caret-color:var(--ops-focus)}
.admin-module button.primary{background:var(--ops-accent);border-color:var(--ops-accent);color:var(--ops-ink);font-weight:650}
.admin-module button.primary:hover:not(:disabled){background:var(--ops-hover);border-color:var(--ops-hover)}
.admin-module button.primary:active:not(:disabled){background:var(--ops-pressed);border-color:var(--ops-pressed)}
.admin-module button:hover:not(:disabled):not(.primary){background:var(--ops-soft)}
.admin-module :focus-visible{outline:2px solid var(--ops-focus);outline-offset:3px}
.admin-module ::selection{background:var(--ops-accent);color:var(--ops-ink)}
.admin-module :is(.price-panel,.version-list,.rules,.form-panel,.filter-panel,.panel){background:#fff;border-color:var(--ops-line);border-radius:12px}
.admin-module .tabs button{border-radius:0}
.admin-module .empty-setup{padding:28px 20px;text-align:left;max-width:620px;white-space:normal;margin:auto;line-height:1.7}
.admin-module .empty-setup h3{font-size:17px;margin-bottom:8px}
.admin-module .empty-setup p{margin:8px 0;color:var(--ops-muted)}
.admin-module .empty-setup details{margin:16px 0}
.admin-module .empty-setup summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.admin-module .empty-setup ol{padding-left:22px}
@media(max-width:760px){
 .mobile-task-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 20px}
 .mobile-task-shortcuts .btn{min-height:48px;background:var(--ops-soft);border-color:var(--ops-line);color:var(--ops-ink);font-weight:600}
 #view-a3 :is(.search-input,.form-select),#view-a5 .account-search{min-height:44px}
 #view-a3 .page-subtitle{font-size:13px;margin-bottom:12px}
 #view-a5 .account-panel-head p{display:none}
 #view-a5 .account-hero{gap:12px;margin-bottom:16px}
 #view-a5 .account-hero h2{display:none}
 #view-a5 .account-hero p{margin:0;font-size:13px}
 .business-disclosure .stats-mini,.business-disclosure .account-summary{display:flex;flex-wrap:wrap;gap:12px}
 .business-disclosure :is(.stat-mini,.account-stat){flex:1;min-width:80px;padding:12px;box-shadow:none}
 .business-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
 .business-dialog-actions [data-leave=save]{grid-column:1/-1}
 .sidebar #btn-sign-out{width:44px;min-width:44px;height:44px}
 .admin-module .page-heading{margin-bottom:20px}
 .admin-module .page-heading h1{font-size:21px}
 .admin-module .heading-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}
 .admin-module .empty-setup{padding:20px 12px}
}
@media(prefers-reduced-motion:reduce){.admin-module *{scroll-behavior:auto;transition:none!important}}

.admin-module .price-panel:has(.empty-setup) table{min-width:0;width:100%}
.admin-module .price-panel:has(.empty-setup) .table-scroll{overflow:visible}
.admin-module .price-panel:has(.empty-setup) td{white-space:normal}
@media(max-width:760px){
 #view-a3 .table-wrap{overflow:visible}
 #view-a3 .reg-table{display:block;min-width:0!important;width:100%}
 #view-a3 .reg-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #view-a3 .reg-table tbody{display:grid;gap:12px;padding:12px}
 #view-a3 .reg-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;border-bottom:1px solid var(--ops-line);padding:8px 0 16px}
 #view-a3 .reg-table td{display:block;padding:0;border:0;white-space:normal;min-width:0;word-break:break-word}
 #view-a3 .reg-table .cell-course{grid-column:1/-1;color:var(--ops-ink)}
 #view-a3 .reg-table .cell-course::before{content:'课程：';color:var(--ops-muted)}
 #view-a3 .reg-table .cell-city::before{content:'城市：';color:var(--ops-muted)}
 #view-a3 .reg-table .cell-time{grid-column:1;color:var(--ops-muted);font-size:12px}
 #view-a3 .reg-table td:last-child{grid-column:2;grid-row:4/6;align-self:end}
 #view-a3 .reg-table .row-btn{min-height:44px;min-width:64px;background:var(--ops-soft);border:1px solid var(--ops-line);border-radius:8px;color:var(--ops-ink)}
}
body,#view-a1,#view-a2,#view-a3{--accent:var(--ops-accent);--accent-btn:var(--ops-accent)}
body #a3-export-btn{background:var(--ops-accent);border-color:var(--ops-accent);min-height:44px}
body #a3-export-btn:hover{background:var(--ops-hover)}
body #view-invites{--iv-accent:var(--ops-accent);--iv-line:var(--ops-line);--iv-muted:var(--ops-muted);--iv-ink:var(--ops-ink)}
body #view-invites .iv-tab[aria-pressed=true]{border-bottom-color:var(--ops-focus)}
body #view-invites .iv-metric:first-child strong,body #view-invites .iv-link,body #iv-picker .iv-picker-option[aria-pressed=true]{color:var(--ops-focus)}
body #view-invites :is(.iv-metric,.iv-compare):hover,body #iv-picker .iv-picker-option:hover{background:var(--ops-soft)}
body #view-invites :is(.iv-select-trigger,input){border-color:#c6d0c2}
body #view-invites .iv-select-trigger:hover{border-color:var(--ops-focus)}
body #view-invites :is(.iv-trend-column i,.iv-compare-track i,.iv-state-item em){background:#849b42}
body #view-invites :is(.iv-compare-track,.iv-state-item>i){background:var(--ops-soft)}
body #view-invites .iv-statuses button[aria-pressed=true]{background:var(--ops-soft);border-color:var(--ops-accent);color:var(--ops-focus)}
body #view-invites :is(button,input):focus-visible,body #iv-picker :is(button,input):focus-visible{outline:2px solid var(--ops-focus);outline-offset:3px}
.admin-module .version-button[aria-pressed=true]{background:var(--ops-soft);border-color:#c6d0c2}
.admin-module .table-scroll::after{background:var(--ops-bg);color:var(--ops-muted)}
.admin-module .price-panel:has(.empty-setup) .table-scroll::after{display:none}
.admin-module .login-scope{margin:0 0 16px;color:var(--ops-muted);font-size:13px}
.admin-module .login-scope summary{min-height:44px;cursor:pointer;padding:10px 0}
@media(max-width:760px){
 #main #view-a3 .reg-table td{padding:0!important;max-width:none}
 #main #view-a3 .reg-table td:first-child,#main #view-a3 .reg-table td:last-child{padding:0!important}
 #main #view-a3 .reg-table tr{gap:8px 12px}
 #main #view-a3 .a3-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
 #main #view-a3 .a3-tools .search-box{grid-column:1/-1;width:100%;min-width:0}
 #main #view-a3 .a3-tools .filter-chips{grid-column:1/-1;grid-row:3}
 #main #view-a3 #a3-reset{grid-column:2;grid-row:2;width:auto;min-width:64px}
 #main #view-a3 #a3-custom-range{grid-column:1/-1}
 #main #view-a3 #a3-type{width:100%;max-width:none}
 #main #view-a4 .a4-roster{margin-bottom:20px}
}
