*{margin:0;padding:0;box-sizing:border-box}body{font-family:PingFang SC,Microsoft YaHei,sans-serif;background:#f2f3f5;color:#1f2937;min-height:100vh}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f2f3f5,#e9edf3,#eef1f6 60%,#f2f3f5);position:relative;overflow:hidden}.login-card{width:420px;background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:44px 36px;z-index:1;box-shadow:0 10px 30px #00000014}.login-card h1{font-size:26px;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:6px}.login-card .sub{color:#64748b;font-size:13px;text-align:center;margin-bottom:28px}.tab-switch{display:flex;background:#0000000a;border-radius:10px;padding:3px;margin-bottom:24px}.tab-switch span{flex:1;text-align:center;padding:10px;border-radius:8px;font-size:13px;color:#475569;cursor:pointer;transition:all .3s}.tab-switch span.active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:600}.fi{width:100%;padding:14px 16px;background:#f1f5f9;border:1px solid rgba(0,0,0,.1);border-radius:10px;color:#1f2937;font-size:14px;outline:none;margin-bottom:14px}.fi:focus{border-color:#6366f1}.fi::placeholder{color:#64748b}.btn1{width:100%;padding:14px;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.btn1:hover{transform:translateY(-1px);box-shadow:0 8px 25px #6366f166}.btn1:disabled{opacity:.5}.login-tip{text-align:center;margin-top:20px;font-size:12px;color:#64748b}.app-layout{display:flex;min-height:100vh}.sidebar{width:200px;background:#fff;border-right:1px solid rgba(0,0,0,.06);padding:24px 0;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sb-logo{padding:0 20px 24px;font-size:16px;font-weight:700;color:#2563eb}.nav-item{display:flex;align-items:center;gap:8px;padding:10px 20px;color:#475569;font-size:13px;cursor:pointer;border-left:3px solid transparent;margin:2px 0;transition:all .2s}.nav-item:hover{color:#1f2937;background:#00000008}.nav-item.active{color:#1f2937;background:#6366f11f;border-left-color:#6366f1}.main-content{flex:1;padding:24px;overflow-y:auto;max-height:100vh}.page-header{margin-bottom:20px}.page-header h2{font-size:20px;font-weight:600;color:#1f2937}.page-header p{color:#64748b;font-size:12px;margin-top:4px}.top-bar{display:flex;justify-content:flex-end;align-items:center;padding:16px 24px 0;gap:12px}.top-bar span{color:#475569;font-size:13px}.top-bar button{padding:6px 14px;background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.25);border-radius:6px;font-size:12px;cursor:pointer}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:18px}.stat-card .num{font-size:28px;font-weight:700;margin-bottom:4px}.stat-card .lb{font-size:12px;color:#64748b}.c1{color:#2563eb}.c2{color:#059669}.c3{color:#d97706}.c4{color:#7c3aed}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:20px;margin-bottom:16px}.card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}.card-h h3{font-size:15px;font-weight:600}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.row label{color:#475569;font-size:12px;min-width:80px}.input,.select{padding:8px 12px;background:#f1f5f9;border:1px solid rgba(0,0,0,.1);border-radius:8px;color:#1f2937;font-size:13px;outline:none}.select{background:#f1f5f9}.select option{background:#fff}.btn{padding:10px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff}.btn-success{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.btn-warning{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.btn-danger{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.btn:hover{transform:translateY(-1px)}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:10px 8px;color:#64748b;font-weight:500;border-bottom:1px solid rgba(0,0,0,.06);font-size:11px}td{padding:8px;border-bottom:1px solid rgba(0,0,0,.04);color:#334155}tr:hover td{background:#eef1f6}.tag{padding:2px 8px;border-radius:5px;font-size:10px;font-weight:500}.tag-green{background:#10b9811f;color:#059669}.tag-blue{background:#3b82f61f;color:#2563eb}.tag-gray{background:#64748b1f;color:#475569}.mono{font-family:Courier New,monospace;font-size:11px;background:#0000000a;padding:2px 6px;border-radius:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:14px}.pagination button{padding:5px 12px;background:#f1f5f9;border:1px solid rgba(0,0,0,.08);border-radius:6px;color:#475569;font-size:11px;cursor:pointer}.pagination button.active{background:#6366f1;color:#fff;border-color:#6366f1}.pagination button:disabled{opacity:.4;cursor:not-allowed}.empty{text-align:center;padding:40px;color:#64748b;font-size:13px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:24px;width:520px;max-width:90vw;max-height:80vh;overflow-y:auto}.modal-box h3{font-size:16px;margin-bottom:16px;color:#1f2937}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.config-section{background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:16px;margin-bottom:14px}.config-section h4{font-size:14px;color:#475569;margin-bottom:12px}.secret-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:460px}.secret-cell:hover{overflow:visible;word-break:break-all;white-space:normal;background:#6366f11a;z-index:1;position:relative}
