/* TaiXu approved UI v3: production staff surfaces only. Legacy values are scoped aliases. */
html.tx-ui-v3 #app :is(.admin-page,.operator-page,.mentor-page){--bg:var(--txv-page);--panel:var(--txv-surface);--panel-2:var(--txv-soft);--ink:var(--txv-ink);--muted:var(--txv-muted);--line:var(--txv-line);--green:var(--txv-accent);--gold:var(--txv-accent);--gold-2:var(--txv-accent);--tx-ink:var(--txv-ink);--tx-muted:var(--txv-muted);--tx-line:var(--txv-line);--tx-surface:var(--txv-surface);--tx-soft:var(--txv-soft);min-width:0;background:var(--txv-page)!important;color:var(--txv-ink)!important;font-family:inherit;font-size:14px;line-height:1.65;overflow:visible!important}
html.tx-ui-v3 #app .admin-page .admin-layout{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;width:100%!important;max-width:1560px!important;margin:0 auto!important;padding:24px!important;gap:24px!important;align-items:start!important}
html.tx-ui-v3 #app .admin-page :is(.admin-main,#adminBody,#operatorBody,#teacherBody){width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;overflow:visible!important}
html.tx-ui-v3 #app .admin-page .admin-nav{display:block!important;position:sticky!important;top:20px!important;width:100%!important;min-height:0!important;max-height:calc(100dvh - 40px)!important;padding:12px 10px!important;margin:0!important;border:1px solid var(--txv-line)!important;border-radius:12px!important;background:var(--txv-surface)!important;box-shadow:none!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;backdrop-filter:none!important}
html.tx-ui-v3 #app .admin-page .admin-nav .brand{display:flex;min-height:54px!important;padding:8px 10px 17px!important;margin:0!important;border:0!important;background:transparent!important;color:var(--txv-ink)!important;gap:10px;font-size:15px!important}
html.tx-ui-v3 #app .admin-page .admin-nav .seal{width:30px!important;height:30px!important;flex-basis:30px!important;border:1px solid var(--txv-line)!important;border-radius:8px!important;color:var(--txv-accent)!important;background:var(--txv-accent-soft)!important;font-size:15px!important;box-shadow:none!important}
html.tx-ui-v3 #app .admin-page .admin-nav-group{display:block!important;margin:8px 0 0!important;padding:10px 0 0!important;border-top:1px solid var(--txv-line)!important}
html.tx-ui-v3 #app .admin-page .admin-nav-section-label{display:block!important;padding:3px 10px 7px!important;color:var(--txv-muted)!important;font-size:10px!important;font-weight:500!important;line-height:1.5;letter-spacing:.8px}
html.tx-ui-v3 #app .admin-page .admin-nav button{display:block!important;width:100%!important;min-height:36px!important;padding:8px 11px!important;margin:2px 0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--txv-muted)!important;text-align:left;font-size:12px!important;font-weight:500!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:break-word}
html.tx-ui-v3 #app .admin-page .admin-nav button:is(:hover,.active){background:var(--txv-accent-soft)!important;color:var(--txv-accent)!important}
html.tx-ui-v3 #app .admin-page .admin-head{position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap;gap:16px!important;min-height:70px!important;margin:0 0 24px!important;padding:0 0 18px!important;border:0!important;border-bottom:1px solid var(--txv-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.admin-head,.mentor-head) h1{margin:5px 0 0!important;font-family:inherit!important;font-size:28px!important;line-height:1.3!important;letter-spacing:-.7px!important;font-weight:620!important;color:var(--txv-ink)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) .eyebrow{font-size:10px!important;font-weight:600!important;letter-spacing:1.5px!important;color:var(--txv-accent)!important;line-height:1.5!important}
html.tx-ui-v3 #app .admin-page .admin-section-context{display:inline-block;margin:8px 0 0!important;padding:3px 8px!important;min-height:0!important;border-radius:5px!important;background:var(--txv-soft)!important;color:var(--txv-muted)!important;font-size:11px!important;font-weight:500!important}
html.tx-ui-v3 #app .admin-page .admin-head>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.admin-card,.mentor-section,.admin-overview-command){min-width:0!important;padding:22px!important;margin:0 0 20px!important;border:1px solid var(--txv-line)!important;border-radius:12px!important;background:var(--txv-surface)!important;background-image:none!important;box-shadow:none!important;overflow:visible!important}
html.tx-ui-v3 #app .admin-page .admin-card .admin-card{padding:17px!important;margin:16px 0 0!important;background:var(--txv-soft)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.card-head,.mentor-section-head,.site-ledger-head){display:flex!important;align-items:flex-start!important;justify-content:space-between;gap:16px!important;flex-wrap:wrap;min-width:0;margin:0 0 18px!important;padding:0!important;background:transparent!important;box-shadow:none!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.card-head,.admin-card,.admin-overview-command,.mentor-section) h2{font-family:inherit!important;font-size:17px!important;font-weight:600!important;line-height:1.45!important;letter-spacing:-.2px!important;color:var(--txv-ink)!important;margin:0 0 6px!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(p,li,dt,dd,label,.muted,.tiny,small,.field label){font-size:12px!important;line-height:1.7!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.muted,.tiny,small,.mentor-note,.mentor-head p){color:var(--txv-muted)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.stats,.admin-kpi-grid,.operator-workbench-grid,.operator-profit-grid,.order-admin-summary,.platform-ledger-summary,.coin-recharge-admin-summary,.point-summary-grid,.compute-pool-summary,.mentor-stats){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important;gap:12px!important;min-width:0;margin:0 0 22px!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.stat,.operator-workbench-grid article,.operator-profit-grid article,.order-admin-summary>div,.platform-ledger-summary>article,.coin-recharge-admin-summary>div,.point-summary-grid>*,.compute-pool-summary>*,.mentor-stats article){min-width:0;padding:17px!important;border:1px solid var(--txv-line)!important;border-radius:10px!important;background:var(--txv-surface)!important;box-shadow:none!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.stat,.operator-workbench-grid article,.operator-profit-grid article,.order-admin-summary>div,.platform-ledger-summary>article,.point-summary-grid>*,.compute-pool-summary>*,.mentor-stats article) strong{display:block;font-family:inherit!important;font-size:26px!important;line-height:1.4!important;letter-spacing:-.6px!important;font-weight:600!important;color:var(--txv-ink)!important;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html.tx-ui-v3 #app .admin-page .point-summary-action:is(:hover,.active){border-color:var(--txv-accent)!important;background:var(--txv-accent-soft)!important;transform:none!important}
/* Table overflow belongs to its own surface, never the whole document. */
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.table-wrap,.point-reality-wrap,.mentor-table-wrap){display:block;min-width:0!important;width:100%!important;max-width:100%!important;max-height:none!important;overflow:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:10px 0 0!important;padding:0!important;border:1px solid var(--txv-line)!important;border-radius:9px!important;background:var(--txv-surface)!important;box-shadow:none!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) table{width:100%!important;min-width:0!important;table-layout:auto!important;border-collapse:collapse!important;border-spacing:0!important;font-family:inherit!important;font-size:13px!important;color:var(--txv-ink)!important;background:transparent!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(th,td){padding:12px!important;border:0!important;border-bottom:1px solid var(--txv-line)!important;border-radius:0!important;text-align:left;vertical-align:top;font-size:13px!important;line-height:1.6!important;color:var(--txv-ink)!important;white-space:normal;overflow-wrap:anywhere}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) th{font-size:11px!important;font-weight:550!important;white-space:nowrap;background:var(--txv-soft)!important;color:var(--txv-muted)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) tbody tr{background:transparent!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) tbody tr:hover{background:var(--txv-soft)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) td :is(small,.tiny){font-size:11px!important;line-height:1.6!important;overflow-wrap:anywhere}
html.tx-ui-v3 #app .admin-page .point-reality>strong{font-family:inherit!important;font-size:21px!important;font-weight:600!important;color:var(--txv-ink)!important;line-height:1.35!important}
html.tx-ui-v3 #app .admin-page .point-reality>span{font-size:12px!important;color:var(--txv-ink)!important}
html.tx-ui-v3 #app .admin-page .student-manage-panel{width:min(370px,100%);min-width:260px!important;max-width:100%;padding:16px!important;border:1px solid var(--txv-line)!important;border-radius:9px!important;background:var(--txv-soft)!important;box-shadow:none!important}
html.tx-ui-v3 #app .admin-page :is(.form-grid,.student-profile-form,.background-media-form,.staff-password-form){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;gap:14px!important;min-width:0}
html.tx-ui-v3 #app .admin-page .field{min-width:0;gap:7px!important;margin-bottom:12px!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.input,.mini-input,input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea){min-width:0;max-width:100%;min-height:38px!important;padding:8px 11px!important;border:1px solid var(--txv-line)!important;border-radius:8px!important;background:var(--txv-surface)!important;color:var(--txv-ink)!important;font-family:inherit!important;font-size:13px!important;line-height:1.5!important;box-shadow:none!important}
html.tx-ui-v3 #app .admin-page textarea{min-height:120px!important;resize:vertical}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.btn,button.btn,a.btn){display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;min-height:38px!important;height:auto!important;padding:8px 13px!important;border:1px solid transparent!important;border-radius:8px!important;background:var(--txv-accent)!important;color:var(--txv-surface)!important;font-family:inherit!important;font-size:12px!important;font-weight:550!important;line-height:1.45!important;white-space:normal!important;box-shadow:none!important;text-shadow:none!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) .btn:is(.secondary,.ghost){background:var(--txv-surface)!important;color:var(--txv-ink)!important;border-color:var(--txv-line)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) .btn.ghost{background:transparent!important;color:var(--txv-muted)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) .btn:is(.danger,.danger-button){color:var(--txv-danger)!important;border-color:var(--txv-danger)!important;background:transparent!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--txv-accent)!important;outline-offset:3px!important}
html.tx-ui-v3 #app .admin-page :is(.status,.monitor-tag,.media-state,.metric-state){font-size:11px!important;line-height:1.6!important;padding:3px 7px!important;border-radius:5px!important;color:var(--txv-muted)!important;background:var(--txv-soft)!important}
html.tx-ui-v3 #app .admin-page :is(.status.unused,.media-state.ready,.metric-state.success){color:var(--txv-accent)!important;background:var(--txv-accent-soft)!important}
html.tx-ui-v3 #app .admin-page :is(.status.revoked,.monitor-tag.danger){color:var(--txv-danger)!important;background:color-mix(in srgb,var(--txv-danger) 10%,var(--txv-surface))!important}
html.tx-ui-v3 #app .admin-page :is(.module-editor,.lesson-editor,.material-admin,.material-form,.community-admin-form,.advanced-fields,.upload-panel,.answer-admin-item,.reward-template-form,.ai-provider-form,.image-provider-form,.copyright-admin-item,.background-media-form fieldset,.integration-health-grid article,.referral-partner-card,.operator-account-list article){min-width:0!important;border-color:var(--txv-line)!important;border-radius:10px!important;background:var(--txv-soft)!important;color:var(--txv-ink)!important;box-shadow:none!important}
html.tx-ui-v3 #app .admin-page :is(.admin-overview-command,.admin-card)::after,html.tx-ui-v3 #app .admin-page .admin-priority-item b::after{display:none!important}
html.tx-ui-v3 #app .admin-page .admin-priority-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
html.tx-ui-v3 #app .admin-page .admin-priority-item{min-width:0!important;min-height:86px!important;padding:14px!important;border:1px solid var(--txv-line)!important;border-radius:9px!important;background:var(--txv-surface)!important;color:var(--txv-ink)!important;box-shadow:none!important}
html.tx-ui-v3 #app .admin-page .admin-priority-item strong{font-size:13px!important;line-height:1.5!important}
html.tx-ui-v3 #app .admin-page :is(.admin-priority-item b,.priority-mark){color:var(--txv-accent)!important;font-family:inherit!important;font-size:18px!important;background:var(--txv-accent-soft)!important;border-color:var(--txv-line)!important}
html.tx-ui-v3 #app .admin-page .priority-mark{font-size:12px!important}
html.tx-ui-v3 #app .admin-page :is(.admin-overview-links,.module-actions,.staff-security-actions,.integration-actions){display:flex;flex-wrap:wrap;gap:8px!important;min-width:0}
html.tx-ui-v3 #app .admin-page :is(.admin-overview-command-head,.platform-ledger-month){display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;min-width:0;margin-bottom:16px}
html.tx-ui-v3 #app .admin-page .empty{padding:30px 16px!important;min-height:0!important;font-size:13px!important;background:var(--txv-soft)!important;border-radius:8px!important}
/* The current mentor route is a read-only page, not the obsolete teacher editor. */
html.tx-ui-v3 #app .mentor-page{padding:30px 24px!important}
html.tx-ui-v3 #app .mentor-shell{width:100%;max-width:1320px;margin:auto;min-width:0}
html.tx-ui-v3 #app .mentor-head{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:26px}
html.tx-ui-v3 #app .mentor-head>div{flex:1;min-width:240px}
html.tx-ui-v3 #app .mentor-month-filter{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--txv-muted);font-size:12px}
html.tx-ui-v3 #app .mentor-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html.tx-ui-v3 #app .mentor-stats strong{white-space:normal}
html.tx-ui-v3 #app .mentor-login{background:var(--txv-surface)!important;border-color:var(--txv-line)!important;color:var(--txv-ink)!important;box-shadow:none!important;border-radius:14px!important}
html.tx-ui-v3 #app .mentor-qr-box{background:var(--txv-soft)!important;border-color:var(--txv-line)!important;border-radius:10px!important}
@media(max-width:1120px){html.tx-ui-v3 #app .admin-page .admin-layout{grid-template-columns:184px minmax(0,1fr)!important;padding:18px!important;gap:18px!important}html.tx-ui-v3 #app .admin-page .admin-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html.tx-ui-v3 #app .admin-page .admin-card{padding:18px!important}}
@media(max-width:900px){html.tx-ui-v3 #app .admin-page .admin-layout{display:block!important;padding:16px!important}html.tx-ui-v3 #app .admin-page .admin-nav{display:flex!important;position:static!important;gap:6px!important;max-height:none!important;min-height:0!important;margin-bottom:22px!important;padding:10px!important;overflow-x:auto!important;overflow-y:hidden!important;align-items:center}html.tx-ui-v3 #app .admin-page .admin-nav-group{display:contents!important}html.tx-ui-v3 #app .admin-page .admin-nav-section-label{display:none!important}html.tx-ui-v3 #app .admin-page .admin-nav .brand{flex:0 0 auto;min-height:38px!important;padding:4px 12px 4px 4px!important;white-space:nowrap}html.tx-ui-v3 #app .admin-page .admin-nav button{flex:0 0 auto!important;width:auto!important;white-space:nowrap!important}html.tx-ui-v3 #app .admin-page .admin-head>div:last-child{justify-content:flex-start}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) table{min-width:580px!important}html.tx-ui-v3 #app .admin-page .point-reality-table{min-width:0!important}}
@media(max-width:760px){html.tx-ui-v3 #app .admin-page .admin-layout{padding:12px!important}html.tx-ui-v3 #app .mentor-page{padding:20px 12px!important}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.admin-head,.mentor-head) h1{font-size:24px!important}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.admin-card,.mentor-section,.admin-overview-command){padding:16px!important;margin-bottom:16px!important}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.btn,button.btn,a.btn),html.tx-ui-v3 #app .admin-page .admin-nav button{min-height:44px!important}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.input,.mini-input,input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea){min-height:44px!important;font-size:16px!important}html.tx-ui-v3 #app .admin-page .point-reality-table{display:block!important;min-width:0!important;width:100%!important}html.tx-ui-v3 #app .admin-page .point-reality-table tr{padding:14px!important;margin:0 0 12px!important;border:1px solid var(--txv-line)!important;border-radius:9px!important;background:var(--txv-surface)!important}html.tx-ui-v3 #app .admin-page .point-reality-table td{display:block!important;width:100%!important;padding:9px 0!important;border:0!important}html.tx-ui-v3 #app .admin-page .point-reality-table td::before{font-size:11px!important;color:var(--txv-muted)!important}html.tx-ui-v3 #app .admin-page .student-manage-panel{min-width:0!important;width:100%!important}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.mentor-stats,.point-summary-grid,.platform-ledger-summary,.compute-pool-summary){grid-template-columns:repeat(2,minmax(0,1fr))!important}html.tx-ui-v3 #app .admin-page .admin-priority-grid{grid-template-columns:1fr!important}html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.stat,.platform-ledger-summary>article,.point-summary-grid>*,.compute-pool-summary>*,.mentor-stats article){padding:14px!important}html.tx-ui-v3 #app .mentor-stats strong{font-size:22px!important}html.tx-ui-v3 #app .admin-page .admin-head{gap:12px!important}}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.admin-card,.mentor-section){border-radius:16px!important;box-shadow:0 5px 18px rgba(12,30,24,.045)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) :is(.card-head,.mentor-section-head){border-bottom:1px solid var(--txv-line)!important;padding-bottom:14px!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) table thead th{background:var(--txv-soft)!important;color:var(--txv-ink)!important}
html.tx-ui-v3 #app :is(.admin-page,.mentor-page) table tbody tr:hover{background:var(--txv-accent-soft)!important}
html.tx-ui-v3 .security-access-address{display:block;min-width:160px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.65;color:var(--txv-ink);margin-bottom:7px;user-select:text}
