/* 旋机全基因组分析器 — 前端样式 */
.xga-app { --xga-green:#1e7a46; --xga-ink:#1a1a1a; --xga-grey:#5f6b76; --xga-line:#dce1e6; --xga-bg:#f7f9fa;
	font-size:15px; color:var(--xga-ink); line-height:1.6; }
.xga-panel { border:1px solid var(--xga-line); border-radius:10px; padding:16px 18px; margin:12px 0; background:#fff; }
.xga-controls { background:var(--xga-bg); }
.xga-row { margin:10px 0; }
.xga-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.xga-grid3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.xga-app label { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--xga-grey); }
.xga-app label span { font-weight:600; }
.xga-app input[type=number], .xga-app select, .xga-app input[type=file] {
	padding:8px 10px; border:1px solid var(--xga-line); border-radius:7px; font-size:14px; background:#fff; color:var(--xga-ink); }
.xga-file input { padding:8px; }
.xga-btn { background:var(--xga-green); color:#fff; border:0; border-radius:8px; padding:10px 22px;
	font-size:15px; font-weight:600; cursor:pointer; }
.xga-btn:disabled { opacity:.55; cursor:default; }
.xga-statusline { margin-left:12px; color:var(--xga-grey); font-size:13px; }
.xga-notice, .xga-note { color:var(--xga-grey); font-size:13px; }
.xga-notice { padding:8px 10px; background:#fbf3e2; border:1px solid #e9dcb8; border-radius:7px; margin-bottom:10px; }
.xga-error { color:#b23a2e; background:#f7eae8; border:1px solid #e6c4bf; padding:10px 12px; border-radius:7px; }
.xga-meta { font-size:12px; color:var(--xga-grey); margin-bottom:12px; }
.xga-cards { display:flex; flex-wrap:wrap; gap:12px; }
.xga-card { flex:1 1 120px; border:1px solid var(--xga-line); border-radius:9px; padding:12px 14px; background:var(--xga-bg); text-align:center; }
.xga-card-val { font-size:22px; font-weight:700; color:var(--xga-green); }
.xga-card-lbl { font-size:12px; color:var(--xga-grey); margin-top:2px; }
.xga-card-sub { font-size:11px; color:#9aa4ad; }
.xga-tablewrap { overflow-x:auto; margin-top:14px; }
.xga-table { width:100%; border-collapse:collapse; font-size:14px; }
.xga-table th, .xga-table td { padding:7px 10px; border-bottom:1px solid var(--xga-line); text-align:left; }
.xga-table th { background:#2f4858; color:#fff; font-weight:600; }
.xga-table tbody tr:nth-child(even) { background:#f3f4f6; }
.xga-mono { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
.xga-bar { background:#e2e6ea; border-radius:4px; height:10px; width:120px; overflow:hidden; }
.xga-bar-fill { background:var(--xga-green); height:100%; }
.xga-gridwrap { margin-top:16px; }
.xga-grid { max-width:100%; image-rendering:pixelated; border:1px solid var(--xga-line); border-radius:6px; }
@media (max-width:640px){ .xga-grid2,.xga-grid3{ grid-template-columns:1fr; } }
