:root{--bg:#0b1220;--card:#121a2b;--muted:#8ea0c6;--text:#e6ecff;--accent:#4f8cff;--line:rgba(255,255,255,.08)}
*{box-sizing:border-box} html,body{height:100%} body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","PingFang SC","Microsoft YaHei";background:linear-gradient(180deg,#081026,#070c16);color:var(--text)}
a{color:inherit;text-decoration:none}
.wrap{display:flex;min-height:100vh}
.side{width:250px;background:rgba(18,26,43,.88);backdrop-filter:blur(10px);border-right:1px solid var(--line);padding:16px;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:10px;align-items:center;padding:10px 10px 14px}
.logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#7aa7ff);box-shadow:0 10px 30px rgba(79,140,255,.35)}
.brand h1{font-size:16px;margin:0}
.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}
.nav{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.nav a{padding:10px 12px;border-radius:12px;color:var(--muted);border:1px solid transparent}
.nav a.active{background:rgba(79,140,255,.12);border-color:rgba(79,140,255,.25);color:var(--text)}
.nav a:hover{border-color:var(--line);color:var(--text)}
.main{flex:1;padding:18px 22px 30px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.topbar .title{font-size:18px;font-weight:700}
.topbar .right{display:flex;gap:10px;align-items:center}
.badge{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--muted);font-size:12px}
.btn{cursor:pointer;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);padding:9px 12px;border-radius:12px}
.btn.primary{background:rgba(79,140,255,.18);border-color:rgba(79,140,255,.35)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.card{grid-column:span 12;background:rgba(18,26,43,.75);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.card h3{margin:0 0 8px;font-size:14px;color:var(--text)}
.muted{color:var(--muted);font-size:12px}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:10px 10px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:top}
.table th{color:var(--muted);font-weight:600;text-align:left}
.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:10px}
.input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.18);color:var(--text);outline:none}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
hr.line{border:0;border-top:1px solid var(--line);margin:12px 0}
.small{font-size:12px;color:var(--muted)}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login .box{width:420px;max-width:92vw;background:rgba(18,26,43,.82);border:1px solid var(--line);border-radius:22px;padding:18px 18px 16px;box-shadow:0 20px 80px rgba(0,0,0,.4)}
.login h2{margin:0 0 4px}
.login p{margin:0 0 14px;color:var(--muted);font-size:12px}
.error{color:#ffb3b3;background:rgba(255,75,75,.12);border:1px solid rgba(255,75,75,.25);padding:10px 12px;border-radius:12px;font-size:12px;display:none}
.ok{color:#b8ffcf;background:rgba(60,255,140,.10);border:1px solid rgba(60,255,140,.22);padding:10px 12px;border-radius:12px;font-size:12px;display:none}

/* === status color tags (added) === */
.st-tag{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:600;line-height:20px;}
.st-pending{color:#9aa4b2;border:1px solid rgba(154,164,178,.35);background:rgba(154,164,178,.08);}
.st-ok{color:#22c55e;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.10);}
.st-bad{color:#ef4444;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.10);}



/* === XG_TAG_STYLE_V1 === */
.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.12);opacity:.95}
.tag.wait{color:#b8c2cc;border-color:rgba(184,194,204,.35);background:rgba(184,194,204,.08)}
.tag.ok{color:#33d17a;border-color:rgba(51,209,122,.35);background:rgba(51,209,122,.10)}
.tag.bad{color:#ff5a5f;border-color:rgba(255,90,95,.35);background:rgba(255,90,95,.10)}
.btn-danger{border-color:rgba(255,90,95,.35)}

/* === XG_PANEL_STATUS_CSS_V1_BEGIN === */
.st-tag{ display:inline-block; padding:2px 10px; border-radius:999px; font-size:12px; line-height:18px; border:1px solid rgba(255,255,255,.14); }
.st-pending{ color: rgba(255,255,255,.75); background: rgba(255,255,255,.08); }
.st-ok{ color: #2ecc71; background: rgba(46,204,113,.12); border-color: rgba(46,204,113,.28); }
.st-bad{ color: #ff4d4f; background: rgba(255,77,79,.12); border-color: rgba(255,77,79,.28); }
/* === XG_PANEL_STATUS_CSS_V1_END === */
