:root{--bg: #f4f7ff;--card: #fff;--line: #e0e7f5;--text: #0f172a;--muted: #64748b;--brand: #3b82f6;--brand2: #6366f1;--ok: #14532d;--okbg: #dcfce7;--err: #991b1b;--errbg: #fee2e2;font-family:MiSans,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:linear-gradient(180deg,#f8fbffd6,#eef2ffe0)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:#2563eb;text-decoration:none}textarea,select,input{max-width:100%;box-sizing:border-box}textarea,select,input:not([type=checkbox]):not([type=radio]):not([type=file]){width:100%;border:1px solid rgba(203,213,225,.9);border-radius:12px;padding:0 14px;font-size:14px;background:#fff;transition:border-color .2s,box-shadow .2s}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{height:44px}textarea{min-height:108px;padding-block:12px;resize:vertical}textarea:focus,select:focus,input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(91,141,239,.3);outline-offset:2px}.wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;position:relative}.card{width:min(860px,100%);background:var(--card);border:1px solid rgba(226,232,240,.9);border-radius:22px;box-shadow:0 8px 40px #0f172a14;padding:26px 28px 28px}.layout{display:flex;gap:24px;width:min(1240px,100%);align-items:flex-start}.layout .card{flex:1;min-width:0;width:auto}.top,.page-head,.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.page-head{margin-bottom:18px;align-items:flex-start}.page-head h1{text-align:left}.page-actions,.inline-actions,.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar{margin-bottom:16px}.toolbar .grow{flex:1;min-width:210px}.hero{text-align:center;padding:6px 0 12px}.hero img{width:190px;max-width:70%;height:auto}h1{margin:0 0 6px;font-size:22px;font-weight:800;text-align:center;letter-spacing:-.02em}h2,h3{color:#0f172a}.sub{margin:0 0 16px;color:var(--muted);font-size:13px;text-align:center;line-height:1.6}.muted{color:var(--muted);font-size:13px;line-height:1.65}.flash{padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:13px}.flash.success{background:var(--okbg);color:var(--ok)}.flash.error{background:var(--errbg);color:var(--err)}.section{background:linear-gradient(180deg,#f8fafff2,#f1f5fde6);border:1px solid rgba(226,232,240,.85);border-radius:18px;padding:22px 24px;margin-bottom:18px;box-shadow:0 2px 12px #0f172a0a}.section-title{display:flex;align-items:center;gap:10px;margin:0 0 14px}.section-title b{font-size:15px;font-weight:800}.section-no{width:26px;height:26px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#1d4ed8;background:#3b82f61f;border:1px solid rgba(147,197,253,.4)}.field{margin:0 0 14px}.label{display:block;font-size:12px;font-weight:600;color:#475569;margin:0 0 6px}.hint,.mini-tip{margin-top:6px;font-size:12px;color:#64748b;line-height:1.6}.mini-tip.ok{color:#166534}.mini-tip.err{color:#b91c1c}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row{display:flex;gap:10px;align-items:center}.row .grow{flex:1}.btn,.nav-btn,.action-btn{min-height:42px;border:0;border-radius:12px;padding:0 18px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;transition:opacity .2s,transform .15s,background .2s}.btn:hover:not(:disabled),.action-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.7}.btn.light,.nav-btn{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.btn.ghost{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}.btn.danger,.action-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn.full{width:100%}.btn.small,.action-btn{min-height:36px;padding:0 13px;font-size:12px}.global-spinner,.loading-ring{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:global-spin .6s linear infinite}.global-spinner{display:none}button:disabled .global-spinner{display:inline-block}@keyframes global-spin{to{transform:rotate(360deg)}}.links{margin-top:12px;font-size:13px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.sep{border:0;border-top:1px solid #e9edf7;margin:14px 0}.readonly-box,.code-box{min-height:44px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:10px 14px;display:flex;align-items:center;color:#1e293b;font-size:13px;word-break:break-all}.code-box{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;display:block}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card,.app-item,.user-card,.client-card{border:1px solid rgba(226,232,240,.9);background:#fffffff5;border-radius:16px;padding:16px 18px;transition:box-shadow .2s,border-color .2s}.action-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.action-card:hover,.app-item:hover,.user-card:hover,.client-card:hover{box-shadow:0 6px 22px #1e293b14;border-color:#cbd5e1}.action-card .text{min-width:0;flex:1}.action-card b,.app-item b{font-size:14px;font-weight:800}.action-card span,.app-item span{display:block;font-size:12px;color:#64748b;line-height:1.7}.app-item{display:flex;align-items:center;justify-content:space-between;gap:14px}.app-item .left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.app-item .icon,.client-card .cicon{width:48px;height:48px;object-fit:cover;border-radius:13px;border:1px solid #e2e8f0;background:#fff}.user-card{margin-bottom:12px}.user-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.user-card-info{min-width:0;flex:1}.user-card-actions,.chips{display:flex;gap:8px;flex-wrap:wrap}.chip,.role-chip,.status-chip{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;font-size:11px;font-weight:700;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-chip.ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.status-chip.off{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.status-chip.bad{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.empty-state{text-align:center;padding:30px 22px;background:#f8fafccc;border:1px dashed #cbd5e1;border-radius:16px}.empty-state p{margin:8px 0 0;font-size:13px;color:#64748b}.table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:12px 14px;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid #edf2f7;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fafcff}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:20px;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999}.modal.open{display:flex;animation:modal-overlay .2s ease}.modal .panel{width:min(720px,100%);max-height:88vh;overflow:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 24px 64px #0f172a33;padding:20px;display:flex;flex-direction:column}.modal .panel.panel-wide{width:min(980px,100%)}.modal .head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.modal .close{min-height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-weight:700;cursor:pointer;padding:0 14px}.modal-body{flex:1;min-height:0;overflow:auto;padding-right:5px}@keyframes modal-overlay{0%{opacity:0}to{opacity:1}}.sidebar{width:220px;flex-shrink:0;background:#fffffff7;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden}.sidebar-head{display:flex;align-items:center;gap:12px;padding:18px 16px 14px;border-bottom:1px solid #e2e8f0}.sb-logo{width:34px;height:34px;border-radius:10px;object-fit:cover}.sb-brand-text{font-size:13px;font-weight:800;white-space:nowrap}.sidebar-body{flex:1;overflow-y:auto;padding:8px}.sidebar-foot{padding:8px;border-top:1px solid #e2e8f0}.sidebar-group-title{padding:12px 14px 5px;font-size:10px;font-weight:800;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;color:#64748b;font-size:13px;font-weight:600;margin-bottom:2px;border:1px solid transparent}.sidebar-link:hover{background:#f1f5f9;color:#334155}.sidebar-link.active{background:linear-gradient(135deg,#3b82f61a,#6366f10f);color:#1d4ed8;border-color:#93c5fd59}.sidebar-link.danger{color:#b91c1c;width:100%;border:0;background:transparent;cursor:pointer;text-align:left}.sidebar-link.danger:hover{background:#fef2f2}.sb-ico{width:18px;text-align:center}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.metric-card span{color:#64748b;font-size:12px;font-weight:600}.metric-card b{display:block;margin-top:6px;font-size:24px}.ticket-messages{display:grid;gap:12px;margin:16px 0;max-height:420px;overflow:auto}.ticket-msg-block{display:flex}.ticket-msg-block.admin{justify-content:flex-end}.msg-bubble{max-width:82%;padding:12px 15px;border-radius:14px 14px 14px 4px;background:#f1f5f9}.ticket-msg-block.admin .msg-bubble{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border-radius:14px 14px 4px}.msg-meta{font-size:11px;opacity:.72;margin-bottom:5px}.msg-body{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.msg-img{display:block;max-width:260px;max-height:200px;margin-top:8px;border-radius:10px}.auth-switch{display:flex;justify-content:center;gap:8px;margin-top:14px;font-size:13px}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.social-btn{min-height:42px;border:1px solid #dbeafe;background:#fff;color:#334155;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer}.social-btn img{width:20px;height:20px;object-fit:contain}.file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-row input[type=file]{max-width:100%}.danger-zone{border-color:#fecaca;background:#fff7f7}.log-viewer{border:1px solid #334155;border-radius:10px;background:#0f172a;overflow:auto;max-height:65vh;min-height:220px}.log-content{margin:0;padding:14px 18px;font-size:12px;line-height:1.65;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-all}body.glass-ui .wrap{padding:0;align-items:stretch;justify-content:flex-start}body.glass-ui .layout{width:100%;max-width:none;gap:0;min-height:100vh}body.glass-ui .sidebar{position:fixed;inset:0 auto 0 0;height:100vh;z-index:100}body.glass-ui .layout>.card{margin-left:220px;width:calc(100% - 220px);max-width:none;min-height:100vh;border:0;border-radius:0;box-shadow:none;padding:28px 36px 36px;background:transparent}@media (max-width: 900px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.wrap{padding:10px}.card{padding:18px 16px 20px;border-radius:16px;width:100%}.section{padding:16px 14px;border-radius:14px}.info-grid,.grid.cols-2,.grid.cols-3,.actions{grid-template-columns:1fr}.user-card-top,.page-head{flex-direction:column}body.glass-ui .sidebar{position:static;width:100%;height:auto;border:0;border-bottom:1px solid #e2e8f0}body.glass-ui .sidebar-head{padding:10px 14px}body.glass-ui .sidebar-body{display:flex;overflow-x:auto;gap:4px}body.glass-ui .sidebar-group-title{display:none}body.glass-ui .sidebar-link{flex:0 0 auto}body.glass-ui .sidebar-foot{display:none}body.glass-ui .layout{flex-direction:column}body.glass-ui .layout>.card{margin-left:0;width:100%;min-height:auto;padding:20px 14px}.modal{padding:10px}.modal .panel{max-height:94vh;padding:15px;border-radius:16px}}@media (max-width: 520px){.metric-grid,.social-row{grid-template-columns:1fr}.row{align-items:stretch;flex-direction:column}.row .btn{width:100%}}body.glass-ui{background:linear-gradient(135deg,#f8fbffad,#e0e7ff9e,#eef2ffb8)}body.glass-ui .wrap:has(.layout){padding:0;align-items:stretch;justify-content:flex-start}body.glass-ui .wrap:not(:has(.layout)){padding:18px}body.glass-ui .layout{width:100%!important;max-width:none!important;gap:0;min-height:100vh}body.glass-ui .sidebar{width:220px;position:fixed!important;top:0!important;left:0!important;height:100vh;border-radius:0;border:none;border-right:1px solid rgba(226,232,240,.7);box-shadow:2px 0 12px #0f172a0a;padding:0;z-index:100;display:flex;flex-direction:column;overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1)}body.glass-ui .sidebar.collapsed{width:0;border-width:0;overflow:hidden}body.glass-ui .sidebar-head{padding:18px 16px 14px;border-bottom:1px solid rgba(226,232,240,.5);display:flex;align-items:center;gap:12px;flex-shrink:0}body.glass-ui .sb-brand-text{font-size:13px;font-weight:800;color:#1e293b;white-space:nowrap}body.glass-ui .sidebar-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 8px 4px}body.glass-ui .sidebar-body::-webkit-scrollbar{width:4px}body.glass-ui .sidebar-body::-webkit-scrollbar-track{background:transparent}body.glass-ui .sidebar-body::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:2px}body.glass-ui .sidebar-body::-webkit-scrollbar-thumb:hover{background:#64748b66}body.glass-ui .sidebar-foot{padding:8px;border-top:1px solid rgba(226,232,240,.5);flex-shrink:0}body.glass-ui .sidebar-group-title{padding:12px 14px 4px;font-size:10px}body.glass-ui .sidebar-sep{margin:8px}body.glass-ui .sidebar-link{padding:9px 14px;font-size:13px;gap:10px;margin-bottom:2px;border-radius:10px;overflow:hidden}body.glass-ui .sb-collapse-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;border-radius:10px;background:transparent;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}body.glass-ui .sb-collapse-btn:hover{background:#f1f5f9e6;color:#64748b}body.glass-ui .sb-expand{display:none;position:fixed;top:16px;left:16px;z-index:201;width:38px;height:38px;border-radius:10px;border:1px solid rgba(226,232,240,.7);background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 12px #0f172a14;color:#64748b;cursor:pointer;align-items:center;justify-content:center;transition:background .15s,box-shadow .15s}body.glass-ui .sb-expand:hover{background:#fff;box-shadow:0 4px 16px #0f172a1f;color:#334155}body.glass-ui .layout .card{margin-left:220px!important;width:calc(100% - 220px)!important;max-width:none!important;min-width:0!important;flex:1 1 auto!important;min-height:100vh;border-radius:0;border:none;box-shadow:none;padding:28px 36px 36px;position:relative;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:margin-left .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1)}body.glass-ui .layout:has(.sidebar.collapsed) .card{margin-left:0!important;width:100%!important}body.glass-ui .layout .card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f8fafc1f;z-index:-1}body.glass-ui .card .section,body.glass-ui .card .feedback-panel,body.glass-ui .card .ticket-thread-card,body.glass-ui .card .chat-reply-box,body.glass-ui .card .admin-user-table-wrap,body.glass-ui .card .app-item,body.glass-ui .card .client-card,body.glass-ui .card .auth-app,body.glass-ui .card .empty-state,body.glass-ui .card .social-box,body.glass-ui .card .action-card,body.glass-ui .card .tab-nav,body.glass-ui .card .ann-modal-card,body.glass-ui .card .ann-sidebar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.glass-ui .wrap>.card{border-radius:18px;padding:22px 26px 26px;max-width:860px}body.glass-ui .section{padding:18px 20px;margin-bottom:14px;border-radius:14px}body.glass-ui h1{font-size:20px;margin:0 0 4px}body.glass-ui .sub{margin:0 0 16px;font-size:12.5px}body.glass-ui .user-card{padding:14px 18px;border-radius:14px;margin-bottom:10px}body.glass-ui .action-card,body.glass-ui .app-item{padding:14px 16px;border-radius:12px}body.glass-ui .client-card{padding:14px 16px;border-radius:14px}body.glass-ui .auth-app{padding:14px;border-radius:14px}body.glass-ui .info-grid:has(.ann-custom-select){position:relative;z-index:10;overflow:visible}body.glass-ui .field:has(.ann-custom-select){position:relative;z-index:10}body.glass-ui .ann-custom-select{position:relative;z-index:10}body.glass-ui .ann-custom-select-menu{z-index:9999!important}body.glass-ui .admin-user-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.45);border-radius:12px;background:#ffffff61;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 4px 24px #0f172a0d,0 1px #ffffff80 inset}body.glass-ui .admin-user-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}body.glass-ui .admin-user-table thead th{padding:13px 18px;text-align:left;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;background:#f8faff8c;border-bottom:1px solid rgba(226,232,240,.5)}body.glass-ui .admin-user-table thead th:first-child{border-radius:12px 0 0}body.glass-ui .admin-user-table thead th:last-child{border-radius:0 12px 0 0}body.glass-ui .admin-user-table tbody td{padding:14px 18px;color:#334155;border-bottom:1px solid rgba(241,245,249,.6);vertical-align:middle;transition:background .15s ease}body.glass-ui .admin-user-table tbody tr:last-child td{border-bottom:none}body.glass-ui .admin-user-table tbody tr:last-child td:first-child{border-radius:0 0 0 12px}body.glass-ui .admin-user-table tbody tr:last-child td:last-child{border-radius:0 0 12px}body.glass-ui .admin-user-table tbody tr:hover td{background:#eff6ff73}body.glass-ui .admin-user-table tbody tr.row-banned td{background:#fef2f240}body.glass-ui .admin-user-table tbody tr.row-banned:hover td{background:#fee2e266}body.glass-ui .admin-user-table .uname{font-weight:700;font-size:14px;color:#0f172a}body.glass-ui .admin-user-table .uid-tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:8px;background:linear-gradient(135deg,#6366f11a,#3b82f614);color:#4338ca;border:1px solid rgba(99,102,241,.15)}body.glass-ui .admin-user-table .role-chip{display:inline-block;font-size:11px;padding:3px 10px;border-radius:8px;font-weight:700;letter-spacing:.01em}body.glass-ui .admin-user-table .role-admin{background:linear-gradient(135deg,#ef44441a,#dc26260f);color:#dc2626;border:1px solid rgba(239,68,68,.2)}body.glass-ui .admin-user-table .role-developer{background:linear-gradient(135deg,#10b9811a,#0596690f);color:#059669;border:1px solid rgba(16,185,129,.2)}body.glass-ui .admin-user-table .role-user{background:#f1f5f9b3;color:#64748b;border:1px solid rgba(226,232,240,.5)}body.glass-ui .admin-user-table .role-banned{background:linear-gradient(135deg,#ef44441f,#dc262614);color:#b91c1c;border:1px solid rgba(239,68,68,.25)}body.glass-ui .admin-user-table td:nth-child(4){color:#64748b;font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis}body.glass-ui .admin-user-table .btn.ghost{padding:6px 16px;font-size:12px;font-weight:600;height:auto;border-radius:8px;background:linear-gradient(135deg,#3b82f614,#6366f10f);border:1px solid rgba(59,130,246,.2);color:#2563eb;transition:all .2s ease}body.glass-ui .admin-user-table .btn.ghost:hover{background:linear-gradient(135deg,#3b82f626,#6366f11f);border-color:#3b82f659;box-shadow:0 2px 8px #3b82f61f}@media (max-width: 768px){body.glass-ui .admin-user-table{font-size:12px}body.glass-ui .admin-user-table thead th,body.glass-ui .admin-user-table tbody td{padding:10px 12px}}body.glass-ui .feedback-panel{border-radius:14px}body.glass-ui .tab-nav{margin:0 0 12px;border-radius:12px}body.glass-ui .sb-expand{display:none;position:fixed;bottom:8px;left:0;z-index:201;width:42px;height:42px;border-radius:0 12px 12px 0;border:1px solid rgba(203,213,225,.5);border-left:none;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:3px 2px 16px #0f172a14,0 1px #ffffffb3 inset;color:#3b82f6;cursor:pointer;align-items:center;justify-content:center;transition:all .22s cubic-bezier(.4,0,.2,1)}body.glass-ui .sb-expand:hover{width:50px;background:#fff;box-shadow:4px 2px 20px #3b82f624,0 1px #ffffffb3 inset;color:#2563eb}body.glass-ui .sb-expand:active{width:38px}body.glass-ui .sidebar.collapsed~.sb-expand{display:flex}body.glass-ui .sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#0f172a59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}body.glass-ui .sidebar-overlay.open{opacity:1}@media (max-width: 1024px){body.glass-ui .sidebar{width:200px}body.glass-ui .layout .card{margin-left:200px!important;width:calc(100% - 200px)!important;padding:22px 24px 28px}body.glass-ui .layout:has(.sidebar.collapsed) .card{margin-left:0!important;width:100%!important}body.glass-ui .sidebar-link{font-size:12.5px}body.glass-ui .sb-expand{bottom:8px;height:40px;width:40px}}@media (max-width: 768px){body.glass-ui .sb-expand{display:flex!important;bottom:8px;left:0;width:40px;height:40px;z-index:201}body.glass-ui .sidebar.open~.sb-expand{display:none!important}body.glass-ui .sidebar-overlay{display:block;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}body.glass-ui .sidebar-overlay.open{pointer-events:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}body.glass-ui .sidebar{display:flex!important;flex-direction:column!important;position:fixed!important;top:0!important;left:0!important;width:280px!important;height:100vh;z-index:200;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-right:1px solid rgba(226,232,240,.7);border-radius:0;border-width:1px!important;box-shadow:4px 0 24px #0f172a1f;overflow:hidden;padding:0;background:#ffffffeb!important;backdrop-filter:blur(20px) saturate(1.5)!important;-webkit-backdrop-filter:blur(20px) saturate(1.5)!important}body.glass-ui .sidebar.open{transform:translate(0)}body.glass-ui .sidebar-body{overflow-y:auto;padding:8px 10px 4px}body.glass-ui .sidebar-foot{display:block}body.glass-ui .layout{flex-direction:column;min-height:auto}body.glass-ui .layout .card{margin-left:0!important;width:100%!important;min-height:auto;padding:20px 16px 80px}body.glass-ui .wrap:has(.layout){padding:0}body.glass-ui .wrap:not(:has(.layout)){padding:12px}body.glass-ui .section{padding:16px;border-radius:12px}body.glass-ui .hero.hero-sm{padding-top:8px}body.glass-ui .admin-user-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}body.glass-ui .admin-user-table{min-width:580px;font-size:12px}body.glass-ui .modal .panel{width:96vw!important;max-width:96vw!important;max-height:92vh;border-radius:16px}body.glass-ui .grid.cols-2,body.glass-ui .grid.cols-3{grid-template-columns:1fr!important}body.glass-ui .actions,body.glass-ui .info-grid{grid-template-columns:1fr}body.glass-ui .user-card-top{flex-direction:column}body.glass-ui .user-card-actions,body.glass-ui .admin-card-actions{width:100%}body.glass-ui .admin-card-actions form{flex-wrap:wrap}body.glass-ui .tab-nav{gap:3px;padding:3px}body.glass-ui .tab-nav a{padding:8px 10px;font-size:12px}body.glass-ui .social-box{width:100%}body.glass-ui .section-flex{flex-direction:column}body.glass-ui .wrap>.card{padding:16px 14px 20px;border-radius:14px;max-width:100%}}@media (max-width: 480px){body.glass-ui .layout .card{padding:16px 10px 18px}body.glass-ui .section{padding:12px;border-radius:10px}body.glass-ui .wrap>.card{padding:12px 10px 16px;border-radius:12px}body.glass-ui .hero h2{font-size:18px}body.glass-ui .hero p{font-size:12px}body.glass-ui .sb-expand{bottom:6px;width:36px;height:36px;border-radius:0 10px 10px 0}body.glass-ui .modal .panel{border-radius:14px;padding:14px}body.glass-ui .user-card{padding:10px 12px}body.glass-ui .btn{font-size:13px;padding:0 14px;height:38px}body.glass-ui .pagination{flex-wrap:wrap;gap:6px}}body.glass-ui .card{position:relative;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.45);box-shadow:0 8px 32px #0f172a14,0 1.5px #ffffffb3 inset}body.glass-ui .card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff8c;backdrop-filter:blur(1px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border-radius:inherit;z-index:-1}body.glass-ui .sidebar{position:relative;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 20px #0f172a0f}body.glass-ui .sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff80;backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-radius:inherit;z-index:-1}body.glass-ui .sidebar-link{transition:background .2s ease,color .2s ease,border-color .2s ease}body.glass-ui .sidebar-link:hover{background:#ffffff80}body.glass-ui .sidebar-link.active{background:linear-gradient(135deg,#3b82f626,#6366f11a);border-color:#93c5fd59;box-shadow:0 2px 12px #3b82f61a,0 1px #ffffff80 inset}body.glass-ui .section{background:#ffffff8c;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 20px #0f172a0d,0 1px #ffffff8c inset}body.glass-ui .modal{background:#0f172a66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}body.glass-ui .modal .panel{background:#ffffffb8;backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 64px #0f172a24,0 1px #ffffffb3 inset}body.glass-ui input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]){background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(203,213,225,.5)}body.glass-ui input:focus:not([type=checkbox]):not([type=radio]):not([type=file]){background:#fffc;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61f,0 1px #fff6 inset}body.glass-ui textarea{background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(203,213,225,.5)}body.glass-ui textarea:focus{background:#fffc;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61f}body.glass-ui .readonly-box{background:#f8fafc80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(226,232,240,.5)}body.glass-ui .btn{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 12px #3b82f62e,0 1px #fff3 inset;transition:opacity .2s ease,box-shadow .2s ease,filter .2s ease}body.glass-ui .btn:hover:not(:disabled){box-shadow:0 2px 10px #3b82f633;filter:brightness(1.03)}body.glass-ui .btn:active:not(:disabled){box-shadow:0 1px 4px #3b82f61a;filter:brightness(.98)}body.glass-ui .btn.light{background:#f1f5f999;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 6px #0f172a0a}body.glass-ui .btn.light:hover{background:#e2e8f0a6;box-shadow:0 2px 10px #0f172a12}body.glass-ui .btn.ghost{background:#eef2ff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(199,210,254,.5)}body.glass-ui .btn.ghost:hover{background:#e0e7ff99}body.glass-ui .social-box{background:#f8fcff73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4)}body.glass-ui .social-btn{background:#ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(199,210,254,.4);transition:background .2s ease,border-color .2s ease}body.glass-ui .social-btn:hover{background:#f0f4ffa6;border-color:#93c5fd80}body.glass-ui .links a{background:#eff6ff80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(191,219,254,.4);transition:background .2s ease,border-color .2s ease}body.glass-ui .links a:hover{background:#dbeafe8c;border-color:#93c5fd80}body.glass-ui .tab-nav{background:#f1f5f973;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.4)}body.glass-ui .tab-nav a{transition:background .15s ease,color .15s ease,box-shadow .15s ease}body.glass-ui .tab-nav a.active{background:#ffffffa6;box-shadow:0 2px 10px #1e293b0f,0 1px #ffffff80 inset}body.glass-ui .tab-nav a:hover{background:#ffffff73}body.glass-ui .action-card{background:#ffffff73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4);box-shadow:0 2px 10px #0f172a0a;transition:border-color .2s ease,box-shadow .2s ease}body.glass-ui .action-card:hover{border-color:#93c5fd73;box-shadow:0 2px 12px #3b82f612}body.glass-ui .user-card,body.glass-ui .app-item,body.glass-ui .client-card{background:#ffffff6b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.38);transition:border-color .2s ease,box-shadow .2s ease}body.glass-ui .user-card:hover,body.glass-ui .app-item:hover,body.glass-ui .client-card:hover{border-color:#93c5fd73;box-shadow:0 2px 14px #3b82f60f}body.glass-ui .auth-app{background:#ffffff73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(219,234,254,.5)}body.glass-ui .empty-state{background:#f8fafc59;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px dashed rgba(203,213,225,.5)}body.glass-ui .feedback-panel{background:#ffffff73;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 24px #0f172a0f,0 1px #ffffff80 inset}body.glass-ui .feedback-panel .head{background:#f8faff59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.glass-ui .ticket-thread-card{background:#ffffff6b;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 24px #0f172a0d}body.glass-ui .chat-reply-box{background:#f8faff59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.35)}body.glass-ui .ann-modal-card{background:#ffffffad;backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 64px #0f172a1f,0 1px #ffffffa6 inset}body.glass-ui .ann-sidebar{background:#ffffffa6;backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid rgba(255,255,255,.45);box-shadow:0 12px 40px #0f172a1a,0 1px #fff9 inset}body.glass-ui .log-viewer{border:1px solid rgba(51,65,85,.8);box-shadow:0 2px 12px #0000001a}body.glass-ui .admin-feedback .section{background:#fff6;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.4)}body.glass-ui .admin-feedback .ticket-table-wrap{background:#ffffff4d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(226,232,240,.5)}body.glass-ui .admin-feedback .ticket-table th{background:#f8faff66}body.glass-ui .zako-card{background:#ffffffb3;backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 64px #0f172a26,0 1px #ffffffb3 inset}body.glass-ui .card{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body.glass-ui .section{animation:sectionIn .35s ease-out both}body.glass-ui .section:nth-child(1){animation-delay:.04s}body.glass-ui .section:nth-child(2){animation-delay:.1s}body.glass-ui .section:nth-child(3){animation-delay:.16s}body.glass-ui .section:nth-child(4){animation-delay:.22s}body.glass-ui .section:nth-child(5){animation-delay:.28s}@keyframes sectionIn{0%{opacity:0}to{opacity:1}}body.glass-ui .grid>*{animation:gridIn .3s ease-out both}body.glass-ui .grid>*:nth-child(1){animation-delay:.02s}body.glass-ui .grid>*:nth-child(2){animation-delay:.05s}body.glass-ui .grid>*:nth-child(3){animation-delay:.08s}body.glass-ui .grid>*:nth-child(4){animation-delay:.11s}body.glass-ui .grid>*:nth-child(5){animation-delay:.14s}body.glass-ui .grid>*:nth-child(6){animation-delay:.17s}body.glass-ui .grid>*:nth-child(7){animation-delay:.2s}body.glass-ui .grid>*:nth-child(8){animation-delay:.23s}body.glass-ui .grid>*:nth-child(9){animation-delay:.26s}body.glass-ui .grid>*:nth-child(10){animation-delay:.29s}@keyframes gridIn{0%{opacity:0}to{opacity:1}}body.glass-ui .info-grid{animation:gridIn .35s ease-out .08s both}body.glass-ui .modal.open{animation:modalBgIn .22s ease forwards}body.glass-ui .modal.open .panel{animation:modalPanelSlide .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalBgIn{0%{opacity:0}to{opacity:1}}@keyframes modalPanelSlide{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}body.glass-ui .flash-modal{animation:flashIn .3s cubic-bezier(.16,1,.3,1)}@keyframes flashIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}body.glass-ui .avatar-click img{transition:box-shadow .25s ease}body.glass-ui .avatar-click:hover img{box-shadow:0 0 0 3px #3b82f62e,0 2px 12px #3b82f61a}body.glass-ui .hero img{transition:opacity .3s ease}body.glass-ui .hero img:hover{opacity:.92}body.glass-ui .nav-btn{transition:background .2s ease,color .2s ease}body.glass-ui .chip{transition:background .2s ease}body.glass-ui .pagination-btn:not(.disabled){transition:background .2s ease,border-color .2s ease}body.glass-ui .action-btn{transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}body.glass-ui .action-btn:hover{box-shadow:0 1px 8px #3b82f614}body.glass-ui .feedback-submit{transition:opacity .2s ease,box-shadow .2s ease}body.glass-ui .feedback-submit:hover:not(:disabled){box-shadow:0 2px 14px #3b82f633}body.glass-ui .chat-send-btn{transition:opacity .2s ease,box-shadow .2s ease}body.glass-ui .chat-send-btn:hover{box-shadow:0 2px 14px #6366f140}body.glass-ui .zako-grid .zako-cell{transition:border-color .2s ease,box-shadow .2s ease}body.glass-ui .zako-grid .zako-cell:hover{box-shadow:0 2px 10px #3b82f614}body.glass-ui .section a[href*="announcements?id="]{transition:border-color .2s ease,box-shadow .2s ease!important}body.glass-ui .section a[href*="announcements?id="]:hover{box-shadow:0 2px 14px #3b82f612!important}body.glass-ui ::-webkit-scrollbar{width:8px}body.glass-ui ::-webkit-scrollbar-track{background:#f1f5f980;border-radius:4px}body.glass-ui ::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:4px}body.glass-ui ::-webkit-scrollbar-thumb:hover{background:#64748b80}@media (prefers-reduced-motion: reduce){body.glass-ui .wrap,body.glass-ui .section,body.glass-ui .info-grid,body.glass-ui .grid>*,body.glass-ui .card,body.glass-ui .flash-modal{animation:none!important}}.admin-welcome{display:flex;min-height:150px;align-items:center;justify-content:space-between;gap:24px;padding:25px;margin-bottom:16px;overflow:hidden;color:#fff;border:1px solid #272a36;border-radius:17px;background:radial-gradient(circle at 90% 10%,rgba(130,114,255,.3),transparent 18rem),linear-gradient(135deg,#171820,#101116);box-shadow:0 12px 34px #0f10171a}body.app-ui .admin-welcome h1{color:#fff;text-align:left;font-size:24px}.admin-welcome p{margin:7px 0 0;color:#9da1af;font-size:11.5px;line-height:1.7}.admin-welcome-kicker{display:block;margin-bottom:7px;color:#aaa1ff;font-size:9px;font-weight:850;letter-spacing:.14em}.admin-welcome-state{display:inline-flex;min-height:35px;align-items:center;gap:8px;padding:0 13px;color:#b5ead7;font-size:10px;font-weight:750;white-space:nowrap;border:1px solid rgba(100,211,165,.2);border-radius:10px;background:#299e6e1a}.admin-welcome-state i{width:6px;height:6px;border-radius:50%;background:#4dd49e;box-shadow:0 0 0 4px #4dd49e1a}.admin-action-icon{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;color:#6257e8;border:1px solid #e1defe;border-radius:11px;background:#f5f3ff}.admin-user-avatar{width:44px;height:44px;border-radius:12px;object-fit:cover;border:1px solid #e2e8f0}.admin-user-title{display:flex;align-items:center;gap:12px}.admin-user-title b{display:block}.admin-user-title span{display:block;font-size:12px;color:#64748b;margin-top:3px}.admin-user-title .admin-user-email{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-total-badge{display:inline-flex;min-height:34px;align-items:center;padding:0 13px;color:#475569;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid #e2e8f0;border-radius:999px;background:#fff}.user-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.user-summary-card{padding:15px 16px;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fafc)}.user-summary-card span,.user-summary-card small{display:block;color:#64748b;font-size:11px;font-weight:700}.user-summary-card b{display:block;margin:4px 0 3px;color:#0f172a;font-size:24px;line-height:1.1}.user-summary-card.positive{border-color:#bbf7d0;background:linear-gradient(145deg,#fff,#f0fdf4)}.user-summary-card.warning{border-color:#fed7aa;background:linear-gradient(145deg,#fff,#fff7ed)}.user-filter{padding:12px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.user-table-wrap{border-radius:16px}.user-table td{vertical-align:middle}.role-chip.role-admin{color:#7e22ce;border-color:#e9d5ff;background:#faf5ff}.role-chip.role-developer{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.role-chip.role-user{color:#475569;border-color:#e2e8f0;background:#f8fafc}.admin-cell-note{max-width:180px;margin-top:6px;color:#94a3b8;font-size:11px;line-height:1.45}.admin-cell-note.clipped{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-date-value{display:block;white-space:nowrap}.admin-date-value{color:#334155;font-size:12px;font-weight:700}.user-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px;margin-bottom:14px;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#fff,#eff6ff 58%,#f5f3ff)}.user-detail-avatar{width:64px;height:64px;object-fit:cover;border:3px solid #fff;border-radius:18px;box-shadow:0 7px 20px #0f172a24}.user-detail-identity{min-width:0}.user-detail-identity h2{margin:0 0 4px;overflow:hidden;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.user-detail-identity p{margin:0 0 9px;overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.user-last-seen{min-width:178px;padding-left:16px;text-align:right;border-left:1px solid #dbeafe}.user-last-seen span,.user-last-seen b{display:block}.user-last-seen span{color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.08em}.user-last-seen b{margin:5px 0;color:#334155;font-size:12px}.user-detail-tabs{display:flex;gap:4px;margin-bottom:15px;padding:4px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.user-detail-tabs button{min-height:38px;flex:1;padding:0 14px;color:#64748b;font-size:12px;font-weight:800;cursor:pointer;border:0;border-radius:9px;background:transparent}.user-detail-tabs button.active{color:#1d4ed8;background:#fff;box-shadow:0 2px 10px #0f172a14}.user-detail-tabs button span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:5px;padding:0 5px;font-size:10px;border-radius:999px;background:#e0e7ff}.user-detail-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.user-detail-stats>div{padding:12px;text-align:center;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.user-detail-stats span,.user-detail-stats b{display:block}.user-detail-stats span{color:#64748b;font-size:10px;font-weight:750}.user-detail-stats b{margin-top:4px;color:#0f172a;font-size:19px}.user-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.user-info-card,.user-setting-card{padding:17px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.user-info-card h3,.user-setting-card h3{margin:0 0 12px;font-size:14px}.user-info-list{margin:0}.user-info-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #f1f5f9}.user-info-list>div:last-child{border-bottom:0}.user-info-list dt{flex:0 0 auto;color:#94a3b8;font-size:11px;font-weight:700}.user-info-list dd{margin:0;overflow-wrap:anywhere;color:#334155;font-size:12px;font-weight:700;text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.user-ban-banner{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:12px;padding:12px 14px;color:#991b1b;font-size:12px;border:1px solid #fecaca;border-radius:13px;background:#fef2f2}.user-ban-banner small{color:#b91c1c}.user-modal-actions{margin-top:14px}.login-log-filter{justify-content:flex-end;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.login-log-filter>div:first-child{min-width:210px;flex:1}.login-log-filter b,.login-log-filter span{display:block}.login-log-filter b{color:#1e293b;font-size:13px}.login-log-filter span{margin-top:3px;color:#64748b;font-size:11px}.login-log-filter select{width:auto;min-width:125px}.login-log-table td{vertical-align:middle}.login-result-line{display:flex;align-items:center;gap:6px;margin-top:7px;color:#64748b;font-size:11px;white-space:nowrap}.login-result-line .status-chip{min-height:21px;padding:0 7px;font-size:10px}.login-failure{display:block;margin-top:5px;color:#b91c1c;font-size:10px}.login-client b,.login-client span,.login-client small{display:block}.login-client b{color:#1e293b;font-size:12px}.login-client span{margin-top:4px;color:#64748b;font-size:11px}.login-client small{margin-top:3px;color:#94a3b8;font-size:10px}.login-ua summary{color:#4f46e5;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}.login-ua code{display:block;width:min(360px,55vw);margin-top:7px;padding:8px;overflow-wrap:anywhere;color:#475569;font-size:10px;line-height:1.5;border-radius:8px;background:#f1f5f9}.login-pagination{margin-top:13px}.user-settings{display:grid;gap:13px}.user-setting-head h3{margin-bottom:4px}.user-setting-head p{margin:0 0 15px;color:#64748b;font-size:11px;line-height:1.6}.admin-check-field{display:flex;align-items:center;gap:10px;min-height:72px;padding:12px;cursor:pointer;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.admin-check-field input{width:18px;height:18px}.admin-check-field b,.admin-check-field small{display:block}.admin-check-field b{color:#334155;font-size:12px}.admin-check-field small{margin-top:3px;color:#64748b;font-size:10px}.admin-permission-grid{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.user-setting-card.danger-zone{border-color:#fed7aa;background:#fffaf5}.ban-control{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}.ban-control .field{flex:1;margin-bottom:0}.current-ban{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:12px;padding:12px;color:#991b1b;font-size:12px;border:1px solid #fecaca;border-radius:12px;background:#fff}.admin-confirm-box{position:sticky;z-index:2;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;color:#7c2d12;border:1px solid #fdba74;border-radius:14px;background:#fff7ed;box-shadow:0 10px 30px #7c2d1229}.admin-confirm-box b,.admin-confirm-box p{display:block}.admin-confirm-box p{margin:4px 0 0;font-size:11px;line-height:1.6}.admin-secret code{display:block;margin-top:7px;font-size:11px;word-break:break-all}.admin-secret{border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:12px;padding:12px 14px;margin-bottom:14px;word-break:break-all}.scope-checks{display:flex;gap:14px;flex-wrap:wrap}.scope-checks label{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:13px}.scope-checks input{width:16px;height:16px}.admin-filter select{width:auto;min-width:130px}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ann-editor textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.admin-ticket-row{cursor:pointer}.mail-log-ok{color:#166534}.mail-log-error{color:#b91c1c}.admin-user-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.admin-user-row-actions .btn{white-space:nowrap}.admin-login-log-panel{display:grid;gap:13px}.admin-login-log-summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #d9d6fe;border-radius:13px;background:linear-gradient(135deg,#f4f3ff,#fff 68%)}.admin-login-log-summary-icon{display:grid;width:44px;height:44px;place-items:center;color:#5925dc;border:1px solid #d9d6fe;border-radius:11px;background:#fff}.admin-login-log-summary-copy,.admin-login-log-summary-copy b,.admin-login-log-summary-copy p{min-width:0}.admin-login-log-summary-copy b{display:block;color:#1d2939;font-size:13px;font-weight:700}.admin-login-log-summary-copy p{margin:4px 0 0;color:#667085;font-size:10.5px;line-height:1.55}.admin-login-log-total{min-width:82px;padding-left:14px;text-align:right;border-left:1px solid #e4e7ec}.admin-login-log-total small,.admin-login-log-total b,.admin-login-log-total span{display:block}.admin-login-log-total small,.admin-login-log-total span{color:#667085;font-size:9px}.admin-login-log-total b{margin:2px 0;color:#5925dc;font-size:20px;font-weight:720;line-height:1}.admin-login-log-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-login-log-stats>div{padding:10px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.admin-login-log-stats span,.admin-login-log-stats b{display:block}.admin-login-log-stats span{color:#667085;font-size:9.5px}.admin-login-log-stats b{margin-top:3px;color:#067647;font-size:17px;font-weight:700}.admin-login-log-stats .failed b{color:#b42318}.admin-login-log-filter{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e4e7ec;border-radius:11px;background:#f9fafb}.admin-login-log-filter-copy{display:flex;min-width:230px;flex:1;align-items:center;gap:8px;color:#667085;font-size:10px}.admin-login-log-filter-copy svg{flex:0 0 auto;color:#2563eb}.admin-login-log-filter select{width:auto;min-width:120px;height:35px;padding:0 28px 0 10px;font-size:10.5px;border-radius:8px}.admin-login-log-filter .btn{min-height:35px;white-space:nowrap}.admin-login-log-list{display:grid;gap:8px;transition:opacity .16s ease}.admin-login-log-list.is-loading{opacity:.5;pointer-events:none}.admin-login-log-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px 14px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;transition:border-color .16s ease,background .16s ease}.admin-login-log-item:hover{border-color:#b2ccff;background:#fbfdff}.admin-login-device{display:grid;width:44px;height:44px;place-items:center;color:#175cd3;border:1px solid #d1e0ff;border-radius:10px;background:#eff4ff}.admin-login-device.mobile,.admin-login-device.tablet{color:#5925dc;border-color:#d9d6fe;background:#f4f3ff}.admin-login-device.bot,.admin-login-device.unknown{color:#475467;border-color:#d0d5dd;background:#f2f4f7}.admin-login-device svg{width:22px;height:22px}.admin-login-log-main{min-width:0}.admin-login-log-title{display:flex;align-items:center;gap:8px}.admin-login-log-title>b{overflow:hidden;color:#101828;font-size:12.5px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.admin-login-log-title .status-chip{min-height:23px;flex:0 0 auto;padding:0 7px;font-size:9px}.admin-login-log-main>p{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:5px 0 0;color:#667085;font-size:10.5px;line-height:1.5}.admin-login-log-main>p i{color:#d0d5dd;font-style:normal}.admin-login-log-failure{display:inline-flex;margin-top:6px;color:#b42318;font-size:9.5px;font-weight:650}.admin-login-log-ua{margin-top:7px}.admin-login-log-ua summary{width:fit-content;color:#175cd3;font-size:9.5px;font-weight:650;cursor:pointer}.admin-login-log-ua code{display:block;width:min(570px,64vw);margin-top:7px;padding:8px 9px;overflow-wrap:anywhere;color:#475467;font-size:9px;line-height:1.55;border:1px solid #eaecf0;border-radius:8px;background:#f9fafb}.admin-login-log-time{min-width:122px;text-align:right}.admin-login-log-time time,.admin-login-log-time small{display:block}.admin-login-log-time time{color:#475467;font-size:10px;white-space:nowrap}.admin-login-log-time small{margin-top:4px;color:#98a2b3;font-size:8.5px}.admin-login-log-pagination{margin-top:1px}@media (max-width: 720px){.admin-detail-grid{grid-template-columns:1fr}.user-summary-grid,.user-detail-stats,.user-overview-grid{grid-template-columns:1fr 1fr}.user-detail-hero{grid-template-columns:auto minmax(0,1fr)}.user-last-seen{grid-column:1 / -1;padding:10px 0 0;text-align:left;border-top:1px solid #dbeafe;border-left:0}.user-detail-tabs button{padding:0 6px}.login-log-filter{align-items:stretch}.login-log-filter>div:first-child,.login-log-filter select{width:100%}.user-ban-banner,.current-ban{grid-template-columns:1fr}.ban-control,.admin-confirm-box{align-items:stretch;flex-direction:column}.admin-permission-grid{grid-template-columns:1fr}.admin-login-log-summary{grid-template-columns:44px minmax(0,1fr)}.admin-login-log-total{display:flex;grid-column:2;align-items:baseline;gap:5px;padding:0;text-align:left;border:0}.admin-login-log-total small,.admin-login-log-total b,.admin-login-log-total span{display:inline}.admin-login-log-total b{font-size:15px}.admin-login-log-filter{flex-wrap:wrap}.admin-login-log-filter-copy{flex-basis:100%}.admin-login-log-filter select{min-width:0;flex:1}}@media (max-width: 480px){.user-summary-grid,.user-detail-stats,.user-overview-grid{grid-template-columns:1fr}.user-detail-tabs button span{display:none}.admin-login-log-stats>div{padding:9px}.admin-login-log-filter select{flex-basis:calc(50% - 4px)}.admin-login-log-filter .btn{width:100%}.admin-login-log-item{grid-template-columns:40px minmax(0,1fr);padding:12px}.admin-login-device{width:40px;height:40px}.admin-login-log-time{display:flex;min-width:0;grid-column:2;align-items:center;gap:6px;text-align:left}.admin-login-log-time small{margin:0}.admin-login-log-title{align-items:flex-start;flex-direction:column;gap:5px}.admin-login-log-ua code{width:100%}}.system-logs-page{width:min(1180px,100%);margin:0 auto}.system-log-page-status{display:inline-flex;min-height:31px;align-items:center;gap:7px;padding:0 10px;color:#667085;font-size:10px;font-weight:650;border:1px solid #e4e7ec;border-radius:8px;background:#fff}.system-log-page-status i{width:7px;height:7px;border-radius:50%;background:#98a2b3}.system-log-page-status.active{color:#067647;border-color:#abefc6;background:#ecfdf3}.system-log-page-status.active i{background:#12b76a;box-shadow:0 0 0 3px #d1fadf}.system-log-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) 170px 160px auto;align-items:end;gap:10px;padding:13px;margin-bottom:13px;border:1px solid #e4e7ec;border-radius:13px;background:#fff;box-shadow:0 3px 12px #10182809}.system-log-toolbar-copy{display:flex;min-width:0;align-items:center;gap:10px}.system-log-toolbar-copy>span{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;color:#5925dc;border:1px solid #d9d6fe;border-radius:10px;background:#f4f3ff}.system-log-toolbar-copy b,.system-log-toolbar-copy small{display:block}.system-log-toolbar-copy b{color:#1d2939;font-size:11.5px;font-weight:680}.system-log-toolbar-copy small{margin-top:3px;color:#667085;font-size:9px}.system-log-toolbar label>span{display:block;margin-bottom:5px;color:#475467;font-size:9px;font-weight:650}.system-log-toolbar input,.system-log-toolbar select,.system-log-toolbar .btn{height:39px;min-height:39px;font-size:10.5px;border-radius:8px}.system-log-shell{overflow:hidden;border:1px solid #e4e7ec;border-radius:14px;background:#fff;box-shadow:0 4px 16px #10182809}.system-log-search{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:13px;color:#475467;font-size:11px}.system-log-search input{flex:1 1 260px;min-width:0;min-height:38px}.system-log-search small{color:#667085}.system-log-facts{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:10px;color:#344054;font-size:13px}.system-log-facts>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;min-width:0;overflow-wrap:anywhere}.system-log-facts small{color:#667085;font-size:11px}.system-log-facts strong{font-weight:650}.system-log-actor strong{color:#1d2939}.system-log-actor em{color:#667085;font-style:normal;font-size:11px}.system-log-request{display:block;margin-top:9px;color:#667085;font-size:11px;overflow-wrap:anywhere}.system-log-expanded{margin-top:9px}.system-log-expanded summary{color:#475467;cursor:pointer;font-size:11px}.system-log-expanded summary:hover{color:#5925dc}.system-log-shell-head{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid #eaecf0;background:#f9fafb}.system-log-shell-head>div{display:flex;align-items:center;gap:8px}.system-log-shell-head b{color:#1d2939;font-size:11.5px;font-weight:680}.system-log-shell-head span,.system-log-shell-head small{color:#667085;font-size:9px}.system-log-shell-head span{padding-left:8px;border-left:1px solid #d0d5dd}.system-log-list{display:grid;transition:opacity .16s ease}.system-log-list.is-loading{opacity:.55;pointer-events:none}.system-log-entry{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:11px;padding:14px 16px;border-bottom:1px solid #eaecf0;background:#fff}.system-log-entry:last-child{border-bottom:0}.system-log-entry:hover{background:#fbfdff}.system-log-level-mark{display:grid;width:28px;height:28px;place-items:center;border:1px solid #b2ccff;border-radius:8px;background:#eff4ff}.system-log-level-mark i{width:7px;height:7px;border-radius:50%;background:#2e90fa}.system-log-entry.warn .system-log-level-mark{border-color:#fedf89;background:#fffaeb}.system-log-entry.warn .system-log-level-mark i{background:#f79009}.system-log-entry.error .system-log-level-mark{border-color:#fecdca;background:#fef3f2}.system-log-entry.error .system-log-level-mark i{background:#f04438}.system-log-entry-main{min-width:0}.system-log-entry-meta{display:flex;align-items:center;gap:6px;margin-bottom:5px}.system-log-level,.system-log-category{display:inline-flex;min-height:20px;align-items:center;padding:0 6px;font-size:8px;font-weight:700;border-radius:5px}.system-log-level.info{color:#175cd3;background:#eff4ff}.system-log-level.warn{color:#b54708;background:#fffaeb}.system-log-level.error{color:#b42318;background:#fef3f2}.system-log-category{color:#475467;background:#f2f4f7}.system-log-entry-main>b{display:block;color:#1d2939;font-size:14px;font-weight:680}.system-log-entry>time{color:#667085;font-size:11px;white-space:nowrap}.system-log-details{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.system-log-details>span{display:inline-flex;min-width:0;align-items:center;gap:5px;padding:5px 7px;border:1px solid #eaecf0;border-radius:6px;background:#f9fafb}.system-log-details>span.wide{width:100%;align-items:flex-start}.system-log-details small{flex:0 0 auto;color:#98a2b3;font-size:8px}.system-log-details code,.system-log-legacy{overflow-wrap:anywhere;color:#475467;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8.5px;line-height:1.55;white-space:pre-wrap}.system-log-legacy{display:block;margin-top:7px;padding:8px;border:1px solid #eaecf0;border-radius:7px;background:#f9fafb}.system-log-shell .empty-state{margin:18px}@media (max-width: 820px){.system-log-toolbar{grid-template-columns:1fr 1fr}.system-log-toolbar-copy{grid-column:1 / -1}.system-log-toolbar .btn{align-self:end}}@media (max-width: 560px){.system-log-toolbar{grid-template-columns:1fr}.system-log-toolbar-copy{grid-column:auto}.system-log-entry{grid-template-columns:28px minmax(0,1fr);padding:13px}.system-log-entry>time{grid-column:2}.system-log-shell-head{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:11px}}.status-chip.pending{color:#b54708;border-color:#fedf89;background:#fffaeb}.status-chip[data-announcement-state=live]{color:#067647;border-color:#abefc6;background:#ecfdf3}.status-chip[data-announcement-state=scheduled]{color:#b54708;border-color:#fedf89;background:#fffaeb}.status-chip[data-announcement-state=ended],.status-chip[data-announcement-state=disabled]{color:#667085;border-color:#e4e7ec;background:#f9fafb}.admin-announcement-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.admin-announcement-filter>span{display:inline-flex;align-items:center;gap:8px;color:#475467;font-size:11px;font-weight:680}.admin-announcement-filter select{width:min(190px,100%)}.admin-announcement-item{padding:14px 15px}.admin-announcement-item .left{align-items:center}.admin-announcement-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;color:#b54708;border:1px solid #fedf89;border-radius:11px;background:#fffaeb}.admin-announcement-icon[data-announcement-mode=sidebar]{color:#175cd3;border-color:#b2ccff;background:#eff4ff}.admin-announcement-timing{display:block;margin-top:4px;color:#98a2b3;font-size:9.5px;line-height:1.5}.ann-editor textarea{min-height:260px;color:#344054;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.65;-moz-tab-size:2;tab-size:2}.ann-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:14px;border-top:1px solid #eaecf0}.admin-announcement-preview{width:min(680px,100%);padding:14px;margin:0 auto;border:1px solid #e4e7ec;border-radius:14px;background:#fff;box-shadow:0 10px 28px #1018281a}.admin-announcement-preview[data-announcement-mode=sidebar]{width:min(420px,100%);margin-right:0}.admin-announcement-preview-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #eaecf0}.admin-announcement-preview-head>span{display:grid;width:38px;height:38px;place-items:center;color:#5925dc;border:1px solid #d9d6fe;border-radius:10px;background:#f4f3ff}.admin-announcement-preview-head small,.admin-announcement-preview-head b{display:block}.admin-announcement-preview-head small{margin-bottom:2px;color:#667085;font-size:8.5px}.admin-announcement-preview-head b{color:#1d2939;font-size:12px;font-weight:680}.admin-announcement-preview iframe{display:block;width:100%;height:min(48vh,430px);min-height:260px;margin:12px 0;border:0;border-radius:9px;background:#fff}.admin-announcement-preview .btn.full{min-height:40px;border-radius:8px}.admin-announcement-delete{display:flex;align-items:center;flex-direction:column;padding:6px 4px 2px;text-align:center}.admin-announcement-delete>span{display:grid;width:52px;height:52px;margin-bottom:13px;place-items:center;color:#b42318;border:1px solid #fecdca;border-radius:14px;background:#fef3f2}.admin-announcement-delete h3{margin:0 0 6px;color:#1d2939;font-size:15px;font-weight:700}.admin-announcement-delete p{margin:0 0 18px;color:#667085;font-size:10.5px;line-height:1.6}.admin-announcement-delete .inline-actions{justify-content:center}@media (max-width: 620px){.admin-announcement-filter{align-items:stretch;flex-direction:column}.admin-announcement-filter select{width:100%}.admin-announcement-item{align-items:flex-start;flex-direction:column}.admin-announcement-item .inline-actions{width:100%}.admin-announcement-item .inline-actions .btn{flex:1}.ann-editor-actions{align-items:stretch;flex-direction:column-reverse}.ann-editor-actions .btn{width:100%}}.oauth-stats-head .page-actions select{width:132px}.oauth-stat-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;transition:opacity .18s ease}.oauth-stat-summary.is-loading,.oauth-stats-table-wrap.is-loading{opacity:.55;pointer-events:none}.oauth-stat-summary article{display:flex;min-width:0;align-items:flex-start;gap:12px;padding:17px;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fafc)}.oauth-stat-summary article>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;color:#5145cd;border:1px solid #e4e0ff;border-radius:11px;background:#f5f3ff}.oauth-stat-summary article>div{min-width:0}.oauth-stat-summary small{display:block;overflow:hidden;color:#667085;font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.oauth-stat-summary b{display:block;margin:4px 0 3px;color:#101828;font-size:24px;line-height:1.1}.oauth-stat-summary p{margin:0;color:#98a2b3;font-size:10px;line-height:1.45}.oauth-stats-definition{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;margin-bottom:14px;color:#475467;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.oauth-stats-definition svg{flex:0 0 auto;margin-top:1px;color:#2e5aac}.oauth-stats-definition p{margin:0;font-size:10.5px;line-height:1.65}.oauth-stats-toolbar{padding:11px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.oauth-stats-table-wrap{transition:opacity .18s ease}.oauth-stats-table th,.oauth-stats-table td{white-space:nowrap}.oauth-stats-table td>b,.oauth-stats-table td>small{display:block}.oauth-stats-table td>b{color:#101828;font-size:13px}.oauth-stats-table td>small{margin-top:3px;color:#98a2b3;font-size:9.5px}.oauth-stat-app{display:grid;grid-template-columns:38px minmax(145px,1fr) auto;align-items:center;gap:10px;min-width:270px}.oauth-stat-app>img{width:38px;height:38px;object-fit:cover;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.oauth-stat-app>div{min-width:0}.oauth-stat-app>div b,.oauth-stat-app>div span{display:block;overflow:hidden;text-overflow:ellipsis}.oauth-stat-app>div b{color:#1d2939;font-size:11.5px}.oauth-stat-app>div span{margin-top:3px;color:#98a2b3;font-size:9px}.oauth-conversion{display:inline-flex;min-height:25px;align-items:center;padding:0 9px;color:#175cd3;font-size:10px;font-weight:750;border:1px solid #b2ddff;border-radius:999px;background:#eff8ff}.oauth-stats-generated{margin:11px 2px 0;color:#98a2b3;font-size:9.5px;text-align:right}@media (max-width: 1050px){.oauth-stat-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.oauth-stats-head .page-actions,.oauth-stats-head .page-actions select,.oauth-stats-head .page-actions .btn{width:100%}.oauth-stat-summary{grid-template-columns:1fr}}:root{--ui-bg: #f5f6f8;--ui-surface: #ffffff;--ui-surface-subtle: #f9fafb;--ui-sidebar: #ffffff;--ui-sidebar-hover: #f2f4f7;--ui-text: #101828;--ui-muted: #667085;--ui-faint: #98a2b3;--ui-line: #e4e7ec;--ui-line-strong: #d0d5dd;--ui-brand: #2563eb;--ui-brand-hover: #1d4ed8;--ui-brand-soft: #eff6ff;--ui-success: #067647;--ui-success-soft: #ecfdf3;--ui-danger: #b42318;--ui-danger-soft: #fef3f2;--ui-warning: #b54708;--ui-warning-soft: #fffaeb;--ui-radius: 9px;--ui-shadow: 0 1px 2px rgba(16, 24, 40, .04)}body.app-ui,body.auth-surface,body.docs-page{color:var(--ui-text);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body.app-ui{min-width:320px;min-height:100vh;margin:0;background:var(--ui-bg)}body.app-ui:before{display:none}.app-shell{min-height:100vh}.app-sidebar{position:fixed;z-index:100;inset:0 auto 0 0;display:flex;width:244px;flex-direction:column;color:#475467;border-right:1px solid var(--ui-line);background:var(--ui-sidebar);box-shadow:none}.app-brand{display:flex;min-height:64px;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid var(--ui-line)}.app-brand-mark{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;overflow:hidden;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface-subtle);box-shadow:none}.app-brand-mark img{width:28px;height:28px;object-fit:cover;border-radius:6px}.app-brand-copy{min-width:0;flex:1}.app-brand-copy b,.app-brand-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-brand-copy b{color:var(--ui-text);font-size:14px;font-weight:650;letter-spacing:0}.app-brand-copy small{margin-top:2px;color:var(--ui-faint);font-size:9px;font-weight:700;letter-spacing:.09em}.app-navigation{flex:1;overflow-x:hidden;overflow-y:auto;padding:12px 10px 18px;scrollbar-width:thin;scrollbar-color:#d0d5dd transparent}.app-nav-section+.app-nav-section{margin-top:18px}.app-nav-title{padding:0 10px 6px;color:#98a2b3;font-size:10px;font-weight:700;letter-spacing:.08em}.app-nav-link{position:relative;display:flex;min-height:40px;align-items:center;gap:10px;margin:2px 0;padding:0 11px;color:#475467;font-size:13px;font-weight:550;text-decoration:none;border:1px solid transparent;border-radius:7px;transition:color .14s ease,background .14s ease}.app-nav-link:hover{color:#175cd3;background:#f5f8ff;transform:none}.app-nav-link.active{color:#175cd3;border-color:#d1e0ff;background:var(--ui-brand-soft);box-shadow:none}.app-nav-link.active:before{position:absolute;top:10px;bottom:10px;left:-10px;width:3px;content:"";border-radius:0 3px 3px 0;background:#528bff}.app-nav-icon{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center;color:#98a2b3;border-radius:0;background:transparent}.app-nav-icon svg{width:18px;height:18px}.app-nav-link:hover .app-nav-icon,.app-nav-link.active .app-nav-icon{color:var(--ui-brand);background:transparent}.app-nav-trailing{margin-left:auto;color:#98a2b3}.app-sidebar-footer{padding:10px;border-top:1px solid var(--ui-line)}.app-user-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 8px;border:0;border-radius:7px;background:transparent}.app-user-card:hover{background:var(--ui-surface-subtle)}.app-user-card>img{width:34px;height:34px;object-fit:cover;border:1px solid var(--ui-line);border-radius:8px}.app-user-card div{min-width:0}.app-user-card b,.app-user-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-card b{color:#344054;font-size:12px;font-weight:600}.app-user-card span{margin-top:2px;color:#98a2b3;font-size:10px}.app-user-card button,.app-sidebar-close,.app-mobile-menu{display:grid;place-items:center;padding:0;cursor:pointer}.app-user-card button{width:30px;height:30px;color:#98a2b3;border:0;border-radius:6px;background:transparent}.app-user-card button:hover{color:#fda29b;background:#f044381f}.app-workspace{min-width:0;min-height:100vh;margin-left:244px}.app-topbar{position:sticky;z-index:50;top:0;display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:20px;padding:0 26px;border-bottom:1px solid var(--ui-line);background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.app-topbar-left,.app-topbar-actions,.app-breadcrumb,.app-top-link,.app-service-state{display:flex;align-items:center}.app-breadcrumb{gap:8px;font-size:13px}.app-breadcrumb span{color:var(--ui-faint)}.app-breadcrumb i{color:var(--ui-line-strong);font-style:normal}.app-breadcrumb b{color:#344054;font-weight:600}.app-topbar-actions{gap:8px}.app-service-state,.app-top-link{min-height:32px;gap:7px;padding:0 10px;color:#475467;font-size:11px;font-weight:600;border:1px solid var(--ui-line);border-radius:7px;background:#fff}.app-service-state i{width:7px;height:7px;border-radius:50%;background:#12b76a;box-shadow:none}.app-top-link{color:var(--ui-brand);text-decoration:none}.app-top-link:hover{border-color:#b2ccff;background:var(--ui-brand-soft)}.app-main{min-height:calc(100vh - 60px)}.app-content{width:min(1440px,100%);margin:0 auto;padding:26px 30px 48px}.app-mobile-menu,.app-sidebar-close,.app-sidebar-overlay{display:none}body.app-ui .page-head{align-items:flex-start;margin-bottom:22px}body.app-ui .page-head h1,body.app-ui h1{margin:0 0 5px;color:var(--ui-text);font-size:24px;font-weight:680;line-height:1.3;text-align:left;letter-spacing:-.025em}body.app-ui .page-head .muted,body.app-ui .muted{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.65}body.app-ui .section{margin-bottom:16px;padding:20px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow)}body.app-ui .section-title{margin-bottom:16px}body.app-ui .section-title b{color:#344054;font-size:14px;font-weight:650}body.app-ui .section-no{width:24px;height:24px;color:var(--ui-brand);border:1px solid #b2ccff;border-radius:6px;background:var(--ui-brand-soft)}body.app-ui .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}body.app-ui .metric-card{position:relative;min-height:108px;padding:17px 18px;overflow:hidden;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow)}body.app-ui .metric-card:after{display:none}body.app-ui .metric-card span{color:var(--ui-muted);font-size:12px;font-weight:550}body.app-ui .metric-card b{display:block;margin-top:12px;color:var(--ui-text);font-size:28px;font-weight:680;letter-spacing:-.035em}body.app-ui .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body.app-ui .action-card,body.app-ui .app-item,body.app-ui .user-card,body.app-ui .client-card{color:inherit;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:none}body.app-ui .action-card{min-height:84px;padding:16px}body.app-ui .action-card:hover,body.app-ui .app-item:hover,body.app-ui .user-card:hover,body.app-ui .client-card:hover{border-color:#b2ccff;background:#fbfdff;box-shadow:0 3px 8px #1018280d;transform:none}body.app-ui .action-card b,body.app-ui .app-item b{color:#344054;font-size:13px;font-weight:650}body.app-ui .action-card span,body.app-ui .app-item span{color:var(--ui-muted);font-size:11px}body.app-ui input:not([type=checkbox]):not([type=radio]):not([type=file]),body.app-ui select,body.app-ui textarea{color:#344054;border:1px solid var(--ui-line-strong);border-radius:7px;background:#fff;box-shadow:0 1px 2px #10182808}body.app-ui input:not([type=checkbox]):not([type=radio]):not([type=file]),body.app-ui select{height:40px}body.app-ui input:focus,body.app-ui select:focus,body.app-ui textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #2563eb1a}body.app-ui .label{margin-bottom:6px;color:#475467;font-size:12px;font-weight:600}body.app-ui .hint,body.app-ui .mini-tip{color:var(--ui-muted);font-size:11px}body.app-ui .readonly-box,body.app-ui .code-box{min-height:40px;color:#344054;border-color:var(--ui-line);border-radius:7px;background:var(--ui-surface-subtle)}body.app-ui .btn,body.app-ui .nav-btn,body.app-ui .action-btn{min-height:38px;padding:0 15px;color:#fff;font-size:12px;font-weight:600;border:1px solid var(--ui-brand);border-radius:7px;background:var(--ui-brand);box-shadow:none}body.app-ui .btn:hover:not(:disabled),body.app-ui .action-btn:hover:not(:disabled){border-color:var(--ui-brand-hover);background:var(--ui-brand-hover);box-shadow:none;filter:none;transform:none}body.app-ui .btn.light,body.app-ui .nav-btn{color:#344054;border-color:var(--ui-line-strong);background:#fff}body.app-ui .btn.light:hover,body.app-ui .nav-btn:hover{border-color:var(--ui-line-strong);background:var(--ui-surface-subtle)}body.app-ui .btn.ghost{color:var(--ui-brand);border-color:#b2ccff;background:var(--ui-brand-soft)}body.app-ui .btn.danger,body.app-ui .action-btn.danger{color:#fff;border-color:#d92d20;background:#d92d20}body.app-ui .btn.small,body.app-ui .action-btn{min-height:32px;padding:0 11px;font-size:11px;border-radius:6px}body.app-ui .toolbar{gap:8px;margin-bottom:14px}body.app-ui .table-wrap,body.app-ui .user-table-wrap{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--ui-shadow)}body.app-ui .data-table,body.app-ui .user-table,body.app-ui .login-log-table{color:#344054;font-size:12px}body.app-ui .data-table th,body.app-ui .user-table th,body.app-ui .login-log-table th{padding:11px 13px;color:#667085;font-size:11px;font-weight:600;letter-spacing:0;border-bottom-color:var(--ui-line);background:var(--ui-surface-subtle)}body.app-ui .data-table td,body.app-ui .user-table td,body.app-ui .login-log-table td{padding:12px 13px;border-bottom-color:#f0f1f3}body.app-ui .data-table tbody tr:hover td,body.app-ui .user-table tbody tr:hover td,body.app-ui .login-log-table tbody tr:hover td{background:#f9fafb}body.app-ui .chip,body.app-ui .role-chip,body.app-ui .status-chip,body.app-ui .dev-pill,body.app-ui .dev-status{min-height:24px;padding:0 8px;font-size:10px;font-weight:600;border-radius:6px}body.app-ui .chip,body.app-ui .role-chip,body.app-ui .dev-pill{color:#175cd3;border-color:#b2ccff;background:var(--ui-brand-soft)}body.app-ui .status-chip.ok,body.app-ui .dev-status.on{color:var(--ui-success);border-color:#abefc6;background:var(--ui-success-soft)}body.app-ui .status-chip.bad{color:var(--ui-danger);border-color:#fecdca;background:var(--ui-danger-soft)}body.app-ui .status-chip.off,body.app-ui .dev-status.off{color:#475467;border-color:var(--ui-line);background:var(--ui-surface-subtle)}body.app-ui .flash{padding:10px 12px;font-size:12px;border:1px solid transparent;border-radius:7px}body.app-ui .flash.success{color:var(--ui-success);border-color:#abefc6;background:var(--ui-success-soft)}body.app-ui .flash.error{color:var(--ui-danger);border-color:#fecdca;background:var(--ui-danger-soft)}.notice-dialog-layer{position:fixed;z-index:12000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#10182875;animation:notice-layer-in .16s ease both}.notice-dialog{display:grid;width:min(420px,100%);grid-template-columns:42px minmax(0,1fr);gap:14px;padding:22px;color:var(--ui-text);border:1px solid var(--ui-line);border-radius:12px;background:#fff;box-shadow:0 20px 52px #10182838;animation:notice-dialog-in .18s ease both}.notice-dialog-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--ui-success);font-size:20px;font-weight:750;border:1px solid #abefc6;border-radius:9px;background:var(--ui-success-soft)}.notice-dialog.error .notice-dialog-icon{color:var(--ui-danger);border-color:#fecdca;background:var(--ui-danger-soft)}.notice-dialog-content{min-width:0}.notice-dialog h3{margin:1px 0 7px;color:var(--ui-text);font-size:16px;font-weight:680;line-height:1.4;text-align:left;letter-spacing:-.01em}.notice-dialog-message{color:var(--ui-muted);font-size:13px;line-height:1.7;word-break:break-word}.notice-dialog>button{min-height:38px;grid-column:1 / -1;margin-top:4px;padding:0 16px;color:#fff;font:inherit;font-size:12px;font-weight:650;cursor:pointer;border:1px solid var(--ui-brand);border-radius:7px;background:var(--ui-brand)}.notice-dialog>button:hover{border-color:var(--ui-brand-hover);background:var(--ui-brand-hover)}.notice-dialog.error>button{border-color:#d92d20;background:#d92d20}.notice-dialog.error>button:hover{border-color:var(--ui-danger);background:var(--ui-danger)}@keyframes notice-layer-in{0%{opacity:0}to{opacity:1}}@keyframes notice-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}body.app-ui .empty-state,body.app-ui .dev-empty{padding:32px 22px;color:var(--ui-muted);border:1px dashed var(--ui-line-strong);border-radius:var(--ui-radius);background:var(--ui-surface-subtle)}body.app-ui .modal{padding:22px;background:#1018288c;-webkit-backdrop-filter:none;backdrop-filter:none}body.app-ui .modal .panel{padding:18px;border:1px solid var(--ui-line);border-radius:11px;box-shadow:0 20px 48px #10182838}body.app-ui .modal .head{margin-bottom:16px;padding-bottom:13px;border-bottom-color:var(--ui-line)}body.app-ui .modal .head>b{font-size:14px;font-weight:650}body.app-ui .modal .close{min-height:32px;padding:0 11px;color:#475467;font-size:11px;border-color:var(--ui-line-strong);border-radius:6px}body.app-ui .account-hero-card{min-height:146px;margin-bottom:16px;padding:22px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--ui-shadow)}body.app-ui .account-hero-profile .account-avatar,body.app-ui .account-avatar{width:72px;height:72px;border:1px solid var(--ui-line);border-radius:10px;box-shadow:none}body.app-ui .account-hero-eyebrow{color:var(--ui-brand);font-size:10px;font-weight:700;letter-spacing:.08em}body.app-ui .account-hero-profile h2{color:var(--ui-text);font-size:21px;font-weight:680}body.app-ui .account-hero-profile p{color:var(--ui-muted);font-size:12px}body.app-ui .account-hero-security{color:var(--ui-success);border:1px solid #abefc6;border-radius:8px;background:var(--ui-success-soft)}body.app-ui .account-action-icon,body.app-ui .admin-action-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;color:var(--ui-brand);border:1px solid #d1e0ff;border-radius:7px;background:var(--ui-brand-soft)}body.app-ui .dev-shell{gap:16px}body.app-ui .dev-hero,body.app-ui .dev-panel,body.app-ui .dev-app-card,body.app-ui .dev-modal-hero,body.app-ui .credential-hero,body.app-ui .credential-item{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--ui-shadow)}body.app-ui .dev-hero{padding:20px}body.app-ui .dev-hero:after{display:none}body.app-ui .dev-kicker{color:var(--ui-brand);font-size:10px;letter-spacing:.08em}body.app-ui .dev-title{color:var(--ui-text);font-size:22px;font-weight:680}body.app-ui .dev-desc,body.app-ui .dev-panel-head p,body.app-ui .dev-stat span,body.app-ui .dev-stat em,body.app-ui .dev-app-main p{color:var(--ui-muted)}body.app-ui .dev-link{height:36px;color:var(--ui-brand);font-size:12px;font-weight:600;border:1px solid #b2ccff;border-radius:7px;background:var(--ui-brand-soft);box-shadow:none}body.app-ui .dev-link:hover{background:#e5efff}body.app-ui .dev-stat{padding:14px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface-subtle)}body.app-ui .dev-stat b{color:var(--ui-text);font-size:22px;font-weight:680}body.app-ui .dev-progress{height:6px;background:var(--ui-line)}body.app-ui .dev-progress i{background:var(--ui-brand)}body.app-ui .dev-panel{padding:20px}body.app-ui .dev-panel-head h2,body.app-ui .dev-app-main h3,body.app-ui .dev-modal-hero h2{color:var(--ui-text);font-weight:650}body.app-ui .dev-app-card{padding:15px}body.app-ui .dev-app-card:hover{border-color:#b2ccff;background:#fbfdff;box-shadow:0 3px 8px #1018280d;transform:none}body.app-ui .dev-app-icon{border-color:var(--ui-line);border-radius:8px;background:var(--ui-surface-subtle)}body.app-ui .credential-hero{text-align:left}body.app-ui .credential-hero .badge{color:var(--ui-success);border:1px solid #abefc6;border-radius:8px;background:var(--ui-success-soft);box-shadow:none}body.app-ui .credential-item{border-color:var(--ui-line)}body.app-ui .credential-warning,body.app-ui .developer-secret{color:var(--ui-warning);border-color:#fedf89;border-radius:8px;background:var(--ui-warning-soft)}body.app-ui .user-summary-grid,body.app-ui .user-detail-stats{gap:12px}body.app-ui .user-summary-card,body.app-ui .user-detail-hero,body.app-ui .user-info-card,body.app-ui .user-setting-card,body.app-ui .admin-confirm-box{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--ui-shadow)}body.app-ui .user-summary-card,body.app-ui .user-summary-card.positive,body.app-ui .user-summary-card.warning{background:#fff}body.app-ui .user-detail-hero{background:var(--ui-surface-subtle)}body.app-ui .admin-user-avatar,body.app-ui .user-detail-avatar{border-radius:9px;box-shadow:none}body.app-ui .user-total-badge,body.app-ui .user-detail-tabs button{border-radius:6px}body.app-ui .user-detail-tabs{border-bottom-color:var(--ui-line)}body.app-ui .user-detail-tabs button.active{color:var(--ui-brand);border-bottom-color:var(--ui-brand)}body.app-ui .user-ban-banner,body.app-ui .current-ban{color:var(--ui-danger);border-color:#fecdca;background:var(--ui-danger-soft)}body.app-ui .admin-secret{border-radius:8px;box-shadow:none}body.app-ui .zako-overlay,.zako-warning-layer{background:#10182894;-webkit-backdrop-filter:none;backdrop-filter:none}.zako-card,.zako-warning-dialog{border:1px solid var(--ui-line);border-radius:11px;box-shadow:0 20px 48px #10182838}.zako-header{border-bottom-color:var(--ui-line);background:var(--ui-surface-subtle)}.zako-cell{border-width:2px;border-color:var(--ui-line);border-radius:8px;background:var(--ui-surface-subtle)}.zako-cell.selected{border-color:var(--ui-brand);box-shadow:0 0 0 3px #2563eb1f;transform:none}.zako-warning-icon{color:var(--ui-danger);border:1px solid #fecdca;border-radius:10px;background:var(--ui-danger-soft);box-shadow:none}.zako-warning-confirm{border-radius:7px;background:#d92d20;box-shadow:none}body.auth-surface{min-height:100vh;color:var(--ui-text);background:#f2f4f7}body.auth-surface .wrap{min-height:100vh;padding:24px}body.auth-surface .auth-shell{overflow:hidden;padding:0;border:1px solid #d0d5dd;border-radius:14px;background:#fff;box-shadow:0 8px 24px #10182814}body.auth-surface .card.auth-shell{border:1px solid #d0d5dd;border-radius:14px;background:#fff;box-shadow:0 8px 24px #10182814;animation:none}body.auth-surface .signin-shell{width:min(960px,100%)}body.auth-surface .signin-layout{display:grid;min-height:610px;grid-template-columns:350px minmax(0,1fr)}body.auth-surface .signin-visual,body.auth-surface .signup-visual,body.auth-surface .auth-brand-panel{position:relative;overflow:hidden;color:var(--ui-text);border-right:1px solid var(--ui-line);background:#f7f9fc}body.auth-surface .signin-visual{padding:38px 36px}body.auth-surface .signin-visual:before,body.auth-surface .signin-visual:after,body.auth-surface .signup-visual:before,body.auth-surface .signup-visual:after,body.auth-surface .auth-brand-panel:before,body.auth-surface .auth-brand-panel:after{display:none}body.auth-surface .signin-brand,body.auth-surface .signup-brand,body.auth-surface .auth-brand-lockup,body.auth-surface .signup-mobile-brand{color:var(--ui-text)}body.auth-surface .signin-brand img,body.auth-surface .signup-brand img,body.auth-surface .signin-mobile-brand img,body.auth-surface .signup-mobile-brand img,body.auth-surface .auth-brand-lockup img{width:36px;height:36px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:none}body.auth-surface .signin-brand span,body.auth-surface .signup-brand span,body.auth-surface .signup-mobile-brand span,body.auth-surface .auth-brand-lockup span{color:var(--ui-text);font-size:14px;font-weight:650}body.auth-surface .signup-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:24px;color:var(--ui-text)}body.auth-surface .signup-mobile-brand span{color:var(--ui-text)}body.auth-surface .signin-copy{max-width:280px;margin-top:110px}body.auth-surface .signin-kicker,body.auth-surface .signup-kicker,body.auth-surface .auth-brand-badge{min-height:auto;margin-bottom:15px;padding:0;color:var(--ui-brand);font-size:10px;font-weight:700;letter-spacing:.12em;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}body.auth-surface .signin-copy h1,body.auth-surface .signup-visual-copy h1,body.auth-surface .auth-brand-copy h1{color:var(--ui-text);font-size:31px;font-weight:650;line-height:1.25;letter-spacing:-.035em}body.auth-surface .signin-copy h1 em,body.auth-surface .signup-visual-copy h1 em{color:var(--ui-brand);font-style:normal}body.auth-surface .signin-copy p,body.auth-surface .signup-visual-copy p,body.auth-surface .auth-brand-copy p{color:var(--ui-muted);font-size:12px;line-height:1.8}body.auth-surface .signin-trust{gap:11px;margin-top:32px}body.auth-surface .signin-trust span{color:#475467;font-size:11px;font-weight:550}body.auth-surface .signin-trust i{width:26px;height:26px;color:var(--ui-brand);font-size:8px;border:1px solid #d1e0ff;border-radius:6px;background:var(--ui-brand-soft);box-shadow:none}body.auth-surface .auth-brand-art{display:none}body.auth-surface .signin-art,body.auth-surface .signup-art{position:absolute;z-index:1;right:-22px;bottom:-24px;display:block;width:245px;pointer-events:none}body.auth-surface .signup-art{right:-42px;width:210px;opacity:.88}body.auth-surface .signin-art:before,body.auth-surface .signup-art:before{display:none}body.auth-surface .signin-art img,body.auth-surface .signup-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px rgba(16,24,40,.14))}body.auth-surface .signin-main{padding:34px 52px 26px;background:#fff}body.auth-surface .signin-create-link,body.auth-surface .signup-login-link{color:#475467;border:1px solid var(--ui-line);border-radius:7px;background:#fff}body.auth-surface .signin-create-link b,body.auth-surface .signup-login-link b{color:var(--ui-brand)}body.auth-surface .signin-create-link:hover,body.auth-surface .signup-login-link:hover{color:#344054;border-color:#b2ccff;background:var(--ui-brand-soft);transform:none}body.auth-surface .signin-heading{margin:48px 0 25px}body.auth-surface .signin-heading p,body.auth-surface .signup-eyebrow,body.auth-surface .auth-eyebrow{color:var(--ui-brand);font-size:10px;font-weight:700}body.auth-surface .signin-heading h2,body.auth-surface .signup-top h2,body.auth-surface .auth-form-head h1{color:var(--ui-text);font-size:28px;font-weight:680;letter-spacing:-.03em}body.auth-surface .signin-heading>span,body.auth-surface .signup-desc,body.auth-surface .auth-form-head p{color:var(--ui-muted);font-size:12px}body.auth-surface .signin-context,body.auth-surface .signup-context{color:#175cd3;border:1px solid #b2ccff;border-radius:7px;background:var(--ui-brand-soft)}body.auth-surface .signin-label label,body.auth-surface .signup-label label,body.auth-surface .label{color:#344054;font-size:12px;font-weight:600}body.auth-surface .signin-label span,body.auth-surface .signin-label a,body.auth-surface .signup-label span{color:var(--ui-muted)}body.auth-surface .signin-label a,body.auth-surface a{color:var(--ui-brand)}body.auth-surface .signin-control>svg,body.auth-surface .signup-control>svg{color:#98a2b3}body.auth-surface .signin-control input,body.auth-surface .signup-control input,body.auth-surface input:not([type=checkbox]):not([type=radio]),body.auth-surface select{height:46px;color:#344054;border:1px solid var(--ui-line-strong);border-radius:7px;background:#fff;box-shadow:0 1px 2px #10182808}body.auth-surface .signin-control input:focus,body.auth-surface .signup-control input:focus,body.auth-surface input:focus,body.auth-surface select:focus{border-color:#84adff;background:#fff;box-shadow:0 0 0 3px #2563eb1a}body.auth-surface .signin-password-toggle,body.auth-surface .signup-password-toggle,body.auth-surface .auth-password-toggle{color:#667085;border-radius:6px}body.auth-surface .signin-password-toggle:hover,body.auth-surface .signup-password-toggle:hover,body.auth-surface .auth-password-toggle:hover{color:var(--ui-brand);background:var(--ui-brand-soft)}body.auth-surface .signin-submit,body.auth-surface .signup-submit,body.auth-surface .auth-primary-action,body.auth-surface .btn{height:46px;color:#fff;font-size:12px;font-weight:650;border:1px solid var(--ui-brand);border-radius:7px;background:var(--ui-brand);box-shadow:none}body.auth-surface .signin-submit.auth-primary-action,body.auth-surface .signup-submit.auth-primary-action,body.auth-surface .consent-actions .consent-allow.auth-primary-action{height:46px;color:#fff;font-size:12px;font-weight:650;letter-spacing:0;text-shadow:none;border:1px solid var(--ui-brand);border-radius:7px;background:var(--ui-brand);box-shadow:none;transform:none}body.auth-surface .auth-primary-action:before,body.auth-surface .auth-primary-action:after{display:none}body.auth-surface .signin-submit:hover:not(:disabled),body.auth-surface .signup-submit:hover:not(:disabled),body.auth-surface .auth-primary-action:hover:not(:disabled),body.auth-surface .btn:hover:not(:disabled){border-color:var(--ui-brand-hover);background:var(--ui-brand-hover);box-shadow:none;filter:none;transform:none}body.auth-surface .signin-submit.auth-primary-action:hover:not(:disabled),body.auth-surface .signup-submit.auth-primary-action:hover:not(:disabled),body.auth-surface .consent-actions .consent-allow.auth-primary-action:hover:not(:disabled){border-color:var(--ui-brand-hover);background:var(--ui-brand-hover);box-shadow:none;filter:none;transform:none}body.auth-surface .signin-provider,body.auth-surface .signup-provider,body.auth-surface .social-btn{height:42px;color:#344054;border:1px solid var(--ui-line-strong);border-radius:7px;background:#fff}body.auth-surface .signin-provider:hover,body.auth-surface .signup-provider:hover,body.auth-surface .social-btn:hover{color:#344054;border-color:#b2ccff;background:var(--ui-brand-soft);transform:none}body.auth-surface .signin-provider-empty{color:var(--ui-muted);border-color:var(--ui-line-strong);border-radius:7px;background:var(--ui-surface-subtle)}body.auth-surface .signin-divider,body.auth-surface .signup-divider{color:var(--ui-faint)}body.auth-surface .signin-divider:before,body.auth-surface .signin-divider:after,body.auth-surface .signup-divider:before,body.auth-surface .signup-divider:after{background:var(--ui-line)}body.auth-surface .signin-foot,body.auth-surface .signup-foot{color:var(--ui-muted)}body.auth-surface .signup-shell{width:min(1040px,100%)}body.auth-surface .signup-layout{display:grid;min-height:690px;grid-template-columns:350px minmax(0,1fr)}body.auth-surface .signup-visual{padding:38px 36px}body.auth-surface .signup-visual-copy{margin-top:64px}body.auth-surface .signup-steps{gap:6px;margin-top:28px}body.auth-surface .signup-steps li,body.auth-surface .signup-steps li.active{color:var(--ui-muted);border:0;border-radius:7px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.auth-surface .signup-steps li.active{background:#fff;box-shadow:0 1px 2px #1018280a}body.auth-surface .signup-steps i,body.auth-surface .signup-steps li.active i{color:var(--ui-brand);border:1px solid #d1e0ff;border-radius:6px;background:var(--ui-brand-soft);box-shadow:none}body.auth-surface .signup-steps b,body.auth-surface .signup-steps li.active b{color:#344054}body.auth-surface .signup-steps small{color:var(--ui-muted)}body.auth-surface .signup-main{padding:34px 48px 24px;background:#fff}body.auth-surface .signup-code-btn{height:46px;color:var(--ui-brand);border:1px solid #b2ccff;border-radius:7px;background:var(--ui-brand-soft)}body.auth-surface .signup-code-btn:hover:not(:disabled){color:var(--ui-brand-hover);border-color:#84adff;background:#e5efff;transform:none}body.auth-surface .signup-agreement input{accent-color:var(--ui-brand)}body.auth-surface .auth-shell.login-shell{width:min(900px,100%)}body.auth-surface .auth-layout{display:grid;min-height:570px;grid-template-columns:330px minmax(0,1fr)}body.auth-surface .auth-brand-panel{padding:38px 34px}body.auth-surface .auth-brand-copy{margin-top:110px}body.auth-surface .auth-brand-assurance{color:#475467;border-top-color:var(--ui-line)}body.auth-surface .auth-brand-assurance i{background:#12b76a}body.auth-surface .auth-form-panel{padding:42px 48px;background:#fff}body.auth-surface .auth-form-head{margin-bottom:24px}body.docs-page{background:#f5f6f8}body.docs-page .docs-layout{width:min(1280px,100%);border-color:var(--ui-line);background:#fff}body.docs-page .docs-sidebar{border-right-color:var(--ui-line);background:#f9fafb}body.docs-page .docs-brand{color:var(--ui-text);border-bottom-color:var(--ui-line)}body.docs-page .docs-toc-main,body.docs-page .docs-toc-sub{border-radius:6px}body.docs-page .docs-toc-main:hover,body.docs-page .docs-toc-sub:hover{color:var(--ui-brand);background:var(--ui-brand-soft)}body.docs-page .docs-back{color:var(--ui-brand);border-color:#b2ccff;border-radius:7px;background:var(--ui-brand-soft)}body.docs-page .docs-main{padding-top:38px}body.docs-page .docs-header{border-bottom-color:var(--ui-line)}body.docs-page .docs-header h1,body.docs-page .docs-content h2,body.docs-page .docs-content h3{color:var(--ui-text);font-weight:680;letter-spacing:-.02em}body.docs-page .docs-kicker{color:var(--ui-brand)!important}body.docs-page .docs-header-back,body.docs-page .docs-mobile-toc,body.docs-page .docs-content table,body.docs-page .docs-callout{border-radius:7px}body.docs-page .docs-code,body.app-ui .log-viewer{color:#344054;border-color:var(--ui-line);border-radius:8px;background:#f8fafc;box-shadow:none}body.docs-page .docs-code code,body.app-ui .log-content{color:#344054}body.app-ui .credential-code,body.app-ui .ticket-msg-block .msg-bubble,body.app-ui .ticket-msg-block.admin .msg-bubble{color:#344054;border:1px solid var(--ui-line);background:#f8fafc}body.app-ui .ticket-msg-block.admin .msg-bubble{color:#175cd3;border-color:#d1e0ff;background:var(--ui-brand-soft)}@media (max-width: 1120px){body.app-ui .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 920px){body.auth-surface .signin-shell,body.auth-surface .signup-shell,body.auth-surface .auth-shell.login-shell{width:min(580px,100%)}body.auth-surface .signin-layout,body.auth-surface .signup-layout,body.auth-surface .auth-layout{display:block;min-height:0}body.auth-surface .signin-visual,body.auth-surface .signup-visual,body.auth-surface .auth-brand-panel{display:none}body.auth-surface .signin-main,body.auth-surface .signup-main,body.auth-surface .auth-form-panel{padding:34px 38px 28px}body.auth-surface .signup-mobile-brand{display:flex}body.auth-surface .signin-heading{margin-top:34px}}@media (max-width: 820px){.app-sidebar{width:min(280px,86vw);transform:translate(-102%);transition:transform .2s ease}.app-sidebar.open{transform:translate(0)}.app-sidebar-overlay{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:#10182885}.app-sidebar-overlay.visible,.app-sidebar-close,.app-mobile-menu{display:grid}.app-sidebar-close{width:30px;height:30px;color:#667085;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface-subtle)}.app-workspace{margin-left:0}.app-topbar{min-height:56px;padding:0 16px}.app-mobile-menu{width:34px;height:34px;margin-right:10px;color:#475467;border:1px solid var(--ui-line-strong);border-radius:7px;background:#fff}.app-service-state{display:none}.app-content{padding:22px 17px 38px}body.app-ui .dev-stats{grid-template-columns:1fr}}@media (max-width: 620px){.app-breadcrumb span,.app-breadcrumb i,.app-top-link{display:none}body.app-ui .page-head{display:block}body.app-ui .page-head>:last-child:not(:first-child){margin-top:12px}body.app-ui .metric-grid,body.app-ui .actions,body.app-ui .info-grid,body.app-ui .dev-form-grid,body.app-ui .dev-detail-grid,body.app-ui .admin-detail-grid,body.app-ui .admin-permission-grid{grid-template-columns:1fr}body.app-ui .metric-card{min-height:92px}body.app-ui .section{padding:16px}body.app-ui .account-hero-card{align-items:flex-start;flex-direction:column;padding:17px}body.app-ui .account-hero-security{width:100%}body.auth-surface .wrap{align-items:flex-start;padding:14px}body.auth-surface .auth-shell{border-radius:10px}body.auth-surface .signin-main,body.auth-surface .signup-main,body.auth-surface .auth-form-panel{padding:28px 20px 24px}body.auth-surface .signin-top{justify-content:space-between}body.auth-surface .signin-heading{margin:28px 0 23px}body.auth-surface .signin-heading h2,body.auth-surface .signup-top h2,body.auth-surface .auth-form-head h1{font-size:25px}body.auth-surface .signup-form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.oauth-consent-surface{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 18% 12%,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 84% 78%,rgba(14,165,233,.05),transparent 26%),#f5f7fb}body.oauth-consent-surface:before{display:none}.oauth-consent-page{min-height:100vh}.oauth-consent-topbar{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:20px;padding:0 max(24px,calc((100vw - 1040px)/2));border-bottom:1px solid rgba(228,231,236,.88);background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.oauth-consent-brand{display:inline-flex;align-items:center;gap:11px;color:#101828!important;text-decoration:none}.oauth-consent-brand img{width:38px;height:38px;object-fit:cover;border:1px solid #e4e7ec;border-radius:11px;background:#fff;box-shadow:0 3px 8px #1018280f}.oauth-consent-brand span{display:grid;gap:1px}.oauth-consent-brand strong{color:#101828;font-size:14px;font-weight:700;line-height:1.35}.oauth-consent-brand small{color:#98a2b3;font-size:8px;font-weight:700;letter-spacing:.13em}.oauth-consent-secure-badge{display:inline-flex;min-height:32px;align-items:center;gap:7px;padding:0 11px;color:#067647;font-size:11px;font-weight:650;border:1px solid #abefc6;border-radius:999px;background:#ecfdf3}.oauth-consent-stage{width:min(100%,1040px);margin:0 auto;padding:48px 24px 30px}.oauth-consent-card{display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) 330px;border:1px solid #e1e5ec;border-radius:24px;background:#fff;box-shadow:0 24px 60px #10182814,0 2px 6px #10182808;animation:oauth-consent-enter .32s ease both}.oauth-consent-main{min-width:0;padding:38px 40px 40px}.oauth-consent-app{display:flex;align-items:center;gap:18px}.oauth-consent-app-icon{position:relative;display:grid;width:72px;height:72px;overflow:visible;place-items:center;flex:0 0 auto;color:#175cd3;font-size:25px;font-weight:750;border:1px solid #d1e0ff;border-radius:20px;background:#eff4ff;box-shadow:0 8px 20px #2563eb1a}.oauth-consent-app-icon>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;background:#fff}.oauth-consent-app-icon>i{position:absolute;right:-5px;bottom:-5px;display:grid;width:25px;height:25px;place-items:center;color:#fff;border:3px solid #ffffff;border-radius:50%;background:#12b76a;box-shadow:0 3px 8px #06764738}.oauth-consent-app-copy{min-width:0}.oauth-consent-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.oauth-consent-eyebrow>span{color:#667085;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.oauth-consent-eyebrow>b{display:inline-flex;min-height:22px;align-items:center;padding:0 8px;color:#175cd3;font-size:9px;font-weight:650;border:1px solid #b2ccff;border-radius:999px;background:#eff4ff}.oauth-consent-app-copy h1{display:grid;gap:2px;margin:0;text-align:left;letter-spacing:-.025em}.oauth-consent-app-copy h1 strong{overflow:hidden;color:#101828;font-size:23px;font-weight:720;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.oauth-consent-app-copy h1 span{color:#344054;font-size:16px;font-weight:600;line-height:1.45}.oauth-consent-app-copy>p{margin:8px 0 0;color:#667085;font-size:12px;line-height:1.65}.oauth-consent-account{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:28px;padding:12px 13px;border:1px solid #e4e7ec;border-radius:13px;background:#f9fafb}.oauth-consent-account>img{width:42px;height:42px;object-fit:cover;border:1px solid #eaecf0;border-radius:11px;background:#fff}.oauth-consent-account>div{display:grid;min-width:0;grid-template-columns:auto 1fr;align-items:center;column-gap:7px}.oauth-consent-account>div span{grid-column:1 / -1;color:#667085;font-size:9px;font-weight:600}.oauth-consent-account>div strong{overflow:hidden;color:#101828;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.oauth-consent-account>div small{color:#98a2b3;font-size:9px}.oauth-consent-account>a{color:#175cd3;font-size:10px;font-weight:650;text-decoration:none}.oauth-consent-account>a:hover{text-decoration:underline}.oauth-consent-permissions{margin-top:29px}.oauth-consent-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.oauth-consent-section-head>div>span{display:block;margin-bottom:3px;color:#98a2b3;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.oauth-consent-section-head h2{margin:0;color:#101828;font-size:14px;font-weight:650}.oauth-consent-section-head>b{min-width:34px;padding:4px 8px;color:#475467;font-size:9px;font-weight:650;text-align:center;border:1px solid #e4e7ec;border-radius:999px;background:#f9fafb}.oauth-consent-permissions ul{overflow:hidden;margin:0;padding:0;list-style:none;border:1px solid #e4e7ec;border-radius:15px;background:#fff}.oauth-consent-permissions li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px}.oauth-consent-permissions li+li{border-top:1px solid #f0f2f5}.oauth-consent-permission-icon{display:grid;width:40px;height:40px;place-items:center;color:#175cd3;border:1px solid #d1e0ff;border-radius:11px;background:#eff4ff}.oauth-consent-permission-icon.user_email{color:#5925dc;border-color:#d9d6fe;background:#f4f3ff}.oauth-consent-permission-icon.user_id{color:#067647;border-color:#abefc6;background:#ecfdf3}.oauth-consent-permissions li>div{min-width:0}.oauth-consent-permissions li>div strong{display:block;margin-bottom:3px;color:#344054;font-size:12px;font-weight:650}.oauth-consent-permissions li>div p{margin:0;color:#667085;font-size:10px;line-height:1.55}.oauth-consent-read-tag{padding:4px 7px;color:#667085;font-size:9px;font-weight:600;border:1px solid #e4e7ec;border-radius:999px;background:#f9fafb}.oauth-consent-decision{display:flex;min-width:0;flex-direction:column;padding:36px 30px 30px;border-left:1px solid #e4e7ec;background:#f8fafc}.oauth-consent-decision-head{display:flex;align-items:center;gap:11px}.oauth-consent-decision-icon{display:grid;width:42px;height:42px;place-items:center;color:#175cd3;border:1px solid #b2ccff;border-radius:12px;background:#eff4ff}.oauth-consent-decision-head>div>span{display:block;margin-bottom:2px;color:#667085;font-size:9px;font-weight:650}.oauth-consent-decision-head h2{margin:0;color:#101828;font-size:17px;font-weight:680}.oauth-consent-decision-copy{margin:22px 0 0;color:#667085;font-size:11px;line-height:1.75}.oauth-consent-decision-copy strong{color:#344054;font-weight:650}.oauth-consent-protection-list{display:grid;gap:10px;margin-top:22px;padding:15px 0;border-top:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec}.oauth-consent-protection-list span{display:flex;align-items:center;gap:8px;color:#475467;font-size:10px;line-height:1.5}.oauth-consent-protection-list svg{flex:0 0 auto;color:#12b76a}.oauth-consent-return{display:grid;gap:6px;margin-top:19px;padding:12px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.oauth-consent-return>span{color:#98a2b3;font-size:9px;font-weight:600}.oauth-consent-return>strong{display:flex;overflow:hidden;align-items:center;gap:7px;color:#344054;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.oauth-consent-return svg{flex:0 0 auto;color:#667085}.oauth-consent-actions{display:grid;gap:9px;margin-top:auto;padding-top:26px}body.auth-surface .oauth-consent-actions .btn,body.auth-surface .oauth-consent-error-action.btn{display:inline-flex;width:100%;height:46px;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-size:11px;font-weight:650;text-decoration:none;border-radius:10px;box-shadow:none}body.auth-surface .oauth-consent-actions .oauth-consent-allow{color:#fff;border:1px solid #2563eb;background:#2563eb;box-shadow:0 5px 12px #2563eb2e}body.auth-surface .oauth-consent-actions .oauth-consent-allow:hover:not(:disabled){border-color:#1d4ed8;background:#1d4ed8;box-shadow:0 7px 16px #2563eb38}body.auth-surface .oauth-consent-actions .oauth-consent-deny{color:#475467;border:1px solid #d0d5dd;background:#fff}body.auth-surface .oauth-consent-actions .oauth-consent-deny:hover:not(:disabled){color:#344054;border-color:#98a2b3;background:#f9fafb}.oauth-consent-button-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:oauth-consent-spin .7s linear infinite}.oauth-consent-legal{margin:14px 2px 0;color:#98a2b3;font-size:9px;line-height:1.65;text-align:center}.oauth-consent-legal a{margin:0 2px;color:#667085!important;font-weight:600;text-decoration:none}.oauth-consent-legal a:hover{color:#175cd3!important}.oauth-consent-footer{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;color:#98a2b3;font-size:10px}.oauth-consent-footer svg{color:#667085}.oauth-consent-card.oauth-consent-loading{display:flex;width:min(520px,100%);min-height:150px;align-items:center;justify-content:center;gap:16px;margin:65px auto 0;padding:32px}.oauth-consent-loader{width:28px;height:28px;flex:0 0 auto;border:3px solid #d1e0ff;border-top-color:#2563eb;border-radius:50%;animation:oauth-consent-spin .8s linear infinite}.oauth-consent-loading strong{color:#101828;font-size:13px}.oauth-consent-loading p{margin:5px 0 0;color:#667085;font-size:10px}.oauth-consent-error-card{width:min(470px,100%);margin:56px auto 0;padding:38px;text-align:center;border:1px solid #e4e7ec;border-radius:20px;background:#fff;box-shadow:0 18px 42px #10182812}.oauth-consent-error-icon{display:grid;width:48px;height:48px;margin:0 auto 17px;place-items:center;color:#b42318;font-size:20px;font-weight:700;border:1px solid #fecdca;border-radius:14px;background:#fef3f2}.oauth-consent-error-card h1{margin:0;color:#101828;font-size:20px}.oauth-consent-error-card p{margin:10px 0 20px;color:#667085;font-size:11px;line-height:1.7}body.auth-surface .oauth-consent-error-action.btn{width:auto;min-width:150px;color:#fff;border-color:#2563eb;background:#2563eb}@keyframes oauth-consent-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes oauth-consent-spin{to{transform:rotate(360deg)}}@media (max-width: 820px){.oauth-consent-stage{width:min(100%,650px);padding-top:32px}.oauth-consent-card{grid-template-columns:1fr}.oauth-consent-decision{padding:28px 32px 30px;border-top:1px solid #e4e7ec;border-left:0}.oauth-consent-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-top:0}.oauth-consent-legal{grid-column:1 / -1}}@media (max-width: 560px){.oauth-consent-topbar{min-height:64px;padding:0 16px}.oauth-consent-brand small{display:none}.oauth-consent-secure-badge{min-height:29px;padding:0 9px;font-size:10px}.oauth-consent-stage{padding:18px 12px 24px}.oauth-consent-card{border-radius:17px;box-shadow:0 12px 30px #10182812}.oauth-consent-main{padding:25px 19px 27px}.oauth-consent-app{align-items:flex-start;gap:14px}.oauth-consent-app-icon{width:58px;height:58px;font-size:20px;border-radius:16px}.oauth-consent-app-copy h1 strong{font-size:18px}.oauth-consent-app-copy h1 span{font-size:14px}.oauth-consent-app-copy>p{display:none}.oauth-consent-account{grid-template-columns:38px minmax(0,1fr);margin-top:23px}.oauth-consent-account>img{width:38px;height:38px}.oauth-consent-account>a{display:none}.oauth-consent-permissions{margin-top:24px}.oauth-consent-permissions li{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px}.oauth-consent-permission-icon{width:36px;height:36px}.oauth-consent-read-tag{display:none}.oauth-consent-decision{padding:25px 19px 24px}.oauth-consent-actions{grid-template-columns:1fr}.oauth-consent-legal{grid-column:auto}.oauth-consent-error-card,.oauth-consent-card.oauth-consent-loading{margin-top:24px}}body.app-ui .ticket-page{min-width:0}body.app-ui .ticket-page-head{align-items:flex-end;margin-bottom:15px}body.app-ui .ticket-page-kicker{display:block;margin-bottom:5px;color:#175cd3;font-size:9px;font-weight:750;letter-spacing:.13em}body.app-ui .ticket-page-head h1{margin-bottom:4px}body.app-ui .ticket-total-badge{display:inline-flex;min-height:34px;align-items:center;padding:0 12px;color:#475467;font-size:10.5px;font-weight:650;border:1px solid #e4e7ec;border-radius:8px;background:#fff}body.app-ui .ticket-workspace{display:grid;height:min(720px,calc(100vh - 210px));min-height:600px;grid-template-columns:260px minmax(390px,1fr) 250px;overflow:hidden;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 8px 28px #1018280f}body.app-ui .ticket-thread-panel,body.app-ui .ticket-contact-panel,body.app-ui .ticket-chat-panel{min-width:0;min-height:0}body.app-ui .ticket-thread-panel{display:flex;flex-direction:column;border-right:1px solid #eaecf0;background:#fbfcfe}body.app-ui .ticket-thread-head{display:flex;min-height:67px;align-items:center;justify-content:space-between;gap:10px;padding:0 15px;border-bottom:1px solid #eaecf0;background:#fff}body.app-ui .ticket-thread-head b,body.app-ui .ticket-thread-head span{display:block}body.app-ui .ticket-thread-head b{color:#101828;font-size:12.5px;font-weight:700}body.app-ui .ticket-thread-head span{margin-top:2px;color:#98a2b3;font-size:9px}body.app-ui .ticket-thread-head>button{display:grid;width:31px;height:31px;place-items:center;color:#475467;font-size:17px;cursor:pointer;border:1px solid #e4e7ec;border-radius:8px;background:#fff;transition:color .16s ease,border-color .16s ease,transform .16s ease}body.app-ui .ticket-thread-head>button:hover{color:#175cd3;border-color:#b2ccff;transform:rotate(18deg)}body.app-ui .ticket-thread-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:8px;border-bottom:1px solid #eaecf0;background:#fff}body.app-ui .ticket-thread-filters button{min-height:31px;padding:0 7px;color:#667085;font-size:9.5px;font-weight:650;cursor:pointer;border:0;border-radius:7px;background:transparent}body.app-ui .ticket-thread-filters button:hover{background:#f2f4f7}body.app-ui .ticket-thread-filters button.active{color:#175cd3;background:#eff4ff}body.app-ui .ticket-thread-list{flex:1;min-height:0;padding:7px;overflow:auto}body.app-ui .ticket-thread-list .empty-state{min-height:180px;padding:20px 10px;border:0;background:transparent;box-shadow:none}body.app-ui .ticket-thread-item{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;margin-bottom:3px;text-align:left;cursor:pointer;border:1px solid transparent;border-radius:10px;background:transparent;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}body.app-ui .ticket-thread-item:hover{background:#fff}body.app-ui .ticket-thread-item.active{border-color:#d1e0ff;background:#fff;box-shadow:0 5px 15px #1018280d}body.app-ui .ticket-thread-symbol{display:grid;width:38px;height:38px;place-items:center;color:#175cd3;border-radius:10px;background:#eff4ff}body.app-ui .ticket-thread-symbol.closed{color:#667085;background:#f2f4f7}body.app-ui .ticket-thread-user-avatar{position:relative;width:38px;height:38px}body.app-ui .ticket-thread-user-avatar img{display:block;width:38px;height:38px;object-fit:cover;border:0;border-radius:10px;background:#f2f4f7}body.app-ui .ticket-thread-user-avatar i{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#12b76a}body.app-ui .ticket-thread-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:7px}body.app-ui .ticket-thread-row b{min-width:0;overflow:hidden;color:#344054;font-size:10.5px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-thread-row time{flex:0 0 auto;max-width:72px;overflow:hidden;color:#98a2b3;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-thread-item small{display:block;margin-top:4px;overflow:hidden;color:#98a2b3;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-chat-panel{display:flex;flex-direction:column;background:#f8fafc}body.app-ui .ticket-chat-head{display:flex;min-height:67px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:14px;padding:0 17px;border-bottom:1px solid #eaecf0;background:#fffffff5}body.app-ui .ticket-chat-head h2{max-width:420px;margin:2px 0 3px;overflow:hidden;color:#101828;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-chat-head>div:first-child{flex:1 1 auto;min-width:0}body.app-ui .ticket-chat-context{display:block;margin:0;color:#98a2b3;font-size:9px;font-weight:650}body.app-ui .ticket-mobile-back{display:none;padding:0;margin:0 0 4px;color:#175cd3;font-size:11px;font-weight:650;cursor:pointer;border:0;background:transparent}body.app-ui .ticket-live-dot{width:6px;height:6px;border-radius:50%;background:#f79009}body.app-ui .ticket-live-dot.live{background:#12b76a;box-shadow:0 0 0 3px #12b76a1a}body.app-ui .ticket-live-dot.reconnecting{animation:ticket-live-pulse 1s ease-in-out infinite}@keyframes ticket-live-pulse{50%{opacity:.35}}body.app-ui .ticket-chat-head-actions{display:flex;flex:0 0 auto;align-items:center;gap:7px}body.app-ui .ticket-close-action{min-height:29px;padding:0 9px;color:#b42318;font-size:9px;font-weight:650;cursor:pointer;border:1px solid #fecdca;border-radius:7px;background:#fff}body.app-ui .ticket-chat-empty{display:grid;flex:1;place-content:center;justify-items:center;padding:30px;text-align:center}body.app-ui .ticket-chat-empty>span,body.app-ui .ticket-contact-placeholder>svg{color:#175cd3}body.app-ui .ticket-chat-empty>span{display:grid;width:62px;height:62px;margin-bottom:12px;place-items:center;border-radius:18px;background:#eff4ff}body.app-ui .ticket-chat-empty h2{margin:0 0 5px;color:#344054;font-size:14px}body.app-ui .ticket-chat-empty p{margin:0;color:#98a2b3;font-size:10px}body.app-ui .ticket-chat-messages{flex:1;min-height:0;padding:18px 18px 14px;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}body.app-ui .ticket-message-group+.ticket-message-group{margin-top:12px}body.app-ui .ticket-message-day{display:flex;align-items:center;justify-content:center;margin:4px 0 15px}body.app-ui .ticket-message-day span{padding:4px 8px;color:#98a2b3;font-size:8px;border-radius:999px;background:#eef1f5}body.app-ui .ticket-chat-message{display:flex;align-items:flex-end;gap:8px}body.app-ui .ticket-chat-message.is-own{justify-content:flex-end}body.app-ui .ticket-chat-avatar{width:30px;height:30px;flex:0 0 30px;object-fit:cover;border:0;border-radius:9px;background:#eaecf0}body.app-ui .ticket-chat-message-content{min-width:0;max-width:min(72%,520px)}body.app-ui .ticket-chat-message-meta{display:flex;align-items:center;gap:6px;margin:0 3px 4px}body.app-ui .ticket-chat-message.is-own .ticket-chat-message-meta{justify-content:flex-end}body.app-ui .ticket-chat-message-meta b,body.app-ui .ticket-chat-message-meta time{color:#98a2b3;font-size:8px;font-weight:550}body.app-ui .ticket-chat-message-meta b{color:#667085;font-weight:650}body.app-ui .ticket-chat-bubble{overflow:hidden;color:#344054;border:1px solid #e4e7ec;border-radius:4px 13px 13px;background:#fff;box-shadow:0 3px 9px #10182809}body.app-ui .ticket-chat-message.is-own .ticket-chat-bubble{color:#1849a9;border-color:#b2ccff;border-radius:13px 4px 13px 13px;background:#eff4ff}body.app-ui .ticket-chat-text{padding:9px 11px;font-size:10.5px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}body.app-ui .ticket-chat-image{display:block;width:100%;padding:4px;text-align:left;cursor:zoom-in;border:0;background:#ffffff8c}body.app-ui .ticket-chat-image img{display:block;width:auto;max-width:min(290px,100%);max-height:250px;object-fit:contain;border:0;border-radius:8px}body.app-ui .ticket-image-viewer{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;cursor:zoom-out;background:#0f172ad1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:ticket-image-viewer-in .16s ease-out}body.app-ui .ticket-image-viewer-dialog{position:relative;display:grid;max-width:94vw;max-height:90vh;place-items:center;cursor:default}body.app-ui .ticket-image-viewer-dialog>img{display:block;width:auto;height:auto;max-width:94vw;max-height:90vh;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 24px 70px #00000059}body.app-ui .ticket-image-viewer-close{position:absolute;z-index:1;top:-15px;right:-15px;display:grid;width:36px;height:36px;place-items:center;padding:0;color:#344054;font-size:24px;line-height:1;cursor:pointer;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#fff;box-shadow:0 8px 24px #0003}@keyframes ticket-image-viewer-in{0%{opacity:0}to{opacity:1}}body.app-ui .ticket-chat-closed{width:min(360px,90%);padding:10px 13px;margin:18px auto 2px;text-align:center;color:#667085;border:1px solid #e4e7ec;border-radius:10px;background:#fffc}body.app-ui .ticket-chat-closed span{font-size:9px;font-weight:700}body.app-ui .ticket-chat-closed p{margin:3px 0 0;font-size:8.5px;line-height:1.5}body.app-ui .ticket-composer{position:relative;flex:0 0 auto;padding:10px 12px 11px;border-top:1px solid #e4e7ec;background:#fff}body.app-ui .ticket-composer>textarea{display:block;width:100%;min-height:67px;max-height:150px;padding:9px 10px;resize:vertical;color:#344054;font-size:10.5px;line-height:1.55;border:0;outline:0;background:transparent;box-shadow:none}body.app-ui .ticket-composer>textarea:focus{border:0;box-shadow:none}body.app-ui .ticket-composer>textarea::placeholder{color:#98a2b3}body.app-ui .ticket-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid #f2f4f7}body.app-ui .ticket-composer-tools{display:flex;min-width:0;align-items:center;gap:4px}body.app-ui .ticket-composer-tools>button,body.app-ui .ticket-emoji-wrap>button{display:grid;width:30px;height:30px;place-items:center;color:#667085;cursor:pointer;border:0;border-radius:7px;background:transparent}body.app-ui .ticket-composer-tools>button:hover,body.app-ui .ticket-emoji-wrap>button:hover,body.app-ui .ticket-emoji-wrap>button.active{color:#175cd3;background:#eff4ff}body.app-ui .ticket-composer-tools button:disabled{cursor:not-allowed;opacity:.45}body.app-ui .ticket-composer-tools svg,body.app-ui .ticket-send-button svg,body.app-ui .ticket-file-picker-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body.app-ui .ticket-composer-tools>input[type=file]{display:none}body.app-ui .ticket-composer-tools>span{margin-left:4px;color:#98a2b3;font-size:8px}body.app-ui .ticket-emoji-wrap{position:relative}body.app-ui .ticket-emoji-picker{position:absolute;z-index:12;bottom:39px;left:0;width:270px;padding:9px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;box-shadow:0 14px 36px #10182829}body.app-ui .ticket-emoji-picker-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 8px}body.app-ui .ticket-emoji-picker-head b{color:#344054;font-size:9.5px}body.app-ui .ticket-emoji-picker-head span{color:#98a2b3;font-size:7.5px}body.app-ui .ticket-emoji-picker>div:last-child{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}body.app-ui .ticket-emoji-picker>div:last-child button{display:grid;aspect-ratio:1;place-items:center;padding:0;font-size:18px;cursor:pointer;border:0;border-radius:6px;background:transparent}body.app-ui .ticket-emoji-picker>div:last-child button:hover{background:#f2f4f7}body.app-ui .ticket-send-button{display:inline-flex;min-width:76px;height:32px;align-items:center;justify-content:center;gap:7px;padding:0 11px;color:#fff;font-size:9.5px;font-weight:680;cursor:pointer;border:1px solid #1570ef;border-radius:8px;background:#1570ef;box-shadow:0 3px 8px #1570ef2e}body.app-ui .ticket-send-button svg{width:14px;height:14px}body.app-ui .ticket-send-button:disabled{cursor:not-allowed;color:#98a2b3;border-color:#e4e7ec;background:#f2f4f7;box-shadow:none}body.app-ui .ticket-composer-file{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px;margin-bottom:6px;border:1px solid #d1e0ff;border-radius:9px;background:#f5f8ff}body.app-ui .ticket-composer-file img{width:42px;height:42px;object-fit:cover;border-radius:7px}body.app-ui .ticket-composer-file b,body.app-ui .ticket-composer-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-composer-file b{color:#344054;font-size:9px}body.app-ui .ticket-composer-file small{margin-top:2px;color:#98a2b3;font-size:7.5px}body.app-ui .ticket-composer-file button,body.app-ui .ticket-file-preview button{color:#b42318;font-size:8px;font-weight:650;cursor:pointer;border:0;background:transparent}body.app-ui .ticket-delivery-note{display:flex;min-height:28px;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;padding:5px 12px;color:#027a48;font-size:8.5px;border-top:1px solid #d1fadf;background:#ecfdf3}body.app-ui .ticket-delivery-note i{width:5px;height:5px;border-radius:50%;background:#12b76a}body.app-ui .ticket-contact-panel{padding:15px;overflow-y:auto;border-left:1px solid #eaecf0;background:#fff}body.app-ui .ticket-contact-profile{padding:7px 3px 15px;text-align:center;border-bottom:1px solid #eaecf0}body.app-ui .ticket-contact-avatar{position:relative;display:block;width:62px;height:62px;margin:0 auto 9px}body.app-ui .ticket-contact-avatar img{display:block;width:62px;height:62px;object-fit:cover;border:0;border-radius:17px;background:#f2f4f7}body.app-ui .ticket-contact-avatar i{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#12b76a}body.app-ui .ticket-contact-profile h3{margin:0;overflow:hidden;color:#101828;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-contact-profile p{margin:3px 0 8px;overflow:hidden;color:#98a2b3;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-contact-online{display:inline-flex;min-height:23px;align-items:center;gap:5px;padding:0 7px;color:#667085;font-size:8px;font-weight:650;border-radius:6px;background:#f2f4f7}body.app-ui .ticket-contact-online i{width:5px;height:5px;border-radius:50%;background:#98a2b3}body.app-ui .ticket-contact-online.active,body.app-ui .user-ticket-workspace .ticket-contact-online{color:#027a48;background:#ecfdf3}body.app-ui .ticket-contact-online.active i,body.app-ui .user-ticket-workspace .ticket-contact-online i{background:#12b76a}body.app-ui .ticket-contact-section{padding:15px 1px}body.app-ui .ticket-contact-section>b{display:block;margin-bottom:9px;color:#344054;font-size:9.5px;font-weight:700}body.app-ui .ticket-contact-section dl{display:grid;gap:9px;margin:0}body.app-ui .ticket-contact-section dl>div{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:start;gap:7px}body.app-ui .ticket-contact-section dt,body.app-ui .ticket-contact-section dd{margin:0;font-size:8.5px;line-height:1.45}body.app-ui .ticket-contact-section dt{color:#98a2b3}body.app-ui .ticket-contact-section dd{overflow:hidden;color:#475467;font-weight:620;text-align:right;text-overflow:ellipsis;overflow-wrap:anywhere}body.app-ui .ticket-mail-policy{display:grid;grid-template-columns:29px minmax(0,1fr);gap:8px;padding:10px;color:#175cd3;border:1px solid #d1e0ff;border-radius:10px;background:#f5f8ff}body.app-ui .ticket-mail-policy.is-online{color:#027a48;border-color:#abefc6;background:#ecfdf3}body.app-ui .ticket-mail-policy>span{display:grid;width:29px;height:29px;place-items:center;font-size:13px;border-radius:8px;background:#ffffffbf}body.app-ui .ticket-mail-policy b,body.app-ui .ticket-mail-policy p{display:block;margin:0}body.app-ui .ticket-mail-policy b{font-size:8.5px;font-weight:700}body.app-ui .ticket-mail-policy p{margin-top:3px;color:#667085;font-size:7.5px;line-height:1.55}body.app-ui .ticket-contact-placeholder{display:grid;min-height:100%;place-content:center;justify-items:center;padding:25px 10px;text-align:center}body.app-ui .ticket-contact-placeholder b{margin:9px 0 4px;color:#475467;font-size:10px}body.app-ui .ticket-contact-placeholder p{margin:0;color:#98a2b3;font-size:8px;line-height:1.55}body.app-ui .ticket-create-form{display:grid;gap:2px}body.app-ui .ticket-create-intro{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:10px;margin-bottom:10px;border:1px solid #d1e0ff;border-radius:10px;background:#f5f8ff}body.app-ui .ticket-create-intro>span{display:grid;width:40px;height:40px;place-items:center;color:#175cd3;border-radius:9px;background:#fff}body.app-ui .ticket-create-intro b,body.app-ui .ticket-create-intro p{display:block;margin:0}body.app-ui .ticket-create-intro b{color:#344054;font-size:10px}body.app-ui .ticket-create-intro p{margin-top:2px;color:#667085;font-size:8.5px}body.app-ui .ticket-file-picker{margin:2px 0 13px}body.app-ui .ticket-file-picker>input[type=file]{display:none}body.app-ui .ticket-file-picker-button{display:flex;width:100%;min-height:60px;align-items:center;gap:10px;padding:9px 11px;text-align:left;cursor:pointer;border:1px dashed #b2ccff;border-radius:10px;background:#f9fbff}body.app-ui .ticket-file-picker-button:hover{border-color:#528bff;background:#f5f8ff}body.app-ui .ticket-file-picker-button>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:#175cd3;border-radius:8px;background:#eff4ff}body.app-ui .ticket-file-picker-button b,body.app-ui .ticket-file-picker-button small{display:block}body.app-ui .ticket-file-picker-button b{color:#344054;font-size:9.5px}body.app-ui .ticket-file-picker-button small{margin-top:3px;color:#98a2b3;font-size:8px}body.app-ui .ticket-file-preview{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;margin-top:7px;border:1px solid #e4e7ec;border-radius:9px;background:#fff}body.app-ui .ticket-file-preview img{width:46px;height:46px;object-fit:cover;border-radius:7px}body.app-ui .ticket-file-preview b,body.app-ui .ticket-file-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.app-ui .ticket-file-preview b{color:#344054;font-size:9px}body.app-ui .ticket-file-preview small{margin-top:2px;color:#98a2b3;font-size:8px}body.app-ui .ticket-close-form{text-align:center}body.app-ui .ticket-close-dialog-icon{display:grid;width:49px;height:49px;margin:1px auto 10px;place-items:center;color:#b42318;font-size:19px;border-radius:14px;background:#fef3f2}body.app-ui .ticket-close-form h3{margin:0 0 5px;color:#101828;font-size:14px}body.app-ui .ticket-close-form>p{margin:0 0 14px;color:#667085;font-size:9px}body.app-ui .ticket-close-form .field{text-align:left}body.app-ui .ticket-close-form .inline-actions{justify-content:center}@media (max-width: 1180px){body.app-ui .ticket-workspace{grid-template-columns:230px minmax(360px,1fr) 220px}}@media (max-width: 940px){body.app-ui .ticket-workspace{grid-template-columns:230px minmax(360px,1fr)}body.app-ui .ticket-contact-panel{display:none}}@media (max-width: 680px){body.app-ui .ticket-page-head{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:10px}body.app-ui .ticket-page-head .btn,body.app-ui .ticket-total-badge{width:100%}body.app-ui .ticket-total-badge{justify-content:center}body.app-ui .ticket-workspace{height:min(660px,calc(100dvh - 190px));min-height:480px;grid-template-columns:1fr;overflow:hidden;border-radius:14px}body.app-ui .ticket-thread-panel{display:flex;height:100%;max-height:none;border-right:0}body.app-ui .ticket-chat-panel{display:none;height:100%;min-height:0;border-top:0}body.app-ui .ticket-workspace.mobile-chat-open .ticket-thread-panel{display:none}body.app-ui .ticket-workspace.mobile-chat-open .ticket-chat-panel{display:flex}body.app-ui .ticket-page.mobile-chat-view .ticket-page-head{display:none}body.app-ui .ticket-page.mobile-chat-view .ticket-workspace{height:calc(100dvh - 92px);min-height:520px}body.app-ui .ticket-thread-head{min-height:64px;padding:0 13px}body.app-ui .ticket-thread-head b{font-size:15px}body.app-ui .ticket-thread-head span{font-size:11px}body.app-ui .ticket-thread-head>button{width:36px;height:36px;font-size:20px}body.app-ui .ticket-thread-filters{gap:5px;padding:8px}body.app-ui .ticket-thread-filters button{min-height:38px;font-size:12px}body.app-ui .ticket-thread-list{padding:8px}body.app-ui .ticket-thread-item{grid-template-columns:44px minmax(0,1fr);gap:11px;min-height:65px;padding:10px;margin-bottom:4px}body.app-ui .ticket-thread-symbol,body.app-ui .ticket-thread-user-avatar,body.app-ui .ticket-thread-user-avatar img{width:44px;height:44px}body.app-ui .ticket-thread-row b{font-size:13px}body.app-ui .ticket-thread-row time{font-size:10px}body.app-ui .ticket-thread-item small{margin-top:5px;font-size:11px}body.app-ui .ticket-chat-head{min-height:76px;padding:9px 11px}body.app-ui .ticket-mobile-back{display:inline-flex;min-height:24px;align-items:center;font-size:12px}body.app-ui .ticket-chat-context{font-size:10px}body.app-ui .ticket-chat-head h2{max-width:100%;margin-top:3px;font-size:15px}body.app-ui .ticket-chat-head-actions{flex:0 0 auto}body.app-ui .ticket-chat-head-actions .status-chip{display:none}body.app-ui .ticket-close-action{min-height:34px;padding:0 9px;font-size:11px}body.app-ui .ticket-chat-message-content{max-width:82%}body.app-ui .ticket-chat-messages{padding:14px 10px 10px}body.app-ui .ticket-chat-avatar{width:28px;height:28px;flex-basis:28px;border-radius:8px}body.app-ui .ticket-chat-message-meta b,body.app-ui .ticket-chat-message-meta time,body.app-ui .ticket-message-day span{font-size:10px}body.app-ui .ticket-chat-text{padding:9px 11px;font-size:13px;line-height:1.55}body.app-ui .ticket-chat-image img{max-width:min(250px,100%);max-height:220px}body.app-ui .ticket-composer{padding:8px 9px calc(8px + env(safe-area-inset-bottom))}body.app-ui .ticket-composer>textarea{min-height:56px;max-height:110px;padding:8px;font-size:14px}body.app-ui .ticket-composer-tools>button,body.app-ui .ticket-emoji-wrap>button{width:36px;height:36px}body.app-ui .ticket-composer-tools>span{font-size:10px}body.app-ui .ticket-send-button{min-width:72px;height:36px;font-size:12px}body.app-ui .ticket-delivery-note{font-size:10.5px}body.app-ui .ticket-emoji-picker{position:fixed;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));left:10px;width:auto;max-height:250px;overflow-y:auto}body.app-ui .ticket-image-viewer{padding:16px}body.app-ui .ticket-image-viewer-dialog,body.app-ui .ticket-image-viewer-dialog>img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px)}body.app-ui .ticket-image-viewer-close{top:-12px;right:-8px}}body.not-found-surface{min-width:0;min-height:100vh;margin:0;background:radial-gradient(circle at 16% 16%,rgba(37,99,235,.1),transparent 28%),radial-gradient(circle at 84% 82%,rgba(14,165,233,.08),transparent 30%),#f7f9fc;color:#13213a}.not-found-page{min-height:100vh;display:grid;place-items:center;padding:28px}.not-found-page.is-embedded{min-height:min(680px,calc(100vh - 150px));padding:16px 0}.not-found-card{width:min(520px,100%);padding:52px 44px 44px;border:1px solid #e3e9f2;border-radius:28px;background:#fffffff0;box-shadow:0 24px 70px #1e365c1c;text-align:center}.not-found-brand{display:inline-flex;align-items:center;gap:9px;color:#53627a;font-size:14px;font-weight:700;letter-spacing:.08em}.not-found-brand img{width:28px;height:28px;object-fit:cover;border-radius:9px}.not-found-code{display:block;margin:24px 0 2px;color:#2563eb;font-size:clamp(72px,18vw,118px);font-weight:850;line-height:.95;letter-spacing:-.07em}.not-found-card h1{margin:26px 0 10px;font-size:26px;line-height:1.25}.not-found-card p{margin:0 auto;max-width:390px;color:#718096;font-size:15px;line-height:1.8}.not-found-action{display:inline-flex;justify-content:center;align-items:center;min-width:148px;min-height:44px;margin-top:28px;padding:0 22px;border-radius:12px;background:#2563eb;color:#fff;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 10px 24px #2563eb3d;transition:transform .18s ease,background .18s ease}.not-found-action:hover{background:#1d4ed8;color:#fff;transform:translateY(-1px)}@media (max-width: 560px){.not-found-page{padding:18px}.not-found-card{padding:42px 22px 36px;border-radius:22px}}body.auth-surface .signin-brand img,body.auth-surface .signup-brand img,body.auth-surface .signin-mobile-brand img,body.auth-surface .signup-mobile-brand img,body.auth-surface .auth-brand-lockup img,body.auth-surface .oauth-consent-brand img,body.auth-surface .recovery-brand img{border:0;background:transparent;box-shadow:none}body.app-ui .app-brand-mark{overflow:visible;border:0;background:transparent;box-shadow:none}body.app-ui .app-brand-mark img{width:34px;height:34px;border:0;background:transparent;box-shadow:none}body.app-ui .app-user-card>img,body.app-ui .account-hero-profile .account-avatar,body.app-ui .account-avatar,body.app-ui .admin-user-avatar,body.app-ui .user-detail-avatar,body.app-ui .dev-app-icon,body.app-ui .app-item .icon,body.app-ui .client-card .cicon,body.app-ui .grant-app-icon img,body.app-ui .profile-avatar-ring img,body.app-ui .oauth-icon-picker-preview{border:0;background:transparent;box-shadow:none}body.account-app .profile-avatar-ring{width:88px;height:88px;border:0;background:transparent;box-shadow:none}body.account-app .profile-avatar-ring img{width:88px;height:88px}body.auth-surface .oauth-consent-app-icon{border:0;box-shadow:none}body.auth-surface .oauth-consent-account>img{border:0;box-shadow:none}body.auth-surface .signup-control>svg{display:none}body.auth-surface .signin-control>svg,body.auth-surface .recovery-control>svg{display:none}body.auth-surface .signin-control input,body.auth-surface .signup-control input{padding-left:15px;padding-right:44px}body.auth-surface .signin-control input:not([type=password]),body.auth-surface .recovery-control>input{padding-left:15px}body.auth-surface .recovery-control>input{padding-right:15px}body.auth-surface .recovery-control.has-action>input{padding-right:44px}body.auth-surface .signin-provider,body.auth-surface .signup-provider{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none}body.auth-surface .signup-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.auth-surface .signup-provider.wechat:hover{color:#15844a;border-color:#bde8cf;background:#f2fcf6}@media (max-width: 560px){body.auth-surface .signup-provider-grid{grid-template-columns:1fr}}body.auth-surface,body.account-app{-webkit-user-select:none;user-select:none}body.auth-surface input,body.auth-surface textarea,body.auth-surface [contenteditable=true],body.auth-surface [data-allow-copy=true],body.auth-surface [data-allow-copy=true] *,body.auth-surface .credential-code,body.account-app input,body.account-app textarea,body.account-app [contenteditable=true],body.account-app [data-allow-copy=true],body.account-app [data-allow-copy=true] *,body.account-app .credential-code,body.account-app .code-box,body.account-app .readonly-box,body.account-app .settings-readonly-item b,body.account-app .security-login-item,body.account-app .security-login-item *{-webkit-user-select:text;user-select:text}body.auth-surface img,body.account-app img{-webkit-user-drag:none}body.recovery-surface{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 12% 15%,rgba(37,99,235,.08),transparent 25%),radial-gradient(circle at 88% 84%,rgba(14,165,233,.06),transparent 27%),#f4f7fb}.recovery-page{display:grid;min-height:100vh;place-items:center;padding:30px}.recovery-shell{display:grid;width:min(980px,100%);min-height:640px;overflow:hidden;grid-template-columns:350px minmax(0,1fr);border:1px solid #e1e6ef;border-radius:22px;background:#fff;box-shadow:0 24px 58px #10182817,0 2px 5px #10182808;animation:recovery-enter .3s ease both}.recovery-visual{position:relative;overflow:hidden;padding:35px 32px;border-right:1px solid #e4e7ec;background:linear-gradient(180deg,rgba(255,255,255,.34),transparent 46%),#edf4ff}.recovery-visual:before{position:absolute;top:-110px;left:-100px;width:290px;height:290px;content:"";border:1px solid rgba(132,173,255,.3);border-radius:50%}.recovery-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:11px;color:#101828!important;text-decoration:none}.recovery-brand img{width:40px;height:40px;object-fit:cover;border-radius:10px}.recovery-brand>span{display:grid;gap:1px}.recovery-brand strong{font-size:14px;font-weight:700}.recovery-brand small{color:#7c8da8;font-size:8px;font-weight:700;letter-spacing:.13em}.recovery-visual-copy{position:relative;z-index:2;margin-top:54px}.recovery-visual-badge{display:inline-flex;min-height:27px;align-items:center;gap:7px;padding:0 10px;color:#175cd3;font-size:9px;font-weight:700;border:1px solid #b2ccff;border-radius:999px;background:#ffffffb8}.recovery-visual-badge svg{width:14px;height:14px}.recovery-visual-copy h1{margin:18px 0 0;color:#101828;font-size:31px;font-weight:700;line-height:1.28;letter-spacing:-.04em}.recovery-visual-copy h1 em{color:#2563eb;font-style:normal}.recovery-visual-copy p{max-width:270px;margin:13px 0 0;color:#667085;font-size:11px;line-height:1.75}.recovery-steps{position:relative;z-index:2;display:grid;gap:7px;width:250px;margin:28px 0 0;padding:0;list-style:none}.recovery-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;color:#667085;border:1px solid transparent;border-radius:10px}.recovery-steps li.active{color:#175cd3;border-color:#b2ccff;background:#fffc;box-shadow:0 3px 8px #2563eb0f}.recovery-steps li.done{color:#067647}.recovery-steps i{display:grid;width:30px;height:30px;place-items:center;color:#667085;font-size:9px;font-style:normal;font-weight:700;border:1px solid #d0d5dd;border-radius:8px;background:#ffffffbd}.recovery-steps li.active i{color:#fff;border-color:#2563eb;background:#2563eb}.recovery-steps li.done i{color:#067647;border-color:#abefc6;background:#ecfdf3}.recovery-steps b,.recovery-steps small{display:block}.recovery-steps b{color:currentColor;font-size:10px;font-weight:650}.recovery-steps small{margin-top:2px;color:#98a2b3;font-size:8px}.recovery-character{position:absolute;z-index:1;right:-23px;bottom:-31px;width:172px;height:auto;pointer-events:none;filter:drop-shadow(0 12px 16px rgba(52,64,84,.14))}.recovery-main{display:flex;min-width:0;flex-direction:column;padding:30px 48px 25px;background:#fff}.recovery-topbar{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:16px}.recovery-topbar>span{color:#98a2b3;font-size:9px;font-weight:700;letter-spacing:.08em}.recovery-topbar>a{color:#475467;font-size:10px;font-weight:600;text-decoration:none}.recovery-topbar>a:hover{color:#175cd3}.recovery-heading{margin-top:34px}.recovery-heading-icon{display:grid;width:48px;height:48px;margin-bottom:18px;place-items:center;color:#175cd3;border:1px solid #b2ccff;border-radius:14px;background:#eff4ff}.recovery-heading-icon svg{width:22px;height:22px}.recovery-heading>p{margin:0 0 6px;color:#2563eb;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.recovery-heading>h1{margin:0;color:#101828;font-size:27px;font-weight:700;line-height:1.3;text-align:left;letter-spacing:-.035em}.recovery-heading>span:last-child{display:block;max-width:480px;margin-top:9px;color:#667085;font-size:11px;line-height:1.75}.recovery-content{margin-top:28px}.recovery-form,.recovery-field{display:grid}.recovery-form{gap:17px}.recovery-field{gap:8px}.recovery-label{display:flex;align-items:center;justify-content:space-between;gap:14px}.recovery-label>span{color:#344054;font-size:11px;font-weight:650}.recovery-label>small{color:#98a2b3;font-size:9px}.recovery-control{position:relative}.recovery-control>svg{position:absolute;z-index:1;top:50%;left:15px;width:18px;height:18px;color:#98a2b3;pointer-events:none;transform:translateY(-50%)}body.auth-surface .recovery-control>input{width:100%;height:48px;box-sizing:border-box;padding:0 44px;color:#101828;font-size:12px;border:1px solid #d0d5dd;border-radius:10px;outline:none;background:#fff;box-shadow:0 1px 2px #10182808}body.auth-surface .recovery-control>input::placeholder{color:#98a2b3}body.auth-surface .recovery-control>input:focus{border-color:#84adff;box-shadow:0 0 0 3px #2563eb1a}.recovery-control:focus-within>svg{color:#2563eb}.recovery-password-toggle{position:absolute;z-index:2;top:50%;right:9px;display:grid;width:32px;height:32px;padding:0;place-items:center;color:#667085;border:0;border-radius:7px;background:transparent;cursor:pointer;transform:translateY(-50%)}.recovery-password-toggle:hover{color:#175cd3;background:#eff4ff}.recovery-password-toggle svg{width:18px;height:18px}.recovery-security-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;color:#475467;border:1px solid #d1e0ff;border-radius:10px;background:#f5f8ff}.recovery-security-note>svg{width:18px;height:18px;flex:0 0 auto;color:#2563eb}.recovery-security-note b,.recovery-security-note small{display:block}.recovery-security-note b{font-size:10px;font-weight:650}.recovery-security-note small{margin-top:3px;color:#667085;font-size:9px;line-height:1.55}body.auth-surface .recovery-submit.btn,body.auth-surface .recovery-primary.btn,body.auth-surface .recovery-secondary.btn{display:inline-flex;width:100%;height:48px;align-items:center;justify-content:center;gap:9px;margin:0;color:#fff;font-size:11px;font-weight:650;text-decoration:none;border:1px solid #2563eb;border-radius:10px;background:#2563eb;box-shadow:0 5px 13px #2563eb2e}body.auth-surface .recovery-submit.btn svg{width:17px;height:17px}body.auth-surface .recovery-submit.btn:hover:not(:disabled),body.auth-surface .recovery-primary.btn:hover:not(:disabled){border-color:#1d4ed8;background:#1d4ed8;box-shadow:0 7px 16px #2563eb38}body.auth-surface .recovery-secondary.btn{color:#475467;border-color:#d0d5dd;background:#fff;box-shadow:none}.recovery-links{display:flex;align-items:center;justify-content:space-between;gap:14px}.recovery-links.single{justify-content:center}.recovery-links a,.recovery-text-button{color:#667085;font:inherit;font-size:9px;font-weight:600;text-decoration:none}.recovery-links a:hover,.recovery-text-button:hover{color:#175cd3}.recovery-text-button{padding:0;border:0;background:transparent;cursor:pointer}.recovery-password-rules{display:flex;flex-wrap:wrap;gap:7px}.recovery-password-rules span{padding:5px 8px;color:#475467;font-size:8px;font-weight:600;border:1px solid #e4e7ec;border-radius:999px;background:#f9fafb}.recovery-footer{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:22px;color:#98a2b3;font-size:8px;line-height:1.5}.recovery-footer svg{width:13px;height:13px;flex:0 0 auto}.recovery-sent,.recovery-invalid{text-align:center}.recovery-sent-icon,.recovery-invalid-icon{display:grid;width:54px;height:54px;margin:0 auto 16px;place-items:center;border-radius:15px}.recovery-sent-icon{color:#067647;border:1px solid #abefc6;background:#ecfdf3}.recovery-sent-icon svg{width:24px;height:24px}.recovery-sent h2,.recovery-invalid h2{margin:0;color:#101828;font-size:17px;font-weight:680}.recovery-sent>p,.recovery-invalid>p{margin:9px auto 18px;color:#667085;font-size:10px;line-height:1.75}.recovery-sent>p strong{color:#344054;font-weight:650}.recovery-sent-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:17px}.recovery-sent-detail>span{display:grid;gap:3px;padding:11px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb}.recovery-sent-detail b{color:#667085;font-size:8px;font-weight:600}.recovery-sent-detail small{color:#101828;font-size:10px;font-weight:650}.recovery-sent .recovery-text-button{margin-top:13px}.recovery-invalid-icon{color:#b42318;font-size:19px;font-weight:700;border:1px solid #fecdca;background:#fef3f2}.recovery-invalid-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.recovery-validating .empty-state{border:0;background:transparent}@keyframes recovery-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 840px){.recovery-page{padding:20px}.recovery-shell{width:min(580px,100%);min-height:0;grid-template-columns:1fr}.recovery-visual{display:none}.recovery-main{min-height:610px}}@media (max-width: 560px){.recovery-page{display:block;padding:0}.recovery-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none}.recovery-main{min-height:100vh;padding:24px 20px 20px}.recovery-heading{margin-top:27px}.recovery-heading>h1{font-size:24px}.recovery-content{margin-top:24px}.recovery-label{align-items:flex-start;flex-direction:column;gap:3px}.recovery-invalid-actions{grid-template-columns:1fr}}
