/* One visual language for teacher and enterprise forms. */
:root{--control-border:#dce4ef;--control-focus:#3565d6;--control-muted:#728197;--control-surface:#f7f9fc}
:is(.wsx-dialog,.dlg,.ent-section,.wsx-form,.cm-grid) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea){border-color:var(--control-border);border-radius:10px;background:#fff;font-size:13px;line-height:1.6;transition:border-color .15s,box-shadow .15s}
:is(.wsx-dialog,.dlg,.ent-section,.wsx-form,.cm-grid) input:not([type=checkbox]):not([type=radio]):not([type=file]){min-height:40px}
:is(.wsx-dialog,.dlg,.ent-section,.wsx-form,.cm-grid) :is(input,textarea)::placeholder{color:#95a1b3}
:is(.wsx-dialog,.dlg,.ent-section,.wsx-form,.cm-grid) :is(input,textarea):focus{outline:none;border-color:#7798e8;box-shadow:0 0 0 3px #3565d610}
:is(.wsx-dialog,.dlg,.ent-section) :is(input,textarea):disabled{background:#f6f8fb;color:#8793a5}
.wsx-mask{background:rgba(22,36,58,.4);backdrop-filter:blur(4px)}
.wsx-dialog{border:1px solid #ffffffb0;border-radius:20px;box-shadow:0 24px 90px #172b4730;padding:28px}
.wsx-dialog>h3{font-size:20px;letter-spacing:-.4px;margin:0 0 20px;color:#20334e}
.wsx-dialog>.wsx-actions{justify-content:flex-end;gap:10px;padding-top:18px;margin-top:20px;border-top:1px solid #e8edf4}
.wsx-dialog>.wsx-actions>button{min-height:40px;min-width:88px;border-radius:10px;font-size:13px;font-weight:500;padding:9px 18px}
.wsx-dialog>.wsx-actions>.pri{background:#2c5bd4;border-color:#2c5bd4;box-shadow:0 3px 8px #2c5bd419}
.wsx-dialog>.wsx-actions>.pri:disabled{background:#e8eef9;color:#90a1bf;border-color:#e1e8f4;opacity:1;box-shadow:none}
.ui-select{display:inline-grid;grid-template-columns:minmax(0,1fr);vertical-align:middle;position:relative;width:100%;min-width:0;max-width:100%;margin:0;text-align:left}
.ui-select[hidden]{display:none!important}
/* Retain native value, validity, form submission and existing change handlers. */
select.ui-select-native{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;opacity:0!important;padding:0!important;margin:0!important;border:0!important;pointer-events:none!important;clip-path:inset(50%)}
.ui-select>.ui-select-trigger{width:100%;min-width:0;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;margin:0;border:1px solid var(--control-border);border-radius:10px;background:#fff;color:#293d57;font:inherit;font-size:13px;line-height:1.5;text-align:left;box-shadow:0 1px 2px #1c355204;cursor:pointer}
.ui-select>.ui-select-trigger:hover:not(:disabled){background:#fbfcff;border-color:#a9bbd8;color:#263c59}
.ui-select>.ui-select-trigger:focus-visible,.ui-select>.ui-select-trigger[aria-expanded=true]{outline:none;border-color:#7b9ce9;box-shadow:0 0 0 3px #3565d610}
.ui-select>.ui-select-trigger.is-placeholder{color:#8c99ac}
.ui-select>.ui-select-trigger:disabled{background:#f6f8fb;border-color:#e7ecf3;color:#99a4b4;opacity:1;cursor:not-allowed}
.ui-select-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ui-select-trigger>svg{width:18px;height:18px;flex:none;color:#8a99ac;transition:transform .15s}
.ui-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg);color:#3565d6}
.ui-select-popover{position:fixed;z-index:20050;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;padding:6px;border:1px solid #dfe6f0;border-radius:13px;background:#fff;box-shadow:0 12px 40px #172b4724,0 2px 7px #172b470a;font:13px/1.5 "PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#293d57;text-align:left;outline:none}
.ui-select-options{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:2px;scroll-padding:4px}
.ui-select-option{display:flex;align-items:center;gap:10px;min-height:38px;padding:9px 10px;margin:2px 0;border-radius:8px;cursor:pointer;line-height:1.5}
.ui-select-option-label{flex:1;min-width:0;overflow-wrap:anywhere}
.ui-select-option[aria-selected=true]{color:#2c5bd4;background:#eef3ff;font-weight:500}
.ui-select-option.is-active:not([aria-disabled=true]){background:#f0f4fa}
.ui-select-option.is-active[aria-selected=true]{background:#e8efff}
.ui-select-option[aria-disabled=true]{color:#a1adbc;cursor:not-allowed}
.ui-select-check{font-size:14px;font-weight:600;color:#2c5bd4;flex:none}
.ui-select-group{font-size:11px;font-weight:600;color:#8996a9;padding:10px 10px 4px}
.ui-select-popover>.ui-select-search{flex:none;width:calc(100% - 8px);min-height:36px;margin:4px 4px 6px;padding:7px 10px;border:1px solid #e1e7f0;border-radius:8px;font-size:13px;background:#f8fafd;box-sizing:border-box}
.ui-select-empty{padding:18px 10px;text-align:center;color:#8996a9;margin:0}
.ui-channel-mark{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:7px;font-size:12px;background:#edf4ff;color:#3671d7}
.ui-channel-mark.feishu{background:#edf8f7;color:#398d88}.ui-channel-mark.wecom{background:#ebf6ff;color:#3683be}
.ui-select-option[aria-disabled=true] .ui-channel-mark{background:#f3f5f8;color:#a4b0c0}
.col-filter>.ui-select{width:min(400px,70%)}.rowc>.ui-select{width:auto;min-width:120px}.ent-roster-toolbar .ui-select{min-width:100px}
@media(max-width:600px){.wsx-mask{padding:12px}.wsx-dialog{padding:20px;border-radius:16px;max-height:calc(100dvh - 24px)}.ui-select>.ui-select-trigger{min-height:42px}.ui-select-option{min-height:42px}}
@media(prefers-reduced-motion:reduce){.ui-select-trigger,.ui-select-trigger>svg{transition:none}}
.wsx-dialog.ent-recipient-dialog{width:680px;padding:26px 28px 20px;max-height:calc(100dvh - 40px)}
.ent-recipient-dialog>h3{margin:0 0 6px;font-size:21px}
.ent-recipient-dialog .recipient-intro{margin:0 0 24px;color:#8290a4;font-size:13px;line-height:1.7}
.ent-recipient-dialog .recipient-step{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid #ecf0f6}
.ent-recipient-dialog .recipient-step:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.recipient-step-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.recipient-step-title>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#edf3ff;color:#5375b7;font-size:10px;font-weight:700;letter-spacing:.3px}
.recipient-step-title>h4{margin:0;font-size:13px;font-weight:600;color:#354a65}
.ent-recipient-form .recipient-channel-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;color:#8b98aa;font-size:11px}
.ent-recipient-form .recipient-config-details{margin:0;text-align:right;font-size:11px}
.recipient-config-details>summary{list-style:none;color:#5d7db4;cursor:pointer}.recipient-config-details>summary::-webkit-details-marker{display:none}
.recipient-config-details[open] .ent-recipient-config{padding:10px 0 0;justify-content:flex-end}.recipient-config-details button{border:0;background:#f2f6fd;color:#5273a9;padding:5px 9px}
.recipient-start{text-align:center;border:1px dashed #dde6f2;background:#f9fbfe;border-radius:12px;padding:24px 22px 20px;margin:0 0 4px}
.recipient-start>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf2fa;color:#8196b5;font-size:23px;margin:0 auto 10px}
.recipient-start>b{display:block;font-size:13px;font-weight:500;color:#687d99}.recipient-start>p{margin:6px 0 0;font-size:12px;color:#91a0b3}
.ent-recipient-dialog .ent-recipient-form fieldset:disabled{opacity:1}
.ent-recipient-form label.recipient-kind-field{flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 12px;color:#8190a4;font-size:12px}.recipient-kind-field>.ui-select{width:160px}
.ent-recipient-dialog .ent-recipient-search{margin:0;gap:8px}.ent-recipient-search input{min-width:0;background:#f8fafd!important}.ent-recipient-search>button{flex:none;padding:8px 12px;font-size:12px;border:1px solid #dfe6f0;border-radius:10px;color:#54729b}
.ent-recipient-dialog #recipient-directory-status{font-size:11px;color:#8998aa;line-height:1.6;margin:10px 0}
.ent-recipient-dialog .ent-recipient-options{max-height:180px;min-height:58px;padding:5px;border-color:#e3eaf3;border-radius:12px;background:#fff}
.ent-recipient-dialog .ent-recipient-choice{align-items:center;padding:10px 11px;border-radius:8px;gap:11px;transition:background .15s}.ent-recipient-choice:hover:not(:has(input:disabled)){background:#f6f9fd}.ent-recipient-choice b{font-size:13px;font-weight:500;color:#354d6b}.ent-recipient-choice small{font-size:10px;color:#95a2b4}
.ent-recipient-dialog .ent-recipient-choice input{height:16px;padding:0;margin:0;accent-color:#3768d5}.ent-recipient-dialog .ent-recipient-choice:has(input:checked){background:#eff4ff}.ent-recipient-dialog .ent-recipient-choice:has(input:checked) b{color:#3562b8}
.ent-recipient-form .recipient-directory-help{margin:10px 0 0;font-size:11px}.recipient-directory-help summary{color:#8b9bb0}.recipient-directory-help p{font-size:12px;color:#8796aa;margin:8px 0 0;line-height:1.7}
.recipient-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ent-recipient-form .recipient-details-grid label{margin:0;font-size:12px;color:#7e8da2;display:block}.recipient-details-grid label>input{margin-top:8px}.recipient-details-grid small{font-size:10px;color:#a1adbe;margin-left:5px}
.ent-recipient-dialog>.wsx-actions{margin-top:18px;padding-top:16px}
@media(max-width:600px){.wsx-dialog.ent-recipient-dialog{padding:20px 18px 16px;max-height:calc(100dvh - 24px)}.recipient-details-grid{grid-template-columns:1fr;gap:12px}.ent-recipient-dialog .recipient-intro{margin-bottom:20px;font-size:12px}.ent-recipient-dialog .recipient-step{padding-bottom:16px;margin-bottom:16px}.ent-recipient-dialog .recipient-start{padding:22px 12px}.recipient-channel-note{flex-wrap:wrap}.ent-recipient-dialog>.wsx-actions button{flex:1}}
