*{box-sizing:border-box;margin:0;padding:0}body{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#222;background:#f5f6f8}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 10%,#fff,#f1f3f6)}.login-card{width:390px;padding:30px;border:1px solid #e4e6eb;border-radius:16px;background:#fff;box-shadow:0 24px 70px #1b223019}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.login-brand>span,.brand>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#cf1233;font-size:20px;font-weight:800}.login-brand h1{font-size:21px}.login-brand p{color:#888;font-size:12px}.login-card label{display:grid;gap:6px;margin-top:14px;color:#555}.login-card input{height:42px;padding:0 11px;border:1px solid #d9dce2;border-radius:8px}.login-card button,.panel>button{height:42px;margin-top:20px;border:0;border-radius:8px;color:#fff;background:#c8102e;font-weight:700;cursor:pointer}.login-card #loginMessage{min-height:20px;margin-top:12px;color:#d9364d;text-align:center;font-size:12px}.app{min-height:100vh;display:flex}.app aside{position:fixed;inset:0 auto 0 0;width:210px;display:flex;flex-direction:column;color:#ddd;background:#1f2024}.brand{display:flex;align-items:center;gap:10px;padding:18px;border-bottom:1px solid #34353a}.brand>span{width:36px;height:36px;border-radius:9px;font-size:16px}.brand strong{font-size:17px;color:#fff}.app nav{display:grid;gap:5px;padding:12px}.app nav button{padding:11px 13px;border:0;border-radius:8px;color:#bbb;background:transparent;text-align:left;cursor:pointer}.app nav button:hover,.app nav button.active{color:#fff;background:#c8102e}.staff{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:14px;border-top:1px solid #34353a}.staff small{display:block;color:#85868d;font-size:11px}.staff button{padding:5px 8px;border:1px solid #484950;border-radius:6px;color:#bbb;background:#292a2f}.app main{width:calc(100% - 210px);min-height:100vh;margin-left:210px;padding:24px}.app header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.app header h1{font-size:24px}.app header p{color:#858b95;font-size:12px}.app header button,.toolbar button,.generated button,td button{padding:7px 11px;border:1px solid #d8dbe1;border-radius:7px;background:#fff;cursor:pointer}.page{display:none}.page.active{display:block}.metrics{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.metric{padding:20px;border:1px solid #e8eaee;border-radius:11px;background:#fff;box-shadow:0 2px 7px #1921310a}.metric span{display:block;color:#818792;font-size:12px}.metric strong{display:block;margin-top:8px;font-size:28px}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar input,.toolbar select,.panel input,.panel select{height:38px;padding:0 10px;border:1px solid #d8dbe1;border-radius:7px;background:#fff}.toolbar input{width:280px}.table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:10px;background:#fff}table{width:100%;border-collapse:collapse;min-width:960px}th,td{padding:11px 12px;border-bottom:1px solid #eef0f3;text-align:left;vertical-align:middle}th{color:#666;background:#fafbfc;font-size:12px}td small{display:block;color:#9298a2}td a{color:#c8102e;text-decoration:none}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:#eee;font-size:11px}.tag.ok{color:#168a47;background:#e9f8ef}.tag.bad{color:#cb3047;background:#fdecef}.tag.warn{color:#a66511;background:#fff2df}td .actions{display:flex;flex-wrap:wrap;gap:5px}td button.danger{color:#c8102e}.panel{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;padding:14px;border:1px solid #e4e7eb;border-radius:10px;background:#fff}.panel label{display:grid;gap:5px;color:#666;font-size:12px}.panel label:nth-child(3){flex:1}.panel input{min-width:150px}.panel>button{min-width:120px;margin:0}.version-panel{flex-wrap:wrap}.version-panel .version-url{flex:2}.version-panel .version-url input{min-width:360px}.version-panel .check-label{display:flex;align-items:center;gap:7px;height:38px}.version-panel .check-label input{width:16px;height:16px;min-width:0}.generated{margin-bottom:14px;padding:13px;border:1px solid #f0d8dd;border-radius:10px;background:#fff}.generated>div{display:flex;justify-content:space-between;align-items:center}.generated textarea{width:100%;height:150px;margin-top:8px;padding:10px;border:1px solid #ddd;border-radius:7px;font-family:monospace}.generated button{color:#c8102e}#toast{position:fixed;z-index:20;right:24px;bottom:24px;max-width:380px;padding:11px 15px;border-radius:8px;color:#fff;background:#252932;box-shadow:0 10px 30px #1115;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.panel{flex-wrap:wrap}}@media(max-width:760px){.app aside{width:150px}.app main{width:calc(100% - 150px);margin-left:150px;padding:14px}.metrics{grid-template-columns:repeat(2,1fr)}.version-panel .version-url input{min-width:220px}}
