:root{--bg: #0f1218;--bg-elevated: #171c26;--bg-row: #141924;--bg-row-hover: #1c2433;--border: #2a3344;--text: #e8edf7;--text-muted: #8b97ab;--accent: #3d9cf0;--accent-hover: #5aadf5;--danger: #e35d6a;--danger-hover: #f0737e;--ok: #3ecf8e;--warn: #e6b84d;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "SF Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1a2740 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#162033 0%,transparent 50%),var(--bg);color:var(--text)}button,input,select{font:inherit}a{color:var(--accent);text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.brand{font-weight:700;letter-spacing:-.02em;font-size:1.05rem}.nav{display:flex;gap:.35rem}.nav a{color:var(--text-muted);padding:.35rem .7rem;border-radius:6px}.nav a.active,.nav a:hover{color:var(--text);background:var(--bg-row-hover)}.topbar-spacer{flex:1}.status-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted);padding:.25rem .6rem;border:1px solid var(--border);border-radius:999px}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--text-muted)}.status-dot.ok{background:var(--ok)}.status-dot.bad{background:var(--danger)}.main{flex:1;padding:1rem 1.25rem 2rem;max-width:1400px;width:100%;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:.9rem}.toolbar input[type=search],.toolbar input[type=text],.login-card input{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5rem .75rem;min-width:220px}.btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:8px;padding:.45rem .8rem;cursor:pointer}.btn:hover:not(:disabled){border-color:#3b4760;background:var(--bg-row-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#071018;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 15%,transparent)}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto;background:var(--bg-elevated)}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#121722;position:sticky;top:0}tbody tr:hover{background:var(--bg-row-hover)}tbody tr.selected{background:color-mix(in srgb,var(--accent) 14%,var(--bg-row))}.name-cell{white-space:normal;min-width:280px;max-width:520px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;border:1px solid var(--border);color:var(--text-muted)}.badge.downloading{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.badge.seeding{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.badge.stopped{color:var(--text-muted)}.badge.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.progress{height:.35rem;background:#0c1018;border-radius:999px;overflow:hidden;min-width:70px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#2f7fd4,#3ecf8e)}.muted{color:var(--text-muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(380px,100%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:1.5rem;display:grid;gap:.85rem}.login-card h1{margin:0;font-size:1.25rem}.login-card p{margin:0;color:var(--text-muted);font-size:.9rem}.error-banner{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));color:#ffc0c7;padding:.6rem .8rem;border-radius:8px;margin-bottom:.8rem}.dup-group{border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);margin-bottom:1rem;overflow:hidden}.dup-group-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--border);background:#121722}.dup-group-header h2{margin:0;font-size:1rem;text-transform:capitalize}.dup-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04080eb8;display:grid;place-items:center;z-index:50;padding:1rem}.modal{width:min(520px,100%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem}.modal h3{margin:0 0 .5rem}.modal p{margin:0 0 1rem;color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.empty{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.add-panel{border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);padding:.85rem;margin-bottom:.9rem;display:grid;gap:.7rem}.field-label{display:grid;gap:.3rem;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.field-label select,.field-label input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5rem .75rem;min-width:220px;text-transform:none;letter-spacing:normal;font-size:.875rem}.free-space{align-self:end;padding-bottom:.45rem}.path-chips{display:flex;flex-wrap:wrap;gap:.4rem}.path-chip{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;padding:.28rem .55rem .28rem .7rem;cursor:pointer;font-size:.78rem}.path-chip:hover,.path-chip.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.path-chip-text{font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,70vw)}.path-chip-action{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;flex-shrink:0}.path-hint{font-size:.75rem;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis}.detail-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);padding:1rem 1.1rem;margin-bottom:.9rem}.detail-title{margin:0 0 .9rem;font-size:1.15rem;line-height:1.35}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem 1rem}.detail-grid .span-2{grid-column:1 / -1}.wrap{white-space:normal;word-break:break-all}.error-text{color:#ffc0c7}.tab-bar{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem}.user-chip{font-size:.85rem;padding:.2rem .55rem;border:1px solid var(--border);border-radius:999px}.section-title{margin:0 0 .55rem;font-size:.95rem}@media(max-width:800px){.name-cell{min-width:180px}.topbar{flex-wrap:wrap}}
