:root{font-family:Segoe UI Variable Text,Microsoft YaHei UI,Segoe UI,sans-serif;color:#1f2937;background:#f4f6f8;font-synthesis:none;--blue: #2563eb;--blue-soft: #eaf1ff;--line: #dfe5ec;--muted: #718096;--surface: #fff;--soft: #f8fafc;--green: #17875d;--red: #c24141;--amber: #a5660a}*{box-sizing:border-box}html,body,#app{margin:0;min-width:320px;min-height:100%}body{min-height:100vh;background:#f4f6f8}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #2563eb2e;outline-offset:1px}@keyframes spin{to{transform:rotate(360deg)}}.spinning{animation:spin .75s linear infinite}.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:13px;color:#fff;background:#17202d}.boot-screen p{margin:0;font-size:13px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.05fr) minmax(400px,.95fr);background:#fff}.login-brand{padding:clamp(42px,7vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#e7eef8;background:#17202d}.brand-mark{width:58px;height:58px;margin-bottom:28px}.brand-mark img,.console-brand img{width:100%;height:100%;object-fit:contain}.eyebrow,.section-tag{color:#3978ef;font-size:10px;font-weight:800;letter-spacing:.12em}.login-brand .eyebrow{color:#8bb4ff}.login-brand h1{margin:10px 0 16px;color:#fff;font-size:40px;letter-spacing:0}.login-brand>p{max-width:480px;margin:0;color:#aab8cb;font-size:16px;line-height:1.8}.brand-points{display:grid;gap:11px;margin-top:42px;color:#cbd7e7;font-size:13px}.brand-points span{display:flex;align-items:center;gap:9px}.brand-points svg{color:#5fb995}.login-panel{display:grid;place-items:center;padding:42px}.login-card{width:min(400px,100%);display:grid;gap:18px}.login-heading h2{margin:9px 0 7px;font-size:27px}.login-heading p{margin:0;color:var(--muted);font-size:13px}.login-card>label,.form-grid label{display:grid;gap:7px;color:#4b5563;font-size:13px;font-weight:650}.input-wrap{height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:8px;color:#8a98a9;background:var(--soft)}.input-wrap:focus-within{border-color:#76a1f4;background:#fff}.input-wrap input{min-width:0;flex:1;border:0;outline:0;color:#1f2937;background:transparent}.primary,.secondary,.refresh-button,.danger-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:7px;font-weight:700}.primary{border:1px solid #2563eb;color:#fff;background:#2563eb}.primary:hover:not(:disabled){background:#1d55ce}.secondary,.refresh-button{border:1px solid var(--line);color:#405168;background:#fff}.secondary:hover:not(:disabled),.refresh-button:hover:not(:disabled){background:var(--soft)}.danger-button{border:1px solid #efcece;color:#aa3c3c;background:#fff7f7}.login-button{min-height:46px;justify-content:space-between;padding:0 16px}.form-error{margin:-3px 0;color:var(--red);font-size:13px}.secure-note{display:flex;justify-content:center;align-items:center;gap:7px;margin:1px 0 0;color:var(--muted);font-size:12px}.console-shell{min-height:100vh;display:grid;grid-template-columns:174px minmax(0,1fr)}.console-shell>aside{position:sticky;top:0;z-index:20;height:100vh;display:flex;flex-direction:column;padding:13px 10px;border-right:1px solid var(--line);background:var(--surface)}.console-brand{min-height:54px;display:flex;align-items:center;gap:9px;padding:4px 7px 10px}.console-brand img{width:36px;height:36px}.console-brand div{display:grid;gap:2px}.console-brand strong{font-size:14px}.console-brand span{color:var(--muted);font-size:10px}.mobile-close,.menu-button{display:none;border:0;color:#536174;background:transparent}nav{display:grid;gap:3px;margin-top:12px}nav button{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:7px;color:#657285;background:transparent;text-align:left;font-size:13px;font-weight:650}nav button:hover{color:#243246;background:#f2f5f8}nav button.active{color:var(--blue);background:var(--blue-soft)}nav button span{flex:1}nav button em{min-width:18px;padding:2px 5px;border-radius:9px;color:var(--blue);background:#d8e7ff;text-align:center;font-size:10px;font-style:normal}.service-state{display:grid;grid-template-columns:7px 1fr;align-items:center;gap:3px 7px;margin-top:auto;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);font-size:10px}.service-state i{width:7px;height:7px;border-radius:50%;background:#24a875}.service-state span{font-weight:700}.service-state small{grid-column:2;color:var(--muted)}.logout{min-height:38px;display:flex;align-items:center;gap:9px;margin-top:7px;padding:0 10px;border:0;border-radius:7px;color:#64748b;background:transparent}.logout:hover{color:#b13c3c;background:#fff3f3}.console-main{min-width:0}.console-main>header{height:50px;display:flex;align-items:center;gap:10px;padding:0 22px;border-bottom:1px solid var(--line);background:#fff}.breadcrumb{flex:1;color:var(--muted);font-size:12px}.refresh-button{min-height:31px;padding:0 9px;font-size:12px}.admin-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#2563eb;font-size:11px;font-weight:800}.content{max-width:1520px;margin:auto;padding:24px 24px 46px}.page-heading{min-height:52px;display:flex;justify-content:space-between;gap:14px;margin-bottom:18px}.page-heading h1{margin:0;font-size:24px;letter-spacing:0}.page-heading p{margin:7px 0 0;color:var(--muted);font-size:13px}.page-heading>span{margin-top:4px;color:#99a4b1;font-size:11px}.page-stack{display:grid;gap:18px}.panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 3px 12px #25365008}.panel-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #edf0f3}.panel-head h2{margin:5px 0 3px;font-size:17px}.panel-head p{margin:0;color:var(--muted);font-size:12px}.text-button{border:0;color:var(--blue);background:transparent;font-size:12px;font-weight:700}.alert{min-height:39px;display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:0 12px;border-radius:7px;font-size:13px}.alert button{margin-left:auto;border:0;color:inherit;background:transparent}.alert.error{border:1px solid #efd0d0;color:#a53d3d;background:#fff4f4}.alert.success{border:1px solid #c7eadb;color:#187353;background:#effbf6}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats-grid article{min-height:106px;display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:8px;background:#fff}.stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:7px}.stat-icon.blue{color:#2563eb;background:#eaf1ff}.stat-icon.green{color:#168561;background:#e5f8f0}.stat-icon.amber{color:#ae6a0b;background:#fff3dc}.stat-icon.violet{color:#7654d8;background:#f0ebff}.stats-grid article>div{display:grid;gap:2px}.stats-grid small{color:var(--muted)}.stats-grid strong{font-size:27px;line-height:1.1}.stats-grid em{color:#9aa5b3;font-size:10px;font-style:normal}.overview-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.quick-links{display:grid;gap:4px;padding:10px}.quick-links button{min-height:64px;display:flex;align-items:center;gap:12px;padding:9px 11px;border:0;border-radius:7px;color:#3e6ebc;background:#f7faff;text-align:left}.quick-links button:hover{background:#edf4ff}.quick-links button span{flex:1;display:grid;gap:3px;color:#253447}.quick-links small{color:var(--muted)}.compact-list{padding:8px 18px 13px}.compact-list>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f3}.compact-list>div:last-child{border:0}.compact-list p{display:grid;gap:3px;margin:0}.compact-list small{color:var(--muted);font-size:11px}.status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#94a3b8}.status-dot.success,.status-dot.completed{background:#27a878}.status-dot.failed,.status-dot.error{background:#d66060}.users-layout,.support-layout{display:grid;grid-template-columns:minmax(320px,.73fr) minmax(500px,1.27fr);gap:18px}.directory,.ticket-list-panel{min-height:620px}.user-list,.ticket-list{padding:7px 10px}.user-list>button{width:100%;min-height:65px;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:7px;border:1px solid transparent;border-bottom-color:#edf0f3;color:#334155;background:transparent;text-align:left}.user-list>button:hover,.user-list>button.active{border-color:#bfd4ff;border-radius:7px;background:#f2f7ff}.user-list p{min-width:0;display:grid;gap:3px;margin:0}.user-list p strong,.user-list p small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list p small{color:var(--muted);font-size:10px}.user-list b{color:#738196;font-size:11px}.avatar-fallback{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:#2966d3;background:#eaf1ff;font-size:12px;font-weight:800;object-fit:cover}.status-badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:4px 7px;border-radius:999px;color:#64748b;background:#f0f3f6;font-size:10px;font-weight:700;white-space:nowrap}.status-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-badge.connected,.status-badge.active,.status-badge.completed,.status-badge.resolved{color:#187757;background:#e7f8f0}.status-badge.api_blocked,.status-badge.token_expired,.status-badge.suspended,.status-badge.failed{color:#a46012;background:#fff3dc}.status-badge.deauthorized{color:#aa4242;background:#fff0f0}.status-badge.running,.status-badge.queued,.status-badge.in_progress{color:#2868cf;background:#eaf1ff}.detail-body{display:grid;gap:20px;padding:18px}.row-actions{display:flex;gap:7px}.user-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:7px}.user-metrics div{display:grid;gap:5px;padding:13px;border-right:1px solid var(--line)}.user-metrics div:last-child{border:0}.user-metrics small{color:var(--muted);font-size:11px}.user-metrics strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-limit-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:var(--soft)}.browser-limit-setting h3{margin:0 0 4px;font-size:14px}.browser-limit-setting p{margin:0;color:var(--muted);font-size:12px}.browser-limit-control{display:flex;align-items:center;gap:7px;flex:0 0 auto}.browser-limit-control input{width:104px;height:35px;padding:0 9px;border:1px solid var(--line);border-radius:6px;color:#334155;background:#fff}.browser-limit-control span{color:var(--muted);font-size:12px}.assignment-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.assignment-head h3,.detail-body>h3{margin:0 0 4px;font-size:14px}.assignment-head p{margin:0;color:var(--muted);font-size:12px}.account-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.account-checks label{min-width:0;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.account-checks input{accent-color:#2563eb}.account-checks span:last-child{min-width:0;display:grid;gap:2px}.account-checks strong,.account-checks small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-checks small{color:var(--muted);font-size:10px}.session-list{display:grid}.session-list>div{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #edf0f3}.session-list svg{color:#61738a}.session-list span{flex:1;display:grid;gap:2px}.session-list small{color:var(--muted);font-size:11px}.session-list b{color:#607086;font-size:11px}.search-box{width:min(290px,40vw);height:35px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#8090a2;background:var(--soft)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent}.account-table{padding:0 18px 14px}.table-row{min-height:64px;display:grid;grid-template-columns:minmax(210px,1.2fr) .85fr .7fr .95fr;align-items:center;gap:15px;border-bottom:1px solid #edf0f3;font-size:12px}.table-head{min-height:39px;color:#909dad;font-size:10px;font-weight:800;letter-spacing:.05em}.identity{min-width:0;display:flex;align-items:center;gap:9px}.identity img{width:34px;height:34px;border-radius:7px;object-fit:cover}.identity p{min-width:0;display:grid;gap:3px;margin:0}.identity strong,.identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity small,.cell-muted{color:var(--muted);font-size:11px}.run-list{display:grid;gap:10px;padding:14px 18px 18px}.run-card{padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--soft)}.run-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.run-head>div{display:grid;gap:5px}.run-head strong{font-size:13px}.run-head small{color:var(--muted);font-size:11px}.run-head>b{font-size:15px}.run-progress{height:5px;margin:11px 0;overflow:hidden;border-radius:6px;background:#e5eaf0}.run-progress span{display:block;height:100%;border-radius:inherit;background:#2f72e6}.run-items{display:flex;flex-wrap:wrap;gap:6px}.run-items span{padding:4px 6px;border-radius:5px;color:#607086;background:#edf1f5;font-size:10px}.run-items .completed{color:#187757;background:#e5f8f0}.run-items .failed{color:#a54444;background:#fff0f0}.audit-count{padding:5px 8px;border-radius:999px;color:#2868cf;background:#eaf1ff;font-size:11px;font-weight:700}.audit-table{padding:0 18px 14px}.audit-row{min-height:61px;display:grid;grid-template-columns:10px minmax(230px,1fr) 150px 180px;align-items:center;gap:10px;border-bottom:1px solid #edf0f3;font-size:12px}.audit-row div{display:grid;gap:3px}.audit-row small,.audit-row>span,.audit-row time{color:var(--muted);font-size:11px}.update-alert{margin:0}.update-loading{min-height:220px;display:grid;place-items:center;align-content:center;gap:9px;padding:30px;color:#607086;text-align:center}.update-loading strong{color:#334155;font-size:15px}.update-loading span{color:var(--muted);font-size:12px}.update-health{min-height:106px;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.update-health-icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px}.update-health>div{min-width:0;flex:1}.update-health h2{margin:5px 0 4px;font-size:18px}.update-health p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.update-health time{color:var(--muted);font-size:11px;white-space:nowrap}.update-health.healthy{border-color:#bfe5d4}.update-health.healthy .update-health-icon{color:#167354;background:#e7f8f0}.update-health.warning{border-color:#ead4a7}.update-health.warning .update-health-icon{color:#9a620f;background:#fff3dc}.update-health.error{border-color:#ecc8c8}.update-health.error .update-health-icon{color:#aa4242;background:#fff0f0}.update-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.update-summary-grid article{min-width:0;display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.update-summary-grid small,.manifest-grid small{color:var(--muted);font-size:11px}.update-summary-grid strong{min-width:0;overflow:hidden;color:#253447;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.update-summary-grid span{color:#8b98a8;font-size:10px}.mono-value,.manifest-grid code{font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace}.update-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.update-check-grid article{min-width:0;display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:#fff}.update-check-grid article>span{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border-radius:6px}.update-check-grid article>div{min-width:0;display:grid;gap:3px}.update-check-grid small{color:var(--muted);font-size:10px}.update-check-grid strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.update-check-grid .good{border-color:#c8e7d9}.update-check-grid .good>span{color:#187757;background:#e7f8f0}.update-check-grid .bad{border-color:#efd0d0}.update-check-grid .bad>span{color:#aa4242;background:#fff0f0}.manifest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:6px 18px 18px}.manifest-grid>div{min-width:0;display:grid;gap:5px;padding:13px 0;border-bottom:1px solid #edf0f3}.manifest-grid strong{min-width:0;overflow:hidden;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.manifest-grid .manifest-wide{grid-column:1 / -1}.manifest-grid code{display:block;max-width:100%;overflow-wrap:anywhere;color:#4d5f75;font-size:11px;line-height:1.55;white-space:normal}.ticket-list>button{width:100%;display:grid;gap:6px;padding:12px 8px;border:0;border-bottom:1px solid #edf0f3;color:#334155;background:transparent;text-align:left}.ticket-list>button.active{margin:3px 0;border-radius:7px;background:#f1f6ff}.ticket-list>button>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-list p{margin:0;color:var(--muted);font-size:11px}.ticket-detail-panel{min-height:620px;display:flex;flex-direction:column}.ticket-detail-head{display:flex;justify-content:space-between;gap:15px;padding:18px;border-bottom:1px solid #edf0f3}.ticket-detail-head>div>span{color:var(--muted);font-size:11px}.ticket-detail-head h2{margin:6px 0;font-size:18px}.ticket-detail-head p{margin:0;color:var(--muted);font-size:12px}.ticket-detail-head select,.form-grid input,.form-grid select{height:35px;padding:0 9px;border:1px solid var(--line);border-radius:6px;color:#334155;background:#fff}.conversation{flex:1;display:grid;align-content:start;gap:10px;padding:18px}.message{max-width:82%;padding:10px 12px;border-radius:7px;background:#f2f5f8}.message.admin{justify-self:end;color:#174c9f;background:#eaf2ff}.message span,.message time{display:block;color:#6e7e91;font-size:10px}.message p{margin:5px 0;color:#334155;white-space:pre-wrap;line-height:1.55;font-size:13px}.ticket-reply{display:grid;gap:9px;padding:14px 18px;border-top:1px solid #edf0f3}.ticket-reply textarea{min-height:76px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px}.ticket-reply>div{display:flex;align-items:center;justify-content:space-between}.ticket-reply span{color:var(--muted);font-size:11px}.empty-state,.empty-inline{display:grid;place-items:center;padding:35px 16px;color:var(--muted);text-align:center;font-size:13px}.empty-inline{display:block;padding:14px 0;text-align:left}.scrim{display:none}.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:18px;background:#17202d6b}.user-modal{position:relative;width:min(590px,100%);display:grid;gap:18px;padding:23px;border-radius:8px;background:#fff;box-shadow:0 18px 50px #17202d44}.user-modal h2{margin:-10px 0 0;font-size:20px}.modal-close{position:absolute;top:12px;right:12px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:6px;color:#64748b;background:#f2f5f8}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid input,.form-grid select{width:100%}.field-note{float:right;color:var(--muted);font-size:10px;font-weight:400}.modal-footer{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1040px){.stats-grid,.update-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.users-layout,.support-layout{grid-template-columns:1fr}.update-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory,.ticket-list-panel{min-height:auto}.user-list{max-height:310px;overflow-y:auto}}@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:260px;padding:34px 26px}.login-brand h1{font-size:30px}.brand-mark{width:44px;height:44px;margin-bottom:16px}.brand-points{display:none}.login-panel{padding:34px 24px}.console-shell{display:block}.console-shell>aside{position:fixed;left:0;transform:translate(-105%);width:232px;transition:transform .18s ease}.console-shell>aside.open{transform:translate(0)}.mobile-close{display:grid;place-items:center;margin-left:auto}.scrim{position:fixed;z-index:10;inset:0;display:block;background:#17202d55}.console-main>header{padding:0 13px}.menu-button{display:grid;place-items:center;width:31px;height:31px}.content{padding:17px 13px 34px}.page-heading>span,.refresh-button span{display:none}.stats-grid,.update-summary-grid,.update-check-grid,.manifest-grid{grid-template-columns:1fr}.stats-grid{gap:9px}.stats-grid article{min-height:93px;padding:12px}.stat-icon{width:34px;height:34px}.stats-grid strong{font-size:21px}.stats-grid em{display:none}.panel-head{align-items:flex-start;padding:14px}.update-health{align-items:flex-start;flex-wrap:wrap;padding:15px}.update-health>div{flex-basis:calc(100% - 58px)}.update-health time{width:100%;padding-left:57px}.manifest-grid{padding:4px 14px 14px}.manifest-grid .manifest-wide{grid-column:auto}.account-checks,.form-grid,.user-metrics{grid-template-columns:1fr}.user-metrics div{border-right:0;border-bottom:1px solid var(--line)}.user-metrics div:last-child{border:0}.browser-limit-setting{align-items:stretch;flex-direction:column}.browser-limit-control{width:100%}.browser-limit-control input{min-width:0;flex:1}.assignment-head{align-items:flex-end}.account-table{overflow-x:auto}.table-row{min-width:680px}.audit-table{overflow-x:auto}.audit-row{min-width:620px}.ticket-detail-panel{min-height:430px}.user-list>button{grid-template-columns:34px minmax(0,1fr) auto}.user-list b{display:none}.row-actions{flex-wrap:wrap}.run-head{align-items:flex-start}}
