*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#f4f6fb;color:#222}
a{color:inherit;text-decoration:none}
.topbar{height:56px;background:#fff;display:flex;align-items:center;gap:16px;padding:0 16px;box-shadow:0 1px 6px rgba(0,0,0,.08);position:sticky;top:0;z-index:10}
.logo{font-size:22px;font-weight:800;color:#e60012}.logo small{font-size:12px;color:#888;margin-left:6px}
.spacer{flex:1}
.btn{border:1px solid #ddd;background:#fff;padding:8px 14px;border-radius:20px;cursor:pointer}
.btn.primary{background:#e60012;border-color:#e60012;color:#fff}
.btn.danger{color:#e60012;border-color:#f0b0b0}
.wrap{max-width:1080px;margin:0 auto;padding:20px 14px 60px}
.searchbox{background:#fff;border-radius:16px;padding:22px;box-shadow:0 2px 12px rgba(0,0,0,.06);text-align:center}
.searchbox h1{margin:0 0 14px;font-size:26px}
.engines{display:flex;gap:8px;justify-content:center;margin-bottom:12px}
.engines button{border:0;background:#eef1f6;padding:7px 14px;border-radius:20px;cursor:pointer}
.engines button.active{background:#222;color:#fff}
.searchrow{display:flex;gap:8px;max-width:640px;margin:0 auto}
.searchrow input{flex:1;padding:13px 16px;border:2px solid #e60012;border-radius:24px;outline:none;font-size:16px}
.searchrow button{padding:0 26px;border:0;border-radius:24px;background:#e60012;color:#fff;font-size:16px;cursor:pointer}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}
.tabs button{border:1px solid #ddd;background:#fff;padding:8px 16px;border-radius:20px;cursor:pointer}
.tabs button.active{background:#e60012;color:#fff;border-color:#e60012}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.card{background:#fff;border-radius:14px;padding:16px 10px;text-align:center;box-shadow:0 1px 6px rgba(0,0,0,.05);transition:.15s}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1)}
.card img{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#f7f7f7}
.card b{display:block;margin-top:10px;font-size:15px}
.card span{display:block;color:#888;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login{max-width:420px;margin:70px auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.1)}
.login h2{text-align:center;margin-top:0}
.login input{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;margin:8px 0;font-size:15px}
.login button{width:100%;padding:12px;border:0;border-radius:10px;background:#e60012;color:#fff;font-size:16px;cursor:pointer;margin-top:8px}
.err{color:#e60012;font-size:14px;min-height:20px;text-align:center}
.adminpanel{background:#fff;border-radius:16px;padding:20px;margin-top:22px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.adminpanel h3{margin-top:0}
.formrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.formrow input,.formrow select{padding:10px;border:1px solid #ddd;border-radius:10px;width:100%}
table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}
th,td{border-bottom:1px solid #eee;padding:8px;text-align:left;word-break:break-all}
.muted{color:#888;font-size:13px}
@media(max-width:600px){.logo small{display:none}.searchbox h1{font-size:21px}.grid{grid-template-columns:repeat(3,1fr)}.card img{width:40px;height:40px}.card b{font-size:13px}.login{margin:30px 14px;padding:20px}}
