.sidebar .nav-link{border:0;background:transparent;text-align:left;width:100%}.sidebar .nav-link.active,.sidebar .nav-link:hover{background:#eef2ff}.login-card{max-width:460px}.login-card form{gap:18px}.admin-layout{grid-template-columns:310px minmax(0,1fr)}.ai-page-list{margin-top:12px}.ai-page-row{min-height:52px}.panel #ai-key-form{display:flex;align-items:end;gap:12px}.panel #ai-key-form label{flex:1}.panel #ai-key-form input{width:100%}.view{max-width:1600px}.user-row{grid-template-columns:minmax(120px,1fr) minmax(100px,.7fr) minmax(350px,1.5fr)}@media(max-width:1150px){.admin-layout{grid-template-columns:1fr}}@media(max-width:800px){.sidebar nav{display:flex}.sidebar .nav-link{width:auto}.user-row{grid-template-columns:1fr 1fr}.row-actions{grid-column:1/-1;justify-content:start}}@media(max-width:540px){.user-row{grid-template-columns:1fr}.panel #ai-key-form{display:grid}.top-actions .domain-badge{display:none}}

/* 登录和首次改密使用独立的居中画面，后台菜单只对已登录管理员显示。 */
body.auth-screen{background:radial-gradient(circle at 18% 16%,#e6edff 0,transparent 32%),radial-gradient(circle at 82% 80%,#f5eefd 0,transparent 34%),#f7f9fd}
.auth-screen .shell{display:block;min-height:100dvh}
.auth-screen .sidebar,.auth-screen .topbar{display:none!important}
.auth-screen .main{min-height:100dvh;display:grid;place-items:center;padding:32px 16px}
.auth-screen .view:not([hidden]){width:min(460px,100%);padding:0;margin:0}
.auth-screen .page-title{text-align:center;padding:0 0 24px}
.auth-screen .page-title h1{font-size:32px}
.auth-logo{display:block;width:58px;height:58px;object-fit:cover;border-radius:17px;margin:0 auto 20px;box-shadow:0 12px 25px #315fe52e}
.auth-screen .login-card{max-width:none;padding:30px;border-radius:20px;box-shadow:0 22px 65px #1c356017}
.auth-screen .login-card label{font-size:12px}
.auth-screen .login-card input{height:46px}
.auth-screen .login-card .primary-button{height:46px;font-size:13px;margin-top:4px}
.auth-screen .notice{position:fixed;z-index:10;top:16px;left:50%;transform:translateX(-50%);width:min(460px,calc(100vw - 32px));margin:0;box-shadow:0 8px 25px #223d5b14}
@media(max-width:540px){.auth-screen .main{padding:24px 16px}.auth-screen .login-card{padding:23px}}

@keyframes adminFadeIn{from{opacity:0}to{opacity:1}}
.main>.view:not([hidden]),.password-dialog[open],.user-dialog[open],body:not(.auth-screen) .notice:not([hidden]){animation:adminFadeIn .24s ease both}
.auth-screen .notice:not([hidden]){animation:adminFadeIn .24s ease both}
.sidebar .nav-link,.primary-button,.secondary-button,.mini-button,.user-button,.text-button,.password-dialog button{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,opacity .2s ease}
.sidebar .nav-link:hover,.primary-button:hover:not(:disabled),.secondary-button:hover,.mini-button:hover:not(:disabled),.user-button:hover{box-shadow:0 5px 16px #315fe51c}
@media(prefers-reduced-motion:reduce){.main>.view:not([hidden]),.password-dialog[open],.user-dialog[open],.notice:not([hidden]){animation:none}.sidebar .nav-link,.primary-button,.secondary-button,.mini-button,.user-button,.text-button,.password-dialog button{transition:none}}
.users-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.users-heading .page-title{margin-bottom:20px}.users-heading>.primary-button{white-space:nowrap}
.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.admin-stats>div{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #e7edf7;border-radius:14px;background:#fff;box-shadow:0 5px 20px #273d6310}.admin-stats span{font-size:12px;color:#8a98ab}.admin-stats strong{font-size:26px;color:#202d4a}
.users-panel{padding:0;overflow:hidden}.users-panel .panel-header{padding:20px 22px;margin:0}.user-tools{display:flex;align-items:center;gap:8px}.user-tools input,.user-tools select{min-height:36px;max-width:210px;border:1px solid #dce5f4;border-radius:8px;padding:0 11px;background:#fff;color:#415273}
.user-table-wrap{overflow:auto}.user-table{width:100%;border-collapse:collapse;min-width:750px;text-align:left;font-size:12px}.user-table th{background:#f7f9fd;color:#94a0b4;font-size:11px;font-weight:700}.user-table th,.user-table td{padding:15px 18px;border-bottom:1px solid #edf1f7}.user-table td{color:#60718b}.user-table td:last-child,.user-table th:last-child{text-align:right}.identity-cell{display:flex;gap:10px;align-items:center}.identity-cell strong,.identity-cell small{display:block}.identity-cell strong{color:#27344e}.identity-cell small{margin-top:3px;color:#96a3b5}.user-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#3d69e6;background:#eaf0ff;font-weight:800}.member-text{color:#3765e9!important}.normal-text{color:#17a874!important}.disabled-text{color:#bd6c6a!important}.muted-text{color:#9ba7b7!important}.user-pager{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;color:#9aa6ba;font-size:12px}.user-pager>div{display:flex;gap:9px;align-items:center}.user-pager button:disabled{opacity:.45;cursor:not-allowed}
.user-dialog{width:min(640px,calc(100vw - 24px));max-height:90dvh;padding:0;border:0;border-radius:18px;box-shadow:0 30px 80px #1a2c5260}.user-dialog::backdrop{background:#13223d77;backdrop-filter:blur(5px)}.user-dialog form{display:block}.user-dialog .dialog-top{padding:21px 24px;border-bottom:1px solid #edf1f7}.user-dialog .dialog-top h2{margin:0;font-size:19px}.user-dialog .dialog-top p{margin:6px 0 0;color:#9ba7b8;font-size:12px}.user-dialog .dialog-top button{font-size:25px;border:0;background:none;color:#8d99ab}.user-dialog-body{padding:22px 24px;overflow:auto;max-height:calc(90dvh - 160px);display:grid;gap:15px}.user-dialog-body label{display:grid;gap:7px;color:#52617b;font-size:12px;font-weight:700}.user-dialog-body label b{color:#e55}.user-dialog-body input:not([type=radio]):not([type=checkbox]){width:100%;min-height:40px;border:1px solid #dce5f4;border-radius:8px;padding:9px 11px;font:inherit}.choice-row,.plan-row{display:flex;gap:8px;flex-wrap:wrap}.choice-row label{display:flex;flex:1;min-width:130px;align-items:center;gap:8px;padding:10px;border:1px solid #dce5f4;border-radius:8px;cursor:pointer}.choice-row label:has(input:checked){border-color:#6386ed;background:#eef3ff;color:#3563e8}.field-title{font-size:12px;font-weight:800;color:#52617b}.plan-row button{flex:1;min-width:88px;padding:9px 8px;background:#fff;color:#60718b;border:1px solid #dce5f4;border-radius:8px;cursor:pointer}.plan-row button.selected{background:#eef3ff;color:#3563e8;border-color:#6386ed}.edit-identity,.edit-expiry{padding:11px;background:#f5f8ff;border-radius:8px;color:#667a9c;font-size:12px}.user-dialog-body .check-row{display:flex;align-items:center;gap:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:16px 24px;border-top:1px solid #edf1f7}
@media(max-width:850px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.users-panel .panel-header{display:block}.user-tools{margin-top:12px;flex-wrap:wrap}.users-heading{align-items:start}}
@media(max-width:540px){.admin-stats{gap:7px}.admin-stats>div{padding:12px}.admin-stats strong{font-size:20px}.users-heading{display:block}.users-heading>.primary-button{margin-bottom:15px}.user-tools input{max-width:100%}}
.ai-config-panel #ai-key-form{display:grid;align-items:stretch;gap:15px}.ai-config-panel #ai-key-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#52617b}.ai-config-panel #ai-key-form input:not([type=radio]),.ai-config-panel #ai-key-form textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid #dce5f4;border-radius:8px;background:#fff;font:inherit}.ai-config-panel #ai-key-form textarea{resize:vertical}.ai-config-panel .ai-reasoning{display:flex;gap:8px}.ai-config-panel .ai-reasoning label{display:flex!important;flex-direction:row;align-items:center;flex:1;padding:12px;border:1px solid #dce5f4;border-radius:8px;cursor:pointer}.ai-config-panel .ai-reasoning label:has(input:checked){background:#eef3ff;border-color:#6e8def;color:#315fe5}.ai-param-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-config-panel #ai-key-form>.primary-button{justify-self:start}
@media(max-width:700px){.ai-param-grid{grid-template-columns:1fr}.ai-config-panel .ai-reasoning{flex-wrap:wrap}}
#phone-field{display:block}.user-dialog-body #phone-field input{display:block;margin-top:7px}.generated-password-field{display:grid;gap:7px;color:#52617b;font-size:12px;font-weight:700}.generated-password-field>div{display:flex;gap:8px}.generated-password-field input{flex:1;min-width:0;background:#f6f8fd!important}.generated-password-field .mini-button{white-space:nowrap}.generated-password-field small{color:#98a5b7;font-weight:400}

/* AI 配置：三个清晰的管理分页，减少单页表单的视觉噪声。 */
.ai-page-heading{margin-bottom:22px}
.ai-config-shell{background:#fff;border:1px solid #e2e9f4;border-radius:20px;box-shadow:0 18px 45px #243a6410;overflow:hidden}
.ai-config-header{display:flex;align-items:center;gap:14px;padding:22px 26px;border-bottom:1px solid #e8edf5}
.ai-config-mark{width:47px;height:47px;border-radius:14px;background:#e7f8f0;color:#139764;display:grid;place-items:center;font-size:24px;font-weight:700;flex:none}
.ai-config-header h2{margin:0;font-size:20px;letter-spacing:-.02em}.ai-config-header p{margin:5px 0 0;font-size:12px;color:#8391a8}
.ai-config-status{margin-left:auto;padding:7px 12px;border-radius:999px;background:#fff3e5;color:#a86918;font-size:11px;font-weight:800;white-space:nowrap}
.ai-config-status.ready{background:#e7f7ee;color:#147a4d}
.ai-tabs{display:flex;gap:4px;padding:0 23px;border-bottom:1px solid #e8edf5;overflow:auto}
.ai-tabs button{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#6d7f99;font-size:13px;font-weight:800;padding:18px 17px 15px;white-space:nowrap;transition:color .18s ease,background-color .18s ease}
.ai-tabs button:hover{color:#315fe5;background:#f7f9ff}.ai-tabs button.selected{color:#315fe5;border-bottom-color:#315fe5}
.ai-config-body{padding:24px;background:#f7f9fd;min-height:420px}
.ai-pane:not([hidden]){animation:adminFadeIn .22s ease both}.ai-config-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:start}.ai-config-side{display:grid;gap:18px}
.ai-section-card{background:#fff;border:1px solid #dfe8f4;border-radius:15px;padding:23px;min-width:0}.ai-section-card+.ai-section-card{margin-top:17px}.ai-config-side .ai-section-card+.ai-section-card{margin-top:0}
.ai-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-card-heading h3{margin:0;color:#23324f;font-size:16px}.ai-chip{background:#e7f7ee;color:#15815b;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap}.ai-ready-dot{width:19px;height:19px;border:2px solid #1a9a70;border-radius:50%;position:relative}.ai-ready-dot:after{content:'✓';color:#1a9a70;position:absolute;font-size:12px;left:3px;top:-2px}
.ai-subtext,.ai-hint{font-size:12px;line-height:1.7;color:#8190a8;margin:8px 0 17px}.ai-hint{margin:8px 0 18px}
#ai-key-form .ai-section-card label:not(.ai-reasoning-options label):not(.ai-attach-button){display:grid;gap:8px;color:#50617c;font-size:12px;font-weight:750}
#ai-key-form .ai-section-card input:not([type=radio]):not([type=file]),#ai-key-form .ai-section-card textarea{width:100%;border:1px solid #d6e1f0;border-radius:9px;background:#fff;min-height:44px;padding:10px 12px;font:inherit;color:#263854;outline:none}
#ai-key-form .ai-section-card input:focus,#ai-key-form .ai-section-card textarea:focus{border-color:#6b8ff0;box-shadow:0 0 0 3px #315fe51c}
#ai-key-form .ai-section-card input[readonly]{background:#f7f9fd;color:#263854;font-weight:800}
#ai-key-form .ai-section-card>label+label{margin-top:16px}.ai-field-title{font-size:12px;font-weight:800;color:#50617c;margin:20px 0 9px}
.ai-reasoning-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-reasoning-options label{display:flex;align-items:center;gap:9px;cursor:pointer;border:1px solid #dbe5f2;border-radius:10px;padding:11px 9px;min-height:66px}.ai-reasoning-options label:has(input:checked){background:#eef3ff;border-color:#6689ef}.ai-reasoning-options input{accent-color:#315fe5;flex:none}.ai-reasoning-options span{min-width:0}.ai-reasoning-options strong,.ai-reasoning-options small{display:block}.ai-reasoning-options strong{font-size:12px;color:#334566}.ai-reasoning-options small{font-size:10px;color:#8b99ad;margin-top:4px;line-height:1.3}
.ai-numeric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ai-numeric-grid label:last-child{grid-column:1/-1}.ai-numeric-grid small{font-weight:400;color:#98a4b5;line-height:1.4}
.ai-capabilities{padding:0;margin:16px 0 0;list-style:none}.ai-capabilities li{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid #eef1f6}.ai-capabilities li:last-child{border:0}.ai-capabilities strong{font-size:12px;color:#344764}.ai-capabilities span{font-size:11px;color:#8a98ad;line-height:1.55}
.ai-test-card textarea{resize:vertical;min-height:78px!important}.ai-test-actions{display:flex;align-items:center;gap:11px;margin:12px 0;color:#91a0b4;font-size:11px}.ai-attach-button{border:1px solid #d8e3f4;color:#315fe5;background:#fff;border-radius:8px;padding:8px 11px;cursor:pointer;font-size:11px;font-weight:800}.ai-attach-button:hover{background:#f0f5ff}.ai-test-preview{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.ai-test-preview img{width:46px;height:46px;object-fit:cover;border-radius:7px;border:1px solid #dfe8f5}.ai-test-result{margin-top:13px;background:#f0f8f3;border:1px solid #cfe9d8;color:#28634a;border-radius:9px;padding:12px;white-space:pre-wrap;font-size:12px;line-height:1.65}.ai-test-result.error{background:#fff3f1;border-color:#f3d5d1;color:#a5453b}
.ai-prompt-editor{margin-top:14px}.ai-prompt-editor textarea{line-height:1.7;resize:vertical}.ai-counter{color:#8294ad;font-size:11px}.ai-info-strip{background:#edf4ff;border-left:3px solid #5a85ee;border-radius:7px;padding:12px;margin-top:18px;font-size:11px;line-height:1.6;color:#53719c}
.ai-access-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf1f7;padding:14px 0}.ai-access-row strong,.ai-access-row span{display:block}.ai-access-row strong{font-size:12px;color:#31425e}.ai-access-row div span{margin-top:4px;font-size:11px;color:#91a0b4}.ai-access-badge{font-size:10px!important;font-weight:800;padding:6px 9px;border-radius:999px;color:#167b53;background:#e8f7ee;white-space:nowrap}.ai-access-badge.muted{color:#7a879a;background:#f0f2f6}
.ai-permission-list{display:grid;gap:9px}.ai-permission-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e9f4;border-radius:10px;padding:13px 15px;cursor:pointer}.ai-permission-row:hover{background:#f8faff}.ai-permission-row strong,.ai-permission-row small{display:block}.ai-permission-row strong{font-size:12px;color:#344666}.ai-permission-row small{font-size:11px;font-weight:400;color:#92a0b4;margin-top:4px}.ai-permission-row input{width:19px;height:19px;accent-color:#315fe5;flex:none}
.ai-config-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 24px;border-top:1px solid #e7ecf5;background:#fff}.ai-config-footer span{color:#8292a8;font-size:11px}.ai-config-footer button{white-space:nowrap}
@media(max-width:1150px){.ai-config-columns{grid-template-columns:1fr}.ai-config-side{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ai-config-side{grid-template-columns:1fr}.ai-config-body{padding:14px}.ai-section-card{padding:17px}.ai-config-header{padding:17px}.ai-tabs{padding:0 10px}.ai-tabs button{padding:15px 12px;font-size:12px}}
@media(max-width:540px){.ai-reasoning-options,.ai-numeric-grid{grid-template-columns:1fr}.ai-numeric-grid label:last-child{grid-column:auto}.ai-config-footer{align-items:stretch;flex-direction:column}.ai-config-footer button{width:100%}}
.ai-test-image-item{position:relative;display:inline-flex}.ai-test-image-item button{position:absolute;right:-5px;top:-6px;width:18px;height:18px;border:0;border-radius:50%;background:#fff;color:#a34747;box-shadow:0 2px 8px #22334a33;font-size:14px;line-height:15px;padding:0}
