*{box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;background:#111827;color:#e5e7eb;margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#0b1220;border-bottom:1px solid #243244}h1,h2{margin:0 0 14px}header h1{margin:0;font-size:24px}a{color:#93c5fd;text-decoration:none}nav a{margin-left:14px}.login{max-width:420px;margin:12vh auto;background:#1f2937;padding:24px;border-radius:14px}.card{background:#1f2937;margin:18px auto;padding:18px;border-radius:14px;max-width:1200px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.grid{display:grid;grid-template-columns:1fr 1fr 2fr .55fr auto auto;gap:12px;align-items:end}.filter .grid{grid-template-columns:1fr 2fr auto auto}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5e1}input,select,button,.button{border:1px solid #334155;background:#0f172a;color:#e5e7eb;border-radius:9px;padding:10px;min-height:40px}input:focus,select:focus{outline:2px solid #60a5fa}button,.button{cursor:pointer;background:#2563eb;border-color:#2563eb;font-weight:700;text-align:center}.button{display:inline-flex;align-items:center}.muted{background:#374151;border-color:#374151}.danger,.delete button{background:#991b1b;border-color:#991b1b}.err{background:#7f1d1d;padding:10px;border-radius:8px}.hint{color:#9ca3af}.cats{max-width:1200px;margin:18px auto;display:flex;gap:8px;flex-wrap:wrap}.pill{background:#374151;color:#e5e7eb;border-radius:999px;padding:8px 12px}.pill.on{background:#2563eb}.pill span{opacity:.7;margin-left:5px}.bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.linewrap{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;border-top:1px solid #334155;padding:10px 0}.line{display:grid;grid-template-columns:150px 160px 1fr 80px 80px auto;gap:8px;align-items:center}.delete{margin:0}.disabled{opacity:.48}.check{flex-direction:row;align-items:center;gap:8px;white-space:nowrap}.check input{min-height:auto}code{background:#0f172a;border:1px solid #334155;padding:2px 5px;border-radius:5px}@media(max-width:900px){.grid,.filter .grid,.line,.linewrap{grid-template-columns:1fr}.delete button,button,.button{width:100%}}
